Galaxy Installation

 

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.

Prerequisites

  • Python 2.5, 2.6 or 2.7
  • Mercurial
    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

or

  • 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.

Galaxy overview

GalaxyDiagram

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