Running Galaxy In Windows

Running Galaxy under Windows is possible, with a little bit of effort. The effort required involves building architecture specific “eggs” (think of these as python’s version of Java’s jar files). Eggs are created using the setuptools package, http://peak.telecommunity.com/DevCenter/setuptools. Galaxy has been run in Windows using both MinGW/MSYS (http://www.mingw.org/) and CYGWIN (http://www.cygwin.com/).

For general information regarding the construction of eggs, refer to the setuptools documentation (http://peak.telecommunity.com/DevCenter/PythonEggs).

Required Eggs:

Cheetah: http://www.cheetahtemplate.org

pysqlite and sqlite: http://cheeseshop.python.org/pypi/pysqlite/ and http://www.sqlite.org/

Suggested Eggs:

bx-python: http://bx-python.trac.bx.psu.edu/

python_lzo: http://freshmeat.net/projects/python-lzo/

pbs_python

threadframe: http://www.majid.info/mylos/stories/2004/06/10/threadframe.html

Below is an example of building the bx-python egg in MinGW/MSYS:

First obtain the source code:

$ svn co http://www.bx.psu.edu/svn/bx-python bx-python

A    bx-python\trunk
…(bunch of text removed)...
Checked out revision 333.

Change to the source directory.

$ cd bx-python/trunk

Edit setup.cfg and add the following:

[build]
compiler = mingw32

Then build the egg:

$ python2.4 setup.py egg_info -b _dev bdist_egg

Once built, eggs need to be placed in GALAXY_ROOT/eggs:

$ cp dist/bx_python-0.5.0_dev-py2.4-win32.egg GALAXY_ROOT/eggs

Eggs need to be created for all of the required packages, in order to run the primary application. The suggested eggs are required for a number of tools, as well as for some development/debuging purposes.

Once all the required eggs have been built and copied to the proper egg directory, Galaxy can now be run as normal, see HowToInstall for more information on installing and running Galaxy.

Additional Notes

Depending on how python is installed on your system, you may need to alias python2.4 to point to the proper executable, and you may need to replace

python2.4 ./scripts/paster.py serve universe_wsgi.ini $@

with

/c/python24/python.exe ./scripts/paster.py serve universe_wsgi.ini $@

in run.sh