CID fragmentation physics and collision-energy semantics for timsTOF vs Orbitrap vs QTOF (CASMI 2026)

expertconfidence mediumrelevance 4/524 sources6.5k words
Forced analogyStellar template matching (physical forward model x instrument response function) -> learn a timsTOF response map R from Orbitrap/QTOF library intensities; partially holds: 2,421 same-molecule timsTOF/Orbitrap pairs exist in train and the energy-axis mismatch is large and learnable (timsTOF 20 eV best matches Orbitrap NCE 20, not NCE 33), but CID intensities are kinetic, not LTE, so R is molecule-dependent, not a convolution kernel.

TL;DR. The hidden test is a Bruker timsTOF at fixed lab-frame collision energies of 20, 40 and 60 eV; one quarter of the spectra are "merged", and the enveda-180 code plus a 600-group numerical test show a merged spectrum is the raw-ion-count sum of the three single-energy scans (re-centroided), so it is dominated by the lower-energy scans and looks like a mid-energy (Orbitrap NCE 30-45) spectrum. The train parquet converts Orbitrap NCE to eV with eV = NCE x (m/z)/500 (charge factor 1), passes through QTOF volts as eV, and leaves ion-trap NCE unconverted; but empirically a timsTOF 20 eV scan matches an Orbitrap NCE 20 scan (median sqrt-cosine 0.82), not the 33 NCE that the formula implies, so every NCE-conditioned model or Orbitrap library must be driven with ~0.65-0.75x the timsTOF lab eV. The forced astrophysics analogy (forward model x instrument response) yields one concrete, fully specified experiment with 2,421 timsTOF/Orbitrap training pairs and a scaffold-split MRR@25 evaluation; it partially holds.

1. How collision energy is set on each platform

1.1 Bruker timsTOF (PASEF)

In dda-PASEF the quadrupole isolates each precursor as it elutes from the TIMS ramp, and the method file maps collision energy to the ion-mobility coordinate 1/K0, not directly to m/z (m/z and 1/K0 are correlated, so this is an indirect mass scaling). Verified settings:

Application Collision energy rule Source
Proteomics dda-PASEF (community default) linear in 1/K0: 20 eV at 1/K0 = 0.6 Vs/cm2 -> 59 eV at 1/K0 = 1.6 Vs/cm2 Wang et al. 2024, Microbiome Res Rep, DOI 10.20517/mrr.2024.21 ("ramped linearly as a function of mobility from 59 eV at 1/k0 = 1.6 Vs/cm2 to 20 eV at 1/k0 = 0.6 Vs/cm2")
diaPASEF (same paper) 20 eV at 1/K0 = 0.85 -> 59 eV at 1/K0 = 1.3 same
Original PASEF paper (Meier et al. 2018, MCP, DOI 10.1074/mcp.TIR118.000900) stepwise over the TIMS ramp: 52 eV (0-19% of ramp time), 47 (19-38%), 42 (38-57%), 37 (57-76%), 32 eV (rest) Methods, PMC6283298
Lipidomics dda-PASEF (Vasilopoulou et al. 2020, Nat Commun, DOI 10.1038/s41467-019-14044-x) "ion mobility-dependent collision energy, linearly increased from 25 to 45 eV in positive mode, and from 35 to 55 eV in negative mode"; isolation +/- 1 Th; 1/K0 0.6-1.95 PMC6965134
Serum lipidomics "MS/MS stepping" (Monteiro & Buzatto 2026, STAR Protoc, DOI 10.1016/j.xpro.2026.104607) two stepped scans per PASEF event: pos 22->28 eV (1/K0 0.60) and 28->37 eV (1/K0 2.00); neg 21->33 and 27->39 eV; collision RF 1250/1450 V, transfer time 65/70 us PMC13251676
enveda-180 / CASMI test fixed 20, 40, 60 eV (negative mode stored as -20/-40/-60; Bruker sign convention), no 1/K0 interpolation train/test parquet collision_energy_orig; enveda-180 ms_prepper/reader.py reads CollisionEnergy per precursor straight from the .d; if a ramp had been used the values would be continuous, not three integers

I could not open the enveda-180 preprint (README cites ChemRxiv DOI 10.26434/chemrxiv.15004319/v1 - the DOI pattern looks non-standard and did not resolve for me; unverified), so isolation width, whether the three energies were separate injections or in-run CE stepping, and the TIMS ramp are open. Bruker's small-molecule default is thus not one number: the Metabolomics "collision energy stepping" idea exists (STAR protocol above) but Enveda chose fixed energies.

1.2 Lab-frame vs centre-of-mass energy

Only the centre-of-mass fraction of the lab energy can be converted to internal energy in one collision: E_com = E_lab x m_gas/(m_gas + m_ion). Bruker QTOF/timsTOF collision cells and Thermo HCD cells both use N2 (Szabo et al. 2021: "The collision gas in both instruments is nitrogen"); Waters QTOFs typically use argon.

precursor m/z gas m_gas/(m_gas+m_ion) E_com @ 20 eV @ 40 eV @ 60 eV Orbitrap NCE giving the same lab eV (z=1) for 20/40/60 eV
150 N2 0.157 3.15 6.29 9.44 67 / 133 / 200
300 N2 0.085 1.71 3.42 5.12 33 / 67 / 100
500 N2 0.053 1.06 2.12 3.18 20 / 40 / 60
800 N2 0.034 0.68 1.35 2.03 12.5 / 25 / 37.5
300 Ar 0.118 2.35 4.70 7.05 -
500 Ar 0.074 1.48 2.96 4.44 -

