2. Installation

2.1. System requirements

Mikado requires CPython 3.6 or later to function (Python2 is not supported). Additionally, it requires a functioning installation of one among SQLite, PostgreSQL and MySQL. Mikado has additionally the following python dependencies:

biopython>=1.78
docutils
drmaa
hypothesis
msgpack>=1.0.0
networkx>=2.3
numpy>=1.17.2
pandas>=1.0
pip
pysam>=0.15.3
pyyaml>=5.1.2
scipy>=1.3.1
snakemake>=5.7.0
sqlalchemy>=1.4.0
sqlalchemy-utils>=0.37
tabulate>=0.8.5
pytest>=5.4.1
python-rapidjson>=1.0.0
toml>=0.10.0
pyfaidx>=0.5.8
dataclasses; python_version < '3.7'
marshmallow
marshmallow-dataclass
typeguard  # Necessary for mashmallow apparently

Mikado can run with little system requirements, being capable of analysing human data with less than 4GB of RAM in all stages. It benefits from the availability of multiple processors, as many of the steps of the pipeline are parallelised.

Mikado is at its core a data integrator. The Daijin pipeline has been written to facilitate the creation of a functioning workflow. To function, it requires Snakemake [Snake] and the presence of at least one supported RNA-Seq aligner and one supported transcript assembler. If you are planning to execute it on a cluster, we do support job submission on SLURM, LSF and PBS clusters, either in the presence or absence of DRMAA.

2.2. Download

Mikado is available through BioConda; to install it, select or configure a python3 Conda environment, add the bioconda channel to your environment, and then install it with:

conda install -c bioconda mikado.

This will also take care of installing companion tools such as PortCullis. Even with conda, BLAST+, Prodigal, Diamond and TransDecoder have to be installed separately. This can be achieved with:

conda install -c bioconda prodigal blast transdecoder diamond

Mikado is available on PyPI, so it is possible to install it with

pip3 install mikado

The source for the latest release on PyPI can be obtained with

pip3 download mikado

As the package contains some core Cython components, it might be necessary to download and compile the source code instead of relying on the wheel.

Alternatively, Mikado can be installed from source by obtaining it from our GitHub repository. Either download the latest release or download the latest stable development snapshot with

git clone https://github.com/EI-CoreBioinformatics/mikado.git; cd mikado

2.3. Install using containers

We support both Docker and Singularity as container technologies. On GitHub, we currently provide:

  • A Docker file tracking the “master” github branch, with a Ubuntu 20.04 guest
  • A Singularity recipe tracking the “master” github branch, with a Ubuntu 20.04 guest
  • A Singularity recipe tracking the “master” github branch, with a Centos 7 guest

We plan to release them in the Docker and Singularity hubs.

2.4. Building and installing from source

If you desire to install Mikado from source, this can be achieved with

`bash pip install -U . `

2.5. Testing the installed module

It is possible to test whether Mikado has been built successfully by opening a python3 interactive session and digiting:

>>  import Mikado
>>  Mikado.test()

Alternatively, you use pytest:

$ pytest --pyargs Mikado

This will run all the tests included in the suite.