path-opt¶
mlmm path-opt finds a minimum-energy path (MEP) between exactly two layered enzyme structures with GSM (default) or DMF (--mep-mode dmf), using the ML/MM calculator on the full enzyme complex. It writes the path trajectory and exports the highest-energy image (HEI) as a TS candidate. Use it when two layered endpoints are well defined and no intermediates are expected. It is the simpler MEP-only sibling of path-search (no recursive segmentation, no bond-change-driven decomposition). For workflows that start from two or more structures and automatically refine only the reactive region, use path-search instead.
Examples¶
# Minimal invocation
mlmm path-opt -i reac.pdb prod.pdb --parm real.parm7 --model-pdb ml_region.pdb \
-q 0 --out-dir ./result_path_opt
# Pre-optimize both endpoints before path growth
mlmm path-opt -i reac.pdb prod.pdb --parm real.parm7 --model-pdb ml_region.pdb \
-q 0 --preopt --preopt-max-cycles 20000 --out-dir ./result_path_opt_preopt
# Disable climbing-image refinement for a quick first pass
mlmm path-opt -i reac.pdb prod.pdb --parm real.parm7 --model-pdb ml_region.pdb \
-q 0 --no-climb --max-nodes 8 --out-dir ./result_path_opt_fast
# freeze selected atoms and keep optimizer dumps: --freeze-atoms "1,3,5,7" --dump
General command form:
mlmm path-opt -i REACTANT.pdb PRODUCT.pdb --parm real.parm7 --model-pdb model.pdb \
-q CHARGE [-m MULT] [--mep-mode gsm|dmf] [--fix-ends/--no-fix-ends] [options]
mlmm path-opt --help shows core options; mlmm path-opt --help-advanced shows the full option list.
Workflow¶
Load endpoints – Read both PDB structures and resolve charge/spin from CLI or defaults. Set up the ML/MM calculator with
--parm,--model-pdb, and charge/spin.Pre-alignment – All endpoints after the first are Kabsch-aligned to the first structure. If
freeze_atomsis defined, only those atoms participate in the RMSD fit; the resulting transform is applied to all atoms.Optional pre-optimization – With
--preopt, each endpoint is pre-optimized by LBFGS (using the same ML/MM calculator) before alignment and string growth. The number of LBFGS cycles is controlled by--preopt-max-cycles(default: 10000).Path optimization –
--mep-mode gsmuses pysisyphusGrowingStringwith(max_nodes + 2)images including endpoints;--mep-mode dmfuses Direct Max Flux.Climbing image (GSM only) – With
--climb, a climbing-image refinement is applied after string growth, and the highest-energy image (HEI) is reported.Output – Final path trajectory and HEI are written as XYZ and PDB files. PDB conversion is performed when the inputs are PDBs.
Outputs¶
out_dir/ (default: ./result_path_opt/)
├─ final_geometries_trj.xyz # XYZ trajectory with per-image energies in the comment line
├─ final_geometries.pdb # Same path as final_geometries_trj.xyz, mapped back to the reference PDB ordering
├─ hei.xyz # Highest-energy image (XYZ, always written)
├─ hei.pdb # HEI in PDB format (when reference PDB is available)
├─ align_refine/ # External alignment/refinement artifacts
├─ preopt/ # Endpoint pre-optimization outputs (present when --preopt)
└─ <optimizer dumps> # Present when --dump or opt.dump_restart > 0
CLI options¶
The full flag list is in the generated command reference; the table below covers the options that need explanation.
Option |
Description |
Default |
|---|---|---|
|
Reactant and product PDB structures (full-system coordinates). |
Required |
|
Amber prmtop for the full REAL system. |
Required |
|
PDB defining the ML region (atom IDs). Optional when |
None |
|
Comma-separated atom indices for the ML region (ranges allowed like |
None |
|
Interpret |
|
|
Detect ML/MM layers from input PDB B-factors (B=0/10/20). If disabled, you must provide |
|
|
Net ML-region charge. |
None (required unless |
|
Per-residue charge map, e.g. |
None |
|
Spin multiplicity (2S+1). |
|
|
MEP backend. |
|
|
DMF compute backend ( |
|
|
Comma-separated 1-based atom indices to freeze (merged with YAML |
None |
|
Distance cutoff (Å) from ML region for MM atoms to include in Hessian calculation. Applied to movable MM atoms. |
None |
|
Distance cutoff (Å) from ML region for movable MM atoms. MM atoms beyond this are frozen. Providing |
None |
|
Fix endpoint structures during GSM growth ( |
|
|
Number of internal string nodes (total images = |
|
|
Optimizer macro-iteration cap (growth + refinement). Also sets |
|
|
Enable climbing-image refinement after full string growth. |
|
|
Pre-optimize each endpoint with LBFGS before alignment/string growth. |
|
|
Cap for endpoint pre-optimization cycles. |
|
|
Convergence preset override ( |
None (effective: |
|
MM backend (analytical Hessian vs OpenMM finite-difference). |
|
|
Dump optimizer trajectories and restarts inside |
|
|
Output directory. |
|
|
Base YAML configuration layer applied before explicit CLI values. |
None |
|
Print resolved configuration (including YAML layers) and continue. |
|
|
Validate options and print the execution plan without running optimization. Shown in |
|
|
MLIP backend for the ML region: |
|
|
Enable xTB point-charge embedding correction for MM-to-ML environmental effects (experimental). |
|
|
Cutoff radius (Å) for embed-charge MM atoms. |
|
|
Enable CMAP (backbone cross-map dihedral correction) in model parm7. Default: disabled (consistent with Gaussian ONIOM). |
|
|
Toggle XYZ/TRJ to PDB companions when a PDB template is available. |
|
YAML configuration¶
Merge order is defaults < config < explicit CLI < override. The relevant sections are geom (coord_type, freeze_atoms), calc / mlmm (ML/MM calculator setup), gs (Growing String controls), and opt (StringOptimizer settings).
Full schema (every key and default): YAML Reference.
Exit codes¶
Code |
Meaning |
|---|---|
|
Success |
|
Optimization failure |
|
Final trajectory write error |
|
HEI dump error |
|
Keyboard interrupt |
|
Unhandled exception |
See Also¶
Common Error Recipes — Symptom-first failure routing
Troubleshooting — Detailed troubleshooting guide
path-search — Recursive MEP search with automatic refinement (for 2+ structures)
opt — Single-structure geometry optimization
all — End-to-end workflow (uses single-pass path-opt by default; add
--refine-pathfor recursive path-search)YAML Reference — Full
gs,optconfiguration options