Quickstart: mlmm all --tsopt (TS-only mode)¶
TS-only mode checks one transition-state (TS) candidate without a minimum energy path (MEP) search. mlmm all --tsopt optimizes the TS on the full ML/MM system, follows the intrinsic reaction coordinate (IRC) in both directions, and optimizes the two endpoints, the reactant (R) and the product (P). --thermo adds vibrational analysis and thermochemistry, and --dft adds DFT single points of the ML region on R, TS, and P. If you already have a TS candidate, give it to this mode to start the TS search directly.
What it is for¶
Refining a candidate from a scan or an MEP: optimize the top of a scan or the highest-energy image (HEI) of an MEP into a TS.
Checking a candidate made another way: confirm that a structure from another program, or one built by hand, is a TS (n_imag = 1) that connects the intended R and P.
Checking an MLIP TS before DFT: confirm a TS from the machine-learning interatomic potential (MLIP) before you refine it with DFT/MM.
Minimal command¶
Pass one full-system TS candidate with --tsopt. The bundled example has no TS candidate, so the command below uses the HEI from the all quickstart run. For your own reaction, pass your own candidate.
mlmm all -i result_all/_work/path_opt/hei_seg_01.pdb -c 'SAM,GPP,MG' -l 'SAM:1,GPP:-3' \
--tsopt --thermo -o ./result_ts_only
The run succeeded when the ====== Pipeline summary ====== block near the end of the console shows Scientific status: success, and the TS optimization prints [Imaginary modes] n=1 (...) when the TS has one imaginary mode. summary.json holds the status in scientific_status.
To compute the TS on exactly the system of an earlier run, pass its topology with --parm7 and its ML region with --model-pdb, and leave out -c:
mlmm all -i result_all/_work/path_opt/hei_seg_01.pdb \
--parm7 result_all/mm_parm/1.R.parm7 --model-pdb result_all/ml_region.pdb \
-l 'SAM:1,GPP:-3' --tsopt --thermo -o ./result_ts_only
(Optional) Add DFT single-points¶
--dft adds DFT single points of the ML region on R, TS, and P, and --func-basis sets the functional and basis.
mlmm all -i result_all/_work/path_opt/hei_seg_01.pdb -c 'SAM,GPP,MG' -l 'SAM:1,GPP:-3' \
--tsopt --thermo --dft --func-basis 'wb97m-v/def2-tzvpd' \
-o ./result_ts_only
To optimize the TS itself with DFT/MM (-b dft), and for the DFT extra and GPU memory, see Refine an MLIP TS with DFT.
Before you run¶
Input: one full-system TS candidate as PDB or mmCIF, or as XYZ with
--ref-pdb(a PDB with the same atoms). With-c, the ML region is cut out around the given residues. Without-c, the ML region comes from--model-pdbor from the B-factor layers of the input; the HEI PDB ofallcarries those layers.Charge and multiplicity:
-qis the charge of the ML region, not of the whole system. Without-q,allderives the charge from the residues in the ML region and-l. The multiplicity comes from-m, then YAMLcalc.model_mult, then 1.When TS-only mode runs: one input,
--tsopt, and no--scan-lists. Two or more inputs run the MEP search, and one input with--scan-listsruns a scan.
Expected output¶
A successful run writes:
result_ts_only/
├── summary.log # Run summary
├── summary.json # Results, with scientific_status
├── ml_region.pdb # ML region (reusable with --model-pdb)
├── mm_parm/ # Amber topology built from the candidate (not with --parm7)
├── layered/ # hei_seg_01_layered.pdb, the candidate with the three layers in the B-factors (with -c)
└── segments/
└── seg_01/
├── reactant.pdb # R/TS/P structures, in the format of the input
├── ts.pdb
├── product.pdb
├── energy_diagram_MLIP.png # R–TS–P ML/MM energy diagram (plus energy_diagram_G_MLIP.png with --thermo)
├── ts/
│ ├── final_geometry.{xyz,pdb}
│ └── vib/imag_*_trj.xyz # Animation of each imaginary mode
├── irc/
│ └── {forward,backward,finished}_irc_trj.xyz
├── freq/{R,TS,P}/ # --thermo
│ ├── frequencies_cm-1.txt
│ └── thermoanalysis.yaml
└── dft/{R,TS,P}/ # --dft
└── result.yaml
Checking the result¶
Completion:
scientific_statusissuccesswhen every requested stage converged; otherwise it ispartialorfailed, with the reasons inscientific_status_reasons. Two checks are left for you: that the imaginary mode moves the bonds that form or break, and that the endpoints are the intended R and P.TS mode: a successful TS optimization gives one imaginary mode along the reaction coordinate. The console then prints
[microiter] Converged!and then the imaginary wavenumber in cm⁻¹, for example[Imaginary modes] n=1 ([-593.1]). Opensegments/seg_01/ts/vib/imag_*_trj.xyzin a viewer and check that the mode moves the bonds that form or break.Endpoints: open
segments/seg_01/irc/finished_irc_trj.xyzand the R/TS/P structures (reactant.pdb,ts.pdb,product.pdb), and readsegments[0].bond_changes. The endpoints should be the intended R and P. Even if the IRC does not converge, the result is usable when the endpoint optimizations reach the intended R and P.Endpoint frequencies: with
--thermo,segments/seg_01/freq/{R,TS,P}/frequencies_cm-1.txtlists every frequency with its sign. R and P should have no imaginary mode (no value below −5.00 cm⁻¹).Energies:
post_segments[0].mlip.barrier_kcalis ΔE‡ (TS − R) and.delta_kcalis ΔE (P − R) in kcal/mol, from the ML/MM energies of the optimized TS and endpoints. Since there is no MEP,segments[0].barrier_kcaland.delta_kcalhold the same values. With--thermo,post_segments[0].gibbs_mlip.barrier_kcaland.delta_kcalgive ΔG‡ and ΔG; with--dft,post_segments[0].dft.barrier_kcaland.delta_kcalgive the DFT values.
Result |
What to try |
|---|---|
n_imag = 0 |
Start from a better candidate, such as the HEI of an MEP or the top of a scan; TS-only mode has no path to guide it. |
n_imag ≥ 2 |
Watch every imaginary mode. Re-optimize with |
|
Check the TS mode and the IRC; the path may connect other minima. |
R or P keeps an imaginary mode |
Check the endpoint geometry and the mode, and tighten the endpoint optimization with |
If n_imag is not 1 or the IRC endpoints are not the intended ones, see Check the TS and When the TS search fails in Tips for studying reaction mechanisms.
Notes¶
When IRC runs:
allgoes on to IRC only when the TS optimization converged, its final Hessian finished, and n_imag ≥ 1. With n_imag ≥ 2 the IRC follows one imaginary mode as a diagnostic; it does not make the structure a first-order saddle point.Extra imaginary modes:
--flattendisplaces the structure along the extra imaginary modes and optimizes again, for up to 50 rounds; see When --flatten is on.Hessian mode: keep the default
--hessian-calc-mode FiniteDifference. Set--hessian-calc-mode Analyticalonly after comparing its speed, memory use, and results with the default on a representative structure of your system.R and P labels: without an MEP the direction of the reaction is unknown, so TS-only mode labels the higher-energy IRC endpoint R and the lower one P, and records this rule in
endpoint_assignmentinsummary.json. The labels are not the chemical direction; the barrier from P isbarrier_kcal − delta_kcal.tsoptandfreqon their own: for--opt-mode rsirfo/trim,--no-microiter,--hessian-cutoff, and the other TS optimization options, runtsopton its own with the--parm7and--model-pdbof the run. It writes the final geometry tofinal_geometry.{xyz,pdb}and the imaginary-mode animations tovib/. For the full frequency list and thermochemistry of that structure, runfreqonfinal_geometry.pdbwith the same--parm7,--model-pdb,-q, and-m.mlmm all --help-advancedlists every option ofall.
Next steps¶
Refine an MLIP TS with DFT: refine and check the TS with DFT/MM
Tips for studying reaction mechanisms: check the TS, and what to try when the TS search fails
Quickstart:
mlmm all: build an MEP from R and PQuickstart: scan: build a path from one structure
Troubleshooting: find an error message or symptom and its fix