DOI: 10.5287/ora-vyqqmdonx
title: SaganMC: A molecular complexity dataset with mass spectra

description: SaganMC: A Molecular Complexity Dataset with Mass Spectra
<br><br>
Summary
<br><br>
SaganMC is a machine learning-ready dataset designed for molecular complexity prediction, spectral analysis, and chemical discovery. Molecular complexity metrics quantify how structurally intricate a molecule is, reflecting how difficult it is to construct or synthesize. 
<br><br>
The dataset includes 406,446 molecules. A subset of 16,653 molecules includes experimental mass spectra. We provide standard representations (SMILES, InChI, SELFIES), RDKit-derived molecular descriptors, Morgan fingerprints, and three complementary complexity scores: Bertz, Böttcher, and the Molecular Assembly Index (MA). MA scores, computed using code from the Cronin Group, are especially relevant to astrobiology research as potential agnostic biosignatures. Assigning MA indices to molecules is compute intensive, and generating this dataset required over 100,000 CPU hours on Google Cloud.
<br><br>
SaganMC is named in honor of Carl Sagan, the astronomer and science communicator whose work inspired generations to explore life beyond Earth. The initial version of this dataset was produced during a NASA Frontier Development Lab (FDL) astrobiology sprint.
<br><br>
Intended Uses
<br><br>
* Train machine learning models to predict molecular complexity directly from molecular structure or mass spectrometry data.<br>
* Develop surrogate models to approximate Molecular Assembly Index (MA) scores efficiently at large scale.
* Benchmark complexity metrics (Bertz, Böttcher, MA) across diverse molecular classes.<br>
* Enable onboard ML pipelines for spacecraft to prioritize high-complexity chemical targets during exploration.<br>
* Explore correlations between molecular complexity and experimental observables such as mass spectra.
* Support AI-driven chemical discovery tasks.<br>
<br>
Available Formats<br>
<br>
CSV<br>
<br>
The original dataset is in CSV format.
<br><br>
* SaganMC-400k (sagan-mc-400k.csv): The full dataset with 406,446 molecules, including structural and complexity features.<br>
* SaganMC-Spectra-16k (sagan-mc-spectra-16k.csv): A 16,653-molecule subset of the full dataset, with experimental mass spectra from NIST.<br>
<br>
Dataset Structure
<br><br>
The data includes 36 columns. A `split` column assigns rows into `train`, `val`, or `test` splits (80/10/10).
<br><br>
Features
<br><br>
* `inchi`: International Chemical Identifier (InChi).<br>
* `inchikey`: Hashed version of the InChI string, used for indexing.<br>
* `selfies`: SELFIES (SELF-referencIng Embedded Strings) representation of the molecule.<br>
* `smiles`: SMILES (Simplified Molecular Input Line Entry System) representation of the molecule.<br>
* `smiles_scaffold`: Murcko scaffold representation extracted from the molecule.<br>
* `formula`: Molecular formula.<br>
* `fingerprint_morgan`: Base64-encoded 2048-bit Morgan fingerprint (ECFP4) with chirality.<br>
* `num_atoms`: Number of heavy atoms (excluding hydrogens).<br>
* `num_atoms_all`: Total number of atoms (including hydrogens).<br>
* `num_bonds`: Number of bonds between heavy atoms.<br>
* `num_bonds_all`: Total number of bonds (including to hydrogens).<br>
* `num_rings`: Number of rings in the molecule.<br>
* `num_aromatic_rings`: Number of aromatic rings in the molecule.<br>
* `physchem_mol_weight`: Molecular weight (Daltons).<br>
* `physchem_logp`: LogP, a measure of lipophilicity.<br>
* `physchem_tpsa`: Topological Polar Surface Area, related to hydrogen bonding.<br>
* `physchem_qed`: Quantitative Estimate of Drug-likeness.<br>
* `physchem_h_acceptors`: Number of hydrogen bond acceptors.<br>
* `physchem_h_donors`: Number of hydrogen bond donors.<br>
* `physchem_rotatable_bonds`: Number of rotatable bonds.<br>
* `physchem_fraction_csp3`: Fraction of sp3-hybridized carbon atoms.<br>
* `mass_spectrum_nist`: Mass spectrum data sourced from the NIST Chemistry WebBook, encoded in JCAMP-DX format as a string. Includes metadata, units, and a peak table.<br>
* `complex_ma_score`: Molecular Assembly Index score (pathway complexity).<br>
* `complex_ma_runtime`: Wall-clock runtime (in seconds) to compute MA score.<br>
* `complex_bertz_score`: Bertz/Hendrickson/Ihlenfeldt (BHI) complexity score.<br>
* `complex_bertz_runtime`: Wall-clock runtime (in seconds) to compute BHI score.<br>
* `complex_boettcher_score`: Böttcher complexity score, based on atom environments.<br>
* `complex_boettcher_runtime`: Wall-clock runtime (in seconds) to compute Böttcher score.<br>
* `synth_sa_score`: Synthetic accessibility score (SAScore)<br>
* `meta_cas_number`: CAS Registry Number, if available.<br>
* `meta_names`: Common names or synonyms for the molecule.<br>
* `meta_iupac_name`: IUPAC name for the molecule.<br>
* `meta_comment`: Optional comments associated with the molecule.<br>
* `meta_origin`: Source or origin information for the molecule.<br>
* `meta_reference`: Reference or source citation for the molecule.<br>
* `split`: Predefined data split (`train`, `val`, `test`).<br>
<br><br>
Data Generation<br><br>

