TL;DR. Natural-product classes do carry a recognisable "timbre": a hexose loss of 162.0528 Da, a tropane ion at m/z 124.1121 or a desosamine ion at 158.1176 appear 40–370 times more often in spectra of molecules that contain the substructure than in those that do not (measured here on 142,728 stratified train spectra), and tools such as Mass2Motifs, MESSAR and CANOPUS already exploit exactly this. But the timbre is faint and non-additive: only 14 % of [M+H]+ spectra of terminal O-hexosides show the 162 loss at ≥5 % intensity overall (29–38 % on GNPS/MassBank/timsTOF rows and 65 % for apigenin-7-O-glucoside; the mean is dragged down by RIKEN's sparse, high-CE spectra and by multi-glycosides), the aglycone's own partials are muted when sugars are attached, and the whole sugar/flavonoid/saponin timbre is essentially absent from the timsTOF stratum of train (27 hexoside spectra in 1.16 M timsTOF rows). Use the rules as soft, log-likelihood-ratio reranking evidence inside a formula window — never as hard filters — and expect them to help analog/de-novo candidates more than library-derived ones.
1. Scope and method
Questions 1–6 of the brief are answered in order. Literature was taken from what could actually be opened on 2026-10-07 (Europe PMC full-text XML, arXiv HTML, Fiehn-lab CASMI pages, PLoS, MDPI, Mascot documentation); Demarque et al. 2016 (RSC), Cuyckens & Claeys 2004 (Wiley) and the CANOPUS/MIST Nature papers were reachable only as abstracts, extended-data legends or search-engine snapshots and are marked as such. The paperclip CLI is not installed on this box, so no full-text search through it was possible.
An empirical check was run on C:\Temp\casmi26\data\train.parquet with RDKit 2026.03.6 (scripts timbre_check2.py, glyco_followup.py): all 263,434 parseable unique SMILES were flagged with 32 SMARTS; for [M+H]+ and [M-H]- a stratified sample (half substructure-positive, half background, plus every timsTOF positive) of 82,930 and 59,798 spectra was drawn; a feature "fires" if a neutral loss (precursor_mz − fragment) or a fragment m/z lies within ±5 mDa of the exact mass at ≥5 % relative intensity. Sensitivity P(f|sub) and false-positive rate P(f|¬sub) are valid under stratified sampling; PPV is not (do not read it as a population value).
2. The rules table (Q1)
Exact masses were computed from monoisotopic atomic masses (C 12, H 1.00782503, N 14.00307401, O 15.99491462, S 31.972071, P 30.97376163; electron 0.00054858). Empirical columns are from the stratified sample described above (LR+ = P(f|sub)/P(f|¬sub); "base" = fraction of positive spectra in which the feature is the base peak when present). Full 55-row table with source and confidence per row is in the companion .json (table: "fragmentation_rules"); the condensed version:
| # | NP class | Diagnostic feature | Formula | exact m (NL) or m/z | Pol. | Mode / adduct dependence | Empirical P(f|sub) / P(f|¬sub) / LR+ [+ ; −] | Typ. intensity | FP / ambiguity | Source | Conf. | |---|---|---|---|---|---|---|---|---|---|---|---| | 1 | O-glycoside (hexoside) | neutral loss hexose (Glc/Gal/Man indistinguishable) | C6H10O5 | 162.0528 | +/- | [M+H]+: Y0 aglycone often base peak; [M+Na]+ keeps sugar (weaker glycosidic cleavage); [M-H]- moderate | 0.144/0.0031/45.8 ; 0.318/0.0066/48.2 (O_hexoside_terminal) | high (+); medium (-) | any C6H10O5 unit (e.g. inositol-like, non-sugar) gives same loss; multiple sugars give 324.1056 ladders | Ma 2014 Anal Chem (glycosylations among 13 NLs validated at 92.1%); MS2LDA 2.0 Nat Commun 2026 (NL 162 = hexose); Cuyckens & Claeys 2004 (O-glycosides); empirical: this file | high | | 2 | O-glycoside (deoxyhexoside, Rha/Fuc) | neutral loss deoxyhexose (methylpentose) | C6H10O4 | 146.0579 | +/- | as hexose | 0.112/0.0028/39.6 ; 0.131/0.0042/31.5 (O_deoxyhexoside_terminal) | high (+) | C6H10O4 = any deoxysugar; also matches loss of e.g. 2-hydroxy-hexenal; rutinose loses as 308.1107 unit | Screening saponins review PMC6273444 (146 Da methylpentose); Hvattum & Ekeberg 2003 (rutinoside/neohesperidoside); empirical | high | | 3 | O-glycoside (pentoside, Ara/Xyl/Api) | neutral loss pentose | C5H8O4 | 132.0423 | +/- | as hexose | 0.081/0.0036/22.4 ; 0.121/0.0051/23.8 (O_pentoside_terminal) | high (+) | apiose (branched) vs arabinose/xylose not distinguished by mass | PMC6273444 (132 Da pentose); empirical | high | | 4 | Glucuronide | neutral loss glucuronic acid residue | C6H8O6 | 176.0321 | +/- | [M-H]- favoured; diagnostic anions 175.0248 (C6H7O6-) and 113.0244 (C5H5O3-) | 0.382/0.0014/275 ; 0.384/0.0014/265.4 (O_glucuronide_terminal) | high (-) | C6H8O6 also = loss of hexuronate from any uronide; 176.0321 vs hexose+CH2 (176.0685) separable only at < 20 mDa | Anal Bioanal Chem 2022 (s00216-022-03899-7, snippet: NL 176.0321 for all glucuronides; PIS m/z 75/85/113); empirical | medium | | 5 | Glucuronide | glucuronate anion | C6H7O6− | 175.0248 | - | only [M-H]- | – ; 0.295/0.0023/130 (O_glucuronide_terminal) | low-medium | same as free glucuronic acid [M-H]- | as above | medium | | 6 | Di-O-hexoside / disaccharide glycoside | neutral loss of two hexoses (ladder or single 324 loss for 1->2/1->6 linked disaccharide) | C12H20O10 | 324.1056 | +/- | ladder 162+162 (terminal first); interior-sugar loss directly if disaccharide | 0.027/0.0003/77.3 ; 0.055/0.0003/198.8 (O_hexoside_any) | medium | cannot tell linear ladder from branched by mass; sequence read is ambiguous without MSn | Cuyckens & Claeys 2004 (abstract: O-glycosides, acylated glycosides); PMC6273444 (saponin ladders) | medium | | 7 | Rutinoside (Rha-Glc) / neohesperidoside | neutral loss rutinose unit | C12H20O9 | 308.1107 | +/- | both | – | medium | same mass for rutinoside (1->6) and neohesperidoside (1->2); only ion-ratio hints | Hvattum & Ekeberg 2003 J Mass Spectrom (abstract) | medium | | 8 | C-glycoside (flavone C-hexoside) | cross-ring cleavage 0,2X: loss C4H8O4 | C4H8O4 | 120.0423 | +/- | both; [M-H-120]- often base peak for mono-C-glycosides | 0.263/0.0040/66.3 ; 0.444/0.0058/76 (C_hexoside) | high | 120.0423 also = loss of C4H8O4 from O-hexosides at low abundance (<10%) and from some sugar acids | Cuyckens & Claeys 2004 (C-glycosides); vitexin/isovitexin data PMC11243344 (snippet: 431 -> 341 (-90), 311 (-120)); ViT isomer study PMC11644359 | high | | 9 | C-glycoside (flavone C-hexoside) | cross-ring cleavage 0,3X: loss C3H6O3 | C3H6O3 | 90.0317 | +/- | both | 0.049/0.0031/15.6 ; 0.279/0.0055/50.6 (C_hexoside) | medium | also from O-glycosides at low abundance | as above | high | | 10 | C-glycoside 6-C vs 8-C | [M+H-4H2O]+ diagnostic for 6-C; intensity ratios of -90/-120 | H8O4 | 72.0423 | + | [M+H]+ and [M+Na]+ (ViT model robust to both) | – | n/a | vitexin/isovitexin MSE spectra reported identical in one study; CE-dependent | PMC11644359 (ViT: F1 6-C 0.893, 8-C 0.720); PMC11243344 | medium | | 11 | Hexoside (positive) | hexose oxonium B1 ion | C6H11O5+ | 163.0601 | + | [M+H]+ only; weak | 0.046/0.0048/9.6 ; – (O_hexoside_any) | low (<10%) | rare in flavonoid glycosides; more common for sugar-rich saponins | glycan B-ion nomenclature (Domon & Costello 1988 as summarised in Cuyckens & Claeys 2004); empirical | low-medium | | 12 | Flavone/flavonol/flavanone (5,7-diOH A ring) | RDA 1,3A+ ion | C7H5O4+ | 153.0182 | + | [M+H]+ of aglycone or after Y0 formation (MS3-like at high CE) | 0.103/0.0071/14.5 ; – (flavone_flavonol) | medium-high for aglycones | any 5,7-dihydroxychromone/chromanone (xanthones, some coumarins) gives 153.0182 | Cuyckens & Claeys 2004 (RDA nomenclature 1,3A/1,3B after Ma et al. 1997); luteolin RDA paper PMC8840092 | high | | 13 | Flavone/flavonol (5,7-diOH A ring) | RDA 1,3A- ion | C7H3O4− | 151.0037 | - | [M-H]- of aglycone | – ; 0.172/0.0135/12.7 (flavone_flavonol) | medium-high | as above; 1,3A- for 7-OH-only A ring is 135.0088 (C7H3O3-) | PMC8840092 (luteolin: 1,3A- m/z 151, 1,3B- m/z 133) | high | | 14 | Flavone with 3,4-diOH B ring (luteolin-type) | RDA 1,3B- ion | C8H5O2− | 133.0295 | - | [M-H]- | – | medium | B-ring ion mass depends on B-ring substitution (apigenin 1,3B- = 117.0346) | PMC8840092 | high | | 15 | Flavonol 3-O-glycoside vs 7-O-glycoside | radical aglycone [Y0-H]-. vs Y0- ratio | H | 1.0078 | - | [M-H]- only; homolytic cleavage abundant for 3-O-glycosides (kaempferol<quercetin<myricetin), minor for 7-O; flavanone-7-O-glycosides give none | – | n/a | ratio also depends on B-ring OH count and CE; not a clean position read-out | Hvattum & Ekeberg 2003 J Mass Spectrom 38:43 (abstract, verified) | high | | 16 | Flavonoid aglycone (any) | small-molecule losses from aglycone: CO, CO2, H2O, C3O2 | CO | 27.9949 | +/- | negative mode shows CO/CO2/C3O2 losses; positive shows H2O/CO | 0.049/0.0076/6.5 ; 0.071/0.0088/8 (coumarin) | medium | CO loss is near-universal for phenolic carbonyls; non-specific | PMC8840092; Fabre et al. 2001 (snippet) | high | | 17 | Flavonoid aglycone (any) | CO2 loss | CO2 | 43.9898 | - | [M-H]- | 0.030/0.0020/14.8 ; 0.282/0.0155/18.2 (carboxylic_acid) | medium | CO2 loss is the dominant feature of any carboxylic acid in negative mode (empirical: 30% of RCOOH spectra) | PMC8840092; empirical | high | | 18 | Methoxylated aromatics (polymethoxyflavones, isoquinoline alkaloids, lignans) | methyl radical loss (odd-electron product) | CH3 | 15.0235 | +/- | strong in [M-H]- for methoxyphenols; in [M+H]+ for aryl-OMe with ortho OMe/OH and for quaternary N-CH3 | 0.032/0.0027/11.8 ; 0.150/0.0043/35 (methoxy_aryl) | medium | violates even-electron rule, so in-silico fragmenters (MetFrag/CFM) under-predict it | Isoquinoline alkaloid fragmentation PMC6970995 (OMe -> CH3. then CO; quaternary N-CH3 -> CH3.); empirical | high | | 19 | Vicinal OMe/OH aromatics (isoquinoline alkaloids, lignans) | methanol loss | CH4O | 32.0262 | +/- | both | – | medium | also any methyl ester | PMC6970995 (vicinal OMe/OH -> CH3OH; vicinal OMe/OMe -> CH4); chemrxiv neolignan study (snippet: [M-CH3OH]- in all dihydrobenzofuran lignans) | high | | 20 | Methylenedioxy aromatics (alkaloids, lignans) | formaldehyde loss | CH2O | 30.0106 | + | [M+H]+ | – | low-medium | also from any O-CH2-O or CH2OH | PMC6970995 | medium | | 21 | Terpenoids (hydroxylated sesqui-/diterpenoids) | successive water losses n x 18.0106 | H2O | 18.0106 | + | [M+H]+ ; [M+H-H2O]+ often base peak; in [M+Na]+ water loss suppressed | 0.139/0.0535/2.6 ; 0.037/0.0254/1.5 (steroid_4ring) | high (+) | water loss is the single most common NL in all of MS/MS (empirical 5.3% of all [M+H]+ spectra); carries ~0.6 bit (Ma 2014 per q8); zero class specificity on its own | ent-kaurane study PMC12844365 (snippet: successive 18/42/60 losses); empirical | high | | 22 | Acetylated terpenoids / acetylated glycosides | ketene loss (O-acetyl) | C2H2O | 42.0106 | +/- | both; acetic acid (60.0211) loss in [M+H]+ competes | 0.058/0.0058/10 ; 0.106/0.0109/9.6 (acetyl_ester) | medium | N-acetyl and C-acetyl also give ketene; 42.0106 vs C3H6 (42.0470) needs < 30 mDa | Ma 2014 (acetylations validated); PMC12844365; empirical (LR+ ~45-73) | high | | 23 | Acetylated terpenoids | acetic acid loss | C2H4O2 | 60.0211 | + | [M+H]+ | 0.124/0.0133/9.4 ; 0.158/0.0140/11.3 (acetyl_ester) | medium | also = C2H4O2 from sugars (cross-ring 0,4X) | PMC12844365 (snippet) | medium | | 24 | Malonylated glycosides (flavonoid malonylglucosides, isoflavone malonates) | malonyl loss (as C3H2O3) and/or CO2 (decarboxylation to acetyl) | C3H2O3 | 86.0004 | +/- | [M-H]-: CO2 loss (44) dominant, then 86; [M+H]+: 86 or 104 (malonic acid) | 0.000/0.0012/0 ; 0.057/0.0085/6.7 (malonyl_ester) | medium | in-source decarboxylation converts malonyl to acetyl glycoside before MS2; 86.0004 vs C4H6O2 (86.0368) separable | Ma 2014 corpus (malonyl in 147-NL table, not individually verified here); celery malonylglycoside snippet PMC3762694; empirical (rare in train) | medium-low | | 25 | Prenylated / isoprenoid compounds | isoprene unit loss | C5H8 | 68.0626 | +/- | both; empirical LR+ 78 (+) / 245 (-) for [CH3]C(=CH)[CH3] units | 0.081/0.0030/27.2 ; 0.035/0.0008/42.4 (isoprenyl_unit) | medium | C5H8 ladder also from any pentenyl chain; prenyl groups more often lose C4H8 (56.0626) via RDA (not verified in this session) | empirical this file; terpene isoprene-rule literature only general (snippets) | medium | | 26 | Triterpenoid saponin (oleanane/ursane acid aglycone) | protonated aglycone Y0 ion [Agly+H]+ (oleanolic/ursolic acid) | C30H47O3+ | 455.3520 | + | [M+H]+ or [M+NH4]+ after full sugar loss | – | medium-high | oleanolic vs ursolic (skeletal isomers) give identical ion; only ratio 437/455 hints | Zornia saponins PMC6680687 ([Agly-H]- 455 for soyasapogenol E); quinoa saponin study (ScienceDirect snippet: 437/455 ratio distinguishes isomers) | medium | | 27 | Triterpenoid saponin | [Agly+H-H2O]+ | C30H45O2+ | 437.3414 | + | as above | – | high | as above | as above | medium | | 28 | Triterpenoid saponin | [Agly+H-H2O-CO2]+ (or -HCOOH) | C29H45O+ | 409.3465 | + | as above | – | medium | same ion from hederagenin-type after extra H2O | as above | medium | | 29 | Triterpenoid saponin (negative) | sequential sugar ladder 162/146/132/176 down to [Agly-H]- | C6H10O5 | 162.0528 | - | [M-H]- and [M+HCOO]- | 0.144/0.0031/45.8 ; 0.318/0.0066/48.2 (O_hexoside_terminal) | high | order of losses reflects branching only partially; aglycone MW read from terminal ion is reliable | PMC6273444 (verified table: e.g. [M 941-H-162-162-162]- = 455) | high | | 30 | Tropane alkaloids (hyoscyamine/atropine, littorine, cocaine-type) | tropinium ion | C8H14N+ | 124.1121 | + | [M+H]+; base peak for atropine (quantifier ion 124.1120 in Foods 2023 table) | 0.233/0.0055/42.5 ; – (tropane) | very high (base peak) | any N-methylpyrrolidine/piperidine C8H14N+ (e.g. some piperidine alkaloids); empirical P(124|tropane)=0.45 with half of hits as base peak | Foods 2023 PMC10572649 (verified: atropine 290.1747 -> 124.1120; scopolamine 304.1538 -> 138.0912); empirical | high | | 31 | Tropane alkaloids (scopolamine-type, 6,7-epoxide) | epoxytropinium ion | C8H12NO+ | 138.0913 | + | [M+H]+ base peak | – | very high | pyrrolizidine alkaloids give 138.0913 too (heliotrine, europine: same table!) | PMC10572649 (verified: heliotrine -> 138.0916, europine -> 138.0913, scopolamine -> 138.0912) | high | | 32 | Pyrrolizidine alkaloids | necine ions 120.0808 / 138.0913 / 94.0651 | C8H10N+ | 120.0808 | + | [M+H]+ | 0.070/0.0176/3.9 ; – (peptide_2amide) | high | 120.0808 = Phe immonium ion mass (C8H10N+) exactly -> peptides and PAs collide | PMC10572649 (verified: lycopsamine 300.1807 -> 120.0807/94.06; N-oxides -> 172.0973) | high | | 33 | Indole alkaloids (monoterpenoid indole, beta-carboline, simple indoles) | indole-skeleton ion C10H10N+ | C10H10N+ | 144.0808 | + | [M+H]+ | 0.174/0.0180/9.7 ; – (indole) | high (empirical: median rel. int. 0.76; 47% base peak when present) | any 2,3-disubstituted indole; also tryptamine-derived peptides | Alstonia MIA FBMN study PMC12298960 (verified: DPI m/z 144.08 [C10H10N]+ = indole ring skeleton); empirical P(144|indole)=0.18, LR+ 8.9 | high | | 34 | Indole alkaloids | quinolinium / 3-methyleneindolium ion | C9H8N+ | 130.0651 | + | [M+H]+ | 0.271/0.0458/5.9 ; – (indole) | high | also from tryptophan residues in peptides (Trp related ion 130) and from quinolines | indolic-compound identification snippet (quinolinium signature ion m/z 130.0651); Mascot immonium table (Trp related 130); empirical P(130|indole)=0.28 | medium-high | | 35 | Indole alkaloids | C11H12N+ (ethylidene-indolium) | C11H12N+ | 158.0964 | + | [M+H]+ | 0.045/0.0083/5.4 ; – (indole) | medium | as above | MIA ESI-MS/MS review (Springer s10600-015-1215-x, snippet: 168/144/130 characteristic); empirical P(158|indole)=0.04 | medium | | 36 | Benzylisoquinoline / aporphine alkaloids (Type I) | [M+H-NHR1R2]+ : loss of methylamine | CH5N | 31.0422 | + | [M+H]+; high abundance for benzyltetrahydroisoquinoline, aporphine, ipecac, chelidonine, bisbenzyl; low for protoberberine, protopine, morphinan, phthalideisoquinoline; absent for fully aromatic (Type III) | 0.044/0.0029/15.2 ; 0.010/0.0005/19.3 (N_methyl_amine) | high (Type I) | any secondary N-methyl amine loses CH3NH2; empirical P(31|N-CH3 amine)=0.04 only, so rule is sub-type specific | PMC6970995 (verified: 66 compounds, 19 types, three categories by [M-NHR1R2]+) | high | | 37 | N,N-dimethyl / quaternary N-methyl alkaloids | dimethylamine loss | C2H7N | 45.0578 | + | [M+H]+ or M+ (quaternary) | – | medium | also from choline-like head groups | PMC6970995 | medium | | 38 | Benzylisoquinoline alkaloids (reticuline-type) | dihydroisoquinolinium ion C11H14NO2+ | C11H14NO2+ | 192.1019 | + | [M+H]+; empirical: median rel. int. 1.0 (base peak in 55% of hits) | 0.032/0.0036/8.8 ; – (isoquinoline_any) | very high when present | empirical P(192|isoquinoline SMARTS)=0.03 because SMARTS covers all isoquinoline types; specific to 6,7-dioxygenated 1-benzyl-THIQ | PMC6970995 (beta-cleavage fragments 107.0448/123.0434/137.0593 verified); 192.1019 from empirical file (literature not opened) | medium | | 39 | Benzylisoquinoline alkaloids | benzyl cation fragments 107.0491 / 137.0597 / 123.0441 | C8H9O2+ | 137.0597 | + | [M+H]+ | – | medium | 137.0597 also = guaiacyl cation from lignans and from ferulic acid | PMC6970995 (verified) | high | | 40 | Macrolides (erythromycin-type, desosamine sugar) | desosamine oxonium ion | C8H16NO2+ | 158.1176 | + | [M+H]+; class-specific m/z 158 reported for all macrolides tested | 0.530/0.0014/369.1 ; – (macrolide_desosamine) | high | any 3-dimethylamino-3,4,6-trideoxyhexose; cladinose loss = 158.0943 (C8H14O3), nearly isobaric nominal 158 but 23 mDa apart | azithromycin ESI-MSn abstract (bib.irb.hr snippet: class-specific fragment m/z 158); Molecules 2026 erythromycin fragmentation paper (opened, numbers in PDF streams not extractable) | medium | | 41 | Polyketide macrolides / polyols | water-loss ladder n x 18.0106 after sugar loss | H2O | 18.0106 | + | [M+H]+, [M+NH4]+ | 0.139/0.0535/2.6 ; 0.037/0.0254/1.5 (steroid_4ring) | high | non-specific (see terpenoids) | general; Molecules 2026 erythromycin study (opened) | medium | | 42 | Peptides / depsipeptides | b and y ions (b = [N]+[M]-H; y = [C]+[M]+H, M = residue mass) | H | 1.0078 | + | [M+H]+ ; y-series dominate for Pro-containing; depsipeptides open at ester | – | high | series are precursor-specific (pitch-dependent), not a class timbre; peptides are detected by 113.084/99.068/... residue-mass spacings | Mascot fragmentation help (verified) | high | | 43 | Peptides (Pro) | proline immonium | C4H8N+ | 70.0651 | + | [M+H]+ | 0.136/0.0303/4.5 ; – (peptide_2amide) | medium (empirical median 0.22; base peak in 28%) | any N-alkyl pyrrolidine fragment; empirical P(70|>=2 amides)=0.18 vs 0.04 background in a synthetic-dominated sample | Mascot help (nominal 70); exact mass computed; biosyn table snippet 70.06568 | high | | 44 | Peptides (Leu/Ile) | Leu/Ile immonium (indistinguishable) | C5H12N+ | 86.0964 | + | [M+H]+ | 0.200/0.0087/23 ; – (peptide_3amide) | low-medium | empirical LR+ only 1.1 in enveda-180-dominated sample (many N-alkyl amines) | Mascot help; biosyn table 86.09698 | high | | 45 | Peptides (Phe) | phenylalanine immonium | C8H10N+ | 120.0808 | + | [M+H]+ | 0.070/0.0176/3.9 ; – (peptide_2amide) | medium-high | collides exactly with pyrrolizidine necine ion 120.0808 and phenethylamine fragments; empirical LR+ 0.7 (!) in synthetic-rich sample | Mascot help; PMC10572649 (PA 120.0807) | high | | 46 | Peptides (Tyr / His / Trp / Val) | immonium ions | C8H10NO+ | 136.0757 | + | [M+H]+ | – | medium | Tyr 136.0757; His 110.0713; Trp 159.0917; Val 72.0808 | Mascot help; biosyn table (136.0762/110.0718 nominal-rounded) | high | | 47 | Glycerolipids / phospholipids | fatty-acid neutral loss [M+H-RCOOH]+ and acylium RCO+ | C16H32O2 | 256.2402 | + | [M+H]+, [M+NH4]+, [M+Li]+ (Li: exclusive RCOOH loss); sn-2 acylium > sn-1 | – | high | chain-length ladder is pitch-fixed per acyl; lipids are not NPs for this challenge but present in train | AOCS lithiated acylglycerol review (snippet); LipidMS idDGpos doc (snippet); PS sn-position snippet | medium | | 48 | Phosphatidylcholine / sphingomyelin | phosphocholine head-group ion | C5H15NO4P+ | 184.0733 | + | [M+H]+ base peak | – | very high | formant-like: identical for every PC/SM regardless of chains | PIS m/z 184 for PC/SM (snippet, standard practice) | high | | 49 | Phosphatidylethanolamine | phosphoethanolamine head-group loss | C2H8NO4P | 141.0191 | + | [M+H]+ | – | high | | NL 141 for PE (snippet, standard practice) | high | | 50 | Coumarins / furanocoumarins | successive CO losses (x1, x2) and CO2 loss from lactone | CO | 27.9949 | + | [M+H]+: e.g. xanthotoxin 217 -> 189 [M+H-CO]+, 161 [M+H-2CO]+; bergapten lacks 189/161 (isomer-diagnostic); bergaptol 159 [M+H-CO2]+ >> 175 [M+H-CO]+, reversed for xanthotoxol | 0.049/0.0076/6.5 ; 0.071/0.0088/8 (coumarin) | medium-high | CO loss generic for lactones/chromones/flavonoids; 2xCO more coumarin-specific | Eur J Mass Spectrom furanocoumarin study (ejms.1070, snippet) + Sigma tech-doc snippet | medium | | 51 | Methoxy-coumarins (negative) | [M-H-CH3-CO]- and [M-H-CH3-CO2]- | C2H3O | 43.0184 | - | [M-H]-; isoimperatorin shows 226/210, imperatorin does not | – | medium | as methoxy-aryl rule | same source (snippet) | medium | | 52 | Lignans / neolignans (guaiacyl units) | guaiacyl anions m/z 137.0608 (C8H9O2-) and 151.0401 (C8H7O3-) | C8H9O2− | 137.0608 | - | [M-H]-; negative mode gives more diagnostic ions than positive | – ; 0.019/0.0037/5.2 (guaiacyl) | medium | same ions from ferulic/vanillic acid derivatives, phenylpropanoid glycosides, lignin oligomers | lignin-oligomer ESI-CAD-MSn sequencing (cngb snippet: guaiacyl ions m/z 137/151 from 8-O-4, 8-1, 8-5, 8-8 linkages); chemrxiv neolignan study (snippet) | medium | | 53 | Carboxylic acids (any class) | CO2 loss (-) / HCOOH loss (+) | CO2 | 43.9898 | - | [M-H]-: empirical P=0.30 vs 0.003 background, LR+ 110; [M+H]+: HCOOH 46.0055 P=0.15, LR+ 79 | 0.030/0.0020/14.8 ; 0.282/0.0155/18.2 (carboxylic_acid) | high | generic functional-group timbre, not class timbre | empirical this file; SIRIUS common-loss list (q8 channel) | high | | 54 | Sulfated metabolites (marine NPs, phase-II) | SO3 loss | SO3 | 79.9568 | - | [M-H]- | – | high | HSO4- 96.9601 fragment; not individually verified in this session | Ma 2014 147-NL corpus (abstract/corpus only) | low-medium | | 55 | Phosphorylated metabolites | H3PO4 loss / HPO3 loss | H3PO4 | 97.9769 | +/- | both; PO3- 78.9591 / H2PO4- 96.9696 in negative | – | high | per Ma 2014 NIST11 statistics H3PO4 loss carries ~4.4 bits (q8 channel) | Ma 2014 (via q8 channel note); not re-verified here | medium |
Rows that the brief asked for but that this session could not support: the flavonol radical ion "152.0106" (computed C7H4O4−• = 152.0115; observed in 0.6–0.9 % of flavone/flavonol [M−H]− spectra vs 0.5 % background, LR+ 1–2 — i.e. no signal); a "1,3-diketone cleavage" rule for polyketides (no citable source opened); and C4H8 (56.0626) prenyl loss (not tested).
3. Tools that already do timbre recognition (Q2)
| Tool | What it encodes | Reported numbers (source opened) |
|---|---|---|
| MS2LDA / Mass2Motifs (van der Hooft 2016 PNAS; MS2LDA 2.0 Nat Commun 2026, PMC13473578) | LDA topics over binned fragments + neutral losses = "chord templates" | MotifDB curated sets: urine-derived 101, GNPS-library 73, MassBank-library 42 Mass2Motifs (MS2LDA 2.0 text). Automated annotation (MAG, Spec2Vec-based) reaches mean substructure-overlap score 0.72 / median 0.75 on the 101 urine motifs, 20 exact matches. MS2LDA 1 manual annotation of 30 motifs "required several days of expert time"; 400 motifs on 87,899 GNPS Suspect spectra: 3.46 h (v2) vs 20.51 h (v1). A search-engine snapshot of ms2lda.org/motifdb (page returned 503 twice) lists 134 urine, 78 GNPS, 66 Euphorbia motifs — unverified. |
| MESSAR (Liu et al. 2020 PLoS One, PMC6964822) | 8,378 "feature(s) → substructure" association rules mined from GNPS, filtered at recall threshold for 1 % FDR | 26 of 28 expert-annotated Mass2Motifs matched a MESSAR rule; on average 40 % of recall-selected rules predicted the correct substructure; best for polycyclic aromatics, indoles, chlorobenzenes. |
| MolNetEnhancer (Ernst 2019 Metabolites, PMC6680503) | propagates ClassyFire classes of library/in-silico hits across molecular families + Mass2Motif overlay | Marine bacteria: 5,930 nodes → 300 Mass2Motifs, 40 annotated; Xenorhabdus/Photorhabdus: 6,228 nodes → 300 motifs, 46 annotated (32 peptidic, 11 linked to known peptides). Class score = % of family nodes with that class — "consistency, not confidence". |
| CANOPUS (Dührkop 2021 Nat Biotechnol) | CSI:FingerID fingerprint → DNN → 2,497 ClassyFire classes ("instrument classifier") | Abstract: average accuracy 99.7 % in cross-validation, beats four baselines. Extended Data Fig. 1: MCC reported for the 782 of 2,497 classes with ≥50 positives. Supplementary Table 5 holds per-class performance on an independent set (XLSX, not opened). Preprint-era snapshot (unverified against full text): 1,270 classes, 1,094 at ≥99 % accuracy, 370 classes with MCC ≥ 0.8, e.g. phosphocholines 0.954, flavonoid O-glycosides 0.918, pregnane steroids 0.867. Accuracy is inflated by class sparsity; MCC is the honest number. |
| CSI:FingerID / SIRIUS (Dührkop 2015 PNAS abstract via search) | per-bit substructure posteriors (learned timbre bits) | 34.4 % top-1 on PubChem vs 13.8 % FingerID; 68.5 % on bio-database vs 59.5 % MAGMa / 57.4 % CFM-ID. |
| MS-FINDER HR rules (Tsugawa 2016 Anal Chem, via search) | nine hydrogen-rearrangement rules + bond energies | explain 78.4 % of 18,506 MassBank and 84.8 % of 36,370 GNPS fragment ions; formula 98.0 % on 5,063 MassBank records; correct isomer within top-3 for 82.1 %. |
| MS2Analyzer (Ma 2014 Anal Chem, abstract) | 147 literature neutral losses → substructures | 92.1 ± 6.4 % of 13 typical NLs (acetylation, glycosylation, cysteine conjugates…) correctly annotate the substructure on 19,329 NIST11 spectra; "absence of a feature does not imply absence of the substructure". |
| Spec2Vec (Huber 2021 PLoS Comput Biol) | word2vec over peaks/losses; learns co-occurring partials | trained on 95,320 spectra; ~60 % of unknown-compound queries return top-10 hits with structural similarity > 0.6; best for > 400 Da (mean Tanimoto of best hit > 0.8). No per-class table. |
| ZODIAC (Ludwig 2020 Nat Mach Intell, Jena pages via search) | Gibbs sampling over formula candidates across a dataset | halves SIRIUS formula error rate; 16.2–16.5-fold fewer errors on a plant extract with most compounds > 700 Da. Formula only — no class timbre. |
| Mass-difference networks (Tziotis 2011, via reviews) | edges = exact mass differences (CH2, O, H2, C6H10O5 …) between MS1 features | formula propagation from one annotated node; no published accuracy in the sources opened. Needs a sample-wide feature list — the hidden test provides isolated compounds, so MDiN is inapplicable. |
Negative finding (Q2): none of these tools publishes a per-NPClassifier-pathway structure identification accuracy; CASMI 2022 and the ViT isomer study are the only class-level numbers found.
4. Per-class identification difficulty (Q3)
| Setting | Metric | Numbers | Source |
|---|---|---|---|
| CASMI 2022 (priority submissions, ~249 challenges) | adduct / formula / ClassyFire class / 2D structure correct | Dührkop 93 / 94 / 69 / 26 %; Nothias 92 / 93 / 60 / 25 %; Nikolic-KUCA 94 / 84 / 10 / 38 %; Tsugawa 89 / 75 / 57 / 12 %; Rutz 71 / 91 / 60 / 25 %. "For several challenges the class could not be determined by ClassyFire." | fiehnlab.ucdavis.edu/casmi/casmi-2022-results |
| MassSpecGym retrieval (231 k spectra, 29 k molecules, MCES-disjoint split) | hit@1 / @5 / @20 | MIST mass-window 14.64 / 34.87 / 59.15 %; formula-window 9.57 / 22.11 / 41.12 %; FFN 2.54 / 7.59 / 20.00 (mass); random 0.37 / 2.01 / 8.22. De novo top-1 = 0 % for all baselines. No per-class breakdown in the paper. | arXiv 2410.23326 (HTML) |
| MIST (Nat Mach Intell 2023) | vs CSI:FingerID | fingerprint better on > 70 % of standards; retrieval equal-or-better for 66 %, strictly better 29 %. No per-class breakdown accessible. | Europe PMC abstract PPR590485 |
| Flavonoid-glycoside positional isomers (ViT on QTOF MS/MS, 18 standards, 3-O/7-O/4′-O/6-C/8-C) | accuracy / per-class F1 | test (n = 1,745) 84.7 %; standards (n = 25) 96.0 %; F1 3-O 0.922, 7-O 0.899, 6-C 0.893, 4′-O 0.760, 8-C 0.720 (precision 0.60). Diagnostic for 6-C: [M+H−4H2O]+. | PMC11644359 |
| Flavonol 3-O vs 7-O glycosides, negative mode | qualitative | 3-O: abundant radical aglycone [Y0−H]−•, increasing kaempferol < quercetin < myricetin; 7-O (kaempferol-7-O-neohesperidoside): minor; flavanone-7-O-glycosides: none; luteolin-4′-O-glucoside: aglycone only. | Hvattum & Ekeberg 2003 (abstract) |
| Hexose epimers (Glc vs Gal anthocyanins) | qualitative | identical CID fragment and comparable IM-MS drift time; only IRMPD or Mn2+ complexation separates them. Irrelevant for the metric: Glc/Gal glycosides share the InChIKey14. | uniroma1 record (search snippet) |
| Terpenoids | — | no per-class structure accuracy found in any opened source; SIRIUS documentation states stereochemistry is "beyond the power of automated search engines". | SIRIUS docs (search) |
| Peptides/depsipeptides | — | no per-class number found; MolNetEnhancer shows peptidic motifs are the easiest to annotate as peptidic (32 of 46 annotated motifs). | PMC6680503 |
5. Do chords decompose? (Q4) — the empirical answer
Treat a glycoside as a chord: aglycone note + sugar note(s). Three measurable questions: (i) is the sugar partial (162 loss) present independently of the aglycone and of pitch? (ii) is the aglycone partial (RDA ion) unchanged when a sugar is attached? (iii) is the sugar note itself audible?
- Presence is roughly additive, intensity is not. P(162 loss | terminal O-hexoside) = 0.144 in [M+H]+ and 0.318 in [M−H]− at ≥5 %, versus 0.003/0.007 background (LR+ 46/48) — the partial is there regardless of what the aglycone is (flavonoid, phenylpropanoid, triterpene, iridoid, steroid). When it is present its median relative intensity is 1.0 (+) / 0.65 (−) and it is the base peak in 56 % (+) / 41 % (−) of cases. But across all hexoside spectra the M−162 ion is the base peak in only 8.6 % (+) / 15.7 % (−). The textbook "Y0 dominates" describes high-CE QTOF spectra of flavonoid monoglycosides, not the aggregated library.
- The overtone fades with pitch. P(162 | hexoside) by precursor m/z in [M+H]+: 300–400 Da 0.19, 400–500 0.33, 500–600 0.13, 600–800 0.04, 800–1200 0.02; in [M−H]−: 0.55 → 0.50 → 0.22 → 0.18 → 0.13 → 0.015 (>1200). Bigger molecules have more sugars (first loss is often 146/132, or a 308/324 unit) and more vibrational degrees of freedom at the same lab-frame CE, so the single-hexose partial is quieter. A note's overtone ratios are pitch-invariant; this one is not.
- Sugars mute the aglycone. P(RDA 153.0182 | flavone/flavonol, no sugar ring) = 0.130 vs 0.077 with a sugar ring ([M+H]+); in [M−H]− 0.203 vs 0.149. Attaching a sugar roughly halves the chance of hearing the aglycone's A-ring partial at the same threshold — energy partition, i.e. masking.
- The sugar note is silent in positive mode. The hexose oxonium ion 163.0601 appears in only 4.6 % of hexoside [M+H]+ spectra (LR+ 9.6); in negative mode the 161.0455 anion is at 10 % (LR+ 18). One only hears the sugar by what it took away. Glc vs Gal, 1→2 vs 1→6, and 3-O vs 7-O are never heard as which partials exist, only (sometimes) as dynamics — Hvattum's radical/aglycone ratio.
- C- vs O-glycosides decompose cleanly. The cross-ring 120.0423 loss fires in 26 % (+) / 44 % (−) of C-hexoside spectra and in only 0.6 % / 2.6 % of O-hexoside spectra (LR+ vs O-hexosides ≈ 45/17). This is the one glycoside sub-question where the timbre is almost binary.
- Glucuronides are the loudest sugar. 176.0321 loss: P = 0.38 in both polarities, background 0.14 %, LR+ ≈ 270, base peak in 70 % of hits; the [M−H]− anions 175.0248 (LR+ 130) and 113.0244 (P = 0.53, LR+ 20) add a formant-like fingerprint.
Why only 14 %? (follow-up on all 44,326 terminal-O-hexoside spectra, 1,685 structures.) The low mean is a library and dynamics artefact, not chemistry. In [M+H]+ (30,286 spectra, 1,410 IK14): RIKEN contributes 64 % of the spectra with P(162 ≥5 %) = 0.073 (13 % of them have a single peak, 25 % ≤ 3 peaks), whereas GNPS 0.29, MassBank 0.38, Pluskal 0.34, MS-DIAL 0.23 and the 27 timsTOF enveda-np-examples spectra 0.37 (0.78 for any sugar loss ≥1 %). By collision energy: 1–15 eV 0.20, 16–30 eV 0.16, 31–50 eV 0.14, > 50 eV 0.036 — at high CE the Y0 ion has itself dissociated, so the partial exists only in a dynamics window. By sugar count: mono-glycosides 0.25, di- 0.05, tri- 0.02, tetra- 0.017 (any sugar loss: 0.31 / 0.18 / 0.09 / 0.04). Per molecule, 54 % ([M+H]+) and 66 % ([M−H]−) of hexoside structures show some sugar loss ≥1 % in at least one train spectrum. Spot checks: apigenin-7-O-glucoside 0.65 (+) / 0.62 (−); isoquercitrin/hyperoside 0.41 / 0.58; arbutin 0.10 / 0.73; salicin 0.00 / 0.93 (its [M+H]+ Y0 ion is unstable and goes on to the hydroxybenzyl cation). In [M−H]− the picture is uniformly louder: overall 0.31 (0.37 at ≥1 %), QTOF 0.40, Orbitrap 0.32, ion traps 0.08, 16–30 eV 0.49, mono-glycosides 0.42.
Verdict: a glycoside spectrum is a chord whose membership can be read additively (sugar type and count, C vs O), but whose dynamics are nonlinear (masking of aglycone partials, pitch-dependent fading) and whose sugar identity/position is inaudible to the metric's resolution except as ratios that need standards and a fixed instrument.
6. Classes with no useful timbre (Q5)
| Class / substructure | Tested feature | Empirical | Reading |
|---|---|---|---|
| Steroid 4-ring skeleton (n = 1,628 / 892 spectra) | water loss 18.0106 | P = 0.139 (+) vs 0.054 background, LR+ 2.6; (−) LR+ 1.5 | water loss is the most common NL in MS/MS (5.5 % of all [M+H]+ spectra in the sample); zero class information. Terpenoid hydrocarbons and polyols give only H2O/C5H8 ladders. |
| Oleanane/ursane triterpene acids | aglycone ions 455/437/409 | SMARTS matched 0 of 263,434 train structures (the strict all-ring SMARTS was too tight; the 455.3520 ion itself appears in 0.07 % of spectra) | the triterpene-saponin timbre exists in the literature (PMC6273444, PMC6680687) but is not learnable from this train file. Oleanolic vs ursolic (different InChIKey14) give identical ions; only the 437/455 ratio hints (quinoa saponin snippet). |
| Simple phenols | CO loss | P = 0.019 vs 0.007 (LR+ 2.6) | CO loss is near-universal for carbonyls/phenols. |
| Coumarins (n = 1,812 / 1,033) | CO, CO2 losses; m/z 147.0441 / 163.0390 | LR+ 6.5 / 8.3 / 9.1 / 4.0 | weak; furanocoumarin isomers are distinguished by which of 189/161/159/175 appear (ejms.1070 snippet), i.e. by dynamics not by membership. |
| Lignans / guaiacyl aromatics (n = 9,469, [M−H]−) | guaiacyl anions 137.0608 / 151.0401 | P = 0.019 / 0.014, LR+ 5.2 / 2.0 | the SMARTS covers every methoxyphenol (10.6 % of train structures), and the ions are shared with phenylpropanoids. |
| Peptides (≥2 amide bonds, n = 2,929) in the train distribution | immonium 70/86/120 | LR+ 4.5 / 9.9 / 3.9; ≥3 amides: 86.0964 LR+ 23 | the background is full of enveda-180 synthetic amines that give the same immonium-type ions, and 120.0808 is exactly the pyrrolizidine necine ion. Peptides are recognised by residue-mass spacings (b/y series), which are pitch-dependent — not by timbre. |
| Long-chain acyl (C8+, n = 1,403) | tropylium 91.0542 | LR+ 0.4 | tropylium is a generic benzyl ion (14 % background). Saturated lipids give only acyl/chain ladders. |
| Stereoisomers of saponins, Glc/Gal, Leu/Ile | — | — | silent; Glc/Gal and Leu/Ile are forgiven by the InChIKey14 metric (same connectivity), oleanane/ursane and rutinose/neohesperidose are not. |
7. Forced analogy: music theory — timbre as a fragmentation pattern
Statement. A note's timbre is the set of overtone ratios (f, 2f, 3f …) with characteristic relative amplitudes, so a clarinet is recognisable at any pitch. Map: precursor m/z = pitch; neutral-loss masses = overtone ratios (pitch-invariant: 162.0528 is 162.0528 whether the precursor is 300 or 1,200); diagnostic fragment m/z = formants (pitch-fixed resonances: 124.1121 is always 124.1121); relative intensities = overtone amplitudes; collision energy = dynamics; a glycoside = a chord of aglycone + sugar notes; Mass2Motifs = chord templates learned unsupervised; CANOPUS = an instrument classifier working from a learned spectral envelope.
Where it holds (measured). Pitch-invariant partials exist and are strong for a handful of substructures: sugars (LR+ 22–275), C-glycoside cross-ring (66–76), carboxylate CO2 (18, −), aryl-OMe CH3• (35, −), isoprene (27–42), acetyl (9–11). Formants exist for tropane (124.1121, LR+ 42, base peak in a third of hits), desosamine (158.1176, LR+ 369), indole (144.0808, LR+ 9.7), glucuronide anions (113/175). These are the "instruments" a classifier can name from one note.
Where it partially holds. Chord membership decomposes additively (Section 5), amplitude does not: attaching a sugar halves the aglycone's RDA partial; the sugar partial fades with pitch (0.33 → 0.02 across 400 → 1,000 Da) because fragmentation competes among more channels. In music, overtone ratios are fixed by the physics of the string; here the "ratios" are fixed but the amplitudes depend on what else is attached and on pitch. Dynamics (CE) does not just scale amplitudes, it changes which partials exist — the hidden test's merged multi-CE spectra are a chord played at every dynamic at once, which actually helps: a partial that exists at any CE is present in the merge.
Where it breaks. (1) The sugar note is silent in positive mode — a neutral loss is heard only as what is missing; music has no subtractive partials. (2) Charge-site dependence: the same molecule ionised as [M+H]+, [M+Na]+ or [M−H]− has a different timbre (sodium adducts barely cleave the glycosidic bond; negative mode shows CO2/CH3• losses that positive mode does not); there is no musical equivalent of the same instrument sounding different depending on which end you hold. (3) Mass collisions: 120.0808 is Phe's immonium ion and the pyrrolizidine necine ion, 138.0913 is scopolamine's ion and heliotrine's, 137.0597 is a benzylisoquinoline β-cleavage ion and a guaiacyl cation — a formant shared by unrelated instruments. (4) Even-electron rule violations (CH3• losses) are "overtones that should not exist" and are under-predicted by bond-breaking simulators.
Concrete, testable reranking idea derived from the analogy. Treat each rule as a timbre bit with empirically calibrated likelihood ratios and sum log-LRs per candidate inside the ±10 ppm formula window (Section 8). This is what CSI:FingerID does with learned bits; the point of the hand-built version is that the LRs here were measured on the train distribution, so they can be re-measured per instrument family and per CE bin (a per-instrument timbre calibration) and applied to candidates that no fingerprint model has seen (analogs, de-novo SMILES). Second idea from the "pitch fading" result: make the LR of a neutral-loss rule a function of precursor mass (the 162 rule is worth ~log 46 below 500 Da and ~log 10 above 800 Da); a constant-weight rule over-penalises large glycosides that did not show the loss.
Verdict. Partially holds. The analogy correctly predicted that losses are pitch-invariant and ions are formant-like, and it produced two testable rules. It fails on intensity additivity and on the silent/charge-dependent notes, which is exactly where the identification errors live (position, linkage, skeletal isomers).
8. Actionable: trigger → reranking rule (Q6)
Scoring: for candidate c in the formula window, add Σ_rules [f fires]·log(P(f|s_c)/P(f|¬s_c)) + [f silent]·log((1−P(f|s_c))/(1−P(f|¬s_c))), with s_c from the SMARTS. Silent features contribute little (LR− 0.6–0.9), so the rules can only promote candidates, which is the safe direction. Figures are from the stratified train sample (±5 mDa, ≥5 %), [M+H]+ / [M−H]−.
| # | Trigger in spectrum | Candidate test (SMARTS) | Action | LR+ (+ / −) | LR− | False-positive notes |
|---|---|---|---|---|---|---|
| R1 | NL 162.0528 ±5 mDa, ≥5 % | O-[CH]1-O-[CH](-[CH2]-O)-[CH](-O)-[CH](-O)-[CH]1-O (O-hexopyranoside) |
+log 41–45 to candidates with ≥1 match; mass-dependent: use 46 below 500 Da, 10 above 800 Da | 41 / 45 | 0.90 / 0.79 | caffeoyl loss C9H6O3 = 162.0317 (21 mDa away) — keep tolerance ≤10 mDa; 0.3 % of non-hexoside spectra fire |
| R2 | NL 146.0579 | [!#1;!$(C=O)]-O-[CH]1-O-[CH](-[CH3])-[CH](-[OH])-[CH](-[OH])-[CH]1-[OH] |
+log 32–40 | 40 / 32 | 0.89 / 0.87 | p-coumaroyl C9H6O2 = 146.0368 (21 mDa) |
| R3 | NL 132.0423 | [!#1;!$(C=O)]-O-[CH]1-O-[CH2]-[CH](-[OH])-[CH](-[OH])-[CH]1-[OH] |
+log 22 | 22 / 24 | 0.92 / 0.88 | furanose/apiose not covered by SMARTS; extend with 5-ring variant |
| R4 | NL 176.0321, or anions 175.0248 / 113.0244 (−) | [!#1;!$(C=O)]-O-[CH]1-O-[CH](-C(=O)-[OH])-[CH](-[OH])-[CH](-[OH])-[CH]1-[OH] |
+log 265–275 (NL); +log 130 (175); +log 20 (113) | 275 / 265 | 0.62 / 0.62 | feruloyl C10H8O3 = 176.0473 (15 mDa); strongest single rule in the set |
| R5 | NL 120.0423 and/or 90.0317 without 162.0528 | c-[CH]1-O-[CH](-[CH2]-O)-[CH](-O)-[CH](-O)-[CH]1-O (C-hexoside) |
+log 66–76; additionally −log 3 for O-hexoside-only candidates | 66 / 76 | 0.74 / 0.56 | O-hexosides fire at 0.6 % (+) / 2.6 % (−) |
| R6 | NL 324.1056 (or 308.1107) | ≥2 pyranose rings (count matches of [CH]1(-O-[#6])-O-[CH,CH2]-[CH](-O)-[CH](-O)-[CH]1-O) |
+log 77–199 for candidates with ≥2 sugar rings | 77 / 199 | 0.97 / 0.95 | rare (3–6 % of di-glycosides) but almost noise-free |
| R7 | m/z 153.0182 (+) or 151.0037 (−) | 5,7-dihydroxy chromone/chromanone: O=c1cc(-c2ccccc2)oc2cc(O)cc(O)c12, O=C1CC(-c2ccccc2)Oc2cc(O)cc(O)c12, flavonol/isoflavone variants |
+log 15 (flavone/flavonol), +log 36 (flavanone), +log 8 (isoflavone) | 15 / 13 | 0.90 / 0.84 | 0.7–1.5 % background (xanthones, chromones, acylphloroglucinols); glycosylated flavonoids fire at only ~60 % of the aglycone rate |
| R8 | m/z 124.1121 | C1CC2CCC(C1)N2 (tropane) |
+log 42 | 42 / – | 0.77 | N-methylpiperidine/pyrrolidine fragments; empirical background 0.55 % |
| R9 | m/z 138.0913 | tropane-6,7-epoxide or pyrrolizidine necine C1CC2CCCN2C1 |
+log (not separately measured) | – | – | scopolamine and heliotrine/europine give the identical quantifier ion (Foods 2023 table) — rule must accept both classes |
| R10 | m/z 144.0808 and 130.0651 both | c1ccc2[n,nH]ccc2c1 (indole) |
+log 9.7 (144) + log 5.9 (130); treat as one rule to avoid double counting | 9.7 / 5.9 | 0.84 / 0.76 | tryptophan-containing peptides and quinolines |
| R11 | m/z 158.1176 | CN(C)[CH]1[CH](O)[CH](O[#6])O[CH](C)[CH2]1 (desosamine) |
+log 369 | 369 | 0.47 | cladinose NL 158.0943 is 23 mDa away — do not confuse |
| R12 | m/z 192.1019 | 6,7-dioxygenated 1-benzyl-tetrahydroisoquinoline (COc1cc2CCN(C)C(Cc3ccccc3)c2cc1O family) |
+log ~9 (generic isoquinoline SMARTS); likely ≫ with the specific SMARTS (base peak in 22–55 % of hits) | 8.8 | 0.97 | measured against a generic isoquinoline SMARTS; re-measure with the specific one |
| R13 | NL 15.0235 (odd-electron product) | c-O-[CH3] or [N+]-[CH3] |
+log 35 (−), +log 12 (+) | 12 / 35 | 0.97 / 0.85 | N-CH3 amines also fire; in-silico fragmenters under-predict this loss |
| R14 | NL 43.9898 (−) / 46.0055 (+) | C(=O)[OH] |
+log 18 (−), +log 24 (+) | 15 / 18 | 0.99 / 0.73 | 15 % of train structures are acids; only useful inside a window where acids and non-acids compete |
| R15 | NL 42.0106 or 60.0211 | [#6;!$(C=O)]-O-C(=O)-[CH3] |
+log 10 | 10 / 10 | 0.95 / 0.90 | N-acetyl also gives ketene; C3H6 (42.0470) is 36 mDa away |
| R16 | NL 68.0626 | [CH3]C(=[CH])[CH3] (prenyl/isoprenyl) |
+log 27 (+) / 42 (−) | 27 / 42 | 0.92 / 0.97 | pentenyl chains |
| R17 | m/z 70.0651, 86.0964 (and residue-mass spacings 99.0684/113.0841/…) | ≥3 amide bonds [NX3][CX4]C(=O)[NX3][CX4]C(=O)[NX3][CX4]C(=O) |
+log 6 (70), +log 23 (86); do not use 120.0808 | 6.3 / 23 | 0.82 / 0.81 | synthetic amines and pyrrolizidines; prefer b/y-spacing detection |
| R18 | n × 18.0106 water ladder | — | no action (LR+ ≤ 2.6 for any class tested) | – | – | use only for adduct/formula sanity |
| R19 | absence of any sugar loss | — | no down-weighting of glycoside candidates (LR− 0.6–0.9); at most −log 1.3 for large (> 800 Da) candidates where any-sugar recall is higher in negative mode | – | – | 86 % of hexoside [M+H]+ spectra show no 162 loss at ≥5 % |
Expected effect: the rules re-order candidates only inside a formula window where substructure-positive and -negative isomers coexist (q6 reports median 36, p90 204 candidates at ±10 ppm). Because fingerprint models trained on the same libraries already encode these bits, the gain on library-like candidates should be small; the gain is expected on analog-enumerated and de-novo candidates and as a calibration prior. Size of the gain is unmeasured — the test protocol is in Section 10.
9. Gotchas / what could fool us
- The timsTOF stratum of train has no NP timbre. The first 100,000 timsTOF spectra read (all enveda-180) contained 0 hexosides and 5 flavones; across the whole file only 27 ([M+H]+) and 21 ([M−H]−) timsTOF spectra are terminal O-hexosides, versus 2,883/3,410 on Orbitrap/QTOF. Any model learns the glycoside/flavonoid/saponin timbre from other instruments' CE calibration, resolution and intensity floors, then meets it for the first time on timsTOF in the hidden test. The 27/21 timsTOF hexoside spectra do fire the 162 rule at 0.37/0.81, so the timbre transfers, but nothing in train tells us the timsTOF amplitudes.
- Mass collisions at nominal mass. Hydroxycinnamoyl esters mimic sugars: caffeoyl 162.0317 vs hexose 162.0528 (21 mDa), coumaroyl 146.0368 vs deoxyhexose 146.0579 (21 mDa), feruloyl 176.0473 vs glucuronide 176.0321 (15 mDa); desosamine ion 158.1176 vs cladinose loss 158.0943 (23 mDa); ketene 42.0106 vs propene 42.0470; CO 27.9949 vs N2 28.0061 (11 mDa); malonyl 86.0004 vs C4H6O2 86.0368. A 10 ppm window on a 600 Da precursor is 6 mDa — fine; a 0.02 Da bin (MS2LDA ToF default 0.01 Da bin width) is not.
- Shared formants across unrelated classes: 120.0808 (Phe immonium = pyrrolizidine necine), 138.0913 (scopolamine = heliotrine), 137.0597 (benzylisoquinoline = guaiacyl/feruloyl), 130.0651 (indole = Trp residue in peptides), 91.0542 (any benzyl).
- Absence is not evidence. P(no 162 | hexoside) = 0.86 in [M+H]+. Low-CE single spectra, precursor-dominated spectra and multi-glycosides all stay silent. Hard-filtering on a missing loss would discard most true glycosides (compare MS-FINDER's 78–85 % explained-ion rate: hard structural filters discard 15–22 % of true answers, q8 channel).
- "Typical relative intensity" is a library property, not a molecular one.
ms2_normalized_intensitiesis base-peak-normalised; the precursor is often the base peak; noise floors differ byingest_lib(q8 broadcast). The hidden test merges several CE values per spectrum, which raises recall of every partial relative to single-CE train rows and lowers their relative intensities. - Stratified LRs are transferable, PPVs are not. P(f|sub) and P(f|¬sub) above are conditional and survive re-weighting; "PPV" and "prevalence" in the JSON describe the sample. The background in the hidden test (natural products) contains more glycosides and phenolics than the enveda-180-heavy background here, so false-positive rates for sugar rules will be higher in the test population.
- Double counting. A fingerprint model trained on the same public libraries has already learned the 162-loss → hexose bit; adding R1 to its score counts the same evidence twice and over-sharpens the posterior (q5 channel: independence-assuming combiners stop helping at scorer correlation ≈ 0.6). Add the rules as a calibrated prior for candidates the model has not seen (analogs, de novo), or fit a single stacker.
- Even-electron rule violations. CH3• losses (LR+ 35 in negative mode for aryl-OMe) are real and common in NP spectra; bond-cleavage simulators built on the even-electron rule under-generate them, so a simulator-based reranker is biased against polymethoxylated flavonoids, isoquinoline alkaloids and lignans.
- The metric forgives some silent notes and not others. Glc/Gal, Leu/Ile, D/L, anomers: same InChIKey14 — no loss. Rutinoside vs neohesperidoside, 3-O vs 7-O, 6-C vs 8-C, oleanane vs ursane: different InChIKey14 and inaudible or barely audible — these set the MRR ceiling for glycoside- and terpene-rich test sets.
- CANOPUS "99.7 % accuracy" is a sparsity artefact; the paper itself reports MCC per class for only 782 of 2,497 classes with ≥50 positives, and CASMI 2022's best class score with real unknowns was 69 %.
- SMARTS coverage drives measured LRs. The oleanane SMARTS matched nothing (too strict), the isoquinoline SMARTS matched everything (too loose, so the 192.1019 formant looked weak). Rules must be re-measured with the SMARTS actually deployed.
10. Implications for the challenge
- Ship the 19 rules of Section 8 as a soft log-LR prior inside the ±10 ppm COCONUT window; cap the total added log-odds per candidate (e.g. ≤ log 300) and never subtract more than log 1.5 for silence. Deploy with the SMARTS exactly as listed and re-measure LRs with the deployed SMARTS on a scaffold-disjoint fold before use.
- Make neutral-loss LRs precursor-mass dependent (three bins: < 500, 500–800, > 800 Da) — the measured 162-loss sensitivity falls from 0.33 to 0.02 across these bins in [M+H]+.
- Build the validation fold from the NP-class positives of non-timsTOF libraries plus the 27+21 timsTOF hexoside spectra and the 250 enveda-np-examples molecules; report ΔMRR@25 with a paired bootstrap (q4: SE ≈ 0.02 for 400 molecules), and report a spectrum-blind baseline next to it (q5 gotcha).
- Add the hydroxycinnamoyl-vs-sugar disambiguation (≤10 mDa tolerance, and check for the complementary 163.0390/147.0441/177.0546 acylium ions) before trusting R1–R4; the hidden set is plant-NP-rich and phenylpropanoid esters are common.
- Use merged multi-CE test spectra as-is for rule firing (presence at any CE), but calibrate thresholds on merged spectra, not on single-CE train rows.
- For glycosides, spend slots 6–25 on linkage/position isomers of the same aglycone+sugar set (rutinoside/neohesperidoside, 3-O/7-O/4′-O, 6-C/8-C) rather than on different formulas — the spectrum cannot separate them and the metric does not forgive them (q4 slot-economics).
- Do not build class-specific hard filters for terpenoids, steroids, lipids, coumarins or lignans; their tested features have LR+ ≤ 9. For these classes the ranking has to come from the fingerprint/fragmenter model and from candidate-pool priors.
- Treat tropane 124.1121, desosamine 158.1176, glucuronide 176/175/113 and C-glycoside 120 as "gating" evidence that is strong enough to re-order a whole window (LR+ 40–370).
- Expect peptides/depsipeptides to be identified by residue-mass spacing (b/y ladders), not by immonium timbre; a dedicated spacing detector (differences of 57.0215, 71.0371, 87.0320, 97.0528, 99.0684, 113.0841, 114.0429, 115.0269, 128.0586/128.0950, 129.0426, 131.0405, 137.0589, 147.0684, 156.1011, 163.0633, 186.0793) is cheap and orthogonal.
- Record in every write-up that these LRs come from public libraries dominated by Orbitrap/QTOF and enveda-180 synthetics; the per-instrument "timbre calibration" on timsTOF cannot be done from train and is a candidate for the q8 "crib" transductive estimate on confident test hits.
11. Open questions
- What are the timsTOF-specific amplitudes of the sugar and RDA partials at Enveda's CE settings? (Only 48 timsTOF glycoside spectra in train; the enveda-np-examples set of 250 NPs is the only handle.)
- Does the hydroxycinnamoyl/sugar collision (21 mDa) actually matter at timsTOF accuracy — i.e. what is the empirical MS2 mass error distribution on fragment ions in the enveda-np-examples rows? (q1 may have this.)
- Is the RDA-masking effect (0.13 → 0.08) a CE artefact (glycosides measured at lower CE) or intrinsic? A CE-matched comparison would settle it.
- CANOPUS Supplementary Table 5 (per-class performance on the independent set) and the MIST supplementary were not opened; both may contain the per-class numbers the brief asked for.
- The 152.0106 "radical RDA ion" of the brief could not be reproduced; which paper is its source?
- How much ΔMRR@25 do R1–R19 give on top of a Morgan-fingerprint MLP vs on top of MIST-like models? Unmeasured.
12. Sources (opened unless stated)
- Fiehn Lab, CASMI 2022 results — https://fiehnlab.ucdavis.edu/casmi/casmi-2022-results
- Bushuiev et al. 2024, MassSpecGym, arXiv 2410.23326 (HTML) — https://arxiv.org/html/2410.23326
- Liu, Mrzic et al. 2020, MESSAR, PLoS One 15:e0226770 (PMC6964822, Europe PMC XML) — DOI 10.1371/journal.pone.0226770
- Ernst et al. 2019, MolNetEnhancer, Metabolites 9:144 (PMC6680503) — DOI 10.3390/metabo9070144
- MS2LDA 2.0 (van der Hooft group) 2026, Nat Commun, "Large-scale discovery and annotation of substructure patterns in mass spectrometry profiles" (PMC13473578, Europe PMC XML) — DOI 10.1038/s41467-026-75038-0
- van der Hooft et al. 2016, PNAS 113:13738 (abstract only, Europe PMC) — DOI 10.1073/pnas.1608041113
- Dührkop et al. 2021, CANOPUS, Nat Biotechnol 39:462 (abstract, Extended Data/Supplementary legends via reader proxy; body paywalled) — DOI 10.1038/s41587-020-0740-8; preprint bioRxiv 10.1101/2020.04.17.046672 (rate-limited, not opened; numbers quoted from search snapshots are flagged)
- Goldman et al. 2023, MIST, Nat Mach Intell (abstract via Europe PMC PPR590485; body not opened) — DOI 10.1038/s42256-023-00708-3
- Huber et al. 2021, Spec2Vec, PLoS Comput Biol — DOI 10.1371/journal.pcbi.1008724
- Ludwig et al. 2020, ZODIAC, Nat Mach Intell 2:629 (Jena group pages via search) — DOI 10.1038/s42256-020-00234-6
- Tsugawa et al. 2016, MS-FINDER hydrogen-rearrangement rules, Anal Chem 88:7946 (via search snippets) — DOI 10.1021/acs.analchem.6b00770
- Ma, Kind, Yang, Leon, Fiehn 2014, MS2Analyzer, Anal Chem 86:10724 (abstract, Europe PMC) — DOI 10.1021/ac502818e
- Demarque et al. 2016, Nat Prod Rep 33:432 (abstract only; RSC blocked) — DOI 10.1039/C5NP00073D
- Cuyckens & Claeys 2004, J Mass Spectrom 39:1 (abstract only) — DOI 10.1002/jms.585
- Hvattum & Ekeberg 2003, J Mass Spectrom 38:43 (abstract) — DOI 10.1002/jms.398
- Sun et al. 2024, "Determination of Flavonoid Glycoside Isomers Using Vision Transformer and Tandem Mass Spectrometry", Plants (PMC11644359)
- Luteolin RDA mechanism, Molecules 2022 (PMC8840092, Europe PMC XML)
- Screening for triterpenoid saponins in plants, Metabolites 2018 (PMC6273444, Europe PMC XML)
- Triterpene saponins from Zornia brasiliensis, Molecules 2019 (PMC6680687, Europe PMC XML)
- Qing et al. 2020, isoquinoline alkaloid fragmentation, Sci Rep 10:733 (PMC6970995, Europe PMC XML) — DOI 10.1038/s41598-019-57406-7
- Pyrrolizidine and tropane alkaloids in herbal teas by LC-Q-ToF/MS, Foods 2023 (PMC10572649, Europe PMC XML) — DOI 10.3390/foods12193572
- Alstonia scholaris MIA FBMN study, Plants 2025 (PMC12298960, Europe PMC XML) — DOI 10.3390/plants14142177
- Mascot peptide fragmentation help (immonium table, ion definitions) — https://mascot.biotech.illinois.edu/mascot/help/fragmentation_help.html
- GNPS MS2LDA documentation (bin widths) — https://ccms-ucsd.github.io/GNPSDocumentation/ms2lda/
- Erythromycin fragmentation, Molecules 2026, 31:928 (PDF opened; numbers not extractable from streams)
- Search-snippet-only (not opened; flagged in text): quinoa saponin 437/455 ratio (ScienceDirect S1044030506001875); azithromycin ESI-MSn m/z 158 (bib.irb.hr 476936); furanocoumarin diagnostic ions (Eur J Mass Spectrom, DOI 10.1255/ejms.1070); glucuronide NL 176.0321 (Anal Bioanal Chem, DOI 10.1007/s00216-022-03899-7); vitexin/isovitexin ions (PMC11243344); anthocyanin Glc/Gal epimers (uniroma1 IRMPD record); lignin oligomer guaiacyl ions (cngb.org 16153107); CSI:FingerID 2015 PNAS abstract numbers; ms2lda.org/motifdb set sizes.
- Local data:
C:\Temp\casmi26\data\train.parquet(2,539,608 rows); scriptstimbre_check2.py,glyco_followup.py,rules_table.pyin the session scratchpad; RDKit 2026.03.6, pyarrow 25.0.1. - Hive channels read:
research/_channels/chemistry_x_candidates.md,rules_x_execution.md,serendipity_broadcast.md(q6 window statistics, q8 Ma-2014 bit estimates, q5 combiner result).