Ground truth, controls, calibration and reproducibility on timsTOF — and a stellar-spectroscopy likelihood recipe for scoring in-silico spectra

expertconfidence mediumrelevance 3/537 sources4.6k words
Forced analogyStellar template matching (forward model x instrument response x chi-square; The Cannon/The Payne emulators) -> a per-spectrum likelihood scorer with fitted CE-mixing weights, ppm offset, isotope satellites and a Pareto noise model. Holds for the response+likelihood layer (SIRIUS already does half of it), partially holds for the data-driven branch, breaks on the forward model: fragmenters are far worse than model atmospheres.

TL;DR. Astronomers never compare a star to a template with a cosine: they push a physical model through an explicit instrument response (resolution, wavelength shift, continuum) and score it with a per-pixel noise likelihood, masking pixels where the model is known to be wrong. Mass spectrometry already has the pieces of that recipe scattered across tools (SIRIUS: Gaussian ppm deviation + Pareto noise; MetFrag: 5 ppm/0.001 Da weighting; CFM-ID: three discrete energies), but no published scorer assembles them into one likelihood with fitted collision-energy mixing, a per-spectrum ppm offset, isolation-window isotope satellites and a low-m/z cut-off. Cross-platform data say fragment m/z agree and intensities do not (Hoang et al. 2024; 100 standards, 5 vendors), and timsTOF sodium-formate calibration gives sub-2 ppm — so the response model is cheap to build; the fragmenter, not the response, is the weak link.

1. What the astronomical pipeline actually does

Stage Astronomy (what is done, with numbers) Primary source
Forward model Synthetic spectrum from a model atmosphere (Kurucz) at labels (Teff, log g, [Fe/H], 20 abundances). The Payne emulates a grid of only ~2,000 synthetic spectra with a 2-hidden-layer x 10-neuron network to 10^-3 rms flux accuracy across Teff/log g. Ting et al. 2019, ApJ 879:69 (arXiv:1804.01530)
Instrument response Convolve with the spectrograph line-spread function (APOGEE R ~ 22,500); fit radial velocity simultaneously; macroturbulence as a label; continuum via 4th-order polynomial through low-sensitivity pixels. molecfit does the same for the atmosphere: radiative-transfer model x LSF kernel x polynomial wavelength correction x continuum. Ting et al. 2019; Smette et al. 2015, A&A (arXiv:1501.07239)
Likelihood chi-square over all pixels with reported per-pixel uncertainties; < 1 CPU-s per spectrum. The Cannon adds a per-pixel model-scatter term s_lambda in quadrature with the measurement error — an explicit "model is imperfect here" term. Ting et al. 2019; Ness et al. 2015, ApJ 808:16 (arXiv:1501.07604)
Line masks The Payne discards pixels where synthetic spectra deviate > 2 % from Sun/Arcturus — ~12 % of the spectrum — before fitting. Ting et al. 2019
Data-driven label transfer The Cannon: flux at each pixel = quadratic polynomial in labels, trained on 542 stars in 19 clusters; rms vs the physics pipeline (ASPCAP) on ~28,700 stars: 85 K, 0.18 dex log g, 0.10 dex [Fe/H]; reaches that at SNR >= 25, ~1/9 the observing time. Ness et al. 2015
Cross-correlation Tonry & Davis 1979, AJ 84:1511 — redshift from the peak of the cross-correlation of galaxy and template spectra; error from the ratio of peak height to antisymmetric noise. (Full text not opened: ADS blocked fetches; bibliographic detail only, method description from standard usage; confidence medium.) Tonry & Davis 1979
Template mismatch ("systematics") Jofré, Heiter & Soubiran 2019 (ARA&A 57; arXiv:1811.08041): a +/-100 K Teff error moves abundances by >= 0.1 dex; only ~half of commonly used optical lines have oscillator strengths known to <= 10 %; continuum normalisation "responsible for the largest fraction of the uncertainty"; Gaia-ESO method-to-method dispersion < 0.15–0.2 dex for well-behaved elements; APOGEE DR14 typical uncertainties 0.02–0.1 dex; NLTE corrections on Fe I lines shift Teff by ~30 K. Jofré et al. 2019

