A cheminformatics -> quantum chemistry workflow toolkit leveraging rdkit and cclib.
A typical workflow involves:
-
Generating a series of input molecules as
SMILES
- optionally, by combining different fragments into larger molecules/oligomers -
For each molecule: a. write
.com
Gaussian input files,.sh
SLURM submission files b. submit job (assuming you are working within a HPC) c. parse output file to submit further calculations or retrieve descriptors -
Combine descriptors and results in a
pandas
dataframe format or similar for plotting / further analysis
Only Gaussian is supported at the moment, but we plan to add support for Psi4.
git clone https://github.com/matta-research-group/QCflow.git
cd QCflow
# install requirements into new environment
conda env create -f QCflow.yml
conda activate QCflow
# install the QCflow package
pip install .
The run_torsion
and run_opt_neutral
functions contain example workflows that read in molecules from .smi
files and submit quantum chemistry jobs for each molecule.
QCflow can prepare and submit input files for the following jobs:
- Single point calculation, neutral ->
sp
- Single point calculation, anion →
sp_a
- Single point calculation, cation →
sp_c
- Geometry optimisation, neutral ->
opt
- Torsional scan, neutral →
tor
- Optimisation anion →
opt_a
- Optimisation cation →
opt_c
- Optimisation neutral + Population analysis →
pop_opt_n