___ __ ________
/ | __ __/ /_____ / ____/ /_ ___ ____ ___
/ /| |/ / / / __/ __ \/ / / __ \/ _ \/ __ `__ \
/ ___ / /_/ / /_/ /_/ / /___/ / / / __/ / / / / /
/_/ |_\__,_/\__/\____/\____/_/ /_/\___/_/ /_/ /_/
Chemical Reaction Network Calculator
This program generates all the products coming from the combination of a starting pool of compounds
and a set of reactions.
The program can also download modules and pathways from KEGG database.
Moreover, input files for ORCA, Gaussian, CREST and xTB can be produced for further calculations of free energies.
For this aim, bash scripts present in the scripts directory help the automation process
for the submission of jobs, their checking and automatic restarting in order to have optimized
structures with no imaginary frequencies.
Scripts permit to calculate the reactions deltaG and to prepare a chemical network for
subsequent analysis.
In addition, calculations can be saved and iterated, giving the possibility to mix calculations
on KEGG downloaded reactions and generated reactions or to make subsequent calculations with different
reactions and/or reactants.
AutoChem was published on the SoftwareX Journal https://doi.org/10.1016/j.softx.2024.101851
IMPORTANT:
The starting conditions (reactants and reactions) are defined in the plain text files starting_reactants.txt and starting_reactions.txt.
Anyway, a basic editor is present in the program for inserting, enabling and disabling both reagents
and reactions.
The program creates some supplementary files:
COMPOUNDS.csv: A list of the compound number, its molecular formula and MW. Energy at the RDKit level is also added if the optimization flag is enabled
FREQUENCY.csv: A frequency distribution of molecular weights (aka: number of compounds having the same
molecular weight)
REACTIONS.txt: A list of all reactions calculated or downloaded from KEGG (useful for the determination of reactions
free energies)
SUMMARY.txt: A file containing summary informations for the calculations made. This is an important log
file.
reactions.html: A html file containing the visual representation of reactions considered and calculated.
smarts_reactions.txt: A text file containing all the reactions inserted by user in SMARTS format together with
auxiliary reagents and products
AutoChem is divided in two programs:
AutoChem, written in Python, is managing the reaction generation
check, written in BASH, is managing the job submission with the automatic calculation of free energies
AutoChem: Download and install RdKit library in the proper Conda environment (follow instructions on RdKit website/anaconda installation)
Copy the whole directory of AutoChem in your PC.
Launch Autochem.py from your favourite IDE (we suggest Spyder)
check: You should have awk, bc available on your Linux environment together with a task spooler like tsp or slurm
If you use Windows for Autochem you should also install dos2unix
To activate check for the first time you should:
1) Copy the whole content of the folder scripts in your Linux working environment for calculations.
2) Render the scripts runnable:
chmod +x chmodme
and then launch chmodme
./chmodme
After doing this, you can put in the same folder the inputs to be calculated.
Then launch check:
./check
and follow instructions.
After some time launch check again and again up to the calculations of all inputs.
Check will take care the resubmission of jobs in the case of negative frequencies.
(if you are expert, you can add launch to chron or to some automatic running of check)
Watch the video: (AutoChem program with SMARTS reactions)
https://raw.githubusercontent.com/Daniele-Dondi/AutoChem/main/videos/AutoChem_example.mp4
AutoChem_example.mp4
Watch the video: (check program with crest)
https://raw.githubusercontent.com/Daniele-Dondi/AutoChem/main/videos/check.mp4
check.mp4
Watch the video: (check program with xtb and deltaG calculations)
https://raw.githubusercontent.com/Daniele-Dondi/AutoChem/main/videos/xtb_+_deltaG.mp4