For a detailed description of the data generation details for an earlier version of this dataset, please consult the following technical report:<br><br>

Bell, Aaron C., Timothy D. Gebhard, Jian Gong, Jaden J. A. Hastings, Atılım Güneş Baydin, G. Matthew Fricke, Michael Phillips, Kimberley Warren-Rhodes, Nathalie A. Cabrol, Massimo Mascaro, and Scott Sanford. 2022. Signatures of Life: Learning Features of Prebiotic and Biotic Molecules. NASA Frontier Development Lab Technical Memorandum.<br>
https://oxai4science.github.io/assets/pdf/bell-2022-molecules.pdf
<br><br>
Sources and Tools Used
<br><br>
* ChEMBL: https://www.ebi.ac.uk/chembl/<br>
* RDKit: https://www.rdkit.org/](https://www.rdkit.org/<br>
* Chemical Identifier Resolver, NCI/CADD Group: https://cactus.nci.nih.gov/<br>
* NIST Chemistry WebBook: https://webbook.nist.gov/<br>
* Go code for MA complexity computation, obtained privately from the Cronin group: <br>https://www.chem.gla.ac.uk/cronin/<br>
* Böttcher complexity score code from Boskovic group: <br>https://github.com/boskovicgroup/bottchercomplexity
<br><br>
Citation<br><br>

Please cite the following if you use this dataset:<br><br>

@inproceedings{gebhard-2022-molecular,<br>
 title = {Inferring molecular complexity from mass spectrometry data using machine learning},
 author = {Gebhard, Timothy D. and Bell, Aaron and Gong, Jian and Hastings, Jaden J.A. and Fricke, George M. and Cabrol, Nathalie and Sandford, Scott and Phillips, Michael and Warren-Rhodes, Kimberley and Baydin, {Atılım Güneş}},
 booktitle = {Machine Learning and the Physical Sciences workshop, NeurIPS 2022},
 year = {2022}
}
<br><br>
Acknowledgments
<br><br>
This work was enabled by and carried out during an eight-week research sprint as part of the Frontier Development Lab (FDL), a public-private partnership between NASA, the U.S. Department of Energy, the SETI Institute, Trillium Technologies, and leaders in commercial AI, space exploration, and Earth sciences, formed with the purpose of advancing the application of machine learning, data science, and high performance computing to problems of material concern to humankind.
<br><br>
We thank Google Cloud and the University of New Mexico Center for Advanced Research Computing for providing the compute resources critical to completing this work. GMF was funded by NASA Astrobiology NfoLD grant #80NSSC18K1140. We also thank the Cronin Group at the University of Glasgow for their collaboration, and for providing us with the code for computing MA values.