Ion-Mobility Mass Spectrometry Prediction

Rowan's ion-mobility-mass-spectrometry workflow predicts rotationally averaged collision cross sections (CCS) from molecular structures in a way that is conformationally aware, protonation-aware, and grounded in an explicit scattering calculation.

How it works

The workflow starts from a single connected, non-periodic molecule; mixtures and elements unsupported by the selected CoSIMS forcefield are rejected.

If "protonate" mode is enabled, the workflow attempts to add one proton at each nitrogen, oxygen, or sulfur atom whose formal charge is non-positive, skipping candidates that fail RDKit sanitization. This enumeration does not use pKa predictions. Each candidate undergoes an openconf conformer search, followed by GFN2-xTB reoptimization and g-xTB single-point reranking. The workflow selects the protomer ensemble containing the lowest-energy conformer. Protonation mode always runs conformer search; if no candidate produces a usable ensemble, the workflow fails and suggests manually protonating the molecule.

With protonation disabled, conformer search is optional. If enabled, it uses the same openconf/GFN2-xTB/g-xTB sequence on the supplied charge state. Otherwise, the workflow uses the input geometry, optionally optimizes it with GFN2-xTB, and obtains its energy with GFN2-xTB.

From this ensemble, the workflow identifies which conformers actually matter: Boltzmann weights are computed from the relative energies at 298.15 K, and only conformers whose weights exceed 0.001 are kept; if none qualify, the single most favorable conformer is retained. For each selected conformer, the workflow then performs an explicit CCS calculation using Rowan's modified version of CoSIMS. Before calling CoSIMS, it computes gas-phase partial charges using AIMNet2 to provide a more realistic description of long-range interactions, especially for ions. The molecular geometry, atomic numbers, charges, and total charge are written into an .mfj file, and CoSIMS is then run inside a temporary directory with a bounded runtime and a small number of automatic retries. Its text output is parsed to extract the mean CCS and associated standard deviation for that conformer; CoSIMS runs that still fail after retries are logged and skipped. If no conformer produces a CCS result, the workflow fails instead of returning an average.

Finally, the per-conformer CCS values are combined into an overall prediction. The Boltzmann weights of conformers with successful CoSIMS results are renormalized, and the workflow computes a weighted mean CCS and a total standard deviation that accounts for both the intrinsic uncertainty of each CoSIMS estimate and the spread in CCS values across the ensemble. These aggregated quantities—along with the underlying conformer-level CCS values, uncertainties, and weights—are returned to the end user.