Total genomes
—
loaded from Module 2
Novel candidates
—
ANI < 95%
Known species
—
ANI ≥ 95%
Pipeline flow
Module status
⚙
Global Configuration
Paths, credentials, and thread counts for all modules — saved to
nose_config.yaml and synced automatically.🔬
HMM SCG + Outgroup — Automation Logic
How Module 2 auto-selects the GToTree HMM marker set and finds the outgroup genome required by Module 3.
What is automated and when does it run?
After FastANI · AAI · POCP · 16S all complete, Module 2 runs auto_hmm_outgroup.py as Step 6 — fully automatically, no manual input needed. It adds 4 columns to compiled_results.csv and prepares genome_summary_for_tree.csv for Module 3.
Step A — HMM Single-Copy Gene (SCG) Set selection
GToTree needs an HMM marker set tuned to the organism's taxonomic class. The script selects it deterministically from a lookup table — no network call required.
1
Read Phylum and Class from
genome_summary.csv (GTDB taxonomy output of Module 1).2
Consult
PHYLUM_TO_HMM lookup table. If Phylum is Proteobacteria / Pseudomonadota (too diverse for one HMM set), delegate to CLASS_TO_HMM instead.3
Example: Phylum=Pseudomonadota, Class=Alphaproteobacteria →
Alphaproteobacteria HMM set (117 SCGs from GToTree).4
Three papers are cited automatically: HMM-set paper (Ferla et al. 2013) + GToTree (Lee 2019) + GTDB (Parks et al. 2022).
📄 HMM_SCG column → compiled_results.csv
📄 HMM_SCG_Citation column → compiled_results.csv
Step B — Outgroup genome selection (3-source cascade)
The outgroup must be a genome from a different genus, same order to root the phylogenetic tree meaningfully. Three sources are tried in sequence:
1
GTDB REST API
api.gtdb.ecogenomic.org/v2/taxon/genome/{genus} — authoritative type strains. 4-attempt exponential-backoff retry (2 s → 4 s → 8 s → 16 s). Falls back if SSL error or rate-limited.2
NCBI Entrez Assembly search — queries RefSeq for reference genomes in the same Order, different Family. Uses your NCBI API key if set (10 req/s vs 3 req/s).
3
Persistent cache
hmm_outgroup_cache.json — if both APIs fail, reuses a prior successful lookup for the same genus. Keyed by genus, safe to delete for a fresh lookup.
📄 Outgroup column → compiled_results.csv
📄 Outgroup_Citation column → compiled_results.csv
All output files from auto_hmm_outgroup.py
📄
compiled_results.csv — original results file, extended with HMM_SCG, Outgroup, HMM_SCG_Citation, Outgroup_Citation columns
📄
hmm_outgroup_summary.csv — one row per genus: Phylum, Class, Order, Family, HMM set, outgroup GCF, both citations
📄
genome_summary_for_tree.csv — Module 3 (GToTree) input with HMM and Outgroup columns pre-filled
💾
hmm_outgroup_cache.json — genus-keyed cache. Delete to force a fresh lookup. Safe between pipeline runs.