Single-collision E_com is far below bond energies (3-4 eV); dissociation needs multiple collisions (several in a 10^-2 mbar cell), so the mapping from lab eV to internal energy is instrument-specific (gas pressure, cell length, residence time). This is why Szabo et al. find a slope of 0.92 (R2 = 0.997) between best-matching QTof-CID and Orbitrap-HCD energies for leucine enkephalin ("1 eV increase in collision energy on the Thermo Orbitrap increases the internal energy of the precursor ion slightly more than 1 eV increase on the Bruker QTof"), with HCD needing "a few eV lower" (QTof 20/30/60 eV matched by HCD 18/28/55 eV; peptide example QTof 50 eV ~ HCD 42 eV).

1.3 Thermo normalized collision energy (NCE)

Thermo's PSB104 bulletin defines NCE as a 0-100% scale that "automatically compensates for this mass dependency" because "the collision energy needed to achieve optimum fragmentation efficiency has been shown to follow a linear correlation with m/z". The de facto formula for HCD is eV = NCE x (m/z)/500 x f(z); the charge factors f(2) = 0.9, f(3) = 0.85 appear in Szabo et al. 2021 (their Bruker default-CE equation, "The charge factor equals to 0.9 and 0.85 in the case of doubly and triply charged peptides"); a patent-text variant CE = NCE/100 x (0.2 - z/100) x m/z surfaced in search snippets only (low confidence, not read in the original). What matters for us: the train parquet used exactly eV = NCE x (m/z)/500 - the ratio ev/(NCE x m/z/500) over 966,330 pluskal_ms2 energy values has median 0.9998 (e.g. NCE 15/20/60 at m/z 468.1444 -> 14.0/18.7/56.2 eV).

2. Semantics of collision_energy_ev, collision_energy_orig, collision_energy_orig_units (computed from train.parquet, 2,539,608 rows)

2.1 Crosstab collision_energy_orig_units x ingest_lib

ingest_lib eV NCE V unknown total
enveda-180 1,153,785 0 0 0 1,153,785
pluskal_ms2 0 527,581 0 0 527,581
riken 147,110 158,807 17,038 24,216 347,171
gnps 0 0 0 220,849 220,849
massbank 41,726 39,660 18,672 1,669 101,727
mona 16,501 51,234 9,821 14,860 92,416
spectraverse 1,248 2,619 0 47,066 50,933
msdial 7,354 9,165 11,025 13,221 40,765
drug_plus 0 0 0 2,545 2,545
enveda-np-examples 1,184 0 0 0 1,184
masaryk 0 0 0 652 652

All 220,849 GNPS rows, all spectraverse "unknown" rows (47,075) and all drug_plus/masaryk rows have collision_energy_ev = None (319,865 rows with orig None; plus free-text orig such as "15, 30, 45, 60, 70 or 90 (nominal)" [416], "30.0,50.0,70.0" [304], "3 kV" [175] that were not parsed).

2.2 How orig becomes ev

units example orig -> ev rule inferred
eV "40" -> [40.0]; "-60,-40,-20" -> [20.0, 40.0, 60.0]; "10 eV" -> [10.0] abs value, split on comma, sorted ascending
V "20 V" -> [20.0]; "Ramp 5-60 V" -> [5.0, 60.0] (1,397 rows); "-10, -35, -60V" -> [10.0, 35.0, 60.0] volts passed through as eV (z=1); a ramp is stored as a 2-element list indistinguishable from a 2-energy merge
NCE (Orbitrap/QFT/ITFT) "[20.0]" at m/z 468.14 -> [18.7]; "HCD (NCE 20-30-40%)" at m/z 285.08 -> [11.4, 17.1, 22.8]; "30%" at m/z 817.64 -> [49.1]; "65% (nominal)" at m/z 428.23 -> [55.7] converted: ev = NCE x (m/z)/500, charge factor 1
NCE on ion traps ("35" with instrument "Linear Ion Trap"/"QIT"/"LC-ESI-IT") ev = None: riken 6,334; msdial 3,111 + 142 + 71; mona 660 not converted (resonance-excitation NCE is a different scale) - 10,318 NCE rows have no eV

Order gotcha: for pluskal_ms2 multi-energy rows the orig list keeps acquisition order ("[20.0, 15.0, 60.0, 40.0]", 16,762 rows; "[20.0, 30.0, 60.0, 40.0]", 20,978 rows) while collision_energy_ev is sorted ascending, so position i of orig does not correspond to position i of ev; one row has 3 orig values but 2 ev values. pluskal_ms2 multi-CE rows: 2 values 3,548; 3 values 82,949; 4 values 83,611; 5 values 4,598; 6 values 16 (these are MSnLib-style merged/stepped Orbitrap ID-X spectra).

2.3 enveda-180 (1,153,785 rows, 182,941 InChIKey14; 887,895 positive / 265,890 negative)

collision_energy_ev rows share num_peaks median (p25-p75) mean
[40.0] 327,468 28.4% 132 (38-299) 208
[20.0, 40.0, 60.0] 304,780 26.4% 258 (66-548) 408
[60.0] 299,465 26.0% 126 (40-272) 193
[20.0] 220,130 19.1% 88 (26-204) 154
[20.0, 40.0] 1,776 0.15% 9 (6-13) 12
[20.0, 60.0] 116 0.01% 6 7
[40.0, 60.0] 50 <0.01% 5 6

Merged rows (>= 2 energies) = 306,722 = 26.6%; the merged three-energy spectrum has roughly 2x the peaks of any single-energy spectrum (258 vs 88-132), and the two-energy merges are tiny (median 9 peaks) - almost certainly cases where one scan failed QC; the test set contains none of them. Grouping by (InChIKey14, adduct): 350,115 groups; 186,392 (53.2%) have all four spectra (20, 40, 60, merged); 73,755 have merged + 40 + 60 (no 20 eV single); 31,590 have only 40 + 60; 7,749 have the merged spectrum only; 46,578 have singles only. Original strings: "40" 244,197, "20,40,60" 240,127, "60" 229,217, "20" 173,189, "-40" 83,271, "-60" 70,248, "-60,-40,-20" 64,653, "-20" 46,941, "20,40" 1,037, "-40,-20" 739.

