An open source cheminformatics workflow to simulate chemical reaction networks important in prebiotic chemistry and to discover autocatalytic loops. Available open source under the BSD-3 Clause license.
The platform uses:
.dg
output files that may have used older formats) are still supported. We have provided .dg
files with newer formats that come with reaction rules self contained in them. Note that for reproducing reactions from scratch you will still need to load rules from the library we compiled. The user is free to add or remove any rules as per their choice.Figures were plotted using matplotlib, seaborn, and skunk.
The main folder contains subfolders for each reaction (e.g. glucose degradation, and formose) that we have studied. The output produced by running this pipeline has been placed in subfolders inside those.
For reactions with published or submitted manuscripts, we have provided.
.dg
file that was dumped via MØD itself, which can be used to load the full network into MØD without the need of generating it again using the DG.load() method built into it.The methods for generating these are contained in the code scripts
See the README description in main for an overview of the formats.
All rules are placed in the rules folder. They are written in GML format, mostly compartmentalized in separate .py
files. For convenience purposes, we used some tricks to make things modular. The all.py
file calls each .py
file in the folder. Additional rules that you'd like to load (if using our methods) would The same file also imports utility methods from common.py
. Examples that demonstrate how to write rules can be found on the documentation pages of MØD.
The data folder contains a list of forbidden substructures that we utilize for post-generation filtering (discussed in Arya et al. 2022), a visual list of all reaction rules (which may be slightly dated), table of thermochemical data, among other things.
The imperative_loader_and_queries folder contains the files, and instructions for spontaneous autocatalytic loop search, among other things.
The way we ran the files were using the terminal
mod -f glucose_degradation.py
You will notice there are some weird calls to methods that you may think have not even been imported, such as include("main.py")
. When a python file is run via MØD, it auto imports packages and methods in libPyMØD.
Stay tuned for updates..