Galaxy Installation and Initial Configuration¶
Installation¶
Requirements
- Recent versions of Galaxy support Python 3, i.e. the Python version used by MiModD should also work for running Galaxy.
- The installation procedure for Galaxy requires git.
To see whether the tool is installed on your system, type
git
on the command line and see whether that brings up a help or an error message. You can obtain git from https://git-scm.com/downloads or, on Linux, via your OS package manager.
You do not have to understand how the following installation commands work,
just note that git clone
and the first run of Galaxy need internet access
to download Galaxy and all third-party code it depends on. If you are trying to
install Galaxy from behind a proxy and experience problems at the cloning step
then this link
may be helpful.
Obtain Galaxy by running
git clone -b master https://github.com/galaxyproject/galaxy/
Note
This will give you the latest version of Galaxy considered stable by the developers. If you would like to obtain a specific official release of Galaxy instead, replace
master
with the identifier of that release. For example:git clone -b release_19.09 https://github.com/galaxyproject/galaxy/
will obtain the September 2019 release of Galaxy (the first one to support Python 3).
Hint
Detailed installation instructions for Galaxy can be found at https://galaxyproject.org/admin/get-galaxy/ and this page should also list the command to get the latest official release.
Use your existing Python 3 to create an environment for Galaxy to store its dependencies in
python3 -m venv galaxy/.venv
Start Galaxy for the first time
cd galaxy sh run.sh
sh run.sh
, is how you actually start Galaxy. The first time, this will be a long process because a lot of auto-configuration gets done for you - just be patient. Once Galaxy is serving you can start using it.To stop the server just press
Ctrl + C
.
Initial configuration¶
To be able to work with your new Galaxy productively and to integrate MiModD into it, you will have to do a bit of manual configuration work on it.
Notes
All command line examples in this section assume that you are starting out in the top-level directory of your Galaxy instance (i.e., the galaxy directory if you went with the default name).
Most of the steps shown here are also described in the section Running Galaxy in a production environment and on a few scattered other pages of the official Galaxy Admin Documentation, which may be a useful complementary source of information.
Any changes to configuration files will not affect a running instance of Galaxy immediately, but only after restarting it.
We are describing here the process of preparing a freshly installed Galaxy at the latest version for use with MiModD.
If you are trying to prepare a pre-existing instance of Galaxy instead, some of the steps below may require modifications. In particular,
- the main configuration file of your instance may be called galaxy.ini instead of galaxy.yml and you will have to modify all commands below that use the file, accordingly.
- Settings inside that .ini file will follow the format
parameter = value
instead ofparameter: value
and you must stick to this format when making changes.
Generate configuration files from templates¶
Create a copy of the main configuration template file config/galaxy.yml.sample and name it galaxy.yml. Likewise, copy the file config/tool_conf.xml.sample and name the copy tool_conf.xml.
From the command line this can be done via:
cp config/galaxy.yml.sample config/galaxy.yml
cp config/tool_conf.xml.sample config/tool_conf.xml
This is described as an optional configuration step in the Galaxy Documentation, but is required to integrate MiModD into your installation.
Edit the main configuration file¶
Open the freshly generated galaxy.yml file in a text editor. Its content
consists mostly of configuration settings of the form parameter: value
and
of comment lines starting with #
. Some parameter settings are also
deactivated with a leading #
.
Make sure that the two lines that set the parameters
tool_config_file
andtool_dependency_dir
are active, i.e. remove any leading #
.
Optional configuration steps¶
Note
The following steps are not necessary to get MiModD accessible through Galaxy, but it may be a good idea to configure your new Galaxy instance completely while you are at it.
Set up Admin accounts¶
You and/or some other user(s) may want to have their Galaxy accounts promoted to Admin accounts, which allows these users to access additional configuration options from within the Galaxy web interface. The process is described here in the Galaxy Admin manual.
Note
The prospective Admin users should first create personal, password-protected user accounts through the web interface.
Multi-user production setup of Galaxy¶
Hint
As the title says, steps described in this section are only relevant if you are planning to have your Galaxy instance accessed by users other than yourself.
check that your galaxy.yml file includes the exact following parameter settings (all activated, i.e., no leading
#
) or modify the corresponding lines accordingly:debug: false use_interactive: false
connect your Galaxy to a database server as suggested in the Galaxy documentation; this is a relatively advanced topic, but taking the time to install an actual database server application (e.g. PostgreSQL) that Galaxy can use to manage its internal database becomes really important when multiple jobs are going to be run on your Galaxy instance in parallel.
Integration with MiModD¶
This section assumes that you
- have installed and properly configured a local instance of Galaxy as described above and
- have installed MiModD following the Standard Installation scheme.
Then to integrate MiModD into your Galaxy instance, all you have to do is to
run:
python3 -m MiModD.enablegalaxy <PATH_TO_LOCAL_GALAXY>
where
<PATH_TO_LOCAL_GALAXY>
should be replaced with the path to (and including the top-level directory of) your Galaxy instance, andpython3
refers to the python executable that you used to install MiModD.(re)start Galaxy
Warning
Do not use the MiModD.enablegalaxy
command, when your instance of Galaxy
runs another standard installation of MiModD already. This is going to
result in version conflicts and possibly unreproducible results.
It is safe though to run the command multiple times for the same installation of MiModD, with other versions of MiModD present on your system that are not enabled for this Galaxy instance, or in the presence of another MiModD version installed from a Galaxy tool shed.
See also
- The enablegalaxy tool for detailed information on how the
MiModD.enablegalaxy
command is working and when you might want to call it with additional options - MiModD and Galaxy for more on the interaction between MiModD and Galaxy