Monger is a program that simplifies pipeline generation for next-generation sequencing (NGS) tasks. Monger also does most of the tool installation work for you reducing some of the frustrations that come with attempting to install a new tool and its depencies via command line. Additionally, Monger records all major tool commands generated by pipelines as well as runtimes making it both replicable and useful for tool comparison.
Note: Monger is still in its infancy and as such has only been tested on CentOS 6.8.
Monger does require much in terms of dependencies largely as a means of simplifying installation. If you are using CentOS, these are likely already installed. This may not be true particularly with regard to 'wget' if you are using a different Linux/Unix distro. I am currently working on expanding it to work on other OSes specifically Mac(Unix) and Window's new linux.
- wget (https://www.gnu.org/software/wget/)
- git (https://git-scm.com/downloads)
- gcc (4.8.2) (https://gcc.gnu.org/) Theoretically a newer version should work but I have not yet tested it.
To get the most recent version simply move to the directory you wish to download it to and clone it from the Github repository.
cd </target/download/directory>
git clone https://github.com/gettl008/monger.git
To install Monger and some of its main programs simply type...
cd </target/download/directory>/monger
./install
This will install to the default directory ~/local
. To install in an alternative directory..
cd </target/download/directory>/monger
./install -p </path/to/alternate/directory>
This will also change the default installation directory so that if you install any new tools through Monger they will go directly there.
Note: Monger will automatically add </your/install/directory>/bin
to the $PATH
variable and will change this in your ~/.bashrc
file as well.
Monger will automatically install only the basic dependencies for most tools that you might use. While you can always install tools later (see below), you may want to change what some of default installed programs before running ./install
. The configurations for default installation can be changed by editing the thirdparty_software.cfg
file in the main Monger directory.
Following installation of Monger you may want to download new programs via Monger. To do so simply type
monger install <program_name>
For the most part, the program names will be what you'd expect them to be. For example,
monger install samtools
Note: Monger will always look for indicators as to whether a program is already installed and skip installation if found. If you wish to force installation simply add -f
to the install command.
To get a complete list of MongerModules type
monger avail
Note: MongerModules containing dots in their names E.g add_readgroups.picard
specify specific functions associated with a General
program (in this case picard
).
Note: In most cases, modules are set up to automatically look for the commands associated with a program and install if they are unable to find them.
Although Monger modules can be run directly via command line arguments (see monger run <module> --help
for more info), Monger was mostly designed to run through MongerScripts that enable stable pipeline construction and editing. Templates for running somewhat standard pipelines such as DNA alignment/variant calling are located in the templates
subdirectory.
There are four main sections of MongerScript that must be present. In order, these are PROJECT_INFO
, INPUT_INFO
, PROGRAM
, and PROGRAM_ELEMENTS
. Info regarding the variables that go into the first two sections can be found in templates/template.ms
.