The structural point: the hypothesis space is continuous (labels), the forward model is good to a few per cent in flux, and all comparison is done in a likelihood whose noise model is per-pixel and whose known model defects are masked or absorbed into s_lambda.

2. The MS analogue: instrument-response effects and who models them

Effects that stand between a "true" fragmentation pattern and a timsTOF MS/MS row:

  • Mass accuracy: sodium formate calibration "giving a mass accuracy below 2 ppm" (UZH timsTOF Pro method, m/z 158–1,450); post-run sodium-formate recalibration on a Bruker micrOTOF improved cluster-ion errors to +/-0.48 ppm (positive) and +/-0.94 ppm (negative) and the authors recommend a 4 ppm window (Juo et al. 2014, RCM, doi:10.1002/rcm.6962). A 2026 timsTOF Pro2 protocol refuses to acquire if calibration SD > 0.50 ppm (Monteiro et al. 2026, STAR Protoc).
  • Resolution: ~20,000–25,000 at m/z 622 in a typical LC-MS/MS method; 40,000 in IM-MS mode (UZH method). FWHM at m/z 300 at R = 25k ~ 0.012 Da.
  • Isolation window / co-isolated isotopes: default quadrupole width 2 Th for m/z < 700 and 3 Th above (Meier et al. 2018, MCP, PASEF); 3 m/z in the UZH small-molecule method. A 2–3 Th window passes M+1 and often M+2, so fragments carry isotope satellites that no fragmenter predicts.
  • Collision energy: a method choice, not a constant — 35 eV fixed (UZH); ramped with 1/K0 (22–28 eV to 28–37 eV, Monteiro lipidomics; 52 -> 32 eV stepwise for peptides, Meier). The test parquet's collision_energy_ev is a list (merged multi-CE spectra).
  • Scan range / low-m/z cut-off: MS/MS "m/z 50 to 600" (UZH), 100–1,700 (Meier), 120–1,850 (Monteiro). Predicted fragments below the lower bound cannot be observed; transmission roll-off above that bound is unverified (no published timsTOF transmission curve was opened).
  • Detector saturation / intensity non-linearity: not quantified in any opened source (unverified).

Who models what (JSON at the .json path):

Method Similarity type ppm/Da tolerance Intensity model CE handling Isotopes Noise/unexplained peaks Source
Cosine / modified cosine (matchms) vector dot product on matched peaks fixed Da tolerance (user) raw or power-scaled none none penalised implicitly via normalisation Huber et al. 2020, JOSS 5(52):2411 (README fetch failed; parameters unverified)
Spectral entropy (Li et al. 2021) 1 − (2S_AB − S_A − S_B)/ln 4 0.05 Da in benchmark I^w, w = 0.25 + 0.25 S for S < 3 none none robust to added noise; FDR < 10 % at 0.75 on 37,299 NP spectra vs dot product ~15 % at 0.95; robust QTOF<->Orbitrap Nat Methods 18:1524 (PMC11492813)
MS2DeepScore Siamese net -> Tanimoto binned learned none none learned Huber et al. 2021, J Cheminform (PMC8556919); RMSE ~0.15
Engler Hart et al. 2024 (Enveda) modified cosine / entropy with weights 10 ppm precursor I^0.25 x (m/z frequency)^0.25 explicitly not used ("not available within GNPS") none down-weights frequent m/z JASMS, doi:10.1021/jasms.3c00353
MetFrag 2.2 FragmenterScore = sum RelMass^1.84 · RelInt^0.59 / sum BDE^0.47 5 ppm and 0.001 Da (defaults in paper) power-weighted none none unexplained peaks ignored Ruttkies et al. 2016, J Cheminform 8:3 (PMC4732001)
MS-FINDER weighted sum: BDE, mass accuracy, fragment linkage, 9 HR rules user ppm/mDa yes (weighting) none isotope score at formula stage unexplained peaks ignored Tsugawa et al. 2016, Anal Chem 88:7946 (full text not opened; abstract-level)
CFM-ID 4.0 Dice / DotProduct / DotProduct+metadata 10 ppm default predicted intensities three discrete energies 10/20/40 eV; "two or more energy levels will certainly improve" none none Wang et al. 2022, NAR (PMC9252813); trained on QTOF, 162/204 on CASMI 2016 Orbitrap
SIRIUS 3/4 fragmentation trees MAP log-odds per peak: log erf( m − mu /(sigma_m sqrt2 mu)) − log Pareto_noise(I) relative mass error ~ N(0, sigma_m), sigma_m = MA/2 (95.5 %) or MA/3 (99.7 %); evaluated at MA = 10 ppm, m_MA = 200 Da intensity enters only the noise model merges spectra; no per-energy weighting isotope pattern at formula stage
MassSpecGym simulation metric cosine on binned spectra bins raw none none none Bushuiev et al. 2024 (arXiv:2410.23326); FraGNNet 0.52 cosine; MIST retrieval hit@1 14.64 %
The Payne / The Cannon (for contrast) chi-square with per-pixel sigma (+ s_lambda) LSF convolution + RV shift fitted flux is the observable n/a n/a model-scatter term; 2 % pixel mask Ting 2019; Ness 2015

