Syntropa

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

RouteTestable now (corpus gaps)Research targets (biological gaps)
syngas to caproate125353
CO2 and H2 to acetate191935
acid whey to L-lactate166652

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 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

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.

SourceModelsLicense
embl_gems (CarveMe RefSeq, Machado 2018)5,573CC-BY 4.0
AGORA2 v2.01 (Heinken 2023)4,672VMH 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 proteome4,326CC-BY 4.0 (Syntropa reconstruction; tool Apache-2.0)
AGORA v1.03 (Magnusdottir 2017)601CC-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-595390Treated as NonCommercial: the APOLLO publication is CC-BY-NC-ND and VMH distributes the reconstructions under NonCommercial terms.
BiGG90BiGG (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.
SysBioChalmers10CC-BY 4.0
biomass composition1CC-BY 4.0 (Syntropa original)
embl_gems (CarveMe RefSeq)1CC-BY 4.0

Namespace harmonization uses MetaNetX and mergem. Full per-source terms are on the Data & licensing page.