Skip to content

Tools and Databases

Wenyu (Eddy) Huang edited this page May 28, 2026 · 2 revisions

Tools and Databases

The study benchmarks six profilers, each run twice — against its native default database and against the shared unified RefSeq-228 build — so database effects can be separated from algorithm effects.

The six profilers

Tool Version Algorithm class Native output
Kraken2 2.1.5 read classification (exact k-mer LCA) kreport
Centrifuge 1.0.4.2 read classification (FM-index) classification + kreport
Centrifuger 1.0.9 read classification (FM-index) classification + kreport/quant
Ganon2 2.1.1 read classification (k-mer / IBF) .rep.tre
Sourmash 4.9.0 k-mer sketch (MinHash, gather) gather CSV → kreport
Sylph 0.8.1 k-mer sketch (ANI containment) profile → .sylphmpa

Versions are pinned in config/bakeoff_env.yaml; see Installation.

The default vs unified axis

  • Default DB — each tool's own preferred catalogue, built with its native tooling (e.g. kraken2-build --download-library). These differ in genome set, taxonomy vintage, and lineage convention — which is exactly the confound the study isolates.
  • Unified DB — a single RefSeq-228 build (~69k genomes, taxdump pinned 2025-02-28) shared by all six tools. See Database Build.

The --db {unified|default} flag selects which one every pipeline stage uses.

Taxonomy resolution (ete3 snapshots)

Three tools emit names or non-NCBI lineages that must be resolved to NCBI taxids; they resolve against an ete3 sqlite snapshot matching the taxonomy their index was built with. The other three (Kraken2, Centrifuger, Ganon2) carry native NCBI taxids and need no ete3 handle.

Tool unified DB → snapshot default DB → snapshot
Sourmash taxa032025 (refseq) taxa032022
Sylph taxa032025 (refseq) taxa042024 (+ GTDB r220 lineage)
Centrifuge taxa032025 (refseq) taxa122016
Kraken2 / Centrifuger / Ganon2 native taxids — no ete3 native taxids — no ete3

These paths are configured in analysis_prep.py (ETE3_SUBPATHS, NCBI_FOR_TOOL_DB) and resolved under --db-dir. See Database Build for where the snapshots live.

Tool-specific quirks

  • sylph-tax must be 1.7.0. Other versions silently emit NO_TAXONOMY rows against the manuscript's metadata format. Pinned in the env.
  • Sourmash query_name is empty in the native report; the parser casts it to string, so it serializes as the literal nan in preprocessed CSVs. Cosmetic — it does not affect any metric.
  • Centrifuge reports are repaired via ete3 — missing taxa / abundances are backfilled during parsing.
  • Taxid synonym collapsing — a small synonym map (e.g. 1578 → 2742598) collapses synonymous taxa before scoring, applied consistently to predictions and ground truth.

Companion tooling

Provided by the same environment, used around the core pipeline:

Tool Purpose
sylph-tax maps Sylph profiles to taxonomy (.sylphmpa)
taxonkit NCBI taxonomy CLI (lineage utilities)
multitax taxonomy parsing in DB-build helpers
mosdepth per-genome coverage (supplementary coverage analysis)
lemur profiler-adjacent helper

Next steps

  • Database Build — how the unified DB and snapshots are built
  • Metrics — how each tool's output is scored

Clone this wiki locally