QM Data Annotation#
Enerzyme can drive batch quantum chemistry calculations to label structures with energies, forces, charges, and dipoles. Labeled data is written to pickle format for training. The reference config is enerzyme/config/annotate.yaml.
Basic command#
enerzyme annotate -c annotate.yaml -o labeled/ -t tmp/ -s 0 -e 100
Arguments:
-c— annotation config (Supplier+QMDriver)-o— output directory-t— scratch directory for QM jobs-s,-e— slice of molecules from the supplier (0-based start, exclusive end;-1for all)
Configuration#
Supplier:
path: molecules.sdf
QMDriver:
engine: TeraChem
bs: 6-31gs
xc: b3lyp
pcm: cosmo
dftd: d3
pcm_radii_file: /path/to/pcm_radii
epsilon: 10
keep_molden: false
keep_output: false
clean_tmp: true
pickle_name: labeled/dataset.pkl
Supplier#
Supplier.path points to an SDF file. Each record must include total charge (RDKit formal charge). Enerzyme iterates structures and submits QM jobs.
QMDriver (TeraChem)#
The reference driver targets TeraChem. Required environment:
terachemexecutable onPATHValid license and scratch space
PCM radius file when
pcm_radiimode needs it
Output pickle schema matches Datahub expectations—map fields in your training YAML the same way as in Preparing a Neural Network Potential Dataset.
Caution
Prepare TeraChem and RDKit before running annotate. These are not part of the core Enerzyme install.
Integrating labeled data into training#
Run
annotateto producedataset.pklAppend or merge with existing training data
Update
train.yamldata_pathor multi-datasetDatahub.datasetsRetrain or resume active learning (Active Learning for Neural Network Potentials)
ORCA optimizer with TeraChem gradients (Enerzymette)#
Enerzymette bridges ORCA’s external optimizer (ExtOpt) to TeraChem GPU gradients:
enerzymette orca_terachem_request -i orca.extinp.tmp -t terachem_template.inp
Setup checklist:
ORCA input with
! ExtOptand%method ProgExt "/path/to/wrapper.sh" endTeraChem template with basis, functional, solvent, SCF settings
Wrapper script:
enerzymette orca_terachem_request -i $1 -t template.inp(executable)terachemavailable in the environment
This complements batch annotate when you need QC-level optimization with ORCA’s algorithms and TeraChem’s energy/gradient engine.
Monitoring TeraChem jobs (Enerzymette)#
enerzymette terachem_timing -f terachem.out
Reports total wall time, per-iteration averages, and flags unfinished calculations—useful for QC campaign quality control before merging data into training sets.