2.4 test.parquet (1,213 rows, all instrument_type = timsTOF, units always eV)

collision_energy_ev rows orig strings
[60.0] 363 "60" 289 + "-60" 74
[40.0] 362 "40" 281 + "-40" 81
[20.0, 40.0, 60.0] 298 (24.6%) "20,40,60" 257 + "-60,-40,-20" 41
[20.0] 190 "20" 160 + "-20" 30

The visible test is 226 negative-mode rows (18.6%) and 987 positive. No 2-energy merges, no other energies.

2.5 What a merged enveda-180 spectrum physically is (code + numerical test)

Code (enveda/enveda-180, data_processing/extraction/extract.py lines ~330-452 and utils.py): for each adduct the m0-isotope MS/MS microscans of all precursor-selection events across >= 2 distinct collision energies are concatenated and centroided with centroid_tof_signal_df (consecutive TOF indices with gap < 2 are one peak; make_peak_centroid returns the intensity-weighted mean m/z and the sum of intensity); the record gets collision_energies = sorted(unique), mean_collision_energy = mean (= 40 for 20/40/60), collision_energies_merged = True, num_merged_microscans. Single-energy records are built the same way per (adduct, msms_id, collision_energy). MS1 intensity threshold 50 counts and "stray signal" filters (ms_prepper/filters.py: MIN_MS2_TOF_COUNT = 5) are applied upstream; there is no relative-intensity cutoff (minimum relative intensity in merged spectra: median 4.2e-5).

Numerical test on 600 random (InChIKey14, adduct) groups having all four spectra, reconstructing the merged spectrum from the three singles after de-normalising with base_peak_intensity (raw counts): the raw-count sum rule is the best fit in 595/600 (median per-peak MAE 8e-5 after re-normalisation; p90 1.2e-3), vs raw max 2, normalised sum 1, none 2. The merged peak set is a subset of the union of the singles in 334/400 (exact union only 10/400): peaks present in a single but absent from the merged spectrum have median relative intensity 5.9e-4 (p90 0.008, p99 0.08) - faint peaks are lost or re-clustered when the pooled TOF profiles are re-centroided. Base-peak raw counts per energy are very unequal: examples b20:b40:b60 = 399,341:341,591:66,697 and 130,526:23,809:3,704 - so the merged spectrum is a count-weighted sum dominated by the 20 and 40 eV scans. Consequence (Section 4 table): merged vs its own 40 eV scan cosine 0.874, vs 20 eV 0.858, vs 60 eV 0.693.

3. Merged multi-CE spectra across ecosystems

Scheme What is combined Intensity rule Source
enveda-180 / CASMI test "[20,40,60]" three separate PASEF MS/MS events of one precursor sum of raw counts, re-centroided (count-weighted, not equal-weighted) code + test above
Thermo stepped NCE (Orbitrap) one scan: "the precursor ion is fragmented at a low, medium, and high collisional energy, the fragments from these three energies are combined and are detected simultaneously" hardware sum of nominally equal ion-population fractions; one scan, one TIC Diedrich, Pinto & Yates 2013, JASMS, DOI 10.1007/s13361-013-0709-7 (NCE 20/25/30; 30 +/- 20%)
MassBank "merged spectrum" ESI-MS2 of the same compound "under different collision-induced dissociation conditions" not specified in abstract; "improved the precision of the identification ... by 21-23% at a similarity score of 0.6" Horai et al. 2010, J Mass Spectrom, DOI 10.1002/jms.1777
mzmine / MSnLib (Pluskal lab; = pluskal_ms2 in train) SAME_ENERGY: repeated scans at one energy, "maximum signal height for each fragment signal"; ALL_ENERGIES: merge across the energies (uses the same-energy merges); PSEUDO_MS2: whole MSn tree max for same-energy; cross-energy aggregation not stated in the record Zenodo 11163380; Brungs et al. 2025, Nat Methods, DOI 10.1038/s41592-025-02813-0 (Orbitrap ID-X, MS2 at NCE 20 and 60, MS3 at 20/40/60)
ICEBERG / SCARF training data "we first merge all scans at various collision energies, combine peaks that are within 10^-4 m/z tolerance ... renormalize ... by dividing by the maximum observed intensity, and take the square-root ... keep the top 50 peaks with intensity above 0.003" sum vs max not stated in the paper Goldman et al., arXiv 2304.13136
MassSpecGym no merging; each spectrum kept with its NCE (53% of entries have NCE; 98% Orbitrap or QTOF) n/a arXiv 2410.23326
NIST20 (MassFormer/FraGNNet training) separate spectra per NCE, ~11 energies per molecule n/a arXiv 2111.04824
MS-DIAL search snippets claim MS-DIAL can merge MS2 across or within collision energies; unverified (docs not read) - -

Enveda publications: the Bruker "Customer Insight" page says Enveda runs a timsTOF Pro 2 and relies on "clean MS/MS fragmentation patterns and ion mobility data" plus CCS, with no energies given; the PRISM foundation-model announcement (1.2 B spectra, spectral masking) gives no acquisition detail. Nothing published by Enveda that I could open states the merge rule - the code is the source of truth.

4. Head-to-head cross-platform comparisons (numbers)

