Requirements
Mac OS (installation from binary wheel package):
Linux and other platforms (installation from source):
See Installation of required software for more details.
The quickest way (requiring the pip installation tool) to get MiModD up and running is by executing (possibly with superuser rights):
pip3 install MiModD [--user] [--install-option="--install-scripts=<EXECUTABLE_DIR>"]
where the optional --user flag can be used, if you do not have write permission in global installation directories, to install MiModD relative to your user directory, and --install-option may be used to control the directory to which the mimodd executable will be copied (usually defaults to /usr/local/bin).
Requirements
all platforms (installation from source):
See Installation of required software for more details.
If you do not want to or cannot use pip, you can instead
download the package archive from the MiModD project home page
unpack the archive and change to the unpacked directory via cd <UNPACK_DIR>
run (possibly with superuser rights):
python3 setup.py install [--user] [--install-scripts=<EXECUTABLE_DIR>]
After a successful installation you should have MiModD available as a suite of command line tools. Simply type:
mimodd --help
to see which subcommands are available, then proceed by configuring the freshly installed package.
To use a standard installation of MiModD from Galaxy, all you have to do is:
enable the package in your local Galaxy instance by running:
mimodd enable_galaxy <PATH_TO_LOCAL_GALAXY>``
where <PATH_TO_LOCAL_GALAXY> typically is something like ~/galaxy-dist
(re)start Galaxy and import the Workflows that come with MiModD (and can be found in the galaxy-workflows directory of the unpacked download directory).
Requirements
The standard installation scheme above is flexible in that it provides MiModD as a fully functional command line tool, which can be integrated with a local Galaxy installation at any time.
If, on the other hand, you are managing a local instance of Galaxy and are reluctant to make changes to your system, you can install MiModD with all dependencies in a single step from the Galaxy Toolshed. This scheme will encapsulate MiModD and all dependencies in your Galaxy installation, i.e., none of the installed components will influence the behavior of your system. On the downside, the encapsulated nature of the installation means that you will have no easy way to access MiModD's functionality from the command line and the automated installation of dependencies (including a current version of the Python3 interpreter) will typically result in a larger installation size.
The installer metapackage that takes care of installing all components of MiModD from the toolshed is called suite_mimodd_0_1_4.
The process of installing MiModD from the toolshed is the same as for any other tool, and is described here.
Most OS come with the zlib library installed. If you do not have it or if your system has an outdated version, you can either
install a current version through your OS package manager or
download it from http://zlib.net/, then from inside the unpacked archive run this series of steps from a terminal:
./configure make make install
If you had zlib preinstalled or if you installed it through a package manager, then, depending on your OS, the installation may not contain the C header files required by MiModD during installation from source. If you are getting a corresponding MiModD install error message, you will need to install a separate zlib development package (e.g., zlib1g-dev on Debian/Ubuntu).
You can run:
python3 --version
from a terminal to see which version, if any, of Python 3 you have installed on your system. If your version does not match the requirement, you can check whether there is a suitable package available through your OS package manager or download it from http://www.python.org/downloads/.
If you had Python 3 preinstalled or if you installed it through a package manager, then, depending on your OS, the installation may not contain the Python C header files required by MiModD during installation from source. If you are getting a corresponding MiModD install error message, you will need to separately install a python3 development package (e.g., python3-dev on Debian/Ubuntu).
If you are compiling Python 3 from source, you'll have to make sure that you install the zlib library (see above) before you build Python 3.
additional requirement
snpEff is written in and, thus, requires Java, which you may need to install separately.
You can download SnpEff from http://snpeff.sourceforge.net/.
Unpack the downloaded archive to a newly created snpEff folder in your home directory or, if you prefer a different installation directory, read the instructions at http://snpeff.sourceforge.net/download.html#install.
Before you can use SnpEff-dependent functionality, you will have to configure the SNPEFF_PATH parameter in MiModD (see Configuring MiModD for your system).
Requirements
Currently, Galaxy runs under Python 2.6 or 2.7 (Python 3 is not yet supported).
This means that you will have to have two different Python versions installed on your system (2.6/7 for Galaxy, Python 3.2 or higher for MiModD). The simplest way to make Galaxy and MiModD use their correct versions is by making Python 2.x available as python and Python 3.x as python3 from your shell.
You can use python --version and python3 --version from the command line, respectively, to find out what versions of Python are known to your system under the different names.
The Galaxy installation instructions (see below) also provide an example of how you can manipulate your $PATH variable to make your system find the right Python.
The installation procedure for Galaxy requires Mercurial. To see whether that is installed on your system, type hg on the command line and see whether that brings up a help or an error message. If you do not have Mercurial you can get it from http://mercurial.selenic.com/wiki/Mercurial or via your OS package manager.
See https://wiki.galaxyproject.org/Admin/GetGalaxy for installation instructions.
If you are trying to install Galaxy from behind a proxy, you may not be able to connect to the Galaxy source code repository with:
hg clone https://bitbucket.org/galaxy/galaxy-dist/
as suggested in the installation instructions.
In this case, you need to specify the proxy that Mercurial should use like this:
hg --config http_proxy.host=ADRRESS_OF_PROXY:PORT_NUMBER clone https://bitbucket.org/galaxy/galaxy-dist/
or:
hg --config http_proxy.host=ADRRESS_OF_PROXY:PORT_NUMBER --config http_proxy.user=USERNAME --config http_proxy.passwd=PASSWORD clone https://bitbucket.org/galaxy/galaxy-dist/
(for proxies requiring authentication)
Note
You can change all settings at any time, but you should definitely set them according to your system specifications before you first start using MiModD.
From the command line use:
mimodd config -v
to see the current configuration settings of MiModD.
For a freshly installed copy of MiModD the output should be similar to this:
CURRENT MIMODD SETTINGS ----------------------- PARAMETER : VALUE ....................... TMPFILES_PATH : /var/tmp/ MULTITHREADING_LEVEL : 4 MAX_MEMORY : 2 SNPEFF_PATH : not available
The basic invocation for changing settings looks like:
mimodd config -c [--tmpfiles PATH] [--snpeff PATH] [-t THREADS] [-m MEMORY]
Depending on your installation of MiModD changes to the configuration file may require superuser rights, so you will have to prepend sudo to the above.
the directory that MiModD will use to store temporary files.
In a typical analysis pipeline, MiModD will produce several GB of data in this directory and remove them automatically again when the data is not any longer needed. Under exceptional circumstances, however, MiModD might fail to delete data files, so this directory is the first place you should look at if you notice reduced disk space. Also, any users of MiModD will require write permission in this directory.
the maximum number of threads that a single MiModD process will ever use on the system.
Many MiModD subcommands take advantage of multithreading to speed up analyses.
the maximum memory in GB that any single MiModD process will use on the system.
This value will be respected by all MiModD subcommands/tools EXCEPT the snap alignment subcommands/tools. Due to the nature of the underlying SNAP aligner, mimodd snap, mimodd snap_batch and the Galaxy tool SNAP Read Alignment will always use a fixed amount of memory that depends on the size of the reference genome and which may be significantly more than the configured setting.
Tip
MULTITHREADING_LEVEL and MAX_MEMORY will have a big effect on the performance of MiModD, but also on the responsiveness of your system during execution of MiModD subcommannds. As a rule of thumb, if you do not have special requirements, we recommend to set both parameters to between 50 and 75 % of the available resources on your system, i.e., if you have 8 threads and 16 GB of RAM on your system, you might set MULTITHREADING_LEVEL to 4-6 and MAX_MEM to 8-12.
the path where MiModD will look for the optional SnpEff variant annotation tool.
Should be configured to the directory that you installed SnpEff into (e.g., ~/snpEff if you followed the recommended installation steps). If you do not have SnpEff installed, you can simply accept the default setting, which will block SnpEff dependent functionality of MiModD.