i
Insilijo Science
GeMMA · microbiome × metabolome

Functional dysbiosis at per-taxon resolution.

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.

Request a demo → See an example analysis
capabilities

Four linked analyses on the same community model.

Punch — IDF-weighted secretome z-score

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.

Differential punch — four categories

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.

Concordance — capacity vs activity

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.

Steiner subnetworks + taxonomic rollup

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.

worked example

Three strong cohorts at FDR < 0.01 — and 84 taxa ALDEx2 doesn't see.

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.

Headline — three strong cohorts

  • MARS IBS-D (n=311): 58 of 58 tested taxa significant at min FDR=0.001 — a community-wide functional-dysbiosis signal that beats 50/50 null draws (P<0.02). 26 taxa are punch_only — output shifted, abundance steady — exactly the category ALDEx2 isn't designed to find.
  • Erawijantari gastrectomy (n=96): 59 of 60 testable taxa significant at min FDR=0.003. 49 punch_only taxa — the acid-barrier-loss mechanism predicts community-wide metabolic activation, and that's what shows up.
  • WANG ESRD (n=144): 28 of 58 taxa significant at min FDR=0.004. 9 punch_only taxa.
  • 84 functional-dysbiosis taxa total (26+49+9) flagged by punch and missed by ALDEx2 across the three strong cohorts.
  • • Threshold is FDR ≤ 0.05 with a multi-hit requirement (tightened from the v0 default of 0.2 after a null study showed BH-FDR is mildly anti-conservative under correlated taxa secretomes; null FPR 6–16% at nominal 5%).

Why punch_only matters

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.

Validation ladder

Paired cohorts
9
Comparisons
16
Disease areas
9
Strong-signal cohorts
3 (FDR<0.01)
FDR threshold
0.05 + multi-hit
Microbiome
MetaPhlAn → AGORA2
Metabolomics
HMDB-annotated, any LC-MS

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.

positioning

How GeMMA differs from ALDEx2, MaAsLin2, and the joint-modelling tools.

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.

CapabilityGeMMA punchALDEx2MaAsLin2MIMOSA2MelonnPan
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.

how to engage

Three paths, depending on what you need.

Self-serve on Forge

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 →

Commercial engagement

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 →

Academic collaboration

For PIs who want GeMMA in a paper. Co-authorship, methods writing, figure preparation, reviewer-response support.

Discuss a collaboration →
about

Manuscript draft v0.1 — mSystems target.

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.