TL;DR. CID fragmentation behaves like a lossy, many-to-one cipher, and the WWII codebreaking toolkit maps onto it with surprising precision: Turing's decibans are exactly the per-peak log-likelihood ratios that CSI:FingerID and SIRIUS already accumulate; Shannon's unicity distance says a ±10 ppm COCONUT window (median 36, p90 204 isobars) needs roughly 5–8 bits from the spectrum, but most peaks (water, CO, methyl) carry under 1 bit, so many queries sit before the unicity point and the correct output is a probability-ranked list, which is what MRR@25 rewards. The actionable cryptanalytic idea is not global IDF (Hart 2024 showed up-weighting common m/z helps networking) but per-query, candidate-conditional IDF: weight a peak by how few of the N window candidates can explain it, and use the ~10 % library-hit "cribs" to estimate the instrument "key" shared by all hidden spectra.
1. Known-plaintext / crib attacks → calibrating on the ~10 % known molecules
What Bletchley actually did. A crib was a guessed plaintext (e.g. "Keine besonderen Ereignisse", or "WEUBYYNULLSEQSNULLNULL" for a 06:00 weather report) slid against ciphertext; the Enigma property that no letter encrypts to itself ruled out alignments ("crib-dragging"). Turing's probability analysis set crib lengths by the evidence they carried: "an 8-letter crib for a 3-closure menu, an 11-letter crib for a 2-closure menu, and a 14-letter crib for a menu with only one closure. If there was no closure, at least 16 letters were required," and menus were used only if they produced "no more than four stops per wheel order" [Wikipedia, Cryptanalysis of the Enigma]. Turing's own treatise (HW 25/37, typeset on arXiv 1505.04714) scores cribs with Bayes factors: for the crib AMBASSADOR against MVHWUSXOWBVMMK, "slides of 12 occur with frequency 0.073 with right cribs, whilst with wrong cribs they occur with frequency only 1/26. The factor in favour of the crib is therefore 26 × 0.073 or about 1.9", tabulated "in half decibans".
The key insight for us is what a crib bought. A crib never decrypted only its own message: it recovered the day key (wheel order, ring settings, stecker), which then decrypted every message of that network for the day. The hidden test is the same situation: ~1,500 spectra all acquired on one Bruker timsTOF under one lab's method. The shared "day key" is the instrument/method state: systematic mass offset (the test lacks precursor_error_ppm), collision-energy-to-fragmentation-degree response, intensity response and isolation behaviour, plus the domain shift of a fingerprint predictor trained mostly on Orbitrap/QTOF data. The ~10 % of hidden molecules (or close analogs) with training spectra are cribs that expose that key.
Protocol (transductive, label-free). (i) Run library search (Flash-entropy or modified cosine, precursor ±10 ppm) on every hidden spectrum; call a spectrum a crib if the best hit scores ≥ 0.90 and the top-2 margin is ≥ 0.15 (Hart 2024: weights are "generally not required if modified cosine similarity yields a match with a score close to 1"). (ii) From cribs estimate the key: median precursor and fragment mass error (ppm) → recentre the mass window for all queries; the per-CE fraction of precursor intensity surviving → choose which training CEs to compare against; (iii) refit the per-bit calibration of the fingerprint predictor on the crib spectra against the hit's true fingerprint (Platt or isotonic per bit, exactly the "modified Platt" of CSI:FingerID, §3), i.e. re-estimate sens_i/spec_i on timsTOF data; (iv) tune re-ranker weights (fingerprint score vs. formula score vs. library score) by maximising MRR on cribs only. Expect ~40–150 crib molecules; that is enough for scalar and low-dimensional calibration (ppm offset, 3–5 blend weights, a temperature), not for per-bit calibration of 2,000+ bits — group bits by prevalence decile and calibrate per group. Gotcha: cribs are, by construction, library-like molecules; calibration on them can overfit to the "easy" tail (see Gotchas 1).
Sources for the Bletchley material actually opened: Turing's treatise (arXiv 1505.04714), Wikipedia Banburismus, Cryptanalysis of the Enigma, Ban (unit) (the last cites Good 1979 Biometrika 66(2):393–396, whose OUP page shows only the abstract: "An account is given of A. M. Turing's unpublished contributions to statistics during 1941 or 1940"). Hodges' biography was not opened and is cited only through Wikipedia.
2. Unicity distance → how many informative peaks identify a structure
Shannon (1949, Bell Syst. Tech. J. 28:656–715): equivocation H_E(K) "never increases" with intercepted length; the length at which it reaches ~0 is the unicity distance, U = H(K)/D, where H(K) is log(number of keys) and D the redundancy per symbol. For simple substitution "unicity occurs at about 30 letters"; Shannon adds that "in the region before the unicity point we may say that the problem of cryptanalysis is that of isolating all the possible solutions of high probability (compared to the remainder) and determining their various probabilities" — a verbatim description of a ranked top-25.
Mapping: key = which candidate in the mass window; H(K) = log2 N; symbol = one explained peak; D = bits of discrimination among window candidates per peak.
H(K) for our pools (sibling q6 computation on IK14-deduplicated COCONUT, Oct 2026; Kaggle write-ups): ±10 ppm median 36 isobars (5.2 bits), mean 86.7, p90 204 (7.7 bits), max 1,761; 300–400 Da median 64 (6.0 bits); the nghianguyen7171 train+COCONUT pool reports ~107 candidates per query (6.7 bits) with 70.8 % sharing the true formula, so knowing the formula removes only ~0.5 bits. Literature pools are larger: MetFrag2.2 on 473 MassBank spectra averaged ~2,500 PubChem candidates per query (11.3 bits) [Ruttkies 2016]; CSI:FingerID 2015 searched 40.8 M PubChem structures.
D per peak, estimated from measured likelihood ratios. Ma et al. 2014 (MS2Analyzer, 19,329 NIST11 [M+H]+ QTOF spectra) measured substructure sensitivity/specificity of neutral losses; LR+ = sens/(1 − spec), bits = log2 LR+:
| Neutral loss | Sens % | Spec % | LR+ | bits if present | decibans |
|---|---|---|---|---|---|
| H2O (18.011) | 84.9 | 42.9 | 1.5 | 0.57 | 1.7 |
| HCOOH (46.005) | 34.8 | 78.4 | 1.6 | 0.69 | 2.1 |
| HCl (35.977) | 15.4 | 93.2 | 2.3 | 1.2 | 3.6 |
| NH3 (17.027) | 69.5 | 85.5 | 4.8 | 2.3 | 6.8 |
| CH2CO (42.011) | 69.0 | 89.7 | 6.7 | 2.7 | 8.3 |
| CH2O (30.011) | 44.4 | 94.8 | 8.5 | 3.1 | 9.3 |
| C6H10O5 hexose (162.053) | 80.0 | 94.6 | 14.8 | 3.9 | 11.7 |
| CH3OH (32.026) | 72.0 | 95.6 | 16.4 | 4.0 | 12.1 |
| H3PO4 (97.977) | 42.9 | 98.0 | 21.5 | 4.4 | 13.3 |
| H2S (33.988) | 66.0 | 98.0 | 33 | 5.0 | 15.2 |
These bits are about substructure classes in a drug-like library, not about isomers inside one formula; isomers in a COCONUT window largely share substructures, so the effective D among them is lower, plausibly by 3–5× (unverified; this is the quantity the Forced-analogy experiment measures). Two empirical anchors: MIST-CF formula accuracy on NPLIB1 rises 0.623 → 0.673 → 0.754 → 0.774 for 0/1/10/50 peaks (sibling q6), i.e. strongly diminishing bits per additional peak; and MassSpecGym's formula-conditioned random baseline (Hit@1 3.06 % ≈ 33 isomers) versus the best models shows the spectrum delivers only part of the ~5 bits needed.
Unicity estimate. With D̄ ≈ 1 bit/peak (a few 3–5-bit peaks diluted by many <1-bit H2O/CO/CH3 peaks), U ≈ 5–8 informative peaks for a median/p90 COCONUT window; with the isomer discount U ≈ 15–40 peaks, which exceeds the informative-peak count of many ESI spectra (Kind 2018: "Many ESI MS/MS spectra have sparse product ion peaks, sometimes less than five ions"). Conclusion: a large fraction of hidden queries sit before the unicity point; the right output is a calibrated ranked list, and the right diagnostic is Shannon's "work characteristic": when a top-1 score margin is small relative to U, spend the remaining slots on diversity rather than near-duplicates.
3. Bans and decibans → published log-likelihood-ratio spectrum scores
Turing: "The logarithm of the factor, taken to the base 10^(1/10) is called decibanage in favour of the theory. A deciban is a unit of evidence; a piece of evidence is worth a deciban if it increase the odds of the theory in the ratio 10^(1/10):1" and independent factors multiply, so decibans add; Good later wrote that 1 deciban (odds evens → ~5:4) "is about as finely as humans can reasonably be expected to quantify their degree of belief" [Wikipedia Ban (unit)]. Hut 8 pursued Banburismus distances only at "scores ≥ +34" half-decibans, i.e. odds better than 1:1 after the prior [Wikipedia Banburismus].
| Scheme | Evidence unit | Accumulation | Is it an LLR? | Source |
|---|---|---|---|---|
| CSI:FingerID "maximum likelihood" score | per fingerprint bit i: a_i = log sens_i, b_i = log(1 − spec_i), c_i = log(1 − sens_i), d_i = log spec_i | sum over 1,415 bits (from 2,765 candidates) | yes — naive-Bayes LLR under bit independence; "modified Platt" default a_i = ¾ log platt_i + ¼ log(1 − sens_i) | Dührkop 2015 PNAS |
| SIRIUS fragmentation-tree score | per peak/loss: Gaussian mass error with σ_m = MA/3; log-normal loss-size; common-loss prior P_loss-comm = w(l)/(P_loss-mass(μ(l))·W); implausible losses C2O, C4O, C3H2, C5H2, C7H2 at 10^-3; RDBE<0 losses 1/3^rdbe; common radicals (H·, O·, ·OH, ·CH3, CH3O·, ·C3H7, ·C4H9, C6H5O·) 0.9; special-element prior 0.25^n; P_frag-mass = 1 if m>200 else e^(2m/200) | sum of log terms = Maximum A Posteriori tree | yes — explicitly "transforming the combinatorial optimization into a Maximum A Posteriori estimator" | Böcker & Dührkop 2016 |
| MetFrag2.2 FragmenterScore | Σ_p RelMass_p^1.84 · RelInt_p^0.59 / Σ_b BDE_b^0.47 | sum over matched peaks | no — heuristic weighted sum, exponents fitted on MassBank | Ruttkies 2016 |
| Hart 2024 weighted modified cosine | I^0.25 · freq(m/z)^0.25 | dot product | no | Engler Hart 2024 JASMS |
| Naive cosine / dot product | intensity products | dot product; NIST scale 0–999, ">850 good" is an EI-era rule that "may not hold true" for CID | no | Kind 2018 |
Comparison with cosine: cosine has no notion of expected evidence under the alternative hypothesis (it rewards shared water loss as much as shared iodine loss), cannot incorporate absence (CSI:FingerID's d_i term scores a bit correctly predicted absent), and cannot carry a prior. SIRIUS's common-loss ratios are literally Turing's factors: Table 3 of Böcker & Dührkop reports GNPS total intensity vs. expected under the loss-mass model, e.g. H2O 5,548 vs 85.5 expected (ratio 64.9), CH3 3,231 vs 46.5 (69.5), CO 4,232 vs 177 (23.9), CO2 only 281 vs 199 (1.41), HBr 9 vs 0.63 (15.0), I 29 vs 0.25 (116.5). These ratios say how plausible a loss is as a tree edge; they are not candidate discriminators (next section).
4. Frequency analysis → the "E, T, A" of natural-product spectra
Frequency analysis works because letter frequencies are stable across texts; the informative letters are the rare ones conditional on the hypothesis. Measured frequency tables that were opened:
| Rank by abundance (GNPS training set, total intensity units, Böcker & Dührkop 2016 Table 3) | Loss | Specificity (Ma 2014, NIST11) | Verdict |
|---|---|---|---|
| 1 | H2O 18.0106 (5,548) | 42.9 % | the "E": present in most spectra, <1 bit |
| 2 | CO 27.9949 (4,232) | n/a | "T" |
| 3 | CH3 15.0235 (3,231; radical) | n/a | "A"; also a methoxy/aromatic-methyl marker |
| 4 | C2H2 26.0157 (2,434) | n/a | aromatic ring, nonspecific |
| 5 | CH4 16.0313 (2,011) | n/a | nonspecific |
| 6 | H2 2.0157 (1,799) | n/a | nonspecific |
| 7 | NH3 17.0265 (1,409) | 85.5 % | moderately informative (2.3 bits) |
| 8 | HCN 27.0109 (1,117) | n/a | N-heteroaromatic marker |
| 9 | C2H2O ketene 42.0106 (811) | 89.7 % | acetyl marker (2.7 bits) |
| 10 | C2H4 (483), HCl (462), CH3N (347) … | HCl 93.2 % | |
| rare | Br (20), HBr (9), I (29), HI (11), HO3P (3), HO2PS (0 in GNPS) | H3PO4 98 %, H2S 98 % | the "Z, Q, X": 4–5 bits each, but essentially absent from NP space (COCONUT has few halogenated/phosphorylated NPs) |
Common fragment ions in Böcker & Dührkop Table 4 (C3H6N+, C6H7+, C7H7+ tropylium 91.054, …) play the same role on the m/z side. MS2LDA (van der Hooft 2016 PNAS, beer, ~1,000 spectra per file, 300 Mass2Motifs per file, 30–40 characterised) found motif degree "from 1 to over 200" spectra; the high-degree motifs are the generic ones (hexose, water/CO2 losses), the structurally specific ones are low-degree — Morelli's point in topic-model form. Kind 2018 and Hart 2024 do not publish m/z-frequency tables (Hart's distribution is only in a supplementary figure); mzCloud/GNPS fragment-frequency statistics were not findable with the search budget exhausted (negative result).
The NP twist. Hexose loss is 3.9 bits in a drug library (NIST11) but close to zero bits in a glycoside-rich COCONUT window, because most isomeric candidates there are also glycosides. Informativeness is a property of the candidate pool, not of the loss. That is why global IDF (computed on GNPS) and Hart's global frequency weighting both miss the point for identification — and why the experiment below conditions on the window.
5. Enigma's flaw → deterministic candidate elimination in CID
Enigma's reflector guaranteed "a letter could never be encrypted to itself", so any crib alignment with a coincident letter was impossible — a zero-cost, zero-false-negative filter. CID constraints that are (nearly) as hard:
| Constraint | Hard or soft? | Measured coverage / effect | Source |
|---|---|---|---|
| Precursor mass window (±5–10 ppm, timsTOF ≤2 ppm RMS external) | hard in practice | the only filter every pipeline uses; ±5 → ±20 ppm moves COCONUT median 27 → 52 | sibling q6; Bruker spec via q6 |
| Fragment formula ⊆ precursor formula; RDBE ≥ 0; Senior rules | hard for formulas | enumerated formulas at 500 Da/10 ppm: 2,859 raw → 748 (Senior/RDBE) → 349 (golden-rule ratios); MIST-CF FastFilter keeps true formula in top-256 for 99 % | sibling q6 (Kind & Fiehn 2007 rules) |
| Even-electron rule / radical losses | soft | SIRIUS keeps specific radicals (H·, ·CH3, ·OH …) at prior 0.9 and penalises implausible losses to 10^-3 — not eliminated | Böcker & Dührkop 2016 |
| Hydrogen-rearrangement rules (nine rules, MS-FINDER) | soft | "78.4 % of 18,506 MassBank fragment ions and 84.8 % of 36,370 GNPS fragment ions were (semi-)resolved" — as a hard filter it would discard 15–22 % of true explanations | Tsugawa 2016 Anal Chem (abstract) |
| Fragments must be connected subgraphs of the candidate (bond-cleavage enumeration, depth ≤ 2–3) | soft | MetFrag scores, does not eliminate; MetFrag offers user "inclusion/exclusion filters" (elements, SMARTS) with no published precision/recall | Ruttkies 2016 |
| Element presence from isotope pattern (Cl/Br/S) | hard when MS1 isotopes available | Kind & Fiehn: Cangrelor 4,465 formulas at 1 ppm → 135 after 5 % isotope-ratio filter; the test has no MS1 isotope columns, so unavailable | sibling q6 |
Negative finding: no published structure-level deterministic eliminator with measured precision/recall exists beyond mass/formula; every structural rule is implemented as a prior. The Enigma analogy therefore breaks at the structure level: CID has no reflector. What survives is the formula layer, and sibling q6 shows formula filtering removes only ~30 % of a COCONUT window (70.8 % of candidates already share the true formula). The deterministic lever that remains is the adduct/mass layer: one of seven adducts, ppm recentred on cribs (§1).
6. List decoding → top-25 and MRR@25
Guruswami (survey, Found. Trends TCS): "(p,L)-list-decodability" means at most L codewords within Hamming radius pn of any received word. Unique decoding corrects < d/2 errors; the Johnson bound (Thm 3.1, Cor 3.2) shows polynomially small lists up to the Johnson radius, and "purely as a function of the distance, the Johnson bound is the best possible … there exist codes which have super-polynomially many codewords in a ball of radius slightly bigger than the Johnson radius." Guruswami–Sudan decode Reed–Solomon up to 1 − √R versus (1 − R)/2 uniquely (at R = 0.25: 0.50 vs 0.375 error fraction). Capacity: rate 1 − H_q(p) is achievable with list size O(1/ε) when within ε of capacity (Cor 3.7), and beyond it lists must be exponential.
Mapping: codeword = candidate structure; received word = spectrum; noise = CE/instrument variation plus the many-to-one loss of CID; L = 25. Three consequences. (a) MRR@25 is not a list-decoding success metric; recall@25 is. List decoding is agnostic to order within the list; MRR is dominated by rank 1 (at LB 0.417 with back-solved recall@25 ≈ 0.55, the mean reciprocal rank among hits is ≈ 0.76, i.e. most credited hits are already at rank 1–2, and slots 6–25 contribute little to the score but are the only place recall can grow). (b) List size buys radius with sharply diminishing returns: the O(1/ε) law says each extra slot buys a smaller noise margin, consistent with public write-ups where larger pools hurt (candidates in the ball grow super-polynomially past the Johnson radius ≈ pool too large for the spectrum's distance). (c) The analogy is cleanest for the decoder design question: list decoders succeed by interpolating a low-degree polynomial through most received symbols and listing all consistent codewords — the spectral equivalent is "list every candidate consistent with the high-confidence peaks, then rank by soft evidence", not "rank everything by one soft score". That favours a two-stage hard-consistency-then-soft-rank pipeline and scaffold-diverse filling of the later slots (sibling q3's round-robin).
Forced analogy: KNOWN-PLAINTEXT ATTACK + UNICITY DISTANCE (with the Morelli/IDF angle)
Statement. Spectrum→structure is a crib-aided decipherment of a many-to-one cipher. (i) Cribs (library-hit molecules) recover the shared instrument key; (ii) the unicity distance U = log2 N / D̄ tells us whether a query can be uniquely decoded at all; (iii) D̄ is raised by weighting peaks by their rarity among the candidates that could have produced them — the cryptanalyst's rule that rare letters carry more bits, but conditional on the hypothesis set.
Addressing Hart 2024 head-on. Hart up-weights intensity by freq(m/z)^0.25 computed over ~495,600 GNPS spectra at 0.1 Da bins, and improved molecular-networking edges 2,773 → 3,568 with ~800 fewer false edges (F1 0.094 → 0.14, threshold 0.88 → 0.67); but for library search their weighting was "second-best" behind Sokolow's plain I^0.5·m/z^0.5, and they explicitly contrast the proteomics clustering metric MaRaCluster (The & Käll 2016 J Proteome Res 15:713) where "infrequent peaks are upweighted … attempting to emphasize more discriminative signals." The contradiction dissolves on three grounds. First, task: networking links analogs, which by definition share common substructure peaks; identification separates isomers, which share the common peaks and differ in the rare ones. Second, noise: at 0.1 Da bins in heterogeneous GNPS data, rare m/z bins are enriched for noise and calibration error, so global IDF amplifies noise (Hart's own failure mode: weights hurt on sparse spectra with one dominant peak). Third, the collection: IDF's "documents" should be the N candidates in the query's mass window, not the library. Define for peak p with formula f_p (from the SIRIUS tree) n_explain(p) = number of window candidates whose depth-≤2 bond-cleavage fragments (MetFrag enumeration) contain a connected substructure with formula f_p; weight w_p = log((N + 1)/(n_explain(p) + 1)). Water loss gets w ≈ 0 (everyone explains it), a loss explained by 3 of 100 candidates gets 3.2 nats. This is Morelli's ear-lobe: not the famous feature, the one a copyist (isomer) cannot reproduce.
One concrete MRR@25 experiment.
- Data. From
train.parquetkeep rows with instrument_type = timsTOF (Bruker) from enveda-np-examples and any MoNA/GNPS timsTOF rows; merge multi-CE spectra per molecule as the test does. Split by InChIKey14 and Murcko scaffold (scaffold-disjoint folds, 5-fold); evaluation fold ≈ 2,000 molecules; the training folds may be used by the fingerprint model. Mimic the hidden set's novelty by removing from the library any spectrum of the evaluation molecules. - Pool. COCONUT (IK14-deduplicated, 479,690) ∪ train structures, neutral mass ±10 ppm via the 7 test adducts; identical pool for all arms so recall@25 is fixed and only ranking moves.
- Baseline. Fingerprint MLP (Morgan r2 + r3 + MACCS) scored by CSI:FingerID-style ML score, plus SIRIUS formula score; report MRR@25 and recall@25.
- Arms. Add a re-ranking term Σ_p w_p · 1[candidate explains p] with w_p = (A) uniform, (B) global IDF from train peak-formula frequencies, (C) Hart freq^0.25 (anti-IDF), (D) candidate-conditional IDF as above; blend weight λ tuned on a held-out fold (or on pseudo-cribs, §1).
- Metric and power. Paired bootstrap over molecules (1,000 resamples) on ΔMRR@25 vs baseline; with n ≈ 2,000 and per-molecule reciprocal-rank SD ≈ 0.35, the 95 % CI half-width is ≈ 0.015, so a +0.02 effect is detectable. Secondary: Δ in rank-1 rate and Δ in recall@5.
- Expected effect. Honest prior: (D) +0.01 to +0.03 MRR@25 on scaffold-disjoint NPs; (B) ≈ 0 or negative; (C) ≈ 0 for identification (consistent with Hart's library-search result). If (D) ≤ 0, the measurement still yields D̄ per peak among isomers (fit log2 N / U from the number of explained peaks at which rank-1 saturates), which calibrates how many slots to fill by diversity.
Does the analogy hold? Partially. Cribs → instrument key: holds well and is cheap. Unicity distance: holds as a diagnostic, but D is not a constant of the "language" — it depends on the candidate pool and on the isomer structure of the window, so U must be computed per query. Frequency analysis: holds only in the candidate-conditional form; the global form is contradicted by Hart 2024 for networking and is neutral for identification. Enigma-style hard elimination: breaks at the structure level. List decoding: holds for recall@25 and decoder design, not for MRR's rank-1 emphasis.
Gotchas / what could fool us
- Crib selection bias. Library-hit molecules are over-represented in easy classes (flavonoids, common alkaloids); calibrating blend weights on them pushes the decoder toward the library-like regime and can lower MRR on the novel 90 %. Check by stratifying cribs by NPClassifier pathway and by holding out half of the cribs.
- The visible test is a decoy (verbatim enveda-180 rows); any "crib rate" measured on it is meaningless; estimate crib prevalence from hidden-set public-LB write-ups (library-only ≈ 0.06–0.10 MRR) instead.
- Bits are pool-relative. Ma 2014's specificities are from NIST11 drug-like [M+H]+ QTOF spectra; in COCONUT windows the same losses carry fewer bits. Never import a global informativeness table into the re-ranker.
- SIRIUS common-loss ratios are tree priors, not discriminators. P_loss-comm(H2O) = 64.9 says water loss is a plausible edge, which is the opposite of saying it discriminates between candidates. Using them as IDF-style weights inverts the sign of the evidence.
- Frequency ≠ rarity on a heterogeneous library. Hart's 0.1 Da bins mix instruments, polarities and adducts; rare bins are noise-enriched. Candidate-conditional IDF needs formula-annotated peaks (SIRIUS tree) so that noise peaks, which no candidate explains, get n_explain = 0 and must be masked, not maximally weighted. Cap w_p and require intensity above a noise floor.
- Bit independence is false. CSI:FingerID's ML score sums log-odds over 1,415 bits as if independent; correlated bits (nested substructures) over-count evidence in decibans. Platt/temperature calibration on cribs partially corrects the scale, not the correlation.
- Formula leakage in local validation. On MassSpecGym knowing the formula raises random Hit@1 from 0.43 % to 12.98 %; on a COCONUT window the gain is small (70.8 % share the formula). Do not let a formula-conditioned validation set inflate expectations.
- MRR is rank-1 dominated. Improvements that reorder ranks 6–25 are invisible in MRR@25 unless they also move hits into the top 3; conversely, list-decoding-style diversity filling protects recall but will not show up in MRR until the ranker improves.
- Enigma's flaw was deterministic; nothing in CID is. A "hard" even-electron or H-rearrangement filter silently discards 15–22 % of true fragment explanations (MS-FINDER coverage); hard-eliminate only on mass/adduct/formula.
- Multi-CE merged spectra (test lists several CEs per spectrum) change peak frequencies: low-CE peaks (precursor, water losses) and high-CE peaks (small aromatic ions) co-occur in one row; a frequency table built from single-CE training rows is mis-specified for merged rows. Build the frequency statistics on merged-CE training spectra.
Implications for the challenge
- Implement the crib pipeline first: library search → pseudo-cribs (score ≥ 0.9, margin ≥ 0.15) → estimate ppm offset, CE response and a temperature/Platt calibration of the fingerprint scores on timsTOF → apply to all hidden queries. Cheap, label-free, instrument-specific.
- Replace cosine in any re-ranker with an additive log-odds (deciban) score: per-bit LLR (CSI:FingerID form) + SIRIUS tree score + library LLR + log prior, each calibrated on the scaffold-disjoint timsTOF fold; blend by maximising MRR, not by hand.
- Run the candidate-conditional IDF experiment (Forced analogy, arms A–D) on the scaffold-disjoint timsTOF fold; ship arm D only if the paired-bootstrap 95 % CI excludes 0.
- Compute per-query unicity: U_q = log2 N_q / D̂; when the number of confidently explained peaks is below U_q, fill slots 6–25 by scaffold/NPClassifier round-robin rather than by score order (protects recall@25, the current ceiling at ~0.55).
- Hard-eliminate only on mass, adduct and formula (recentred ppm from cribs); keep even-electron, H-rearrangement and subgraph rules as priors.
- Do not use global m/z-frequency weighting (Hart) for identification; reserve it for the analog-networking step that proposes "one-step analogs" of library hits.
Open questions
- What is the measured D̄ (bits per explained peak) among COCONUT isomers on timsTOF spectra? Arm D's rank-1-vs-explained-peaks curve answers it; no published value exists.
- How many pseudo-cribs will the hidden set yield at score ≥ 0.9? Public write-ups put library-only MRR at 0.06–0.10, suggesting 40–100 molecules; unverified.
- Does candidate-conditional IDF need SIRIUS fragment formulas, or does a mass-only "which candidates have a depth-2 fragment within 10 ppm of this peak" suffice? Mass-only is cheaper and should be an arm D′.
- Is there any public mzCloud/GNPS fragment-frequency table for NPs (search budget exhausted before this could be checked)?
- Good 1979 full text (paywalled) may contain the sequential-test stopping rules (the "+34" threshold's derivation) that would set a principled score-margin threshold for calling a query "decoded".
Sources
- Turing, A. M. The Applications of Probability to Cryptography (c. 1941–42; typeset by I. Taylor, arXiv:1505.04714v2, 2015; National Archives HW 25/37) — https://arxiv.org/abs/1505.04714 (PDF text extracted locally).
- Shannon, C. E. (1949) "Communication Theory of Secrecy Systems", Bell Syst. Tech. J. 28:656–715 — PDF at https://pages.cs.wisc.edu/~rist/642-spring-2014/shannon-secrecy.pdf (text extracted locally; §14–15, §19, §21).
- Good, I. J. (1979) Biometrika 66(2):393–396, doi:10.1093/biomet/66.2.393 — abstract only (paywall) https://academic.oup.com/biomet/article-lookup/doi/10.1093/biomet/66.2.393
- Wikipedia: Banburismus; Cryptanalysis of the Enigma; Ban (unit); Unicity distance; List decoding; Guruswami–Sudan list decoding algorithm; Johnson bound (the last does not cover the list-decoding form).
- Guruswami, V. Algorithmic Results in List Decoding (Found. Trends TCS survey) — https://www.cs.cmu.edu/~venkatg/pubs/papers/listdecoding-NOW.pdf (Def. 2.1, Thm 3.1, Cor 3.2, Cor 3.7).
- Dührkop K. et al. (2015) PNAS 112:12580, doi:10.1073/pnas.1509788112 — https://pmc.ncbi.nlm.nih.gov/articles/PMC4611636/
- Böcker S., Dührkop K. (2016) J Cheminform 8:5, doi:10.1186/s13321-016-0116-8 — Europe PMC full text PMC4736045 (Tables 2–4, σ_m = MA/3, P_loss-comm formula).
- Ruttkies C. et al. (2016) MetFrag relaunched, J Cheminform, PMC4732001 — https://pmc.ncbi.nlm.nih.gov/articles/PMC4732001/
- Ma Y. et al. (2014) MS2Analyzer, Anal Chem, doi:10.1021/ac502818e — Europe PMC PMC4222628 (Table 2 sensitivities/specificities).
- Tsugawa H. et al. (2016) Hydrogen Rearrangement Rules / MS-FINDER, Anal Chem, doi:10.1021/acs.analchem.6b00770 — abstract via Europe PMC (PMC page captcha-blocked).
- van der Hooft J. J. J. et al. (2016) PNAS, doi:10.1073/pnas.1608041113 — https://pmc.ncbi.nlm.nih.gov/articles/PMC5137707/
- Kind T. et al. (2018) Mass Spectrom Rev, doi:10.1002/mas.21535 — https://pmc.ncbi.nlm.nih.gov/articles/PMC8106966/
- Engler Hart C. et al. (2024) JASMS, doi:10.1021/jasms.3c00353 — Europe PMC full text PMC10854760.
- Sibling research used for pool statistics (not re-derived here):
research/q6_candidate_space_retrieval/candidate_databases_pubchem_coconut_lotus_npatlas_chembl_coverage_math.md(§4–5),research/q6_candidate_space_retrieval/formula_assignment_sirius_buddy_mistcf_isotopes_timsTOF.md(§1–2, Kind & Fiehn 2007 numbers),research/q8_serendipity/art_music_philosophy_what_is_identity_of_a_molecule.md(Hart 2024 numbers cross-checked against the primary text). - Not opened (unverified, cited only via the above): Hodges Alan Turing: The Enigma; Guruswami & Sudan 1999 IEEE Trans IT; Ludwig et al. 2020 ZODIAC (Nature MI paywall; bioRxiv 429); Dührkop et al. 2019 SIRIUS 4 (paywall); The & Käll 2016 MaRaCluster; Kind & Fiehn 2007 (PMC captcha; numbers via sibling q6).