Galaxy is an open, web-based platform for data intensive biomedical research. It allows the wrapping of command line tools in a web-based platform, the organized storage of shared data and the development of workflows.
There are several different ways of running Galaxy.
We will first look at the architecture of Galaxy, and then work through installing the Galaxy prerequisites and Galaxy on a local system. We will then do a Galaxy tutorial to understand how users access and make use of Galaxy.
- Python 2.5, 2.6 or 2.7
yum -y install mercurial
- MySQL or PostgreSQL (PostgreSQL is recommended as it is preferred by the Galaxy developers)
yum -y install mysql-server chkconfig mysqld on /etc/init.d/mysqld start
yum -y install postgresql-server chkconfig postgresql on service postgresql initdb /etc/init.d/postgresql start
- Galaxy will use an internal SQLite database by default if MySQL or PostgreSQL is not installed and configured. The Galaxy wiki has a good section discussing setup of the database; the recommendation is to not use SQLite for anything but testing the set up prior to launching into production. Once you go into production, switch PostgreSQL (preferred) or MySQL.
- Migration is pretty much untested. If you want to migrate from a test SQLite database to MySQL/PostgreSQL, the Galaxy mail list recommends dumping the database to standard SQL and reloading into your database of choice. Note: this was discussed approximately three years ago and may not work currently. Other options (untested!) may include migration tools like Talend.
Getting and Installing Galaxy
cd /usr/local hg clone https://bitbucket.org/galaxy/galaxy-dist/ hg update stable cp universe_wsgi.ini.sample universe_wsgi.ini emacs universe_wsgi.ini Change: host = 0.0.0.0 sh run.sh --reload
Now create a login for yourself, and then secure the server:
emacs universe_wsgi.ini & admin_users = myemailaddress require_login = True allow_user_creation = False