Centrifuger
Fast, accurate taxonmic classification and quantification using a losslessly compressed FM-index of comprehensive genome or protein sequence databases.
What is Centrifuger?#
Centrifuger is an efficient taxonomic classification method that compares sequencing reads against a microbial genome or protein database. It implements a novel lossless compression method, the run-block compressed BWT, together with other strategies for compacting the Ferragina–Manzini (FM) index. The result is a database representation that is small enough to hold in the memory of an ordinary server, yet loses none of the underlying sequence.
For example, Centrifuger can classify reads against the 2023 RefSeq prokaryotic genomes — about 140 billion nucleotides — using roughly 43 GB of memory. Because the compressed index is still directly searchable, classification does not have to be slow: a typical sequencing sample is processed within an hour.
Why Centrifuger#
Lossless compression
The run-block compressed BWT and a hybrid run-length compressed BWT exploit the intermediate repetitiveness of microbial genome collections, reaching sublinear space without discarding sequence.
Better species-level calls
Because nothing is subsampled and match length is not capped by a fixed k, Centrifuger improves both sensitivity and precision at the species and genus level.
Indexes ready to download
Pre-built indexes for RefSeq, GTDB r232, NCBI core nt and NCBI nr are published, and centrifuger-download fetches them for you.
Short reads, long reads, single cells
Paired-end, single-end, interleaved and long-read input all work, and barcode/UMI parsing supports 10x Genomics and combinatorial-barcoding protocols such as SHARE-seq.
Nucleotide and protein search
Build a protein index with --protein to classify reads through translated search against RefSeq proteins or NCBI nr.
Reports other tools understand
centrifuger-quant writes abundance profiles in the Centrifuge, MetaPhlAn, CAMI or Kraken-report format.
Quick start#
Install from Bioconda, download a pre-built index, and classify a paired-end sample:
conda install -c conda-forge -c bioconda centrifuger
centrifuger-download cfr_hpv+gbsarscov2
centrifuger -x cfr_hpv+gbsarscov2 -1 sample_1.fq.gz -2 sample_2.fq.gz -t 8 \
> classification.tsv
centrifuger-quant -x cfr_hpv+gbsarscov2 -c classification.tsv > report.tsvThe full walkthrough, including building your own index, is in the quick start guide.
Citation#
Song, L., Langmead, B. Centrifuger: lossless compression of microbial genomes for efficient and accurate metagenomic sequence classification. Genome Biology 25, 106 (2024).
doi:10.1186/s13059-024-03244-4 · PubMed
Best Paper Award at RECOMB 2024
Centrifuger is copyright © 2023–present, Li Song. Questions and bug reports are welcome on the GitHub issue tracker.