API Reference
Welcome to the synth-pdb API reference. This section provides detailed documentation for all public modules, classes, and functions.
Quick Links
Core Modules
-
generator
Main module for generating protein structures from sequences
-
physics
Energy minimization and molecular dynamics using OpenMM
-
validator
Structure validation (bonds, angles, Ramachandran, clashes)
-
geometry
3D coordinate calculations using NeRF algorithm
Scientific Features
Utilities
Usage Patterns
As a Library
from synth_pdb.generator import PeptideGenerator
from synth_pdb.physics import EnergyMinimizer
from synth_pdb.validator import PDBValidator
# Generate structure
gen = PeptideGenerator("ALA-GLY-SER-LEU-VAL")
peptide = gen.generate(conformation="alpha")
# Minimize energy
minimizer = EnergyMinimizer()
minimized_pdb = minimizer.minimize(
pdb_file_path="input.pdb",
output_path="output.pdb"
)
# Validate structure
validator = PDBValidator(pdb_content=minimized_pdb)
validation_report = validator.validate_all()
As a Command-Line Tool
# Basic usage
synth-pdb --length 20 --conformation alpha --output structure.pdb
# With minimization
synth-pdb --sequence "ACDEFGHIKLMNPQRSTVWY" --minimize --output minimized.pdb
# Batch generation
synth-pdb --mode dataset --num-samples 1000 --output ./dataset
Module Organization
synth_pdb/
โโโ generator.py # Main structure generation
โโโ physics.py # Energy minimization (OpenMM)
โโโ validator.py # Structure validation
โโโ geometry.py # NeRF algorithm, 3D coordinates
โโโ chemical_shifts.py # NMR chemical shift prediction
โโโ relaxation.py # NMR relaxation rates
โโโ nmr.py # NOE restraints
โโโ biophysics.py # pH, salt bridges, PTMs
โโโ batch_generator.py # Vectorized batch generation
โโโ viewer.py # 3D visualization
โโโ dataset.py # Bulk dataset generation
โโโ data.py # Rotamer libraries, Ramachandran data
โโโ main.py # CLI entry point
โโโ ... # Additional utilities
Design Philosophy
synth-pdb follows these design principles:
- Code as Textbook: Extensive educational comments explaining the biophysical reasoning
- Modular Architecture: Clear separation of concerns (generation, physics, validation)
- Scientific Rigor: Proper implementation of established methods with citations
- Performance: Vectorized operations, optional Numba JIT compilation
- Flexibility: Works as both library and command-line tool
Next Steps
- generator Module - Start with the core generation module
- User Guides - Learn how to use synth-pdb effectively
- Examples Gallery - Browse copy-paste examples