9.10. Isotopes

9.10.1. Describing isotopes in adjacency lists

Isotopic enrichment can be indicated in a molecular structure’s adjacency list. The example below is methane with an isotopically labeled carbon of isotope number 13, which is indicated with i13:

1 C u0 p0 c0 i13 {2,S} {3,S} {4,S} {5,S}
2 H u0 p0 c0 {1,S}
3 H u0 p0 c0 {1,S}
4 H u0 p0 c0 {1,S}
5 H u0 p0 c0 {1,S}

9.10.2. Running the RMG isotopes algorithm

The isotopes script is located in the folder scripts. To run the algorithm, ensure the RMG packages are loaded and type:

python /path/to/rmg/scripts/isotopes.py /path/to/input/file.py

The input file is identical to a standard RMG input file and should contain the conditions you want to run (unless you are inputting an already completed RMG model). Without any options, the script will run the original RMG input file to generate a model. Once the RMG job is finished, it will create new species for all isotopologues of previously generated species and then generate all reactions between the isotopologues.

Some arguments can be used to alter the behavior of the script. If you already have a model (which includes atom mapping in RMG’s format) which you would like to add isotope labels to, you can use the option --original path/to/model/directory with the desired model files stored within with structure chemkin/chem_annotated.inp and chemkin/species_dictionary.txt. With this option, the isotope script will use the specified model instead of re-running an RMG job.

If you only desire the reactions contained in the specific RMG job, you can add --useOriginalReactions in addition to --original. This will create a full set of isotopically labeled versions of the reactions you input and avoid a time-consuming generate reactions proceedure. Note that without --useOriginalReactions, labeled and unlabeled reactions may not match the same depository reactions, leading to inconsistent kinetics. If degeneracy errors arise when generating reactions from scratch, try using this option to see if it reduces errors in degeneracy.

The arguement --maximumIsotopicAtoms [integer] limits the number of enriched atoms in any isotopologue in the model. This is beneficial for decreasing model size, runtime of model creation and runtime necessary for analysis.

Adding kinetic isotope effects which are described in this paper can be obtained through the argument --kineticIsotopeEffect simple. Currently this is the only supported method, though this can be extended to other effects.

If you have a desired output folder, --output output_folder_name can direct all output files to the specified folder. The default is to create a folder named ‘iso’.

There are some limitations in what can be used in isotope models. In general, RMG Reaction libraries and other methods of kinetic estimation that do not involve atom mapping to reaction recipes are not compatible (though they can be functional if all isotopologues are included in the reaction library). The algorithm also does not function with pressure dependent mechanisms generated by RMG, and has only been tested for gas phase kinetics. This algorithm currently only works for Carbon-13 enrichments.

Following the generation, a number of diagnostics check model accuracy. Isotopologues are checked to ensure their symmetries are consistent. Then, the reaction path degeneracy among reactions differing only in isotope labeling is checked to ensure it is consistent with the symmetry values of reactions. If one of these checks throws a warning, the model will likely exhibit non-natural fluctuations in enrichment ten to one hundred times larger than from non-hydrogen kinetic isotope effects.

9.10.3. Output from script

The isotope generation script will output two files inside the nested folders iso/chemkin, unless --output is specified. The file species_dictionary.txt lists the structure of all isotopologue using the RMG adjacency list structure. The other file of importance chem_annotated.inp is a chemkin input file containing elements, species, thermo, and reactions of the entire system.

9.10.4. Further reading & resources

A description of mechanisms generated using this module and its application to obtaining intramolecular isotopic enrichment information is described in Chemical Geology, Volume 514, page 1.

Code to replicate that work, as well as convert between experimental enrichments and the isotopologues used in RMG is deposited at Zenodo.