TL;DR. With MS2 + precursor m/z only (no MS1 isotope pattern — exactly our hidden-test situation), published top-1 molecular-formula accuracy is 50–77 % on realistic library benchmarks (MIST-CF 50.5 % on MassSpecGym, 71–77 % on NPLIB1; FIDDLE ~75 % top-5 external average, 88–91 % top-1 on in-distribution NIST23 ≤800 Da), rising to 82–87 % only on the easy, curated CASMI 2022 positive set. Hard "formula-first" candidate filtering therefore throws away the right answer 15–50 % of the time, and the pool-shrinkage it buys inside COCONUT at ≤10 ppm is small (median 2–4 formulas share a 10 ppm window; 62–90 % of window structures already carry the true formula). The arithmetic puts the break-even at P(formula correct) ≈ 0.75–0.9, so for MRR@25 use the formula as a soft multiplicative prior (or the top-3/5 formula union), never as a hard gate; fragment-subformula consistency adds ~+15 points of formula accuracy over mass-only and is the one thing worth computing.
1. Published formula-identification accuracy (what each number was measured on)
All figures below were read from the primary paper/preprint or an open mirror, except where flagged. "MS2-only" means MS/MS peaks + precursor m/z (+ adduct), no MS1 isotope pattern.
| Tool / version | Test set (instrument, n) | Inputs | Mass tol. | Top-1 | Top-k | Source |
|---|---|---|---|---|---|---|
| SIRIUS 4 (fragmentation tree) | dendroides plant extract (Orbitrap, 197 cpds, 75 % > m/z 605) | MS2 + isotope-based element detection; isotopes NOT used to pre-filter | 15 ppm | 50.76 % | — | ZODIAC bioRxiv 10.1101/842740 |
| ZODIAC (reranks SIRIUS top-50) | same | same + network | 15 ppm | 96.95 % | correct in top-50: 197/201 | same |
| SIRIUS 4 → ZODIAC | NIST1950 plasma (Orbitrap) | same | 15 ppm | error 8.51 % → 5.32 % | — | same |
| SIRIUS 4 → ZODIAC | tomato (Orbitrap) | same | 15 ppm | error 4.44 % → 2.22 % | — | same |
| SIRIUS 4 → ZODIAC | diatoms (Orbitrap, halogens/Si) | same | 10 ppm | error 12.90 % → 6.45 % | — | same |
| SIRIUS 4 → ZODIAC | mice stool (maXis QTOF, chimeric) | same | 10 ppm | error 30.23 % → 20.93 % | — | same |
| SIRIUS 5.6.3 formula module, MS2 scoring only | NPLIB1 test (GNPS natural products, positive, < 1,500 Da) | MS2-only | 10 ppm | 48 % (fails on 10.77 % of spectra, mean mass of failures 700.8 Da) | — | MIST-CF, arXiv 2307.08240 / JCIM 10.1021/acs.jcim.3c01082 |
| MIST-CF (NPLIB1 train) | NPLIB1 test, 3 formula splits | MS2-only; up to 256 FastFilter candidates | 10 ppm | 0.741 ± 0.010 | top-3 0.919 | same, Table 1 |
| MIST-CF (NPLIB1 + NIST20 train) | NPLIB1 test | MS2-only | 10 ppm | 0.769 ± 0.006 | top-2 0.897, top-3 0.931 | same |
| "MS1 Only" learned prior (no MS2 at all) | NPLIB1 test | precursor mass + adduct only | 10 ppm | 0.609–0.623 | top-3 0.833–0.847 | same, Table 1 |
| MIST-CF (20 peaks) | CASMI 2022 positive, 304 spectra | MS2-only | 5 ppm | formula 0.822, adduct 0.885, formula+adduct 0.868 | — | same, Table 2 |
| MIST-CF (50 peaks) | CASMI 2022 positive | MS2-only | 5 ppm | formula 0.842, adduct 0.901, F+A 0.862 | — | same |
| SIRIUS 5.6.3 (CSI:FingerID rerank vs PubChem) | CASMI 2022 positive | MS2 (+ MS1 from mzML) | 5 ppm | formula 0.516, F+A 0.678 (254/304 predicted) | — | same |
| SIRIUS team submission (IIMN + manual curation) | CASMI 2022 positive | MS1 + MS2 + feature correlation | — | formula 0.865, F+A 0.868 (272/304) | — | same |
| MIST-CF data-safe retrain | MassSpecGym test (mixed instruments, structure-disjoint MCES split) | MS2-only; SIRIUS decomposition + FastFilter 256; halogens ≤1 | SIRIUS default | 50.5 % | top-5 73.2 % | MassSpecGym in the Wild, arXiv 2606.19624, Table 7 |
| MIST-CF trained on test (leaked) | same | same | 59.0 % / 66.5 % | 80.5 % / 84 % | same (shows how much leakage inflates) | |
| SIRIUS (MS2 scoring only) | NIST23 HCD positive, 86,435 spectra, 6 adducts incl. [M+K]+, water losses, [M−H+2Na]+ | MS2-only | 5 ppm (Orbitrap) | 0.284 | top-5 0.758, top-10 0.825 | Che/Du/Xu arXiv 2601.00941, Table 3 |
| MIST-CF retrained in-domain | NIST23 | MS2-only | 5 ppm | 0.378 | top-5 0.503 | same |
| SIRIUS (MS2 only) | MoNA positive, 76,196 spectra | MS2-only | 10 ppm | 0.193 | top-5 0.435 | same |
| MIST-CF retrained | MoNA | MS2-only | 10 ppm | 0.744 | top-5 0.892, top-10 0.915 | same |
| FIDDLE | NIST23 holdout Q-TOF ≤ 800 Da | MS2 + precursor type + simulated precursor m/z (Gaussian within tol.); no isotopes | 10 ppm | 0.906 (BUDDY 0.844, SIRIUS 0.881) | top-5 0.950 | FIDDLE, Nat Commun 2025, 10.1038/s41467-025-66060-9 (PMC12700866) |
| FIDDLE | NIST23 Q-TOF > 800 Da | same | 10 ppm | 0.642 (BUDDY 0.427, SIRIUS 0.187) | top-5 0.754 (BUDDY 0.489, SIRIUS 0.178) | same |
| FIDDLE | NIST23 Orbitrap ≤ 800 / > 800 Da | same | 5 ppm | 0.881 / 0.813 (BUDDY 0.684 on >800; SIRIUS timed out) | top-5 0.936 / 0.971 | same |
| FIDDLE vs BUDDY vs SIRIUS vs MIST-CF | external avg of CASMI 2016 (Q-TOF, 502 spectra/405 cpds), CASMI 2017 (40), EMBL-MCF 2.0 (Orbitrap, 224/130) | MS2-only | 10/5 ppm | — | top-5 positive: FIDDLE 75.1 % (80.0 % ensembled w/ BUDDY+SIRIUS), BUDDY 69.9 %, SIRIUS 69.3 %, MIST-CF 66.5 %; negative: FIDDLE 66.2 % (73.8 %), BUDDY 61.4 %, SIRIUS 67.6 % | same |
| BUDDY (Nat Methods 20:881–890, 2023) | multiple reference libraries incl. VF-NPL (Orbitrap, positive) | MS1 isotopes optional; MS2 bottom-up | Orbitrap 5 ppm, Q-TOF 10 ppm | abstract: candidate space shrunk 42.8 % vs exhaustive enumeration; search-snippet (full text paywalled, unverified): "improves top-1 accuracy over SIRIUS by 30.1 % on average, largest gain 68.7 % on VF-NPL" | — | Europe PMC abstract (PMID 37055660) |
| MS-FINDER (Tsugawa 2016) | 5,063 MassBank MS/MS records | MS1 isotopes + MS2 + HR rules | — | formula "98.0 % accuracy" (abstract; top-rank definition not given in abstract); structure 82.1 % in top-3 | — | Anal Chem 88:7946, 10.1021/acs.analchem.6b00770, Europe PMC abstract |
| Seven Golden Rules (Kind & Fiehn 2007) | 1,200 DNP natural products, simulated ±3 ppm, ±5 % isotope abundance | MS1 accurate mass + isotope ratios, no MS2 | 3 ppm | PubChem-query top hit 84 %; no-DB top-3 81 %; target-DB top hit 99 % | — | BMC Bioinformatics 8:105, Table 5 |
Readings across the table:
- The isotope pattern is worth more than any model. Kind & Fiehn's Table 6 (sorbitol-TMS6, 696 enumerated formulas, CHNOPS+Si): the isotope filter at 5 % error alone removes 668 of 696; Senior/Lewis removes 420; H/C ratio 56; NOPS ratio 51; all seven rules combined leave 10. Without MS1 we lose the single strongest filter.
- Without isotopes, MS2 scoring alone (classic SIRIUS tree score) is 19–48 % top-1 on broad libraries (NIST23 HCD 28.4 %, MoNA 19.3 %, NPLIB1 48 %), and learned rankers recover to 50–77 %. The In-the-Wild number (50.5 %, structure-disjoint split, mixed instruments) is the most honest proxy for "novel natural products on an instrument we haven't trained on".
- Mass drives failure. SIRIUS fails outright on spectra averaging 700.8 Da; FIDDLE drops from 0.906 to 0.642 (Q-TOF) above 800 Da; BUDDY from 0.844 to 0.427. Natural products in the hidden test are heavier than typical drug-like benchmarks, so expect the lower end.
- A pure prior over formulas given mass (no MS2) already reaches 61–62 % top-1 on NPLIB1 (MIST-CF "MS1 Only" baseline). This is database bias: most masses have a dominant, chemically typical CHNO formula. Fragments add ~+15 points: 0.623 → 0.673 (1 peak), 0.729 (5), 0.754 (10), 0.756 (20), 0.774 (50 peaks).
2. Candidate formulas per precursor vs ppm (Kind & Fiehn 2007 + our enumeration)
Kind & Fiehn do not tabulate m/z 300/500/800 at 5/10/20 ppm; their Table 4 is cumulative (all CHNOPS formulas < 500 Da: 2,707,540 raw → 729,617 after element-ratio + probability checks; < 1000 Da: 139,735,355 → 32,555,050; < 2000 Da: 7,995,776,805 → 1,170,870,061 → 623,270,049 with DNP/Wiley element-count caps, a 13-fold reduction). Their worked examples: Cangrelor (774.948 Da, 8 elements) 449 formulas at ±0.1 ppm and 4,465 at 1 ppm, of which isotope ratios at 5 % remove 4,330; Digitoxin (764.939 Da) 146 formulas at 2 ppm, 69 at 1 ppm, 21 after ≤5 % isotope error, correct one ranked 7th; Paclitaxel (853.906 Da, CHNOPS+F,Cl,Br) 1,418 formulas at 2 ppm, 29 after 3 % isotope error, correct ranked 25th (fluorine is monoisotopic). Up to ~800 Da the rule-based score alone ranks the correct formula top in ~80 % of cases with isotopes; 88 % with a PubChem query.
Because the brief needs the 3 × 3 grid, we enumerated it ourselves (script in scratchpad, Python, exact monoisotopic masses, neutral mass; elements C,H,N,O,P,S plus Cl ≤ 2, S ≤ 5, P ≤ 3; "Senior" = even valence sum and RDBE ≥ 0; "golden" = Senior + H/C 0.2–3.1, N/C ≤ 1.3, O/C ≤ 1.2, P/C ≤ 0.3, S/C ≤ 0.8 + the HNOPS multi-element caps of Kind & Fiehn Table 3). COCONUT columns are from the local COCONUT lite dump (Oct 2026; 738,794 structures, 98,691 distinct formulas) for real COCONUT compounds in each mass bin (3,000 sampled per bin, weighted by structure count), i.e. "how many distinct formulas / structures of the NP database sit inside the window around a real NP".
| Neutral mass | ppm | ±window (mDa) | Enumerated raw | Senior/RDBE | + golden-rule ratios | COCONUT formulas in window (median / mean / p90) | COCONUT structures in window (median) | Same-formula isomers (median) | Fraction of window structures with the true formula |
|---|---|---|---|---|---|---|---|---|---|
| 300 | 5 | 1.5 | 128 | 40 | 21 | 2 / 1.8 / 3 | 90 | 81 | 0.90 |
| 300 | 10 | 3.0 | 256 | 78 | 43 | 3 / 3.2 / 5 | 97 | 81 | 0.83 |
| 300 | 20 | 6.0 | 517 | 149 | 82 | 5 / 5.7 / 10 | 123 | 81 | 0.71 |
| 500 | 5 | 2.5 | 1,415 | 377 | 175 | 2 / 2.5 / 4 | 39 | 26 | 0.76 |
| 500 | 10 | 5.0 | 2,859 | 748 | 349 | 4 / 4.5 / 8 | 55 | 26 | 0.62 |
| 500 | 20 | 10.0 | 5,699 | 1,492 | 692 | 9 / 8.3 / 14 | 87 | 26 | 0.49 |
| 800 | 5 | 4.0 | 11,727 | 2,242 | 829 | 1 / 1.6 / 3 | 23 | 21 | 0.86 |
| 800 | 10 | 8.0 | 23,426 | 4,479 | 1,657 | 2 / 2.6 / 5 | 29 | 21 | 0.76 |
| 800 | 20 | 16.0 | 46,859 | 8,942 | 3,288 | 4 / 4.6 / 9 | 41 | 21 | 0.64 |
(COCONUT rows use mass bins 250–350, 450–550, 750–850 Da; enumerated rows use the exact nominal mass. Counts scale ~linearly with ppm and ~cubically with mass, as Kind & Fiehn's Figure 5 shows.) MIST-CF's own statistic on NPLIB1+NIST20 at 10 ppm with the permissive RDBE filter: > 15 % of spectra have > 5,000 candidate formulas; their FastFilter keeps the true formula in the top 256 for 99 %.
The decisive observation for us: de novo there are 20–3,300 plausible formulas, but inside COCONUT a 10 ppm window around a real natural product contains a median of 2–4 formulas and the true formula already accounts for 62–83 % of the structures in the window. Formula assignment barely shrinks a database-constrained pool; it matters for de novo/enumerated spaces and as a ranking feature, not as a retrieval gate.
3. timsTOF mass accuracy in practice
| Item | Value | Source |
|---|---|---|
| timsTOF Pro 2 spec | resolution 60,000 FSR at m/z 1,200; mass accuracy < 2 ppm RMS external calibration, < 0.8 ppm RMS internal; m/z 20–40,000; TIMS CCS < 1 % RSD external, < 0.5 % internal; > 120 Hz PASEF | PolyU UCEA instrument page (Bruker spec sheet mirror) |
| timsTOF fleX spec | resolution up to 60,000; ≤ 2 ppm RMS external, ≤ 800 ppb RMS internal; m/z 20–40,000; > 100 Hz | Univ. Vienna MSC instrument page |
| timsTOF Pro, routine NP lab SOP (UZH) | 10 mM sodium formate calibrant injected via 6-port valve/20 µL loop at the start of every LC run, m/z 158–1,450, "mass accuracy below 2 ppm"; resolution ca. 20,000–25,000 at m/z 622 (older Pro); MS/MS 35 eV, 3 m/z isolation, m/z 50–600 at 2 Hz | chem.uzh.ch InstrDescr_LC-HR-IM-MS_timsTOFPro.pdf |
| Residual after lock-mass / post-run recalibration (generic ESI-TOF) | drift up to ~17 ppm over 2–3 days uncorrected; sodium-formate post-run calibration → ±0.48 ppm (pos) / ±0.94 ppm (neg) (search-snippet of PubMed 25559451; not opened — low confidence) | — |
| Detector saturation (timsTOF Pro, proteomics) | raw intensity ≈ 3,000 counts treated as saturation; 5 % (HeLa/yeast/E. coli) to 17.7 % (UPS2) of monoisotopic peaks saturated; instrument's own extrapolation already corrects most m/z shift (removing saturated points changes mass error by only 0.064 ppm on average); dynamic range 0.97 → 1.14 orders after correction | Wilding-McBride et al., PLoS One 2022, 10.1371/journal.pone.0271025 (PMC9262215) |
Isotope fidelity at low intensity: no vendor number was found (web-search budget exhausted before a Bruker TIP/mSigma note could be fetched; flagged as open). First-principles bound (our derivation): TOF isotope ratios are ion-counting limited, so the relative error of an M+1/M ratio is ≈ 1/√N(M+1); a C20 compound has M+1 ≈ 22 % of M, so at 1,000 ions in M the M+1 peak carries ~220 ions → ~7 % relative error, already above Kind & Fiehn's 5 % threshold that makes the isotope filter powerful; at 100 ions in M it is ~21 %. At the other end, saturation (above ~3,000 raw counts per point) compresses M and inflates M+1/M. This is the physical reason MS1-isotope formula filtering on a timsTOF is reliable only for mid-intensity precursors, and a plausible reason Enveda withheld MS1 entirely rather than ship unreliable patterns.
Practical tolerance for our modeling: Enveda's test precursor_mz is from a calibrated timsTOF, so a 5 ppm neutral-mass window is physically justified (spec < 2 ppm RMS; 3σ ≈ 6 ppm if RMS ≈ 2 ppm; 10 ppm is the safe choice if calibration drifted). The public write-ups' finding that "≈ 1 mDa / 10 ppm is critical" (BRIEF) is consistent: at m/z 500 a 10 ppm window is 5 mDa.
4. MS2 + precursor m/z only: what formula accuracy drops to, and what fragment consistency buys
- MS2-only annotators (what we can run): MIST-CF 50.5 % top-1 / 73.2 % top-5 (MassSpecGym data-safe), 71–77 % (NPLIB1), 82–84 % (CASMI 2022 positive, 5 ppm); FIDDLE 88.3 % top-1 overall on NIST23 holdout but 64 % (Q-TOF) above 800 Da, and 66–75 % top-5 on external sets. SIRIUS tree score alone without isotopes: 19–48 %.
- Fragment-subformula consistency is exactly what BUDDY ("bottom-up MS/MS interrogation": every fragment and neutral loss must be a subformula; shrinks candidate space 42.8 % on average), MIST-CF (subformula assignment within 15 ppm, RDBE ≥ 0, adduct subtracted from all MS2 masses, assuming same adduct on fragments), and SIRIUS 6 "bottom-up search" (fragment masses query database subformulas; pairwise combinations build precursor formulas) implement. The MIST-CF peak ablation quantifies the gain: 0.623 (no peaks) → 0.754 (10 peaks) → 0.774 (50 peaks) top-1, i.e. the fragments add ≈ 13–15 absolute points over a mass-only prior on NPLIB1.
- Noise robustness (FIDDLE, 1,000 spectra, highest injected noise): FIDDLE 95.0 % / BUDDY 93.5 % / SIRIUS 52.5 % top-5 (Q-TOF); 93.3 / 75.4 / 63.1 % (Orbitrap). Multi-collision-energy merged spectra (our test) are closer to "more peaks, some noise" — favouring learned rankers over tree scoring.
- Default tolerances the tools assume for a Q-TOF class instrument (msbuddy
ms_instrpresets): qtof MS1 10 ppm / MS2 20 ppm; orbitrap 5 / 10; fticr 2 / 5; halogen off by default (C 0–100, H 0–150). MIST-CF inference: Q-TOF 10 ppm, Orbitrap 5 ppm, ion trap 15 ppm (following BUDDY). For a timsTOF (< 2 ppm RMS) the Orbitrap preset is closer to reality.
5. Decision: is formula-first filtering a net win for MRR@25?
Measured error propagation (MassSpecGym in the Wild, Table 2, same mass-based candidate set, MIST fingerprint retrieval):
| Formula fed to MIST | Formula top-1 acc. | Hit@1 | Hit@5 | Hit@20 |
|---|---|---|---|---|
| Random ranking, no formula | — | 0.43 % | 2.01 % | 7.99 % |
| Random ranking, candidates pruned to ground-truth formula | 100 % | 12.98 % | 39.09 % | 71.33 % |
| MIST-CF data-safe top-1 | 50.5 % | 26.64 % | 38.47 % | 54.90 % |
| MIST-CF top-5, element-wise max of 5 fingerprints | 73.2 % (top-5) | 28.23 % | 40.77 % | 56.22 % |
| MIST-CF trained on test (leaked) top-1 | 66.5 % | 35.15 % | 47.97 % | 62.89 % |
| Ground-truth formula | 100 % | 51.45 % | 66.25 % | 80.58 % |
Note 26.64 ≈ 0.505 × 51.45 = 26.0: the retrieval accuracy with a predicted formula is almost exactly P(formula correct) × accuracy-with-correct-formula, with ≈ 1 point of partial credit from wrong-but-close formulas. A wrong formula is a wrong datum; the posterior collapses. (Formulas here conditioned the fingerprint rather than filtering candidates; a hard filter would give exactly zero on the wrong-formula cases.)
Break-even arithmetic (the datum model). Let p = P(top-1 formula correct), MRR_m = MRR of the mass-window pipeline, MRR_f = MRR of the same ranker on the formula-pruned pool when the formula is right, g = MRR_f / MRR_m (the gain from the smaller region). Hard formula-first gives E[MRR] = p·MRR_f + (1−p)·0 = p·g·MRR_m, so it pays iff p > 1/g.
What is g inside COCONUT? From Section 2, a correct formula removes only 10–40 % of the structures in a 5–10 ppm window (fraction with true formula 0.62–0.90). If the true molecule sits at rank r and the removed decoys are not preferentially the ones above it, the rank becomes ≈ 1 + (r−1)(1−f). For f = 0.3: r = 2 → 1.7, r = 5 → 3.8, r = 10 → 7.3; MRR gains of ~+20–30 % relative at most, i.e. g ≈ 1.1–1.35 at 5–10 ppm, so the break-even is p ≈ 0.74–0.91*. For a decoy-rich pool (PubChem-scale, or a 20 ppm window where only ~50 % of window structures share the formula) g can reach ~2 and p* drops to ~0.5.
Plugging real numbers:
| Scenario | p | g | p·g | Verdict vs mass window |
|---|---|---|---|---|
| MS2-only MIST-CF, structure-disjoint (MassSpecGym) | 0.505 | 1.25 | 0.63 | −37 % MRR: net loss |
| MIST-CF on NP-like data (NPLIB1) | 0.77 | 1.25 | 0.96 | −4 %: marginal loss |
| FIDDLE-class, [M+H]+, < 800 Da, in-distribution | 0.90 | 1.25 | 1.13 | +13 %: win |
| Any annotator, > 800 Da NPs (FIDDLE Q-TOF 0.64, BUDDY 0.43) | 0.64 | 1.35 | 0.86 | loss |
| Top-5 formula union (coverage 0.73–0.95) instead of top-1 | 0.73–0.95 | ≈ 1.0–1.05 (union ≈ the whole window in COCONUT) | 0.75–1.0 | never better than the window; harmless at 5 ppm |
| Soft prior: score × P(formula | spectrum), calibrated | — | — | ≥ 1 by construction |
Supporting evidence that formula knowledge is a ranking lever, not a retrieval lever: in the contrastive-retrieval study (arXiv 2602.16507, Emb-Cos model) equal-formula vs equal-mass candidate sets give HR@1 13.62 % vs 12.29 %, HR@20 46.50 % vs 45.05 % — about one point — with candidate sets of 212 vs 253 on average; and models trained on equal-mass candidates transfer better to equal-formula sets than models trained on formula sets (harder negatives teach more).
So: formula-first hard filtering loses on the hidden test (novel NPs, many > 500 Da, 7 adducts, MS2-only ⇒ p ≈ 0.5–0.75), unless restricted to the sub-population where p is demonstrably ≥ 0.85 ([M+H]+, < 500 Da, high ranker confidence). The right use of formula is (i) a multiplicative, calibrated P(formula | spectrum) on every candidate's formula, (ii) subformula-explained-intensity as a per-candidate feature, (iii) a tie-breaker inside the 25-slot list ordering. Keep the 5–10 ppm neutral-mass window as the retrieval gate.
6. Per-adduct behaviour and known failure modes
Hidden-test adducts are given (7 types), so the question is how often the given adduct is wrong or ambiguous, and how adduct errors masquerade as formula errors.
| Phenomenon | Number | Source |
|---|---|---|
| [M+Na]+ vs [M+H]+ confusion is a formula error of exactly C2H2 vs Na−H: Na−H = 21.981944 Da, C2−H2 = 21.984350 Da, Δ = 2.406 mDa = 8.0 ppm at m/z 300, 4.8 ppm at 500, 3.0 ppm at 800 (our arithmetic). So at ≥ 5 ppm tolerance an [M+Na]+ labelled [M+H]+ yields a valid wrong formula above ~500 Da. | ZODIAC: all 6 residual ZODIAC errors on dendroides were H/Na swaps; fixing the adduct raised SIRIUS 50.76 → 67.17 % and ZODIAC 96.95 → 99.50 % | ZODIAC bioRxiv |
| Adduct accuracy of an MS2-only ranker | MIST-CF CASMI 2022: adduct correct 0.885 (20 peaks) / 0.901 (50 peaks) | MIST-CF Table 2 |
| Top-5 formula accuracy by adduct, NIST23 / MoNA (SIRIUS; MIST-CF retrained) | [M+H]+ 0.940 / 0.730; 0.990 / 0.869. [M+Na]+ 0.750 / 0.520; 0.950 / 0.930. [M+H−H2O]+ SIRIUS 0.950 / 0.727 but retrained MIST-CF 0.160 / 0.364. [M+H−2H2O]+ SIRIUS 0.950 / 1.000, MIST-CF 0.150 / 0.000. [M−H+2Na]+ 0.000–0.176 for all. | arXiv 2601.00941, Table 4 (adduct shares: [M+H]+ 56.1 % NIST, 78.6 % MoNA) |
| [M+NH4]+ ≡ [(M+NH3)+H]+ (17.026549 Da): mass-identical; the adduct label is the only disambiguation. [M+HCOO]− ≡ [(M+HCOOH)−H]−. [M+K]+ vs [M+Na+O]: Δ = 20.98 mDa, not confusable. | our arithmetic | — |
| In-source fragmentation rates | by detected peaks in biological extracts 2–35 % (mostly < 10 %); by metabolites < 11 %; analytical standards 1–70 %; one study: [M+H]+ ions gave 67 % ISFs, [M+Na]+ < 1 %; ~58 % of NIST23 MS/MS records originate from ISF precursors (e.g., water-loss precursors) | JACS Au 2025, 10.1021/jacsau.5c01063 (PMC12728610) |
| Share of features that are real metabolites | ~26 % of ~27,000 LC-MS features in mouse liver; buffer-modification workflow annotated 82/93 (pos) and 121/126 (neg) known adducts correctly (~95 %) | PMC7484094 |
| Precursor mass error by adduct in our train set | not computed: train.parquet (3.03 GB) download returned HTTP 403 (competition rules not accepted on the Kaggle account used by the CLI). precursor_error_ppm per adduct is a one-liner once the file is present — assigned to q2 worker adducts_polarity_collision_energy_merging_statistics or to whoever has the data |
— |
No peer-reviewed number for "fraction of library spectra with a wrong adduct label" was found in this session; the closest is the ZODIAC observation that preprocessing mis-assigned the adduct for 3/201 (1.5 %) reference compounds in dendroides and the [M−H+2Na]+ near-zero accuracy "raising the question whether the adduct type has been determined correctly" (arXiv 2601.00941).
Forced analogy: search-and-rescue datum fixing
Statement. In Bayesian search (Koopman's WWII theory; Stone et al., Statistical Science 29(1):69–80, 2014, for AF447) the posterior over target location is anchored to a datum — the last known position — and every subsequent probability map, sweep-width calculation and "probability of detection" update is conditional on it. Stone et al. found the AF447 wreckage within one week after two years of failure by rebuilding the prior to account for all information and for the failures of previous searches. Mapping: datum ↔ molecular formula; search region ↔ candidate pool; sensor sweeps ↔ spectrum-to-structure ranker; probability of detection ↔ MRR.
Derived, testable idea (1): the datum-weighted posterior. A wrong datum does not merely cost the fraction of effort spent — it sets P(detection) to ≈ 0 for the entire search. Section 5's measurement confirms this literally: Hit@1 with a predicted formula = 0.505 × Hit@1 with the correct formula (+ ~1 point). Search theory's remedy was never "pick the most likely datum and search there"; it was to integrate over the datum's distribution (AF447 used several scenario priors mixed by weight). The analogue: score each candidate c by P(c | spectrum, formula(c)) × P(formula(c) | spectrum), where the second factor is a calibrated MS2-only formula posterior (MIST-CF/msbuddy/FIDDLE scores, or a cheap subformula-explained-intensity feature). This is a drop-in multiplicative reweighting of the existing mass-window pool; test it by measuring MRR@25 on a held-out, structure-disjoint timsTOF-like slice with vs without the factor. Expected effect from Section 5: +5–15 % relative MRR if the formula posterior is calibrated, ≈ 0 if it is replaced by a hard argmax.
Derived idea (2): "search the negative information". Stone et al. explicitly modelled the previous unsuccessful searches as evidence. Our equivalent: if a high-confidence formula's isomers all rank badly under the structure ranker (low fingerprint cosine for every candidate with that formula), that is evidence against the formula, and the mass should be re-decomposed with the next formula or the adduct swapped (H ↔ Na is a 2.4 mDa, formula-valid confusion above 500 Da). A concrete rule: if max candidate score under formula F1 < τ and the H/Na-swapped formula F2 has candidates with score > τ, promote F2's candidates into the 25 slots.
Does the analogy hold? It holds precisely for hard formula-first filtering: the break-even p* = 1/g is the same inequality a search planner solves when deciding whether to commit all assets to one datum (commit only when P(datum) × gain-from-concentration beats a wide sweep). It partially breaks in two ways: (a) in SAR a wrong datum gives zero detection probability, whereas a wrong-but-adjacent formula still gives a few percent (near-isomeric fingerprints), so the formula case is slightly more forgiving; (b) in SAR the gain from a correct datum is enormous (ocean vs 40 nm circle), whereas inside a natural-product database at ≤ 10 ppm the "region" barely shrinks (g ≈ 1.1–1.35), so the whole decision is far less favourable to committing than in SAR. The analogy therefore paid off mainly by forcing the arithmetic that shows hard filtering is a loss on this test.
Gotchas / what could fool us
- Formula-benchmark numbers are mostly in-distribution. NIST23 holdouts (FIDDLE 88–91 %) use SMILES-level splits with spectra from the same instruments; the structure-disjoint MassSpecGym split halves accuracy (50.5 %). A leaked MIST-CF (test spectra in training) jumps to 59–66.5 % top-1 and inflates downstream retrieval Hit@1 from 26.6 to 35.2 % — anyone validating a formula model on train-overlapping formulas will overestimate p and wrongly conclude that hard filtering pays.
- "Formula accuracy" is defined differently across papers. MIST-CF reports summed elemental composition of formula + adduct because SIRIUS cannot distinguish [C6H12O6+H]+ from [C6H10O5+H−H2O]+; the comparative study reports top-5 by adduct; BUDDY/ZODIAC report neutral formula with adduct known from preprocessing. Mixing them shifts numbers by 5–15 points.
- Simulated precursor m/z. FIDDLE simulates precursor errors (Gaussian within 5/10 ppm) from theoretical masses; Kind & Fiehn simulate ±3 ppm / ±5 % isotope noise. Real timsTOF error distributions have calibration-drift tails; a 5 ppm window tuned on simulated data can be too tight.
- The 10.77 % silent failure rate of SIRIUS (timeouts on large molecules, mean 700.8 Da) and FIDDLE's note that SIRIUS "failed to return a result in time" on Orbitrap > 800 Da: any pipeline that calls SIRIUS/msbuddy with a timeout will output nothing for exactly the heavy NPs where candidate coverage is already the ceiling (recall@25 ≈ 0.55).
- Database formula prior ≠ truth. A mass-only learned prior gets 61 % top-1 on NPLIB1 because libraries are CHNO-rich and low-mass. The hidden test is "none previously published" natural products/analogs/synthetics; the prior is weaker there and the halogen/sulfur/phosphorus defaults (halogen off in msbuddy; ≤ 1 halogen in MIST-CF/SIRIUS default; 96 % formula recoverability on NPLIB1 with those caps) will exclude the true formula for some synthetics.
- Water-loss and sodiated precursors are where learned rankers collapse (retrained MIST-CF 0.00–0.36 on [M+H−H2O]+/[M+H−2H2O]+ vs SIRIUS 0.73–1.00). If the 7 test adducts include loss-adducts or [M+Na]+, blend a rule-based score, not a single learned one.
- H/Na confusion is formula-valid above ~500 Da at 5 ppm (Δ = 2.4 mDa). A sodiated precursor labelled protonated yields a plausible formula with the wrong neutral mass by 21.98 Da and the right answer is outside the window entirely — not a ranking error, a retrieval error.
- In-source fragments in training libraries: ~58 % of NIST23 MS/MS records come from ISF precursors (JACS Au 2025); public libraries contain many water-loss "precursors" whose true neutral formula is M, not M−H2O. Training a formula model on such rows teaches wrong formula–spectrum associations; Fiehn's caveat that the test is pure isolated compounds cuts the other way (less ISF in test than in train).
- Isotope-free hidden test means element detection is gone. SIRIUS's auto-detection of S/Cl/Br/B/Se from isotopes (enabled in ZODIAC) does not exist without MS1; halogenated or sulfur-rich NPs will be decomposed as CHNO unless we widen the element set, which multiplies candidate formulas (Cangrelor: 449 at 0.1 ppm with 8 elements).
- The metric does not reward formula correctness. Correct formula but wrong isomer scores 0; wrong formula but correct InChIKey14 (impossible, except through adduct relabeling) also 0. Only the SMILES list matters, so every formula decision must be judged by its effect on rank of the true structure, not on formula accuracy.
- Candidate-set construction artefacts (MassSpecGym in the Wild): non-canonical SMILES let a spectrum-blind classifier reach 99.66 % Hit@1; PubChem default ordering alone gave 49.98 %. Our COCONUT pool must be canonicalised identically for truth and decoys and shuffled before any learned ranker sees it, or the ranker learns provenance.
Implications for the challenge
- Keep the neutral-mass window (5 ppm default, 10 ppm fallback) as the retrieval gate. Do not prune to a predicted formula: with MS2-only p ≈ 0.5–0.77 and g ≈ 1.1–1.35, hard formula-first lowers expected MRR@25 by ~5–40 %.
- Add a calibrated formula posterior as a multiplicative feature: run msbuddy (
ms_instr='orbitrap'-class tolerances, halogen on) or MIST-CF/FIDDLE on each test spectrum, convert scores to P(formula) via temperature scaling on a held-out structure-disjoint slice, and multiply each candidate's ranker score by P(formula(candidate)). Measure on a timsTOF/NP-like validation slice; expect single-digit to low-teens relative MRR gain. - Compute a cheap per-candidate "subformula-explained intensity" feature (fraction of MS2 intensity whose m/z minus adduct matches a subformula of the candidate within 15–20 ppm, RDBE ≥ 0, adduct subtracted from fragments). The MIST-CF ablation says fragments are worth ~+15 points of formula discrimination; this feature transfers that into ranking without a model.
- Handle adducts as hypotheses, not labels: for every spectrum also build the H ↔ Na-swapped neutral mass (Δ 21.981944 Da) and, for [M+NH4]+, the M+NH3 ambiguity; include those candidates at low prior weight in the 25 slots (e.g., slots 20–25) when the primary pool's top score is weak.
- Mass-stratify every decision: p ≈ 0.9 below ~500 Da for [M+H]+ (where a top-1 formula tie-break is safe) but 0.4–0.65 above 800 Da (where even top-5 formula unions miss 25 %); only apply any formula-based pruning below 500 Da and only when the formula posterior exceeds ~0.85.
- Use the enumerated-formula counts (Section 2) when building de novo or generative fallbacks: at 5 ppm and 800 Da there are ~830 golden-rule formulas, so de novo structure generation must be conditioned on a formula distribution, not an argmax.
- Download
train.parquet(needs Kaggle rule acceptance on the CLI account) and tabulateprecursor_error_ppmbyadduct,ingest_lib, and forinstrument_type == timsTOF; set the test window from the enveda-180 timsTOF rows (same lab, same calibration habit), not from vendor specs. - Validate the whole formula-feature pipeline on a held-out set that is structure-disjoint (MCES ≥ 10 à la MassSpecGym) and timsTOF/NP-shaped; in-distribution formula accuracy (88–91 %) is a trap that makes hard filtering look profitable.
Open questions
- Vendor/independent data on timsTOF isotope-ratio fidelity vs intensity (TIP/mSigma behaviour near the ~3,000-count saturation and at < 100 ions) — not retrieved (search budget exhausted).
- BUDDY's per-library top-1 table (Nat Methods 2023, paywalled; bioRxiv rate-limited during this session): the "30.1 % average improvement over SIRIUS; 68.7 % on VF-NPL" figures come from a search snippet and need verification against Fig. 2 of the paper.
- Does Enveda's precursor_mz come from the MS1 feature apex (calibrated) or from the MS2 isolation target (quadrupole-set, coarser)? The answer determines whether 5 ppm is safe.
- Actual per-adduct precursor-error distribution in train (blocked by the Kaggle 403).
- Whether FIDDLE (trained largely on NIST23 Orbitrap, 965,656 spectra) transfers to timsTOF merged multi-CE spectra; no timsTOF evaluation exists in any of the formula papers read.
- SIRIUS 6 "bottom-up search" accuracy with no MS1: the docs describe the mode but no paper benchmark was found; the brief's "SIRIUS 6 Nat Biotechnol 2024" could not be located (SIRIUS 4 is Nat Methods 2019; the 2022 Nat Biotechnol paper is COSMIC) — likely a mislabel.
Sources (opened in this session)
- Kind T, Fiehn O. Seven Golden Rules for heuristic filtering of molecular formulas. BMC Bioinformatics 2007;8:105. DOI 10.1186/1471-2105-8-105 — PDF via https://fiehnlab.ucdavis.edu/downloads/projects/Seven_Golden_Rules/1471-2105-8-105.pdf (Tables 4, 5, 6; Cangrelor/Digitoxin/Paclitaxel examples).
- Goldman S, Xin J, Provenzano J, Coley CW. MIST-CF: Chemical formula inference from tandem mass spectra. arXiv:2307.08240 (PDF read); JCIM 2024, DOI 10.1021/acs.jcim.3c01082; repo README https://raw.githubusercontent.com/samgoldman97/mist-cf/main/README.md.
- Ludwig M, Nothias L-F, Dührkop K, et al. ZODIAC: database-independent molecular formula annotation using Gibbs sampling. bioRxiv 2019, DOI 10.1101/842740 (PDF read); published as Nat Mach Intell 2:629–641 (2020) per https://bio.informatik.uni-jena.de/software/sirius/ listing (published version not opened).
- Xing S, Shen S, Xu B, Li X, Huan T. BUDDY: molecular formula discovery via bottom-up MS/MS interrogation. Nat Methods 2023;20:881–890, DOI 10.1038/s41592-023-01850-x — abstract via Europe PMC REST (PMID 37055660); full text not accessible. msbuddy docs: https://msbuddy.readthedocs.io/en/latest/ and /config.html.
- Che X, Du X, Xu D. Comparative Analysis of Formula and Structure Prediction from Tandem Mass Spectra. arXiv:2601.00941 (PDF + HTML read).
- FIDDLE: a deep learning method for chemical formulas prediction from tandem mass spectra. Nat Commun 2025, DOI 10.1038/s41467-025-66060-9, PMC12700866 (Europe PMC full-text XML read).
- Bushuiev R, et al. MassSpecGym: A benchmark for the discovery and identification of molecules. arXiv:2410.23326 v3 (PDF read, Table 3) + NeurIPS 2024 supplement (candidate construction, Algorithm 1, 10 ppm).
- MassSpecGym in the Wild: Uncovering and Correcting Evaluation Pitfalls in AI-Driven Molecule Discovery. arXiv:2606.19624 (PDF read; Tables 2, 7, 8).
- Small molecule retrieval from tandem mass spectrometry: what are we optimizing for? arXiv:2602.16507 (HTML read; Table 1 Emb-Cos, Table 5 candidate sizes).
- Tsugawa H, et al. Hydrogen Rearrangement Rules … MS-FINDER. Anal Chem 2016;88:7946–7958, DOI 10.1021/acs.analchem.6b00770 — abstract via Europe PMC (PMID 27419259).
- A Perspective on Unintentional Fragments and Their Impact on the Dark Metabolome … JACS Au 2025, DOI 10.1021/jacsau.5c01063, PMC12728610 (Europe PMC full text).
- Improved annotation of untargeted metabolomics data through buffer modifications that shift adduct mass and intensity. PMC7484094.
- Wilding-McBride D, et al. Simplifying MS1 and MS2 spectra … on the Bruker timsTOF Pro. PLoS One 2022, DOI 10.1371/journal.pone.0271025, PMC9262215 (Europe PMC full text).
- Bruker timsTOF Pro 2 specifications (mirror): https://www.polyu.edu.hk/ucea/equipment-and-facility/equipment/timstof-ms/ ; timsTOF fleX: https://msc.univie.ac.at/instruments/timstof-flex/ ; UZH timsTOF Pro SOP: https://www.chem.uzh.ch/dam/jcr:e93ba644-82b2-4958-a1f7-aa823febd71f/InstrDescr_LC-HR-IM-MS_timsTOFPro.pdf.
- SIRIUS 6 methods documentation: https://v6.docs.sirius-ms.io/methods-background/.
- Stone LD, Keller CM, Kratzke TM, Strumpfer JP. Search for the Wreckage of Air France Flight AF 447. Statistical Science 2014;29(1):69–80 (arXiv:1405.4720 abstract read).
- Local computation: COCONUT lite CSV (Oct 2026 dump at C:\Temp\casmi26\npdb\coconut_csv_lite-10-2026.zip; 738,794 structures, 98,691 formulas) and our enumerator (scratchpad
enum_formulas.py,coconut_ambiguity.py); numbers in Section 2 are ours, reproducible from those scripts. - Not opened (cited from search snippets only, low confidence): PubMed 25559451 (sodium-formate post-run calibration ±0.48/0.94 ppm); BUDDY per-library gains (30.1 % / 68.7 %).