MULTITAX — Multi-database Taxonomic Classification pipeline
- Overview:
Runs taxonomic analysis on a set of samples using sequana_taxonomy (Kraken2 under the hood), optionally followed by BLAST on unclassified reads.
- Input:
A set of FastQ files (paired or single-end).
- Output:
HTML report for each sample and a summary HTML report for all samples.
- Status:
Production
- Citation:
Cokelaer et al, (2017), ‘Sequana’: a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, doi:10.21105/joss.00352
Installation
pip install sequana-multitax
To upgrade an existing installation:
pip install sequana-multitax --upgrade
Quick Start
Step 1 — prepare the working directory:
sequana_multitax \
--input-directory /path/to/reads \
--databases /path/to/krakendb
This creates a multitax/ working directory containing config.yaml and a multitax.sh launch script.
Step 2 — review the configuration (optional but recommended):
cd multitax cat config.yaml # adjust parameters as needed
Step 3 — run the pipeline:
sh multitax.sh
Taxonomic database
You will need one or more Kraken2 databases. You can download a toy database for testing:
sequana_taxonomy --download toydb
The pipeline also requires a taxonomy file stored in ~/.config/sequana/taxonomy.dat. Download it once with:
sequana_multitax --update-taxonomy
Call this command again from time to time when unknown taxon IDs appear in the HTML reports.
Multiple databases can be passed to run iterative classification:
sequana_multitax \
--input-directory /path/to/reads \
--databases /path/to/virusdb /path/to/bacteriadb
Apptainer / Singularity
Every tool runs inside a pre-built container. Point --apptainer-prefix to a shared directory so images are downloaded once and reused across projects:
sequana_multitax \
--input-directory /path/to/reads \
--databases /path/to/krakendb \
--apptainer-prefix ~/.sequana/apptainers
Pass extra bind mounts with --apptainer-args if your data lives outside $HOME:
--apptainer-args "-B /data:/data"
When running snakemake manually, include the apptainer options:
snakemake -s multitax.rules --configfile config.yaml --cores 4 \
--use-apptainer \
--apptainer-prefix ~/.sequana/apptainers \
--apptainer-args "-B /home:/home"
HPC / SLURM cluster
On a cluster with SLURM, pass --profile slurm:
sequana_multitax \
--input-directory /path/to/reads \
--databases /path/to/krakendb \
--profile slurm \
--slurm-queue fast \
--jobs 40 \
--apptainer-prefix /shared/containers
BLAST on unclassified reads
Reads that remain unclassified after Kraken can optionally be BLASTed against a local database:
sequana_multitax \
--input-directory /path/to/reads \
--databases /path/to/krakendb \
--store-unclassified \
--do-blast-unclassified
This requires a local BLAST+ installation and a downloaded nt database.
Pipeline overview
Kraken2 — classify reads against one or more databases sequentially.
Krona — interactive pie charts per sample.
[Optional] BLAST — align unclassified reads against a nucleotide DB.
MultiQC — aggregated summary report across all samples.
Each sample produces an HTML report with a static pie chart (species distribution; grey = unclassified) that links to an interactive Krona chart.
When multiple databases are provided they are applied sequentially. The order matters: reads classified by the first database are removed before the second database is run.
Configuration file
After running sequana_multitax, a config.yaml is created in the working directory. Key sections:
sequana_taxonomy — databases, confidence threshold, store_unclassified
blast — enable/disable BLAST on unclassified reads
multiqc — aggregated report settings
Full reference: config.yaml
Requirements
kraken2
sequana_taxonomy
krona
Changelog
Version |
Description |
|---|---|
0.15.0 |
|
0.14.1 |
|
0.14.0 |
|
0.13.0 |
|
0.12.2 |
|
0.12.1 |
|
0.12.0 |
|
0.11.1 |
|
0.11.0 |
|
0.10.2 |
|
0.10.1 |
|
0.10.0 |
|
0.9.2 |
|
0.9.1 |
|
0.9.0 |
|
0.8.7 |
|
0.8.6 |
|
0.8.5 |
|
0.8.4 |
|
0.8.3 |
|
0.8.2 |
|
0.8.1 |
Fix requirements. |
0.8.0 |
First release. |
Metadata
Release files for sequana-multitax 0.15.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sequana_multitax-0.15.1.tar.gz | 152.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sequana_multitax-0.15.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 304.6 kB
Release files / sequana_multitax-0.15.1.tar.gz
| Download URL | sequana_multitax-0.15.1.tar.gz |
|---|---|
| Size | 152.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da62ec014fbb72f0f790955b758ec483bb87b373172b650d912354a76c1585ed
|
|
BLAKE2b-256 checksum How to use checksums |
a11d9b117aedfe1ca4451d3fa591e33585c60ebb5e3cc92797d670b34c13bb4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / sequana_multitax-0.15.1-py3-none-any.whl
| Download URL | sequana_multitax-0.15.1-py3-none-any.whl |
|---|---|
| Size | 152.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d3c6bbac484449fbc6cca6bf6bb5a207534509b274dc9472e1a613bc0df2a497
|
|
BLAKE2b-256 checksum How to use checksums |
6726121b99559e1268bc0b7051a6667f50d681c3bd00eb68f1dedc9648cfd2bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|