Skip to content

Installation

Wenyu (Eddy) Huang edited this page Jun 1, 2026 · 3 revisions

Installation

This page sets up everything needed to run the bakeoff evaluation workflow: the conda environment (six tools + analysis stack) and the system tools used by the data fetch. Allow ~10–20 min, mostly environment solve and download time.

Prerequisites

  • conda (or mamba)
  • System tools for the data fetch, usually already present: curl, jq, zstd ≥ 1.4, tar, sha256sum

Check the system tools:

for c in curl jq zstd tar sha256sum; do
  command -v "$c" >/dev/null && echo "$c: OK" || echo "$c: MISSING"
done

1. Clone the repository

git clone https://github.com/treangenlab/bakeoff.git
cd bakeoff

Note

All commands in this wiki assume your working directory is the bakeoff/ repository root. And it's highly recommended to do so, as the scripts have default paths set up to resolve relative paths. Optionally, you can also specify paths for any scripts.

2. Create the conda environment

The full pipeline environment is declared in [config/bakeoff_env.yaml](<REPO_URL>/blob/main/config/bakeoff_env.yaml) — the six tools (version-pinned to the manuscript Methods), tool-adjacent helpers (sylph-tax, taxonkit, multitax, mosdepth, lemur), and the analysis stack (Python, Jupyter, scikit-learn, seaborn, ete3, biopython, pandas, numpy, pysam, scipy).

# The yaml deliberately has no `name:` field — pass your own with -n.
conda env create -n bakeoff -f config/bakeoff_env.yaml
conda activate bakeoff

Pinned profiler versions

Tool conda package Version Notes
Kraken2 kraken2 2.1.5
Centrifuge centrifuge 1.0.4.2
Centrifuger centrifuger 1.0.9
Ganon2 ganon 2.1.1
Sourmash sourmash 4.9.0
Sylph sylph 0.8.1
sylph-tax sylph-tax 1.7.0 Do not change. Other versions silently produce NO_TAXONOMY rows against the manuscript's taxonomy metadata.

3. Verify the install

All six tools should resolve to paths inside the active environment:

for t in kraken2 centrifuge centrifuger ganon sourmash sylph; do
  command -v "$t" >/dev/null && echo "$t: $(command -v "$t")" || echo "$t: MISSING"
done

If any report MISSING, confirm the environment is activated (conda activate bakeoff) and that the create step finished without solver errors (see FAQ and Troubleshooting).

Next steps

  • Reproduction — regenerate the manuscript figures and tables
  • Data Fetch — optionally download the reference databases and read datasets for full reproduction

Clone this wiki locally