Quickstart: pdb2reaction tsopt¶
Goal¶
Optimize a TS candidate and verify that it is a first-order saddle point.
Prerequisites¶
TS candidate geometry:
.pdbCharge (
-q/--chargeor--ligand-charge/-l) and multiplicity (-m) for the target state
Minimal command¶
pdb2reaction tsopt -i ts_guess.pdb -q 0 -m 1 --out-dir ./result_tsopt
tsopt performs a final Hessian evaluation and imaginary-frequency check automatically at the end of optimization. Check the terminal output for lines like:
[Imaginary modes] n=1 ([-593.1])
(Optional) Separate frequency analysis¶
A standalone freq run is useful when you want full vibrational frequency output or thermochemistry corrections (zero-point energy (ZPE), Gibbs free energy, etc.; --thermo in the all command). If you only need the imaginary-frequency check, the tsopt output above is sufficient.
pdb2reaction freq -i ./result_tsopt/final_geometry.pdb -q 0 -m 1 --out-dir ./result_freq
Expected output¶
result_tsopt/
├── final_geometry.xyz # Optimized TS geometry
├── final_geometry.pdb # PDB format (if input was PDB)
└── vib/
├── imag_-593.10cm-1.pdb # Imaginary mode animation
└── imag_-593.10cm-1_trj.xyz # Trajectory format
What to check:
Terminal output:
n=1with |frequency| >= 100 cm⁻¹ indicates a chemically meaningful first-order saddle point. (Note:tsopt’s internal imaginary-mode detector counts any mode with |ν| >= 5 cm⁻¹, so the 100 cm⁻¹ cutoff is a quality heuristic for TS acceptance, not the detection threshold — see recipes-common-errors.)vib/imag_*.pdb— open in PyMOL and animate; the mode should correspond to the expected bond-breaking/formingIf
n=0(no imaginary mode): the optimization converged to a minimum, not a TS. Try a different initial guessIf
n>1(multiple imaginary modes): add--flattento attempt flattening extra modes (pass a YAML config via--configand sethessian_dimer.flatten_max_iterto cap the iteration count — the same key is read for both Dimer and RS-I-RFO modes)
Tips¶
Using
--hessian-calc-mode Analyticalis recommended when VRAM is sufficient (default:FiniteDifference).Check full options with
pdb2reaction tsopt --help-advancedandpdb2reaction freq --help-advanced.