IMP is a pipeline that is composed of multiples major steps:

  • Preprocessing
  • Assembly
  • Analysis
  • Binning
  • Report

To get more insight about how the pipeline is working, please read the paper at bioRxiv.


IMP is designed to allow the use from two different setups:

  • The easiest way that is mostly automatic is to use the command-line utility impy that will take care of installing and running the workflow for you that uses docker containers in the backend.

  • You also may not be able to install docker in your infrastructure and you will have to use the base workflow to run IMP. It is powered by snakemake.


Command line

Install docker engine

We decided to use docker to package every dependencies for IMP. As quoted from their website:

Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.

Docker website provides you the way to install the docker engine on multiple distributions.

Install Python3 and pip

Needed to run the impy command line, you could find the relevant documentation on the Python website and Pypa.

Install impy

pip install impy

If the default version of python in your environment is python2 please use:

pip3 install impy

Now follow instructions on how to use impy.

IMP source code

To get the latests version of IMP:

git clone

If you don’t have git installed you could also download and unzip a packaged version available here.

Snakemake Workflow

IMP uses more than 40 tools packaged together, it is very difficult to provide a script that will install everything smoothly on every operating systems. We don’t provide such a script, but you can find some hints recipes under the docker/ source code directory. Those recipes are for ubuntu:trusty but should be similar for other *nix.

  • Dockerfile-dependencies list all low-levels dependencies that you must install on you base system.

  • Dockerfile-tools list all the tools installed and their version used int IMP.

  • Dockerfile list all R dependencies installed inside the container, and contains some modifiers for environment variables.

Now follow instructions on how to use snakemake.

Facing some problems installing/running IMP? You may get help by opening an issue on the Gitlab issues page where you can directly get in touch with the developers.