Skip to main content

taxonomy, sequana, kraken, snakemake

Project description Python 3.8 | 3.9 | 3.10 JOSS (journal of open source software) DOI

This is is the multitax pipeline from the Sequana project


Runs taxonomic analysis on a set of samples using sequana_taxonomy (kraken behing the scene)


A set of Fastq files


HTML report for each sample and a summary HTML report for all samples.




Cokelaer et al, (2017), ‘Sequana’: a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, JOSS DOI doi:10.21105/joss.00352


If you already have all requirements, you can install the packages using pip:

pip install sequana_multitax --upgrade


In order to use this pipeline, you will need Kraken databases. Please see Kraken pages for help.

We will also need a taxonomic databases. In principle this pipeline will download the file in your home, in /home/user/.config/sequana/taxonomy.dat one for all. Note, that with singularity, this file will be downloaded locally in your working directory for each analysis,except if it is found in your home, in which case a simple copy is performed.

sequana_multitax --help
sequana_multitax --input-directory DATAPATH  --databases toydb

For the database, you will need to provide your own databases. You can check out the documentation of kraken. The toydb here above is shipped with sequana and should work for demo. See sequana_taxonomy standalone for more help and information. You can also checkout the sequana documentation (kraken module).

The Kraken final report and blast analysis (if set) will need a taxonomic file stored in the sequana config directory (HOME/.config/sequana/taxonomy.dat). If not already done, type this command:

sequana_multitax --update-taxonomy

You may need to call this command from time to time if unknown taxon appears in the HTML reports.

This creates a directory with the pipeline and configuration file. You will then need to execute the pipeline:

cd multitax
sh  # for a local run

This launch a snakemake pipeline. If you are familiar with snakemake, you can retrieve the pipeline itself and its configuration files and then execute the pipeline yourself with specific parameters:

snakemake -s multitax.rules -c config.yaml --cores 4 --stats stats.txt

Or use sequanix interface.

Usage with singularity::

With singularity, initiate the working directory as follows:

sequana_multitax --use-singularity ...

Images are downloaded in the working directory but you can store then in a directory globally (e.g.):

sequana_multitax --use-singularity --singularity-prefix ~/.sequana/apptainers

and then:

cd multitax

if you decide to use snakemake manually, do not forget to add singularity options:

snakemake -s multitax.rules -c config.yaml --cores 4 --stats stats.txt --use-singularity --singularity-prefix ~/.sequana/apptainers --singularity-args "-B /home:/home"


This pipelines requires the following executable(s):

  • kraken2

  • sequana_taxonomy

  • krona

You can download databases from kraken website. We provide some databases on You can download a toy database as follows:

sequana_taxonomy --download toydb

The first time, a taxonomic database will be downloaded and stored locally in .config/sequana/taxonomy.dat file. You can update it from time to time using:

sequana_taxonomy --update-taxonomy


This pipeline runs sequana_taxonomy (based on kraken) in parallel on the input fastq files (paired or not). A brief sequana summary report is also produced. For each sample, a HTML page is reported with the following kind of image. This pie chart is a static image summarizing the species found in your sample. Unclassified reads are in grey. Colors correspond to a kingdom (green for viruses). If you click on the image, you will be redirect to a more precise pie chart base on Krona pie chart, which is more interactive.

The analysis is enterily based on Kraken tool. If several databases are provided, they are run sequentially. This requires a careful interpretation of the results. Indeed analysing data with viruses then bacteria may give different results as compare to analysing with bacteria then viruses.

Rules and configuration details

Here is the latest documented configuration file to be used with the pipeline. Each rule used in the pipeline may have a section in the configuration file.





  • add missing import in the main script

  • add wrapper version in config


  • use latest wrappers and graphivz apptainer

  • create and use a sequana-wrappers for the sequana_taxonomy ruke

  • fix type when downloading taxonomy.dat


  • add singularity containers


  • fix blast run when no taxid is found and HTML report


  • uses new sequana wrappers and framework

  • add ability to run blast on unclassified reads

  • handle case of empty FastQ files


  • add –update-taxonomy DB option

  • add –store-unclassified option


  • fix a logger issue


  • fix plot summary dbs (sample names). Add options in schema+config file to tune the image if required.

  • HTML now includes links towards data that generates the top plots

  • fix case where zero sequences are found

  • check existence of input databases

  • add the –run argument

  • add multitax version in the header

  • add search box (Sequana feature) in the CSV tables


  • Update HTML report: fix the title of images. include table with DB proportion. Text to explain images and reports


  • A better report with new features from sequana.taxonomy


  • fix typo in doc, factorise multiqc rule


  • implement the –from-project option


  • add the confidence option in sequana_taxonomy rule

  • improve html report

  • uses new sequana framework to speed up –help calls


  • less stringent on requirements (mode warning)

  • fix input of the multiqc rule


Fix requirements.


First release.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sequana_multitax-0.11.1.tar.gz (51.7 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page