Quickstart: pdb2reaction all

Goal

Run the end-to-end workflow once from two full PDB structures.

Prerequisites

  • pdb2reaction installed (see Installation)

  • Two PDB files (reactant R and product P) with hydrogen atoms already added

  • The same atoms in the same order across all input PDB files

About the example filenames: 1.R.pdb and 3.P.pdb mirror the numbered reactant/product files shipped in the GPP C6-methyltransferase BezA example directory (examples/1.R.pdb = reactant state, 3.P.pdb = product state, with intermediate 2.*.pdb files available for multi-step runs). Replace them with the two (or more) full-system PDBs for your own reaction.

Minimal command

pdb2reaction all -i 1.R.pdb 3.P.pdb -c 'SAM,GPP,MG' -l 'SAM:1,GPP:-3' \
 --out-dir ./result_all

(Optional) Add post-processing in the same run

pdb2reaction all -i 1.R.pdb 3.P.pdb -c 'SAM,GPP,MG' -l 'SAM:1,GPP:-3' \
 --tsopt --thermo --dft --out-dir ./result_all

VRAM warning: --dft launches GPU4PySCF single-point jobs on the extracted cluster model and can easily OOM on GPUs with < 24 GB VRAM for clusters above ~200 atoms. If you hit CUDA out of memory, either drop --dft and run pdb2reaction dft separately with a smaller basis / trimmed cluster, or move the DFT step to a larger-VRAM node. The [dft] extra must also be installed (see Installation Step 7).

Expected output

A successful run produces a directory like:

result_all/
├── summary.log                    # Human-readable summary
├── summary.json                   # Machine-readable results
├── path_search/
│   ├── mep.pdb                    # Merged MEP trajectory
│   ├── energy_diagram_UMA_all.png # Energy profile
│   ├── summary.json               # Path-search results
│   └── post_seg_01/               # Post-processing (if --tsopt)
│       ├── ts/final_geometry.pdb
│       ├── irc/finished_irc_trj.xyz
│       └── freq/
└── seg_01/                        # IRC-optimized R/TS/P structures
    ├── reactant.pdb
    ├── ts.pdb
    └── product.pdb

What to check:

  1. summary.json — check the status field (e.g., "completed") and the per-segment barrier_kcal values; summary.log mirrors the same information in human-readable form

  2. seg_01/*.pdb — open in PyMOL to verify the R/TS/P structures make chemical sense

  3. energy_diagram_*.png — the energy profile should show a clear barrier

Sample terminal output (successful run):

[all] Elapsed for Whole Pipeline: 00:05:06.123

If --tsopt is enabled, you should also see:

[Imaginary modes] n=1  ([-425.9])

One imaginary mode with |frequency| > 100 cm⁻¹ indicates a valid TS. See Imaginary-mode thresholds: 5 cm⁻¹ vs 100 cm⁻¹ in the glossary for the 5 cm⁻¹ detection threshold vs 100 cm⁻¹ quality gate.

Tips

  • pdb2reaction all --help shows core options; pdb2reaction all --help-advanced shows the full list.

Next step