Hoang et al. 2024, Anal Chem, DOI 10.1021/acs.analchem.3c05576 (PMC11007677). >100 standards on Agilent 6520/6546 QTOF, Bruker Impact II QTOF, Waters Synapt G2-Si, SCIEX TripleTOF 5600 and Thermo Q Exactive Plus at 0/10/20/40 eV (Thermo no 0 eV). Cross-platform cosine identification succeeded for 24 standards at 10 eV, 60 at 20 eV, 38 at 40 eV, <50 at 0 eV; examples at 20 eV: Z-FA-FMK 0.928-1.000, sphingosine 0.990-0.999, caffeine 0.982-0.994; "the average cosine scores did not necessarily increase with a greater number of fragments ... plateaued or slightly decreased". Recommendation: standardise at 20 eV. No timsTOF in the study.

Szabo, Schlosser, Vekey, Drahos, Revesz 2021, J Mass Spectrom 56:e4693, DOI 10.1002/jms.4693. Bruker Maxis II QTof CID vs Q Exactive Focus HCD (both N2): best-match energy pairs linear with slope 0.92 (R2 0.997); HCD a few eV lower; CID spectra contain 60% more b ions; survival yield 84-85% at the Orbitrap minimum (10 eV) ~ QTof 12 eV, QTof 98% at 6 eV and 99.4% at 0 eV; bimodal score-vs-energy curves for 60% of peptides on QTof vs 20% on Orbitrap.

Li et al. 2021, Nat Methods, DOI 10.1038/s41592-021-01331-z. Entropy similarity AUC 0.958 on 434,287 NIST20 spectra; "acceptable AUCs were even obtained when searching QTOF spectra against orbital ion trap MS/MS libraries or vice versa"; FDR < 10% at entropy similarity 0.75 on 37,299 natural-product spectra; gut-metabolome 770 compounds: 5.8% vs 9.6% FDR; median spectral entropy rises from 0.7-0.8 (< 15 eV) to 1.8-2.5 (> 45 eV).

No published small-molecule timsTOF-vs-Orbitrap MS2 similarity study was found (TIMS-Bench, Rajkumar et al. 2026, DOI 10.64898/2026.05.23.724673, benchmarks processing tools, not cross-instrument similarity). So I measured it in train.parquet: same InChIKey14 and same adduct ([M+H]+ or [M-H]-), precursor m/z within 0.02, precursor region (> m/z_p - 1) removed, sqrt-intensity cosine, 0.01 Da match tolerance (2,421 timsTOF/Orbitrap pairs; Orbitrap = pluskal_ms2, i.e. MSnLib Orbitrap ID-X flow injection; only 4 timsTOF/QTOF pairs qualified, so the QTOF column is from 52 spectra at 6 eV and is weak):

timsTOF spectrum vs Orbitrap NCE 15 NCE 20 NCE 30 NCE 45 NCE 60 vs own merged vs tims 40 vs tims 60
20 eV 0.807 (n=251) 0.824 (1,109) 0.759 (854) - 0.317 (1,119) 0.858 (701) 0.631 0.285
40 eV 0.338 0.456 (1,769) 0.614 (1,209) 0.698 (325) 0.615 (1,812) 0.874 - 0.722
60 eV 0.150 0.189 (1,716) 0.301 0.463 0.609 (1,762) 0.693 - -
merged 20/40/60 0.606 0.614 (1,804) 0.676 (1,226) 0.693 (326) 0.552 (1,847) - - -

