pdb2reaction Documentation¶
pdb2reaction is a Python CLI toolkit for automated enzymatic reaction-path modeling directly from PDB structures using machine-learning interatomic potentials (MLIPs).
Quick Start by Goal¶
Objectives |
Command |
Guide |
|---|---|---|
Run complete reaction path search from PDB |
|
|
Extract QM region from protein-ligand complex |
|
|
Optimize a single structure |
|
|
Find and optimize a transition state |
|
|
Search for minimum energy path |
|
|
Run IRC from a transition state |
|
|
Visualize energy profile |
|
|
Draw state energy diagram from numeric values |
|
|
Understand the big picture (concepts & terms) |
— |
|
Resolve common errors |
— |
|
Look up abbreviations and terms |
— |
Documentation Guide¶
Topic |
Page |
|---|---|
Installation & first run |
|
Key terms & workflow overview |
|
Common errors & fixes |
|
CLI conventions & input requirements |
CLI Subcommands¶
Main Workflow¶
Subcommand |
Description |
|---|---|
End-to-end workflow: extraction → MEP → TS optimization → IRC → freq → DFT |
Structure Preparation¶
Subcommand |
Description |
|---|---|
Extract active-site pocket (cluster model) from protein–ligand complex |
|
Repair PDB element columns (77-78) |
Geometry Optimization¶
Path Search & Optimization¶
Subcommand |
Description |
|---|---|
MEP optimization via GSM or DMF (two structures) |
|
Recursive MEP search with automatic refinement (2+ structures) |
Scans¶
Analysis & Post-processing¶
Subcommand |
Description |
|---|---|
Intrinsic Reaction Coordinate calculation |
|
Vibrational frequency analysis & thermochemistry |
|
Single-point DFT calculations (GPU4PySCF / PySCF) |
|
Plot energy profiles from XYZ trajectories |
|
Build an energy diagram from numeric input values |
Configuration & Reference¶
Topic |
Page |
|---|---|
YAML configuration options |
|
UMA calculator settings |
|
Terminology |
System Requirements¶
Hardware¶
OS: Linux (Ubuntu 20.04+ or CentOS 8+ tested)
GPU: CUDA 12.x compatible
VRAM: Minimum 8 GB (16 GB+ recommended for 1000+ atoms)
RAM: 16 GB+ recommended
Software¶
Python 3.11
PyTorch with CUDA support
CUDA 12.x toolkit
Quick Examples¶
Basic MEP search¶
pdb2reaction -i R.pdb P.pdb -c 'SAM,GPP' --ligand-charge 'SAM:1,GPP:-3'
Full workflow with TS optimization¶
pdb2reaction -i R.pdb P.pdb -c 'SAM,GPP' --ligand-charge 'SAM:1,GPP:-3' \
--tsopt True --thermo True --dft True
Single-structure scan mode¶
pdb2reaction -i R.pdb -c 'SAM,GPP' --ligand-charge 'SAM:1,GPP:-3' \
--scan-lists '[("TYR,285,CA","MMT,309,C10",2.20)]'
TS-only optimization¶
pdb2reaction -i TS_candidate.pdb -c 'SAM,GPP' --ligand-charge 'SAM:1,GPP:-3' \
--tsopt True
Key Concepts¶
Charge and spin¶
Use
--ligand-chargeto specify unknown residue charges:'SAM:1,GPP:-3'Use
-q/--chargeto override the total chargeSpin multiplicity is set with
-m/--mult(theallcommand) or-m/--multiplicity(other subcommands); default is1
Boolean options¶
All boolean CLI options must be explicitly set to True or False:
--tsopt True --thermo True --dft False
YAML configuration¶
Advanced settings can be provided with --args-yaml.
pdb2reaction all -i R.pdb P.pdb -c 'LIG' --args-yaml config.yaml
See the YAML Reference for all options.
Output Structure¶
Typical pdb2reaction all output:
result_all/
├── summary.log # Human-readable summary
├── summary.yaml # Machine-readable summary
├── pockets/ # Extracted cluster models
├── scan/ # (Optional) scan results
├── path_search/ # MEP trajectories and diagrams
│ ├── mep.trj # MEP trajectory
│ ├── mep.pdb # MEP in PDB format
│ ├── mep_w_ref.pdb # MEP merged with full system
│ ├── mep_plot.png # Energy profile plot
│ └── seg_*/ # Per-segment details
└── path_search/post_seg_*/ # Post-processing outputs
├── tsopt/ # TS optimization results
├── irc/ # IRC trajectories
├── freq/ # Vibrational modes
└── dft/ # DFT results
Citation¶
A preprint describing pdb2reaction is in preparation. Please check back later for citation details.
License¶
pdb2reaction is distributed under the GNU General Public License version 3 (GPL-3.0) and is derived from Pysisyphus.
References¶
Wood, B. M. et al. (2025). UMA: A Family of Universal Models for Atoms. arXiv:2506.23971
Steinmetzer, J., Kupfer, S., & Gräfe, S. (2021). pysisyphus: Exploring potential energy surfaces in ground and excited states. Int. J. Quantum Chem., 121(3). DOI:10.1002/qua.26390
Getting Help¶
# General help
pdb2reaction --help
# Command help
pdb2reaction <subcommand> --help
For issues and feature requests, visit the GitHub repository.