Nothing in the MS column fits a per-spectrum systematic offset (the RV analogue), models the isolation window, or treats collision energy as a nuisance parameter to be marginalised. SIRIUS is the closest: it is a likelihood, with a signal model on mass and a noise model on intensity — but it scores formulas and trees, not candidate structures from a fragmenter.

3. Cross-instrument reproducibility: the numbers that exist

Comparison n Metric and result Conditions Source
Agilent 6520 & 6546 QTOF, Bruker Impact II QTOF, SCIEX TripleTOF 5600, Waters Synapt G2-Si, Thermo Q Exactive Plus 100 standards cosine + fragment counts; cross-platform identification best at 20 eV (60/100), 10 eV (24), 40 eV (38), 0 eV < 50; variability "primarily from differences in relative ion intensities rather than m/z values" 0/10/20/40 eV; no timsTOF Hoang et al. 2024, Anal Chem (PMC11007677)
QqTOF library (Wiley WRTMD; QSTAR XL, TripleTOF 5600+) vs Orbitrap library (Eawag/MassBank; LTQ-Orbitrap XL, Q Exactive) 233 shared compounds; 2,840 QqTOF + 2,405 Orbitrap spectra cross-library search sensitivity 88.0 % (Orbitrap query -> QqTOF lib) and 91.5 % (QqTOF -> Orbitrap), specificity ~98 %; 95.1–98.4 % sensitivity when CE restricted to 20–50 eV (QqTOF) vs NCE 30–60 (Orbitrap) m/z tol +/-0.01, intensity cut-off 0.01 Oberacher et al. 2019 (PMC6359582)
Agilent 6530 QTOF vs Orbitrap Elite (also Velos, Fusion Lumos) 892 shared [M+H]+ molecules cosine: 85 % identified (QTOF query vs Orbitrap lib) -> 89 % with CE-interpolated library; reverse 82 % -> 84 %; entropy 92 -> 93 % and 90 -> 91 %; mean CE shift between platforms ~4 eV; interpolated-vs-real spectra cosine > 0.95 from 3 reference energies [M+H]+; 2,000–10,000-spectrum libraries King et al. 2022, JCIM 62(16) (PMC9400100)
QTOF vs Orbitrap, NIST20 / MassBank.us / GNPS 434,287 NIST20 spectra (25,138 molecules) entropy similarity "robust when searching QTOF against Orbitrap libraries and vice versa"; dot product degrades with added noise 0.05 Da Li et al. 2021 (PMC11492813)
Two labs, same green-tea samples: Waters Synapt G2-Si vs Thermo Q Exactive Plus 10,325 vs 12,121 MS1 features only 2,649 features shared (20–29 %); <10 % feature alignment per compound; "an instrument-specific snapshot" MS1 features (not MS/MS) PMC8326878
Same instrument, 6.25 days micrOTOF post-run sodium-formate calibration keeps mean error stable (+/-0.48 ppm pos, +/-0.94 ppm neg) over 6.25 days urine metabolomics Juo et al. 2014
timsTOF vs timsTOF, timsTOF vs Orbitrap (small molecules) — not found. EuropePMC queries ("timsTOF" AND "Orbitrap" AND cosine/similarity; "timsTOF" AND "spectral library" AND Orbitrap AND cosine) returned no small-molecule cross-platform similarity study; MSnLib (Brungs et al. 2025, Nat Methods, PMC12510872) is Orbitrap ID-X only (30,008 molecules, 20/40/60 eV; 0.005 Da or 10 ppm tolerances); mFam MassBank set (7,872 spectra, 25 labs, 12 instrument types incl. IM-QTOF) reports no cross-instrument numbers in its abstract — gap, confidence high that it is a gap in the open literature as of 2026-10

