SpecTUS: Spectral Translator for Unknown Structures annotation from EI-MS spectra

Adam Hájek, Helge Hecht, Elliott J. Price, Aleš Křenek
2/7/2025
cs.LGphysics.data-an

No official code found. Best implementation: hejjack/SpecTUS (9 stars, last commit 2025-04-24). 1 more below.

Abstract

Compound identification and structure annotation from mass spectra is a well-established task widely applied in drug detection, criminal forensics, small molecule biomarker discovery and chemical engineering. We propose SpecTUS: Spectral Translator for Unknown Structures, a deep neural model that addresses the task of structural annotation of small molecules from low-resolution gas chromatography electron ionization mass spectra (GC-EI-MS). Our model analyzes the spectra in \textit{de novo} manner -- a direct translation from the spectra into 2D-structural representation. Our approach is particularly useful for analyzing compounds unavailable in spectral libraries. In a rigorous evaluation of our model on the novel structure annotation task across different libraries, we outperformed standard database search techniques by a wide margin. On a held-out testing set, including \numprint{28267} spectra from the NIST database, we show that our model's single suggestion perfectly reconstructs 43\% of the subset's compounds. This single suggestion is strictly better than the candidate of the database hybrid search (common method among practitioners) in 76\% of cases. In a~still affordable scenario of~10 suggestions, perfect reconstruction is achieved in 65\%, and 84\% are better than the hybrid search.

View on arXivView PDF

Code Implementations(2)

hejjack/SpecTUSCommunity100%
94Shell, PythonNov 29, 20221 years ago
ljocha/spectus-demoCommunity100%
31Jupyter NotebookFeb 6, 20251 years ago

Similar Papers

Cite this paper

@article{hjek2025spectus,
  title  = {SpecTUS: Spectral Translator for Unknown Structures annotation from EI-MS spectra},
  author = {Adam Hájek and Helge Hecht and Elliott J. Price and Aleš Křenek},
  year   = {2025},
  eprint = {2502.05114},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.05114v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.05114.svg)](https://codeofpaper.com/paper/2502.05114)

Discussion