Automated generation of Connectivity-Based Hierarchies (CBH) for selected molecules. Using these schema, heats of formation can be computed at higher accuracy. This package automates the whole process of this calculation once the neccessary experimental heats of formation and quantum mechanical energies are compiled by the user. This package is specifically novel in its ability to generate and compute heats of formation using combinations of different saturation schemes.
A tutorial for the most useful features is provided in the examples/autoCBH Tutorial.ipynb
notebook.
A more in-depth description of the package can be found in this Master's Thesis. This package was used used in the following publications:
- Bjarne Kreitz, Kento Abeywardane, and C. Franklin Goldsmith. Linking Experimental and Ab Initio Thermochemistry of Adsorbates with a Generalized Thermochemical Hierarchy. Journal of Chemical Theory and Computation. 2023. 19 (13), 4149-4162. DOI: 10.1021/acs.jctc.3c00112
- Kento Abeywardane, C. Franklin Goldsmith. Accurate Enthalpies of Formation for PFAS from First-Principles: Combining Different Levels of Theory in a Generalized Thermochemical Hierarchy. ACS Physical Chemistry Au. 2024. 4 (3), 247–258. DOI: 10.1021/acsphyschemau.3c00056
Clone the repository and move into the autoCBH directory.
Setup the python environment then activate it with the following command.
conda env create -f environment.yml
conda activate autocbh
Note, this defaults to RDKit 2022.09 where the
[OPTIONAL] To adjust RDKit version, either edit the environment.yml
file to this version. Alternatively, use the following command:
conda create -n autocbh python=3.9 numpy=1.23 pandas=1.4 rdkit=2022.03.5 python-igraph=0.9.11 pygraphviz=1.9 networkx notebook matplotlib pytest tqdm pyyaml -c defaults -c conda-forge -c anaconda
Perform a developer install once inside the autoCBH directory.
cd autocbh
python -m pip install -e .
.
├── autocbh/ # autoCBH module
│ ├── data/
│ │ └── molData.py # data processing/handling file
│ ├── calcCBH.py # hierarchical calculation of HoF
│ │ └── calcCBH
│ ├── CBH.py # CBH schema generation
│ │ └── buildCBH
│ ├── hrxnHelpers.py # customizable funcs for QM-specific Hrxn calc
│ ├── TN.py # thermochemical network generation
│ │ └── thermochemical_network
│ └── UQ.py # uncertainty quantification/propagation
│ └── uncertainty_quantification
├── data/ # raw data and configuration files
│ ├── *.pkl # default raw data (QM and experimental)
│ ├── methods_keys.yaml # dictionary for QM method names
│ ├── rankings.yaml # rankings of accuracy of QM methods
│ ├── alternative_rxn.yaml # custom reaction schemes
│ └── alias.yaml # custom names for SMILES strings
├── examples/ # ipynb examples / tutorials
│ └── autoCBH Tutorial.ipynb
└── tests/ # tests for pytest
Copyright (c) 2022, Goldsmith Group for Chemical Kinetics, Brown University
Author: Kento Abeywardane
Setup configuration and TOML files using MolSSI cookiecutter