Reading: m/z reproduce, intensities do not, and the dominant intensity confounder is collision energy. MassSpecGym's 231 k spectra are 98 % Orbitrap-or-QTOF; timsTOF is a minority platform in every public benchmark.

4. Calibration practice on timsTOF

  • Calibrant and timing. 10 mM sodium formate injected "at the beginning of each LC run" via a 6-port valve with a 20 µL loop, calibration range m/z 158–1,450, "mass accuracy below 2 ppm" at ~25,000 resolution (UZH timsTOF Pro method sheet). A 2026 lipidomics protocol infuses a 2:1 mix of Agilent ESI-L tuning solution and 10 mM sodium formate at 40 µL/h during the 0.0–0.3 min calibration window of every injection, recalibrates mass and mobility every other day, and rejects acquisition if the calibration score < 100 % or SD > 0.50 ppm (Monteiro et al. 2026, STAR Protoc, PMC13251676). Langová et al. 2026 (timsTOF Ultra, ABC, PMC12783170) do post-run calibration by diverting the eluent and infusing sodium formate, with a 5 ppm acceptance threshold.
  • ESI-L tuning mix ions (m/z 322.0481, 622.0289, 922.0097, 1221.9906) are used for mobility calibration (linear, 1/K0 0.7363 / 0.9915 / 1.1996 / 1.3934 Vs cm^-2) and for TOF calibration in flow-injection mode over m/z 118–2,721 (UZH; UF timsTOF fleX method; Meier et al. 2018).
  • Before/after numbers: Juo et al. 2014 (+/-0.48 / +/-0.94 ppm after; 4 ppm window recommended). Bruker's own marketing cites "better than 800 ppb RMS" with internal calibrant for timsTOF Pro (search snippet only, page not opened; unverified).
  • "HPC" vs "enhanced quadratic" calibration mode: both strings appear in third-party search snippets, but no opened primary source defines them or gives residual-vs-m/z curves. Unverified. What is clear from the opened methods is that calibration is a low-order fit over a wide m/z range with residuals quoted as a single ppm bound, i.e. a residual systematic vs m/z of order 1 ppm is plausible but undocumented.
  • Enveda: Bruker's customer page states Enveda has used timsTOF since 2021 and runs timsTOF Pro 2 with LC fractionation, emphasising CCS; no calibration, CE or isolation-width details are public (Bruker landing page; Engler Hart et al. 2024 JASMS used GNPS/NIST23 public data only, not an in-house library). No PRISM methods paper was opened (web search budget exhausted). Enveda's acquisition settings are unverified.

