Quickstart: pdb2reaction tsopt

Goal

Optimize a TS candidate and verify that it is a first-order saddle point.

Prerequisites

  • TS candidate geometry: .pdb

  • Charge (-q/--charge or --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:

  1. Terminal output: n=1 with |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.)

  2. vib/imag_*.pdb — open in PyMOL and animate; the mode should correspond to the expected bond-breaking/forming

  3. If n=0 (no imaginary mode): the optimization converged to a minimum, not a TS. Try a different initial guess

  4. If n>1 (multiple imaginary modes): add --flatten to attempt flattening extra modes (pass a YAML config via --config and set hessian_dimer.flatten_max_iter to cap the iteration count — the same key is read for both Dimer and RS-I-RFO modes)

Tips

  • Using --hessian-calc-mode Analytical is recommended when VRAM is sufficient (default: FiniteDifference).

  • Check full options with pdb2reaction tsopt --help-advanced and pdb2reaction freq --help-advanced.

Next step

  • Trace the path with irc, or run the end-to-end route with all.