Tier 0 · open
The Gap Report: a map of what to build next
Two months ago Syntropa's own gap finder reported that for acid whey to L-lactate there were no two-step routes worth testing. Zero. A tidy, confident number. It was wrong, and the reason is worth more than the correction.
Syntropa published a zero, and the zero was wrong
A two-step route needs the same intermediate on both sides: something a model can make from the feed, and something another model can turn into the product. The finder was asking about lactose by an identifier that does not exist in this corpus at all: absent from the canonical metabolite table, carried by zero models. Not the less common of two valid names, which would be a judgment call. A name from outside the namespace this corpus harmonizes into. Nothing matched because nothing could, and a clean zero went out that was a statement about the question rather than about the corpus.
Re-run on the live corpus against the right identifier, acid whey to L-lactate has 166 testable two-step routes.
Syntropa now runs an identifier-resolution gate before any gap ships, and publishes what it finds as its own number rather than only its verdict. For this issue: 14 of 14 identifiers resolved, none failed. That zero only means something because the gate exists for a failure that already happened, which is the one this issue opens with; a gate that has never caught anything is a gate nobody has tested.
Two kinds of gap, and only one of them is a gap in the science
When a route needs an intermediate, exactly one of two things is true, and the difference decides who should care.
A corpus gap means models already exist for both halves. Nobody has run the pairing. These are testable today, with the tools everyone already has, and they are an invitation.
A biological gap means no model in the corpus covers one half. That is a target rather than a failure, and the distinction is stated carefully: it may be that the biology genuinely is not there, or it may be that the organism that does it has no published model yet. Syntropa does not claim to know which, and anyone who tells you a gap proves an absence is reading a map as a photograph.
The current map
| Route | Testable now (corpus gaps) | Research targets (biological gaps) |
|---|---|---|
| syngas to caproate | 125 | 353 |
| CO2 and H2 to acetate | 191 | 935 |
| acid whey to L-lactate | 166 | 652 |
For acid whey, the screen tier finds 10,363 models that take up the feed, 771 that secrete the target, and 654 that do both directly in one step. The 166 are the two-step routes on top of those.
What these numbers are not. Screen-tier presence is an upper bound. It says a model carries the transport and the chemistry, not that flux balance analysis will confirm a route under any particular medium. Every count above is the size of a search space worth entering, not a count of working conversions. Syntropa publishes the bound rather than a filtered subset because the filtered subset is where a person starts guessing.
Eleven identifiers share a formula, and nine of them are in the map
These passed the gate and are reported because a formula match is not a synonym. Same atoms, possibly a different structure, and in two cases a very different molecule. Of the fourteen identifiers this issue publishes, eleven share a chemical formula with another identifier in the corpus; nine of those eleven are the gap intermediates below, and the other two appear here only as the mirrors they are compared against.
- mnx:130 D-alanine
- mnx:75 L-ornithine
- mnx:42 succinate
- mnx:33 acetate
- mnx:144 L-proline
- mnx:68 copper
- mnx:11554 iron
- mnx:12706 methionine sulfoxide
- mnx:4024 taurodeoxycholate
mnx:130 D-alanine shares C3H7NO2 with mnx:41 L-alanine, which is in 13,269 models against its own 10,270. mnx:75 L-ornithine shares C5H12N2O2 with mnx:478.
And this matters for the counts, not only for the footnote. Every number in this issue is counted per identifier, not per chemical family. Where an isomer shares a formula, the count belongs to the identifier named and not to its mirror: a route counted through mnx:130 is a route through D-alanine, and the 13,269 models carrying L-alanine are not in it. Syntropa counts what it can name rather than merging a family and hoping the stereochemistry does not matter, because for an enzyme it usually does.
If you work on any of these compounds, you will know the stereochemistry better than a count does. Corrections to the mapping are worth more to this page than agreement with it.
One gap worth someone's attention
Of the research targets above, the front-end gaps in the syngas route recur across more than one candidate: mnx:274058, mnx:2283 and mnx:274195 each have models that can take them to the product and none that can make them from the feed. A model contributing that first step would open routes that are otherwise closed, and Syntropa would rather say so than keep the list.
Three are named here rather than the whole list, and the reason is not coyness: three is an ask that someone can act on, where a ranked inventory of everything the corpus cannot reach is a to-do list for whoever wants to get there first. If you want a particular feedstock run, that is a conversation rather than a download.
Where these identifiers come from
Every mnx: identifier above is a MetaNetX compound identifier, which is the namespace this corpus harmonizes into, so you can resolve any of them yourself without taking Syntropa at its word for the mapping. The corpus itself is deposited at doi:10.5281/zenodo.22019863, and the method behind the two-step partition is in the preprint at doi:10.5281/zenodo.22129408.
If you want a route that is not here
The full partition for all five routes, with every intermediate and its model counts, is what this page will carry as it grows. If you want it re-run for a feedstock that is not there, say so.
The caveat travels with the page. Anything published here carries the same two sentences it carries anywhere: screen-tier presence is an upper bound rather than an FBA-confirmed route, and a biological gap does not tell you whether the biology is absent or the model is missing. A page is read long after whatever pointed someone at it, so the page states its own limits rather than relying on them being stated elsewhere.
Provenance
- Corpus versionv0.2.2
- Content hash58a8f20e2aba...
- Models15,664
- Produced byscripts/b7_relay_partition.py
- Identifier gate14 of 14 resolved, 0 failed, 0 same-InChIKey synonym risk
Model sources and licensing
The counts above are aggregates over the corpus. No model is named, reproduced or redistributed here, and a count of how many models carry a reaction is not a cut of those models. The contributing sources are credited anyway, because they are what the corpus is made of.
| Source | Models | License |
|---|---|---|
| embl_gems (CarveMe RefSeq, Machado 2018) | 5,573 | CC-BY 4.0 |
| AGORA2 v2.01 (Heinken 2023) | 4,672 | VMH distributes AGORA2 under non-commercial terms; a specific CC license is not separately posted on the model DATA (the MIT repo license covers only the toolchain code), so it is treated conservatively as NonCommercial: restricting commercial USE, not only redistribution. Cite Heinken et al. 2023. |
| CarveMe 1.6.6 reconstruction from NCBI RefSeq proteome | 4,326 | CC-BY 4.0 (Syntropa reconstruction; tool Apache-2.0) |
| AGORA v1.03 (Magnusdottir 2017) | 601 | CC-BY-NC 4.0 (NonCommercial) per VMH terms: restricts commercial USE; the data license is not separately posted, so it is treated conservatively as NonCommercial |
| APOLLO-595 | 390 | Treated as NonCommercial: the APOLLO publication is CC-BY-NC-ND and VMH distributes the reconstructions under NonCommercial terms. |
| BiGG | 90 | BiGG (UCSD): cite the model's own source publication; academic / non-commercial use: commercial use may require a separate UCSD license (bigg.ucsd.edu). Treated conservatively as non-commercial. |
| SysBioChalmers | 10 | CC-BY 4.0 |
| biomass composition | 1 | CC-BY 4.0 (Syntropa original) |
| embl_gems (CarveMe RefSeq) | 1 | CC-BY 4.0 |
Namespace harmonization uses MetaNetX and mergem. Full per-source terms are on the Data & licensing page.