(medians; fraction >= 0.7: tims20/NCE20 0.68, tims40/NCE45 0.50, tims60/NCE60 0.34, merged/NCE45 0.48.) Read-outs: (i) a timsTOF 20 eV scan is an Orbitrap NCE 15-20 scan, i.e. 9-14 eV HCD at m/z 300-350 - the "same lab eV" assumption (NCE 33) is wrong by ~0.65x; timsTOF 40 eV ~ NCE 45 (~30 eV HCD at m/z 330, factor ~0.75); timsTOF 60 eV ~ NCE >= 60 (~40 eV HCD, factor <= 0.66, best match probably above the library's energy range). (ii) The merged spectrum behaves like a single mid-energy scan (best vs NCE 30-45) and is very close to its own 40 eV scan (0.874). (iii) Same-molecule, same-instrument, different-energy similarity (20 vs 60 eV: 0.285) is worse than cross-instrument at matched energy - energy mismatch, not vendor, is the dominant nuisance.

5. CID physics that is predictable with energy

  • Survival-yield / breakdown curves. Precursor survival vs E_com is sigmoidal; CE50 (energy at 50% survival) is "easily determined, quantitative, highly reproducible, and could discriminate between structural and even positional isomers", "independent of cone potential and orthogonal to compound mass" over 54 compounds on a Waters QTOF (Kertesz, Hall, Hill, Grant 2009, JASMS, DOI 10.1016/j.jasms.2009.06.002). Over large mass ranges the energy for 50% fragmentation is linear in precursor mass, R2 > 0.996 (Li-PEG to 4.5 kDa) and R2 = 0.991 for multiply charged species across instruments - the degrees-of-freedom effect, consistent with fast energy randomisation/RRKM (Memboeuf et al. 2010, Anal Chem, DOI 10.1021/ac902463q). Converting CE50 to Ecom50 removes most of this: "The Ecom50 range was only 13.5% of the CE50 range" (Hall et al. 2014, Curr Comput Aided Drug Des, DOI 10.2174/1573409911666141231113516); Ecom50 is predictable from structure with r2 0.89-0.94 on 52 compounds (Hall et al. 2012, JCIM, DOI 10.1021/ci300092s) and was used by MolFind to remove ~28% of PubChem candidates per mass bin (Menikarachchi et al. 2012, Anal Chem, DOI 10.1021/ac302048x).
  • Instrument transmission bias. RF-only ion-guide mass discrimination distorts relative abundances: "compounds that generate major product ions with m/z values < 150 have peak intensities that deviate substantially from their actual abundance" (Dubey et al. 2015, Metabolomics, DOI 10.1007/s11306-014-0732-0, PMC4422648; ten compounds 46-854 Da, oa-TOF).
  • Energy-ordered pathways. Low E_com favours the lowest-barrier, entropically cheap channels: small-neutral losses (H2O, NH3, CO, CO2, HCOOH, CH3OH), glycosidic cleavages (-162/-146/-132 Da), retro-Diels-Alder and amide cleavages; these product ions are themselves intermediates and are consumed sequentially at higher E_com into aromatic/heteroaromatic core ions and low-mass "fingerprint" ions. In peptides this is the b-ion (low-E optimum) vs y-ion split that produces bimodal score-vs-energy curves (Szabo et al. 2021). Which specific neutral loss dominates is molecule-specific (that is what CFM-ID/ICEBERG learn); what is generic is the monotone shift of the intensity-weighted fragment m/z toward lower values and the depletion of the precursor.

Measured on enveda-180 single-energy [M+H]+ / [M-H]- spectra (300,000-row random sample; precursor = peaks within 10 ppm of precursor m/z; TIC = sum of all normalised intensities):

adduct m/z bin CE (eV) n median precursor / TIC precursor absent (<0.1% TIC) precursor is base peak median peaks frag TIC below m/z 150 intensity-weighted fragment m/z / precursor m/z
[M+H]+ 250-350 20 29,571 0.113 3.1% 13.6% 173 0.24 0.55
[M+H]+ 250-350 40 48,081 0.000 72.4% 0.7% 246 0.68 0.44
[M+H]+ 250-350 60 47,518 0.000 99.3% 0.0% 206 0.94 0.37
[M+H]+ 250-350 merged 45,477 0.111 3.0% 24.6% 441 0.54 0.47
[M+H]+ 350-450 20 8,215 0.128 2.9% 14.8% 192 0.07 0.54
[M+H]+ 350-450 40 15,833 0.0002 62.6% 1.2% 312 0.37 0.44
[M+H]+ 350-450 60 15,889 0.000 98.6% 0.0% 296 0.76 0.35
[M+H]+ 350-450 merged 15,495 0.138 2.8% 29.1% 557 0.38 0.45
[M-H]- 250-350 20 8,952 0.148 7.9% 15.6% 60 0.13 0.60
[M-H]- 250-350 40 17,395 0.000 60.7% 1.5% 53 0.59 0.47
[M-H]- 250-350 60 14,732 0.000 98.2% 0.0% 37 0.90 0.39
[M-H]- 350-450 20 2,252 0.169 8.3% 17.5% 65 0.04 0.59
[M-H]- 350-450 40 6,068 0.0014 48.6% 3.9% 71 0.28 0.47
[M-H]- 350-450 60 5,537 0.000 95.9% 0.0% 52 0.69 0.37

So for 300-500 Da protonated molecules on this timsTOF: at 20 eV the precursor survives in ~97% of spectra and carries ~11-13% of the TIC (base peak in 14%); at 40 eV it is gone in 63-72% (survival is the useful discriminator here - the mass dependence 72% -> 63% is the DOF effect); at 60 eV it is gone in 99%, and 76-94% of the fragment TIC is below m/z 150. Negative mode survives slightly better. The merged spectrum inherits the 20 eV precursor (base peak in 25-29% of merged spectra), which inflates cosine against any spectrum containing a precursor peak.

6. Collision-energy handling in in-silico fragmenters

Tool CE input Training energies / instrument How to drive it for a timsTOF 20/40/60 spectrum
CFM-ID 4.0 (Wang et al. 2021, Anal Chem, DOI 10.1021/acs.analchem.1c01465; web server NAR 2022, DOI 10.1093/nar/gkac383, PMC9252813) three discrete models: 10, 20, 40 eV (ESI-QTOF CID) QTOF CID only; HMDB/NIST20 validation: 401 [M+H]+ and 237 [M-H]- compounds at 10/20/40 eV; CASMI-2016 Cat-3: 162/204 Orbitrap spectra identified; "matching the experimental collision energy with CFM-ID's prediction energy produced the best results, even for HCD-Orbitrap" (NCE mapped to the nearest CID level) by the Section 4 calibration, timsTOF 20 eV ~ CFM 10-20, 40 eV ~ CFM 20-40, 60 eV ~ CFM 40; for the merged spectrum compare to the count-weighted sum of the three predictions (weights from Section 2.5, e.g. 0.5/0.4/0.1) or to all three and take the max
ICEBERG (Goldman et al. 2024, arXiv 2304.13136; code samgoldman97/ms-pred) v1: none - trained on spectra merged across all energies, "excluding collision energies and instrument types as extensions for future work"; ICEBERG 2.0+ "use collision energy as an input" (ms-pred README; NIST is "the only database where all spectra have collision energy annotations") NPLIB1 (GNPS, mostly Orbitrap/QTOF, mean MW 413) and NIST20 (mean MW 317); cosine 0.63 vs 0.57 (SCARF) on NPLIB1, 0.727 vs 0.726 on NIST20; CASMI-2022 PubChem retrieval top-1 12.9% v1: feed the merged spectrum directly - it is the same object ICEBERG was trained on (merged over energies, sqrt, top-50 > 0.003); v2: pass an NCE-equivalent (40 eV merged -> ~NCE 45)
SCARF (Goldman et al.) none same merged data as ICEBERG v1
MassFormer (Young et al., arXiv 2111.04824) NCE is an input; NIST20 ~11 energies per molecule; "the model can recover prior knowledge about the effect of collision energy" NIST20 Orbitrap HCD predict at NCE 20 / 45 / 60+ (not at NCE = eV x 500/(m/z), which over-estimates by ~1.4x) and sum with count weights
FraGNNet (Young et al. 2024, arXiv 2404.02360) "Collision Energy Embedding" in fragment features NIST20 same as MassFormer
MIST / fingerprint models (Goldman et al.) none merged spectra merged spectrum directly

7. Forced analogy: stellar spectroscopy (forward model x instrument response)

The analogy. A stellar classifier never compares an observed spectrum to a raw synthetic one; it computes F_obs(lambda) = F_model(T_eff, log g, [Fe/H]) * LSF x throughput(lambda) + noise, and fits with chi2 using a per-pixel noise model. The forward model is physics; the instrument response R (line-spread function, wavelength solution, throughput) is calibrated once per instrument from standard stars and applied to every template. Translated: a library or in-silico spectrum S_lib(f; E) is the "model atmosphere" output under condition E; a timsTOF-specific response R maps it into timsTOF-merged intensity space: S_tims(f) ~ R[S_lib(.; E_1..E_k); m_p, z, adduct]. Cosine on raw templates is the equivalent of comparing an unconvolved model to data - every "standard star" in Section 4 says the mismatch is large and systematic.

Concrete experiment (all ingredients exist in train.parquet).

  1. Pairs. 2,523 InChIKey14 have both timsTOF and Orbitrap spectra (2,499 via pluskal_ms2, 1,040 also in GNPS, 253 riken, 238 mona, 210 massbank; 2,288 of them are enveda-180 molecules and 250 are enveda-np-examples, which matter because they are COCONUT-like); 3,468 (InChIKey14, adduct) timsTOF/Orbitrap pairs (2,198 [M+H]+, 996 [M-H]-, 167 [M+FA-H]-, 47 [M+Na]+) covering 10,939 timsTOF and 40,681 Orbitrap spectra; only 412 timsTOF/QTOF pairs (14,681 QTOF spectra). Split by Murcko scaffold of the InChIKey14, never by spectrum.
  2. Response model R, three nested forms. (a) Energy-axis map only: library energies re-indexed by the Section 4 calibration (timsTOF eV -> NCE 20/45/60), then count-weighted sum w = (0.5, 0.4, 0.1) learned by non-negative least squares on the pairs - zero parameters beyond three weights and one scale factor. (b) Peak-wise transfer: for each fragment f present in any library energy, predict its timsTOF relative intensity from features [log I_lib(f) at each available NCE, m_f/m_p, m_f, m_p, adduct, polarity, is-precursor, is-neutral-loss-of-precursor] with a gradient-boosted regressor (also predicts presence/absence, i.e. the Dubey-type low-m/z transmission term). (c) Spectrum-conditioned: a small transformer taking the set of (m_f, I_lib at 3-5 NCEs) tokens and emitting timsTOF intensities, trained with a cosine/entropy loss - this is the "learned LSF".
  3. Evaluation. Primary: cosine and entropy similarity of R(S_lib) to the real timsTOF merged spectrum on held-out scaffolds, versus the raw library spectrum (baseline from Section 4: median 0.55-0.69 depending on NCE). Decisive: a retrieval test that mimics the hidden test - for each held-out timsTOF merged spectrum, candidates = COCONUT + train structures within 10 ppm neutral mass, score each candidate by similarity between the timsTOF spectrum and R applied to the candidate's library spectrum (if any) or CFM-ID/ICEBERG prediction, report MRR@25 with vs without R. Secondary: apply R to CFM-ID 10/20/40 eV and ICEBERG predictions for the 250 enveda-np-examples molecules (natural-product chemistry, timsTOF) - the closest proxy to the hidden test.
  4. Expected effect size. Form (a) alone should lift the merged-vs-Orbitrap median similarity from ~0.61 (NCE 20) toward the matched-energy ceiling (~0.70-0.82); if MRR@25 gains are < 0.01 on a timsTOF held-out set the analogy is not worth more effort.

Where it holds, partially holds, and breaks.

  • Holds: the instrument response has large, systematic, learnable components - energy-axis offset (slope ~0.65-0.75 timsTOF-eV -> HCD-eV; Szabo's 0.92 QTof -> HCD), the count-weighted merge, low-m/z transmission (Dubey), and a precursor term. A response model is also exactly what Thermo's own NCE and Bruker's 1/K0 ramp are: crude R's.
  • Partially holds: unlike an LSF, R is not shift-invariant or linear - the same lab energy deposits different internal energy in different molecules (DOF effect, R2 > 0.996 mass dependence) and ion-population statistics differ (Szabo: Orbitrap "larger number of collisions" and C-trap residence time; timsTOF adds TIMS accumulation and quad isolation of 2-3 Th). So R must take (m_p, adduct) and, in form (b)/(c), the fragment identity.
  • Breaks: CID is not LTE - there is no temperature; the internal-energy distribution after multiple collisions is broad and kinetic, and fragment intensities are RRKM rate x observation-window products with kinetic shifts. A spectrum at one energy is not a "convolved" version of another; sequential fragmentation makes intermediate ions appear and disappear non-monotonically (b-ion vs y-ion bimodality). Hence R cannot be calibrated from "standard stars" and applied blindly: it is molecule-dependent, and the honest implementation is a learned conditional map (form c), i.e. the analogy collapses into "train a spectrum-to-spectrum translator", with the physics supplying the inductive biases (energy map, count weights, precursor survival, low-m/z bias). The chi2-with-noise-model half of the analogy does transfer cleanly: base_peak_intensity x normalised intensity recovers raw counts, so a Poisson-weighted similarity (down-weight peaks with < ~50 counts) is a free, physically justified improvement over cosine.

8. Gotchas / what could fool us

  1. "eV" is not a common currency. Train stores Orbitrap NCE converted with (m/z)/500 and QTOF volts verbatim; empirically a timsTOF 20 eV spectrum matches Orbitrap NCE 20 (0.82) and only 0.32 vs NCE 60 - but the converted column says the NCE-20 spectrum of a 330 Da molecule is "13 eV" and the NCE-60 one "40 eV". Treating collision_energy_ev as comparable across ingest_lib will teach a model the wrong energy axis.
  2. Sorted ev vs unsorted orig in pluskal_ms2 multi-energy rows: positional alignment is lost (and one row has mismatched lengths).
  3. Ramps masquerade as merges: "Ramp 5-60 V" -> [5.0, 60.0] (1,397 rows), "Ramp 20%-70% (nominal)" similar; a 2-element list is not necessarily two scans.
  4. 10,318 ion-trap NCE rows have ev = None, and 319,865 rows (all GNPS) have no energy at all - any CE feature must handle missingness explicitly, and missingness is library-identifying (GNPS/spectraverse/drug_plus).
  5. The merged spectrum is count-weighted, so it is effectively a 20-40 eV spectrum with a 60 eV tail; it is not the equal-thirds Thermo stepped-NCE object, not a max-merge (mzmine SAME_ENERGY), and not a normalised average. Models trained on other "merged" conventions see a different object.
  6. Merged num_peaks ~ 2x single (258 vs 88-132; p75 548), with many peaks < 1e-3 relative intensity; peak-count-sensitive scores change (Hoang: cosine plateaus/decreases with more fragments). Top-N truncation and the 0.003 cutoff used by ICEBERG change what a "merged" spectrum is.
  7. The precursor survives at 20 eV (and therefore in every merged spectrum): base peak in 14% of 20 eV and 25-29% of merged [M+H]+ spectra. Any similarity that includes the precursor peak is inflated for every candidate with the right mass - strip the precursor and its isotopes (> m_p - 1.0) before scoring, as done in Section 4.
  8. Instrument type is a chemistry label in train: all 1,154,969 timsTOF rows come from enveda-180 (Enamine REAL drug-like synthetics) and enveda-np-examples; a model can learn "timsTOF => Enamine-like" and then meet natural products on timsTOF in the hidden test. Validate on enveda-np-examples (1,184 rows, 99.6% in COCONUT) and on the 2,288 cross-instrument molecules, not on random enveda-180 rows.
  9. Visible test rows are verbatim enveda-180 rows - any local score on them is leakage; also hold out by InChIKey14 and by CE pattern so the 20/40/60/merged quartet of one molecule never spans the split.
  10. [2M+H]+ / [2M+Na]+ in positive mode dissociate to monomer ions at 20 eV; mass-binned survival statistics computed over all adducts show "72% precursor absent at 20 eV for m/z 500-700" purely from dimers (I made this mistake before restricting to [M+H]+/[M-H]-).
  11. Two-energy merges in train (1,942 rows) are degenerate (median 5-9 peaks) and absent from test - drop them from training or they teach "merged = tiny".
  12. NCE equivalents of timsTOF 60 eV exceed typical library energies: for a 300 Da ion, 60 eV lab is NCE 100 by formula and ~NCE 60-70 by the empirical calibration; NIST20/MSnLib rarely go that high, so 60 eV singles are the hardest to match against libraries and the merged spectrum's 60 eV component is largely unmatched.
  13. The enveda-180 preprint DOI in the README did not resolve for me; acquisition details (isolation width, microscans, separate injections vs CE stepping) are unverified - treat any claim about them as low confidence.

9. Implications for the challenge

  1. Calibrate the energy axis before any library or in-silico comparison: use timsTOF 20 eV ~ NCE 15-20, 40 eV ~ NCE 45, 60 eV ~ NCE >= 60 (Section 4), i.e. NCE_equiv ~ 0.65-0.75 x eV x 500/(m/z) for z = 1; feed MassFormer/FraGNNet/ICEBERG-2 these NCEs, and CFM-ID 10-20 / 20-40 / 40 eV.
  2. Synthesise the merged object exactly: for any candidate spectrum set (predicted or library), build the count-weighted sum (start with weights 0.5/0.4/0.1 from the base-peak ratios, then fit by NNLS on the 186,392 all-four groups), re-normalise to base peak, drop peaks < 1e-3; compare merged test spectra to that, and single-energy test spectra to the matched energy.
  3. Train on singles, not only on merged: 73% of train rows and 75% of test rows are single-energy; a spectrum-to-fingerprint model should take the CE pattern as a conditioning token (20 / 40 / 60 / merged) and the model can be made invariant by augmenting - synthesise merged spectra from the triplets and single spectra from merged minus the others where available.
  4. Strip precursor and isotopes, and use Poisson-weighted similarity: recover counts with base_peak_intensity; weight peaks by sqrt(count) and ignore peaks < ~50 counts; evaluate entropy similarity (Li 2021) in addition to cosine.
  5. Use precursor survival and the intensity-weighted fragment-m/z ratio as cheap, energy-explicit features: at 40 eV, survival (present in 28-37% of [M+H]+ spectra at 250-450 Da) carries Ecom50-type stability information that discriminates isomers (Kertesz 2009); a predicted Ecom50 (Hall 2012 QSAR, r2 ~0.9) is a candidate-ranking feature orthogonal to fingerprints.
  6. Run the response-model experiment of Section 7 with form (a) first (one afternoon: energy map + three weights), measure MRR@25 on a scaffold-held-out timsTOF set with a COCONUT +/- 10 ppm pool; proceed to forms (b)/(c) only if the gain is >= 0.01.
  7. For CFM-ID/ICEBERG candidate scoring on the hidden test, score each candidate against each single-energy spectrum at its matched prediction energy and combine per molecule (median 3 spectra per molecule); do not score only the merged spectrum.
  8. Build the local validation set from enveda-np-examples (1,184 rows) plus the 2,288 cross-instrument enveda-180 molecules, scaffold-split, with the hidden-test CE mix (19/28/26/27% for 20/40/60/merged in train; 16/30/30/25% in visible test).

10. Open questions

  • What exactly did Enveda acquire: isolation width, TIMS ramp range, number of microscans per energy, separate injections per CE vs in-run stepping, and whether the hidden test used the identical pipeline (the merge rule is inferred from the public code and a 600-group fit, not from a statement).
  • Does the enveda-180 preprint (ChemRxiv DOI as cited in the README) give a per-energy QC filter that explains the 73,755 groups lacking a 20 eV single scan?
  • Energy range of MSnLib/NIST20 Orbitrap spectra above NCE 60: is a timsTOF 60 eV scan ever matchable to a library energy?
  • Does ICEBERG 2.0 accept an arbitrary NCE, and what did it see for merged training spectra?
  • Is the Enveda PRISM model (1.2 B spectra) trained on merged or single-energy timsTOF spectra? Unknown; nothing published.
  • Would a Poisson-weighted / count-aware similarity beat sqrt-cosine on the 2,421 cross-instrument pairs? (One-hour test with the tables in the JSON file.)

Sources

  • Train/test parquet analyses: C:\Temp\casmi26\data\train.parquet (2,539,608 rows) and test.parquet (1,213 rows), pyarrow 25; scripts in the session scratchpad (ce_analysis.py ... ce_analysis5.py); all tables also in cid_fragmentation_physics_collision_energy.json.
  • enveda/enveda-180 GitHub repository (README; data_processing/extraction/extract.py, utils.py, centroid.py; ms_prepper/reader.py, filters.py), https://github.com/enveda/enveda-180 (cloned 2026-10-07); README cites Krettler et al. 2026 ChemRxiv DOI 10.26434/chemrxiv.15004319/v1 (not resolved - unverified).
  • Enveda GitHub organisation listing https://github.com/orgs/enveda/repositories; Bruker "Customer Insight Enveda" https://www.bruker.com/en/landingpages/bdal/customer-insight-enveda.html; TIMS-Bench README (Rajkumar et al. 2026, DOI 10.64898/2026.05.23.724673).
  • Wang A. et al. 2024, Microbiome Research Reports, DOI 10.20517/mrr.2024.21 (PMC11480776).
  • Meier F. et al. 2018, Mol Cell Proteomics, DOI 10.1074/mcp.TIR118.000900 (PMC6283298).
  • Vasilopoulou C.G. et al. 2020, Nat Commun, DOI 10.1038/s41467-019-14044-x (PMC6965134).
  • Monteiro F.S., Buzatto A.Z. 2026, STAR Protocols, DOI 10.1016/j.xpro.2026.104607 (PMC13251676).
  • Thermo Fisher PSB104 "Normalized Collision Energy Technology", https://documents.thermofisher.com/TFS-Assets/CMD/Warranties/PSB104-Normalized-Collision-Energy-Technology-EN.pdf.
  • Szabo D., Schlosser G., Vekey K., Drahos L., Revesz A. 2021, J Mass Spectrom 56:e4693, DOI 10.1002/jms.4693 (author PDF at pak.elte.hu).
  • Hoang C. et al. 2024, Anal Chem, DOI 10.1021/acs.analchem.3c05576 (PMID 38529642, PMC11007677).
  • Li Y. et al. 2021, Nat Methods, DOI 10.1038/s41592-021-01331-z (PMC11492813).
  • Diedrich J.K., Pinto A.F.M., Yates J.R. 2013, J Am Soc Mass Spectrom, DOI 10.1007/s13361-013-0709-7 (PMC3815594).
  • Horai H. et al. 2010, J Mass Spectrom, DOI 10.1002/jms.1777 (Europe PMC record).
  • Brungs C. et al. 2025, Nat Methods, DOI 10.1038/s41592-025-02813-0 (PMC12510872); MSnLib Zenodo record 11163380.
  • Goldman S. et al., ICEBERG, arXiv 2304.13136 (PDF); samgoldman97/ms-pred README.
  • Bushuiev R. et al., MassSpecGym, arXiv 2410.23326 (HTML v3).
  • Young A. et al., MassFormer, arXiv 2111.04824; Young A. et al., FraGNNet, arXiv 2404.02360 (HTML v2).
  • Wang F. et al. 2022, CFM-ID 4.0 web server, Nucleic Acids Res, DOI 10.1093/nar/gkac383 (PMC9252813); Wang F. et al. 2021, Anal Chem, DOI 10.1021/acs.analchem.1c01465 (cited via the NAR paper; not opened directly).
  • Kertesz T.M., Hall L.H., Hill D.W., Grant D.F. 2009, J Am Soc Mass Spectrom, DOI 10.1016/j.jasms.2009.06.002.
  • Memboeuf A. et al. 2010, Anal Chem, DOI 10.1021/ac902463q.
  • Hall L.M. et al. 2012, J Chem Inf Model, DOI 10.1021/ci300092s; Hall L.H. et al. 2014, Curr Comput Aided Drug Des, DOI 10.2174/1573409911666141231113516; Menikarachchi L.C. et al. 2012, Anal Chem, DOI 10.1021/ac302048x; Dubey R. et al. 2015, Metabolomics, DOI 10.1007/s11306-014-0732-0 (PMC4422648).
  • Kaggle data-page facts (collision_energy_ev list semantics; enveda-180 1,153,785 spectra / 182,941 structures) taken from GitHub mirrors/write-ups surfaced by search (eganeganegan/casmi26 and others; the Kaggle page itself is JS-rendered and was not read).