freq¶
Overview¶
Summary: Compute ML/MM vibrational frequencies and thermochemistry (ZPE, Gibbs energy, etc.) with PHVA support. When VRAM permits,
--hessian-calc-mode Analyticalspeeds Hessian evaluation. Imaginary frequencies appear as negative values.
mlmm freq performs vibrational analysis with the ML/MM calculator (mlmm.mlmm_calc.mlmm), honoring frozen atoms via PHVA. It exports normal-mode animations as _trj.xyz and .pdb (mapped back onto the enzyme ordering), and prints a Gaussian-style thermochemistry summary when the optional thermoanalysis package is installed.
Minimal example¶
mlmm freq -i pocket.pdb --parm real.parm7 --model-pdb ml_region.pdb \
-q 0 -m 1 --out-dir ./result_freq
Output checklist¶
result_freq/frequencies_cm-1.txtresult_freq/mode_*_trj.xyzresult_freq/mode_*.pdb(for PDB inputs)
Common examples¶
Limit the number of exported modes for quick inspection.
mlmm freq -i pocket.pdb --parm real.parm7 --model-pdb ml_region.pdb \
-q 0 -m 1 --max-write 6 --out-dir ./result_freq_quick
Run PHVA with explicit frozen atoms and dump thermo payload.
mlmm freq -i pocket.pdb --parm real.parm7 --model-pdb ml_region.pdb \
-q 0 -m 1 --freeze-atoms "1,3,5,7" --dump --out-dir ./result_freq_phva
Use analytical Hessian mode on VRAM-rich nodes.
mlmm freq -i pocket.pdb --parm real.parm7 --model-pdb ml_region.pdb \
-q 0 -m 1 --hessian-calc-mode Analytical --out-dir ./result_freq_analytical
Workflow¶
ML/MM calculator setup – The ML region is supplied via
--model-pdb; Amber parameters are read from--parm.--hessian-calc-modeselects analytical or finite-difference Hessians. The calculator may return either the full 3N x 3N Hessian or an active-DOF sub-block.When you have ample VRAM available, setting
--hessian-calc-modetoAnalyticalis strongly recommended.
PHVA & TR projection – With frozen atoms, eigenanalysis occurs inside the active subspace with translation/rotation modes projected there. Both 3N x 3N and active-block Hessians are accepted, and frequencies are reported in cm^-1 (negatives = imaginary).
Active DOF mode –
--active-dof-modecontrols which atoms are included in the frequency analysis:all(all atoms),ml-only(ML layer, B=0),partial(ML + MovableMM; default),unfrozen(non-frozen layers, typically B=0/10).Mode export –
--max-writelimits how many modes are animated. Modes are sorted by value (or absolute value with--sort abs). Each exported mode writes_trj.xyz(XYZ-like trajectory) and.pdbfiles (PDB animation mapped back onto the enzyme ordering). The sinusoidal animation amplitude (--amplitude-ang) and frame count (--n-frames) match the YAML defaults.Thermochemistry – If
thermoanalysisis installed, a QRRHO-like summary (EE, ZPE, E/H/G corrections, heat capacities, entropies) is printed using PHVA frequencies. CLI pressure in atm is converted internally to Pa. When--dump, athermoanalysis.yamlsnapshot is also written.Device selection –
ml_device="auto"triggers CUDA when available, otherwise CPU. The internal TR projection/mode assembly runs on the same device to minimize transfers.Exit behavior – Keyboard interrupts exit with code 130; other failures print a traceback and exit with code 1.
CLI options¶
Option |
Description |
Default |
|---|---|---|
|
Full enzyme PDB (no link atoms). |
Required |
|
Amber parm7 topology for the full enzyme. |
Required |
|
PDB defining the ML region. Optional when |
None |
|
Explicit ML-region atom indices (alternative to |
None |
|
Indexing convention for |
|
|
Auto-detect ML/MM layers from B-factors. |
|
|
ML region charge. |
None (required unless |
|
Per-resname charge mapping (e.g., |
None |
|
Spin multiplicity (2S+1). |
|
|
1-based comma-separated frozen atom indices. |
None |
|
Cutoff distance for MovableMM atoms. |
None |
|
Cutoff distance for movable-MM layer. |
None |
|
Hessian mode ( |
|
|
Number of modes to export. |
|
|
Mode animation amplitude (angstrom). |
|
|
Frames per mode animation. |
|
|
Mode ordering: |
|
|
Thermochemistry temperature (K). |
|
|
Thermochemistry pressure (atm). |
|
|
Write |
|
|
Toggle XYZ/TRJ to PDB companions when a PDB template is available. |
|
|
Output directory. |
|
|
Active DOF selection: |
|
|
Device for Hessian assembly/diagonalization: |
|
|
Reference PDB topology for non-PDB inputs. |
None |
|
Base YAML configuration applied before explicit CLI options. |
None |
|
Print resolved YAML layers/config and continue. |
|
|
MLIP backend for the ML region: |
|
|
Enable xTB point-charge embedding correction for MM-to-ML environmental effects. |
|
|
Cutoff radius (Å) for embed-charge MM atoms. |
|
|
Validate and print execution plan without running frequency analysis. Shown in |
|
Outputs¶
out_dir/ (default: ./result_freq/)
├─ mode_XXXX_±freqcm-1_trj.xyz # Per-mode animations (XYZ-like trajectory)
├─ mode_XXXX_±freqcm-1.pdb # PDB animation mapped back onto the enzyme ordering
├─ frequencies_cm-1.txt # Full frequency list using the selected sort order
└─ thermoanalysis.yaml # Present when thermoanalysis is importable and --dump is True
Console blocks summarizing resolved
geom,calc,freq, and thermochemistry settings.
YAML configuration¶
Provide mappings with merge order defaults < config < explicit CLI < override.
Shared sections reuse YAML Reference.
An additional thermo section is supported for thermochemistry controls.
geom:
coord_type: cart # coordinate type: cartesian vs dlc internals
freeze_atoms: [] # 0-based frozen atoms merged with CLI/link detection
calc:
charge: 0 # total charge (CLI override)
spin: 1 # spin multiplicity 2S+1
mlmm:
real_parm7: real.parm7 # Amber parm7 topology
model_pdb: ml_region.pdb # ML-region definition
backend: uma # MLIP backend: uma | orb | mace | aimnet2
embedcharge: false # xTB point-charge embedding correction
uma_model: uma-s-1p1 # uma-s-1p1 | uma-m-1p1
uma_task_name: omol # UMA task name (UMA backend only)
ml_device: auto # ML backend device selection
ml_hessian_mode: Analytical # Hessian mode selection
out_hess_torch: true # request torch-form Hessian
mm_fd: true # MM finite-difference toggle
return_partial_hessian: true # allow partial Hessians (PHVA default)
freq:
amplitude_ang: 0.8 # displacement amplitude for modes (Å)
n_frames: 20 # number of frames per mode
max_write: 10 # maximum number of modes to write
sort: value # sort order: value vs abs
thermo:
temperature: 298.15 # thermochemistry temperature (K)
pressure_atm: 1.0 # thermochemistry pressure (atm)
dump: false # write thermoanalysis.yaml when true
See Also¶
Common Error Recipes – Symptom-first failure routing
Troubleshooting – Detailed troubleshooting guide
tsopt – Optimize TS candidates (validate with freq/IRC; expected: one imaginary frequency)
opt – Geometry optimization (often precedes freq)
dft – Single-point DFT for higher-level energy refinement
all – End-to-end workflow with
--thermoYAML Reference – Full
freqandthermoconfiguration optionsGlossary – Definitions of ZPE, Gibbs Energy, Enthalpy, Entropy