SECS, repackaged
Propose molecular structures from a molecular formula and one-dimensional proton (1H) NMR data in the input forms listed below.
This service repackages SECS, the work of Adrian Mirza, Luc Patiny, Kevin Maik Jablonka, and upstream contributors. We did not develop the scientific methods or train the supplied model. This repository deploys those methods as an NMR API provider: it selects one uploaded spectrum, obtains a formula from the job instructions or an uploaded structure, prepares the spectrum, retrieves candidate molecules, refines them with a graph genetic algorithm, and returns ranked SMILES for chemical review.
Submit a job
You need access to an NMR API deployment that offers SECS. Use the client supplied by its operator; ask the operator for the client address and access if you do not have them.
Choose the SECS provider and the analysis kind
mol_from_1h_spectrum_formula. Attach one of the spectrum datasets
listed under Input forms and limits. Supply the
molecular formula either verbatim in the job instructions or with an attached
MOL, SDF, or SMILES structure from which it can be calculated. Identify the
intended spectrum, experiment path, and formula source when the choice could
be ambiguous. If SECS is not listed, ask whether that deployment runs this
provider.
How a job runs
- A language-model interpreter receives the job instructions and each upload's name and description. It may request inspection of particular uploads or ZIP members; discovered representation metadata, relationships, annotations, and reading issues are then returned to the same model conversation. The provider does not put raw uploaded files or dense spectrum arrays in that conversation.
- The provider verifies the interpreter's choice of one spectrum, its processing mode, and formula evidence. A formula from the instructions must be an exact quote; a formula calculated from an uploaded structure must cite that discovered structure.
- Processed spectra are decoded as stored; FIDs use the provider's automatic processing path. The selected spectrum is then resampled and normalized on the checkpoint's fixed grid, as defined by the spectrum-preparation code. The model input is limited to that grid, and normalization removes the absolute intensity scale.
- SECS embeds the spectrum, searches the molecular index for nearby entries, keeps entries admitted by its formula-neighborhood rule, and uses a graph genetic algorithm to generate and rank candidates with its spectrum, formula, and molecular-validity objective.
The language-model service therefore receives job text and scientific metadata that may be confidential, even though it does not receive the raw uploads or dense spectrum arrays through this provider. Ask the deployment operator where that service runs and what retention policy applies before submitting confidential information.
Input forms and limits
Preparing a submission
- Multiple uploads
- A job may contain multiple uploads. In the job instructions, name the intended upload or experiment path and formula source.
- Vendor experiment folders
- Keep each Bruker or Varian experiment in one upload. For a folder, use one ZIP with relative paths intact; separate uploads are not joined.
- Dense spectrum required
- Provide dense 1D proton data. Peak tables may be reported but cannot replace a spectrum.
Spectrum data
- Processed JCAMP-DX
- JCAMP-DX XYDATA or NTUPLES. Reads LINK blocks and AFFN, FIX, SQZ, DIF, DIFDUP, and PAC numeric encodings.
- Processed Bruker
- Bruker 1r with its procs file. Keep 1r and procs together in the same pdata directory. The processed pair does not require acqus; include title when present.
- JCAMP-DX FID
- Complex JCAMP-DX FIDs with acquisition parameters.
- Bruker FID
- Bruker fid with acqus and zero group delay. Keep fid and acqus together in one experiment directory. Rejects other group-delay profiles.
- Varian FID
- Varian fid with procpar where reffrq=sfrq and rfl-rfp=sw/2. Keep fid and procpar together in one experiment directory. Rejects other reference profiles.
- Processed JEOL JDF
- Processed JEOL JDF with a ppm axis. Tested only with synthetic files, not instrument output.
- NMRium v21
- NMRium v21 states with dense proton data or a referenced JCAMP-DX resource. Keep the referenced resource at its expected relative path in the same ZIP; stored spectrum shifts are applied once.
Formula evidence
- Formula in the job instructions
- A formula written verbatim in the job instructions.
- Formula from a structure
- A formula calculated from a selected MOL, SDF or SMILES attachment.
Supplied annotations
- NMReDATA relationships
- NMReDATA links between a structure, its JCAMP-DX resource and proton assignments. The linked spectrum resource must be attached and readable. Assignments are preserved as supplied context; they do not change the spectrum sent to SECS.
Upload size, per-attempt download, ZIP-member, expanded-data, and inspection-result limits also apply. Rejection messages report the limit that was reached. The implementation-owned rules are in source access and the analysis runner; selecting one ZIP member still requires downloading its upload.
Example: a Bruker experiment
Upload the whole strychnine experiment folder. We inspect its contents to choose a suitable proton spectrum. In the job input, write:
Infer the molecular structure from the attached experiment. Molecular formula: C21H22N2O2.
What the result means
- Analysed
- The attempt produced ranked candidate SMILES, the score for each candidate, the selected spectrum and formula, the interpreter's stated reasons for those choices, spectrum-preparation facts, and search settings.
no_starting_candidates- The candidate source supplied no molecules for genetic refinement, so the refinement evaluated no structures. With the indexed source, this means the returned spectral neighborhood contained no entries admitted by SECS's formula-neighborhood rule; it is not an exhaustive formula search.
cannot_analyse- The interpreter did not select a spectrum and formula that passed the provider's checks, so scientific analysis did not start. The failure message contains the interpreter's model-generated explanation. The operator's full report also records the provider's inspection and rejection reasons.
- Other failure codes
- The failure message describes an operational interruption, such as a service outage or interpretation limit. Give the job and attempt identifiers to the deployment operator when requesting help.
Scientific interpretation
These observations are derived from the adapted SECS revision selected by this repository and this service's SECS integration. They describe the checkout used here; upstream and adapted SECS can evolve, so other revisions may implement retrieval or scoring differently.
- Each score combines model-embedding similarity with penalties for formula deviation and radical, charge, or valence problems. It orders candidates within that run; it is not a calibrated probability or identification confidence.
- Retrieval accepts molecules whose stored formulas fall within SECS's generated neighborhood of the supplied formula. During genetic refinement, formula deviation lowers a candidate's score instead of removing it. Returned candidates can therefore have nearby compositions; compare each candidate's formula with the supplied formula.
- The approximate index search considers a bounded spectral neighborhood before applying the formula rule. Candidate coverage therefore depends on the configured index and search settings.
- The workflow does not perform a separate stereochemical assignment.
Retrieval details
The report's analysis.retrieval counts locate the stopping point:
neighbours_returned is the number of molecules returned by the
approximate index search; formula_matches is the number of those
neighbours admitted by SECS's generated formula neighborhood, which contains
the supplied formula and nearby compositions; and
starting_candidates is the number retained after the population
limit. The counts cover only the neighborhood returned by the approximate
search. The configured retrieval limit is its maximum size.
The deployment operator retains the full report under the attempt identifier.
Historical records may label no_starting_candidates or
cannot_analyse as successful; those records are not rewritten,
and neither label means that structures were found.
Sources and provenance
Scientific software and model artifacts
- SECS
- The original SECS project
supplies the scientific methods and model architecture. Changes made for this service live in the
adapted SECS source;
the SECS source lock
records the public repository and exact revision selected by this repository's
secssubmodule. - Published checkpoint and candidate molecules
- The trained checkpoint and filtered PubChem molecule table come from the published SECS archive. We prepare the published checkpoint for deployment and build a retrieval index from that table. The checkpoint specification and candidate specification record the selected archive inputs.
- IBM MoLFormer
- MoLFormer provides the molecular encoder used within SECS. Its model code, configuration and tokenizer snapshot are recorded in the MoLFormer lock.
- Spectrum reading, chemistry and search
- nmrglue reads spectral data; RDKit handles molecular structures; Faiss searches molecular embeddings; and mol_ga runs the graph genetic algorithm. Exact package versions are recorded in the dependency locks.
- NMR API
- The NMR API integration uses the provider HTTP contract identified by the contract manifest and the shared failure-client artifacts identified by client provenance. Those files record source revisions, source paths and content identifiers.
Reference software and test fixtures
- Cheminfo elucidation frontend
- For reference-output generation and fixtures only, we use the frontend fork and revision named in the reference lock, based on the elucidation.cheminfo.org frontend source to generate spectrum-conversion reference outputs and import challenge spectra and JCAMP-DX test examples. The lock also names the container runtime image. Fixture origins are described in the challenge notes and JCAMP-DX notes. The deployed GUI is a separate application, not this provider's interface; it may accept different file forms or return different results.
- Cheminfo Bruker test collection
- bruker-data-test supplies the imported Bruker archives and coffee experiments used in our tests. This is Cheminfo's collection, not an official Bruker sample release. The retained fixtures include the upstream MIT license; their provenance and collection notes record source revision, byte hashes, omissions and tested behavior.
We also generate synthetic input fixtures locally. Their authorship, licenses and reference-output derivations are recorded in the input-fixture provenance. The Input forms and limits section states what this provider reads and executes; a file's presence in a test collection does not mean the provider can analyse it.
Credit the original work
Adrian Mirza, Luc Patiny, and Kevin Maik Jablonka (2026), End-to-end multimodal structure elucidation from raw spectra combining contrastive learning and evolutionary algorithms, Nature Communications 17, 5013. See also the upstream citation guidance. Please cite the original research when using these methods.