Kaggle / October–December 2026

Molecule ID from Mass Spectra

An ongoing molecular-identification project combining spectral-library retrieval and learned fingerprint ranking to predict chemical structures from tandem mass spectra.

Ongoing

Public rank
2,794
MRR@25
0.226

As of 23 Oct 2026 View leaderboard ↗

Public leaderboard

The challenge

Enveda CASMI 2026 asks competitors to identify molecular structures from LC-MS/MS measurements. Each molecule can have several spectra; predictions contain up to 25 ranked structures, evaluated by mean reciprocal rank under the competition’s molecular-identity rules.

My approach

Solution notes — reviewed 23 October 2026. Methods, local experiments, and competition standings are identified separately.

Pipeline schematic: MS/MS spectra → Library + FPNet → Candidate gate + rank → Top-25 structures

Open pipeline diagram at full size

Identify structures, not individual spectra

Enveda CASMI 2026 provides tandem mass spectra and asks for up to 25 ranked molecular structures per query molecule. A molecule may have several spectra, so predictions must aggregate evidence at molecule level. The local metric implementation follows the competition’s normalized molecular-identity key and evaluates reciprocal rank, rather than comparing raw SMILES strings as if every representation were a different structure.

The library-search baseline

The first working pipeline searches known reference spectra. It establishes a useful starting point for molecules with close library coverage, but has limited reach for unseen structures. The first recorded public entry scored 0.148. Submission validation checks candidate identity, deduplication, row completeness, and the maximum list length so a ranking experiment cannot accidentally fail on output formatting.

Learning spectrum-to-fingerprint evidence

The owned FPNet implementation consumes up to 128 retained peaks, using m/z values and square-root intensities, together with precursor, adduct, instrument, polarity, and collision-energy information. It predicts fingerprint logits. A candidate fingerprint can then be scored against those logits with a matrix product, providing learned structural evidence even when a direct reference-spectrum match is weak. Training code is retained with the project.

Candidate coverage and a gated ranker

The expanded pool combines training structures with external candidate databases. A good fingerprint model cannot recover a molecule that is absent from the candidate set, so coverage and ranking are evaluated separately. rank.py implements both an additive library/fingerprint combination and a gate: strong library matches are ranked first, while the remaining candidates use the learned evidence. The selected public pipeline used a library threshold of 0.8 rather than adding the same library weight everywhere.

Validation that reflects different failure modes

The structure-disjoint harness distinguishes queries with reference spectra, structures present only in candidate databases, and harder absent-structure cases. It reports retrieval and ranking behavior by group and records held-out comparisons. The experiment log shows that additive combination could damage the easy library-covered group, which motivated gating. The reported validation intervals belong to those saved local comparisons and should not be presented as uncertainty on the public leaderboard rank.

Progress, not a finished solution

Recorded public entries progressed from 0.148 to 0.204 and then 0.226; the 23 October 2026 snapshot is rank 2,794 with three entries. A later listwise fine-tuning idea was prepared but had not run in the reviewed record, so it is not part of the achieved result. The project remains ongoing. Its main lesson is to diagnose missing candidates, weak spectral evidence, and ranking mistakes separately rather than treating every low reciprocal rank as the same modeling problem.

Sources and provenance

The implementation and experiment records for this entry are private. This account summarizes the reviewed local code and logs without publishing private artifacts.

Results & evidence

Public leaderboard checked on 23 October 2026: rank 2,794, MRR@25 0.226, with three submissions. Logged public scores progressed from 0.148 for library search to 0.204 and then 0.226 for fingerprint-assisted retrieval. These are ongoing public results; there is no final private standing yet.

What I learned

Library matching and unseen-structure ranking need different treatment. Candidate coverage limits what even a strong ranker can recover. Small public test sets make score differences noisy, so validation and uncertainty estimates remain central to selecting changes.