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 | Provenance | Actions |
|---|---|---|---|---|
| sequana_multitax-0.15.1.tar.gz | 152.4 kB | Without provenance | Details for sequana_multitax-0.15.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sequana_multitax-0.15.1-py3-none-any.whl | Python 3 | none | any | Details for sequana_multitax-0.15.1-py3-none-any.whl |
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
|
Security for sequana-multitax 0.15.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.