-
Notifications
You must be signed in to change notification settings - Fork 0
hmm_library
Efesto ships with a curated library of profile HMMs in hmm_library/.
All models are tracked in a versioned registry (hmm_library/hmm_registry.tsv)
with provenance, bitscore cutoffs, and curation status.
| Source | Models (active) | Description |
|---|---|---|
| FeGenie | 196 | Original iron-cycling profiles from Garber et al. 2020 |
| Tabuteau et al. 2025 | 130 | Iron acquisition profiles from KOfam, FeGenie, and NCBI NF* |
| MetHMMDB | 105 | Metal mobility resistance gene HMMs (broad metal scope) |
| NCBIfam / TIGRFAM | 21 | Curated iron oxidation, regulation, sulfur assembly (SufA/B/C/D/S), molybdenum resistance, manganese, and Tad-pilus (CpaB) models |
| MnOxGeneTool | 12 | Manganese oxidation genes (Wang et al. 2025) |
| InterPro | 8 | Cross-referenced domain models |
| Curated (custom-built) | 4 | MtrA, MtoA subfamily rebuild, plus CbcL and DA_402 (MISO extracellular MHC) — built from literature-confirmed seed sequences, background-tested against the rest of the library |
| Pfam | 2 | Flp/Fap pilin (Tad pilus) and SufE, sourced directly from Pfam-A |
| Total active | 478 | After deduplication (176 deprecated; 654 total) |
| Category | Description | Notable models |
|---|---|---|
iron_oxidation |
Enzymatic oxidation of Fe²⁺ → Fe³⁺ | MtoA, MtrA, FoxABC, Cyc2, rusticyanin, cytochrome579 |
iron_reduction |
Enzymatic reduction of Fe³⁺ → Fe²⁺ | MtrA, MtrC, OmcS, OmcZ, DFE operons, CbcL, DA_402, Flp/CpaB (Tad pilus) |
probable_iron_reduction |
Fe reduction genes with lower specificity | CymA, omcE |
possible_iron_oxidation_and_possible_iron_reduction |
Dual-assignment before Mtr/Mto disambiguation | See MtrMto operon rule |
iron_storage |
Cellular iron storage proteins | Ferritin, bacterioferritin, Dps |
iron_gene_regulation |
Fe-responsive transcriptional regulators | Fur, DtxR, IscR, NsrR, PerR, SoxR |
iron_stress |
Iron-starvation biomarkers | Flavodoxin long, flavodoxin short |
iron_sulfur_assembly |
Fe-S cluster biosynthesis machinery | SufA, SufB, SufC, SufD, SufS, SufE, IscS |
magnetosome_formation |
Magnetosome island genes | MamA/B/E/K/P/M/Q/I/L/O |
| Category | Description |
|---|---|
iron_acquisition-siderophore_synthesis |
NRPS and related enzymes; NRP/PK siderophore biosynthesis |
iron_acquisition-siderophore_transport |
Outer membrane TonB-dependent receptors for Fe-siderophore complexes |
iron_acquisition-siderophore_transport_potential |
TonB-ExbBD motor proteins; ABC transporter permease/ATPase subunits |
iron_acquisition-heme_oxygenase |
Enzymes releasing iron from heme |
iron_acquisition-heme_transport |
Outer membrane heme receptors, ABC transporters |
iron_acquisition-iron_transport |
ABC iron transporters (FbpABC, FeoABC, EfeU, FutABC, etc.) |
| Category | Description |
|---|---|
metal_resistance-arsenic |
Arsenate reductase, arsenite efflux (ArsABC, ArsH) |
metal_resistance-chromium |
Chromate efflux (ChrA) |
metal_resistance-cobalt_zinc_cadmium |
CzcABC RND efflux, ZnuABC uptake, ZinT, FieF, Zur |
metal_resistance-copper |
CopABCD, CusSR, CopY |
metal_resistance-mercury |
MerABCDEPRT |
metal_resistance-molybdenum |
ModABC ABC transporter, ModC ATPase (TIGRFAM) |
metal_resistance-multimetal |
CuAg/CdCoZn RND systems, broad-spectrum |
metal_resistance-nickel |
NikABCDE, NicT, CznABC |
metal_resistance-silver |
CuAg_CusA/C (overlapping CopA) |
metal_resistance-non-specific |
Broad-spectrum and non-metal genes (after curation) |
metal_resistance-tellurium |
TerABCDEZ, TehAB |
Tab-separated, one row per model. Columns:
| Column | Description |
|---|---|
stem |
HMM file stem; must exactly match filename without .hmm
|
name |
Human-readable gene name (shown in outputs) |
accession |
Pfam/TIGRFAM accession or empty |
category |
Functional category (directory name) |
hmm_file |
Relative path from hmm_library/
|
nseq |
Training sequences used to build the HMM |
cutoff |
Calibrated bitscore cutoff (0 = zero-cutoff fallback) |
date_added |
ISO date |
status |
active or deprecated_*
|
reference |
DOI or citation |
Registry rule:
stemmust exactly match the HMM file'sNAMEfield and the filename without.hmm. Mismatches silently break cutoff lookup and gene-name mapping. Runpython scripts/curate_hmm_library.py --verify hmm_library/to detect drift.
hmm_library/HMM-bitcutoffs.txt — two-column TSV: stem<TAB>bitscore.
| Models | Threshold type |
|---|---|
| 337 calibrated models | Per-HMM gathering cutoff (GA) from TIGRFAM/Pfam or manual calibration |
| 129 zero-cutoff models | No calibrated threshold; use --zero_cutoff_min_bitscore (default 30.0) |
Zero-cutoff models: MetHMMDB (115) + 14 FeGenie siderophore models. Raise
--zero_cutoff_min_bitscore to reduce false positives from these models.
hmm_library/FeGenie-map.txt — two-column TSV: stem<TAB>gene_name.
Gene names from this file appear in the gene column of all output files.
When a model has no entry, the raw stem is used as the gene name.
See Library curation log for full decision log.
| Layer | Method | Deprecated |
|---|---|---|
| A — Minimum nseq | Source-specific thresholds (fegenie ≤ 5, methmmdb ≤ 10) | 60 |
| A — Name dedup | Same stem, keep higher nseq/coverage | 88 |
| B — Sequence dedup | MMseqs2 70% id / 80% cov on hmmemit consensus | 12 |
| Category mismatch | Manual review of cross-category hits | 7 |
At startup, Efesto prints a provenance table listing active sources,
model counts, and any models with nseq < 10 (flagged as low_training_data):
Source Models Calibrated Zero-cutoff nseq<10
FeGenie 196 182 14 0
Tabuteau 130 98 32 0
NCBIfam 15 15 0 0
MetHMMDB 115 0 115 10
────────────────────────────────────────────────────────
Total 456 295 161 10
WARNING: 10 models have nseq < 10 (limited training data):
[methmmdb] CdCoZn_efflux_czcD_1 (nseq=7), ...
Models with nseq < 10 are included in runs but appear as low_confidence in
output. Identify them via the model_nseq column in results-long.tsv.
All models in the shipped library are in HMMER3/f format. If you add models built
with HMMER < 3.1, run once with --normalize_hmms to convert them in-place.
Getting started
HMM library
Pipeline logic
Outputs and integration
Development