Compositional tests detect who's there; untargeted metabolomics detects what's around. Neither answers the load-bearing question: did this taxon's metabolic output shift? GeMMA's punch test combines AGORA2 genome-scale secretome predictions with paired metabolomics, scoring each taxon by an IDF-weighted, specificity-aware z-score across the metabolites its genome says it should produce — and flags the taxa whose metabolic output moves without a matching abundance change.
For each taxon and sample, punch(T,s) = (Σ w(m)·z(m,s)) / Σ w(m) with w(m) = 1/log₂(N(m)+2) downweighting promiscuous metabolites. The secretome comes from AGORA2 SBML exchange reactions (streamed XML, no COBRApy dependency); metabolites map to HMDB via the GeMMA-curated VMH index. The score is per-capita metabolic output, decoupled from taxon abundance.
Group difference Δpunch is tested by 2000-label permutation with BH-FDR. Each taxon lands in one of four categories from a two-test classifier (Δabundance significant? × Δpunch significant?): abundance_only, punch_only (functional dysbiosis — abundance steady, output shifted), both, or neither.
punch_only is the novel quadrant. Across three strong cohorts the test surfaces 84 functional-dysbiosis taxa that ALDEx2 misses by construction.
Capacity — fraction of a pathway's reactions present in the community model, per sample. Activity — fraction of that pathway's metabolites detected in the metabolome. Every pathway in every sample gets one of four labels: active, silent (capacity without activity — the interesting one), exogenous (activity without capacity), or absent.
The minimally-connected reaction–metabolite subgraph linking every measured metabolite through the community's reaction network, with edges weighted toward actively-carrying reactions and currency metabolites (ATP, NAD, H₂O, CoA, …) excluded.
Every analysis is repeated at each rank from strain through phylum. GTDB / NCBI name-shard ambiguity (Clostridium / Clostridium P / Clostridium Q) is collapsed at the parent genus before scoring, so a single biological signal doesn't split across three rows.
The punch test was applied to 16 paired microbiome–metabolome comparisons across IBD, IBS, CRC, gastric cancer, ESRD, autism, diabetes, sepsis, and HIV. Three cohorts cleared the strong-signal threshold (BH-FDR < 0.01) and produced the headline result: per-taxon metabolic output shifts that compositional tests like ALDEx2 cannot detect by construction.
A taxon whose abundance doesn't shift but whose predicted secretome covers metabolites that do is a candidate for regulatory state change, substrate shift, or environmental modulation — distinct mechanistic hypotheses from "this taxon bloomed / collapsed." It's a category ALDEx2, MaAsLin2, and ANCOM cannot surface because they test abundance changes only.
Manuscript draft v0.1 (2026-04-16). Methods reproducible against the pinned AGORA2 secretome bundle and GeMMA-curated VMH→HMDB index; per-run RNG seed and container checksums captured on every analysis.
Cohorts: Franzosa IBD, MARS IBS, Erawijantari gastric, Yachida CRC, Sinha CRC, KIM adenomas, WANG ESRD, Jacobs IBD, Wandro preterms, Kang autism, Kostic diabetes, Prachiti HIV. The Franzosa CD case is punch-null while ALDEx2 flags 57 taxa — a known platform-coverage limit; annotation rescue via the Insilijo SQuID-INC spike-in kit is the live experiment.
Pitched for the sceptical bioinformatician. GeMMA isn't a replacement for your differential-abundance toolchain — it asks a question the others can't: did this taxon's metabolic output shift, regardless of its abundance? Where another tool does something GeMMA doesn't, we say so.
| Capability | GeMMA punch | ALDEx2 | MaAsLin2 | MIMOSA2 | MelonnPan |
|---|---|---|---|---|---|
| Compositional differential abundance | via paired CLR+Wilcoxon side-car | ✓ (the reference) | ✓ GLM / mixed models | — | — |
| Per-taxon metabolic output score (paired metabolome) | ✓ IDF-weighted secretome z-score | — | — | CMP-regression residuals | elastic-net prediction |
| Functional-dysbiosis detection (output shifts without abundance change) | ✓ punch_only category — 84 taxa across 3 cohorts | — abundance only | — abundance only | via residuals | — |
| Joint microbiome ↔ metabolome modelling | ✓ mechanistic (AGORA2 GSMM) | — | — | ✓ statistical (CMP-regression) | ✓ statistical (elastic-net) |
| Concordance — capacity vs activity per pathway | ✓ silent / active / exogenous / absent | — | — | partial | — |
| Mechanistic subnetwork (not just pathway list) | ✓ Steiner tree over measured metabolites | — | — | — | — |
| Requires paired metabolomics | yes (core framing) | no | no | yes | training cohort only |
ALDEx2 and MaAsLin2 are the right tools for compositional differential abundance — GeMMA leans on them as the reference, not as a competitor. MIMOSA2 and MelonnPan model the microbiome↔metabolome coupling statistically. GeMMA's contribution is the genome-scale-secretome per-taxon score: the only way to flag a taxon whose output shifted without its abundance shifting, which is where the punch_only hypothesis lives.
Upload your data, configure the run, read the results. Suited to teams with their own bioinformatics capacity who want the tool under their control.
Request Forge access →We run the analysis end-to-end against your cohort and deliver interpretation, figures, and methods text ready for your manuscript or internal decision. Typically 4–8 weeks from data receipt to deliverable.
Schedule a scoping call →For PIs who want GeMMA in a paper. Co-authorship, methods writing, figure preparation, reviewer-response support.
Discuss a collaboration →The GeMMA punch paper is in preparation (/GeMMA/docs/punch_paper_draft.md), targeting mSystems. Headline result: 84 functional-dysbiosis taxa flagged by punch and missed by ALDEx2 across three strong cohorts (MARS IBS-D, Erawijantari gastrectomy, WANG ESRD). Critical-path items still open before submission — MMVEC/MIMOSA2/ALDEx2 comparator runs, biological interpretation of punch_only taxa, and the SQuID-INC annotation-rescue experiment for the Franzosa platform-coverage edge case.
Every GeMMA run captures an RNG seed, is anchored to a pinned VMH metabolite vocabulary (SHA-verified on load), and records its parameters on the analysis record. Benchmarks across the full set of curated microbiome–metabolome studies ship as management commands. For Joey's essays and related work see insilijo.github.io.
code
github.com/insilijo/GeMMA
platform
github.com/insilijo/forge