5. Reference standards and intensity reproducibility

  • QC practice on timsTOF (lipidomics protocol, Monteiro 2026): pooled QC + extraction blanks every batch; internal-standard peak-height RSD <= 20 %, RT drift <= 5 s, base-peak-chromatogram variation within +/-30 %. These are MS1 quantitative criteria; no MS/MS fragment-intensity criterion.
  • Library-building QC (Yang, Neta & Stein 2014, Anal Chem 86:6393, doi:10.1021/ac500711m): consensus spectra from replicates with "intensity-based constraints for cluster membership"; 230,000 spectra / 9,000 compounds. Abstract gives no CV number.
  • CV % of fragment relative intensity between replicate injections on QTOF/timsTOF: not found in any opened source; two EuropePMC queries returned zero hits. Closest statements: "CV's less than 20 % for MS/MS measurements" (search snippet, DIA proteomics context, unverified), and Hoang 2024's qualitative finding that cross-platform variance is intensity-driven. This is an open measurement.
  • No evidence was found that NP labs run NIST SRM 1950 or IROA mixes specifically for fragment-intensity reproducibility; those are MS1/quant QC materials. Unverified / likely no.

Forced analogy: stellar template matching

Statement. Candidate structure c ↔ stellar labels; fragmenter P_c(E) ↔ model atmosphere + radiative transfer; timsTOF response R ↔ LSF + RV + continuum; collision-energy mixing weights w_E ↔ nuisance parameters (RV, macroturbulence); log-likelihood with a noise model ↔ chi-square; SIRIUS/MetFrag "unexplained peak" handling ↔ The Cannon's s_lambda / The Payne's 2 % pixel mask; a fingerprint model fine-tuned on timsTOF reference rows ↔ The Cannon trained on 542 reference stars.

