Reaction-Space-Explorer / reac-space-exp

A python implementation of open-source packages to explore the chemical reaction space associated with elementary prebiotic chemistry.
https://rse-ysp.netlify.app/
BSD 3-Clause "New" or "Revised" License
10 stars 5 forks source link
cheminformatics chemistry computational-chemistry python reaction-network

Reaction Space Explorer

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:

Figures were plotted using matplotlib, seaborn, and skunk.

Organization of this repository

Scripts to run reactions

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.

Available output files

For reactions with published or submitted manuscripts, we have provided.

The methods for generating these are contained in the code scripts

See the README description in main for an overview of the formats.

Library of reaction rules

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.

Complementary data

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.

Autocatalysis Search and Figures

The imperative_loader_and_queries folder contains the files, and instructions for spontaneous autocatalytic loop search, among other things.

Running a file using MØD

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.

Publications

Stay tuned for updates..