Recipe (testable). For an observed spectrum O = {(m_i, I_i)} with base peak B (so counts-like intensity n_i ≈ I_i·B):

  1. Forward model: P_c(E) for E ∈ {10, 20, 40} eV from CFM-ID 4 (or ICEBERG's per-fragment intensities; not opened here), peaks (mu_j, q_j(E)).
  2. Response R:
    • mass: predicted mu_j -> observed with relative error ~ N(delta, sigma), sigma = 3–5 ppm effective (calibration < 2 ppm plus fragment-statistics broadening), delta a per-spectrum offset fitted by maximum likelihood (the RV analogue; SIRIUS fixes delta = 0);
    • resolution: merge predicted peaks closer than m/R with R ≈ 25,000 (40,000 in IM mode);
    • isolation window: for width W = 2–3 Th, add M+1 satellites to every predicted fragment at relative intensity 0.011·n_C(fragment)·(precursor M+1 fraction) — fragments from co-isolated 13C precursors; removes a whole class of "unexplained" peaks at +1.0034;
    • scan range: delete predicted peaks below the lower bound (infer per spectrum as min observed m/z, or 50 / 100 Da);
    • energy mixing: RP_c = sum_E w_E · RP_c(E), w on the simplex, initialised from collision_energy_ev (list) and fitted.
  3. Likelihood: for each observed peak, max over predicted peaks of log N(ppm_i; delta, sigma) + log p(n_i | w·q_j·B) with an Anscombe/Poisson-like variance (sqrt-intensity Gaussian), versus the noise alternative log Pareto(I_i; alpha ≈ 0.34–0.5, x_min ≈ 0.002–0.005) — exactly SIRIUS's log-odds form, with intensity now informative on the signal side too. For each predicted peak with no observed partner, add log(1 − d(w·q_j)) where d(·) is a detection probability (logistic in predicted intensity, fitted on train). Rank candidates by max_{w, delta} log L, or marginalise w on a 3-simplex grid (hundreds of points, trivially cheap).
  4. Normalise across candidates with different numbers of predicted peaks by reporting log L(c) − log L(noise-only model) — a Bayes factor, as SIRIUS does implicitly.

Failure modes fixed vs cosine / modified cosine / entropy: CE mismatch (w_E instead of hoping the library energy matches); systematic ppm offset (delta instead of a wide Da window — a 0.02 Da window at m/z 150 is 133 ppm, 60x the calibration error); isotope satellites and below-range fragments (no longer "unexplained"); noise peaks (Pareto tail instead of quadratic penalty); intensity-scale errors handled by a variance model rather than by normalisation. Not fixed: wrong fragmenter (CFM-ID trained on QTOF, intensities not timsTOF-specific), rearrangements and non-tree fragmentation, candidate absent from the pool (recall@25 ≈ 0.55 ceiling in public write-ups), and intensity models that are themselves poorly calibrated — MassSpecGym's best simulator reaches cosine 0.52 to truth, which in stellar terms would be a template wrong by tens of per cent in flux.

Smallest experiment. 200 enveda-180 molecules from train.parquet (timsTOF, single or merged CE), each with its COCONUT ±10 ppm candidate pool (~hundreds/molecule); run CFM-ID 4 at 10/20/40 eV for all candidates (~60 k predictions; CFM-ID runtime per molecule unverified — budget CPU-hours on Explorer); compute rank of the true InChIKey14 under (a) cosine 0.02 Da, (b) spectral entropy, (c) the likelihood above with ablations (no delta, no w_E, no isotopes, no noise model). Success = MRR@25 gain of the likelihood over entropy on the same pool; secondary read-out: fitted w_E vs recorded collision_energy_ev (sanity), and the distribution of fitted delta (is there a systematic timsTOF offset?). Add the Orbitrap/QTOF spectra of the same 200 molecules (GNPS/MassBank rows in train) to see whether the likelihood closes the platform gap more than entropy does (King 2022 baseline: 85 -> 89 % cosine, 92 -> 93 % entropy).

Data-driven branch (The Cannon / The Payne). The Cannon learns a per-pixel response from 542 reference stars; the analogue is learning the timsTOF response from reference timsTOF spectra: (i) fine-tune the spectrum→fingerprint model on the timsTOF rows of train (the visible test is verbatim enveda-180 rows with instrument_type = timsTOF, so enveda-180's ~1.16 M spectra are presumably timsTOF — inferred, not verified; no GitHub write-up opened gave an instrument_type count); (ii) more Cannon-like: learn a mapping from CFM-ID's 10/20/40 eV predictions to observed timsTOF intensities at a given CE on the enveda-180 overlap, i.e. an emulator of "what the fragmenter would have said if it had been trained on timsTOF", then use that emulator inside step 1. The Cannon's lesson that matters most: keep an explicit model-scatter term per "pixel" (per fragment m/z or per fragment class) learned from residuals, so that fragments the fragmenter systematically gets wrong are down-weighted rather than trusted.

Verdict. The analogy holds for the response-and-likelihood layer: every ingredient has a documented MS counterpart and the computation is cheap. It partially holds for the data-driven branch: fingerprint fine-tuning on timsTOF rows is a direct Cannon analogue, but labels here are discrete and the reference set is 184 k synthetic molecules only 0.03 % in COCONUT — a training set that covers the response but not the chemistry. It breaks on the forward model: model atmospheres are wrong at the 0.03–0.1 dex (few-per-cent flux) level, fragmenters at the "half the intensity mass is misplaced" level; stellar spectra are continuous with a continuum to normalise, MS2 is 10–100 sparse peaks with no continuum, so a per-peak likelihood has far fewer degrees of freedom and is dominated by a handful of peaks; and the stellar hypothesis space is continuous while ours is a discrete candidate list, so likelihoods must be made comparable across candidates (Bayes factor against a noise-only model), a step astronomy never needs.

Gotchas / what could fool us

  1. Da-window tolerances hide a ppm lie. 0.02 Da at m/z 100 is 200 ppm; at m/z 1,000 it is 20 ppm. Any tolerance fixed in Da makes low-m/z fragments match spuriously and high-m/z fragments strictly. timsTOF calibration is < 2 ppm; use ppm.
  2. The visible test is train. Any response-model parameter (delta, sigma, w_E, detection curve) fitted on the visible test is fitted on enveda-180 rows; the hidden set is the same instrument but different chemistry. Fit response parameters on enveda-180, validate chemistry on held-out structures.
  3. Collision energy is the biggest intensity confounder (Hoang 2024; Oberacher 2019; King 2022: ~4 eV mean shift between QTOF and Orbitrap changes match rates by several points). Merged multi-CE spectra in test (collision_energy_ev is a list) are not reproducible by a single-energy prediction.
  4. Isotope satellites from 2–3 Th isolation look like "unexplained peaks" to cosine and like evidence of a wrong candidate to MetFrag/MS-FINDER. They are instrument response, not chemistry.
  5. Low-m/z fragments may be absent by method, not by chemistry (MS/MS range starting at 50, 100 or 120 Da in opened methods). Penalising a candidate for a missing m/z 58 fragment is penalising the scan range.
  6. Public cross-platform numbers exclude timsTOF. Hoang 2024's "Bruker" is an Impact II QTOF. Treat any claim about timsTOF-vs-Orbitrap similarity as unmeasured.
  7. Entropy similarity's low-entropy weighting (w = 0.25 + 0.25 S) changes the effective intensity scale per spectrum; mixing entropy scores across spectra with different S is not comparing like with like.
  8. MS1 feature overlap across labs is 20–29 % even for identical samples (PMC8326878) — libraries assembled from many labs carry adduct/in-source heterogeneity that a model will learn as "chemistry".
  9. Calibration drift inside a run. Calibration at the start of each run (UZH) means late-eluting compounds see the largest drift; the 4 ppm window of Juo 2014 exists for this reason.
  10. Fragmenter training domain: CFM-ID is trained on QTOF data and evaluated on Orbitrap (162/204); its intensities are not timsTOF intensities. A likelihood with a sharp intensity model will over-trust a mis-specified fragmenter — keep the variance model loose or learn it from residuals (The Cannon's s_lambda).
  11. QC criteria in the field are MS1 criteria (ISTD RSD <= 20 %, RT drift <= 5 s). No lab-standard exists for MS/MS fragment-intensity reproducibility, so "ground truth" intensity has no stated uncertainty.

Implications for the challenge

  1. Replace Da-tolerance matching with ppm matching (sigma ≈ 5 ppm) plus a per-spectrum fitted offset delta in every scorer (library search, fragmenter rescoring, fingerprint-model input binning).
  2. Treat collision energy as a nuisance parameter: when rescoring with any fragmenter, fit simplex weights over the fragmenter's discrete energies per spectrum instead of picking one energy; use collision_energy_ev only as the initialisation.
  3. Pre-process observed spectra for the response: strip M+1/M+2 satellites of annotated fragments (or predict them), and drop predicted fragments below the per-spectrum minimum observed m/z before scoring.
  4. Implement the log-odds scorer (Section "Forced analogy", step 3) with SIRIUS's Pareto noise constants as defaults (alpha 0.34–0.5, x_min 0.002–0.005) and run the 200-molecule ablation; adopt it as one engine in the consensus only if MRR@25 beats entropy on the same candidate pool.
  5. Fine-tune the fingerprint model (or at least its intensity encoder) on timsTOF rows (enveda-180) and validate on held-out structures, never on held-out spectra — the Cannon analogue done right.
  6. Learn a per-fragment-class "model scatter" from CFM-ID vs enveda-180 residuals; down-weight fragment classes the fragmenter systematically misses rather than penalising candidates for them.
  7. Do not spend effort on timsTOF-vs-Orbitrap harmonisation literature: it does not exist; measure it yourself on train rows that have both platforms for the same InChIKey14 (cheap, and it feeds item 4's cross-platform read-out).

Open questions

  • How many train rows are timsTOF, and are all enveda-180 rows timsTOF? (No write-up gave counts; direct count from the parquet needed.)
  • What are Enveda's acquisition settings: CE (fixed or 1/K0-ramped), isolation width, MS/MS scan range, calibration mode? Would settle items 2–3 above.
  • What is the replicate-injection CV of fragment relative intensities on a timsTOF at fixed CE? No published number was found; a 20-compound, 5-replicate run would set the floor for any intensity likelihood.
  • What do Bruker's "HPC" and "enhanced quadratic" calibration modes do to residual error vs m/z? No primary source opened.
  • Does a fitted delta show a reproducible systematic offset on timsTOF rows (which would argue for a global correction rather than per-spectrum fit)?

Sources