Skip to content

API Reference

Welcome to the synth-pdb API reference. This section provides detailed documentation for all public modules, classes, and functions.

Core Modules

  • generator


    Main module for generating protein structures from sequences

    View docs

  • physics


    Energy minimization and molecular dynamics using OpenMM

    View docs

  • validator


    Structure validation (bonds, angles, Ramachandran, clashes)

    View docs

  • geometry


    3D coordinate calculations using NeRF algorithm

    View docs

Scientific Features

  • chemical_shifts


    NMR chemical shift prediction (ยนH, ยนยณC, ยนโตN)

    View docs

  • relaxation


    NMR relaxation rates (Rโ‚, Rโ‚‚, NOE) via Lipari-Szabo

    View docs

  • nmr


    NOE restraint generation for structure calculation

    View docs

  • biophysics


    pH titration, salt bridges, PTMs, metal coordination

    View docs

  • cryo_em


    Synthetic Cryo-EM density map generation (MRC)

    View docs

  • saxs


    Small-Angle X-ray Scattering simulation

    View docs

  • docking


    Docking prep (PQR format, charge assignment)

    View docs

  • cofactors


    Inorganic coordination (Zinc fingers, metal binding)

    View docs

  • special_chemistry


    PTMs and GFP chromophore maturation

    View docs

Analysis & Export

  • analysis


    RMSD, ensemble medoids, and geometric strain

    View docs

  • export


    CASP RR and CSV export for AI/ML modeling

    View docs

  • bmrb_api


    Programmatic fetching of BMRB and PDB data

    View docs

  • packing


    Monte Carlo side-chain packing engine

    View docs

  • scoring


    Biophysical quality scores (Clashes, Density)

    View docs

Utilities

  • batch_generator


    Vectorized batch generation for AI/ML workflows

    View docs

  • viewer


    3D visualization using py3Dmol

    View docs

  • dataset


    Bulk dataset generation and export (NPZ, HDF5)

    View docs

  • torsion


    Backbone and side-chain dihedral analysis

    View docs

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
โ”œโ”€โ”€ cryo_em.py            # Cryo-EM map generation
โ”œโ”€โ”€ saxs.py               # SAXS profile simulation
โ”œโ”€โ”€ docking.py            # Docking and PQR preparation
โ”œโ”€โ”€ cofactors.py          # Inorganic coordination
โ”œโ”€โ”€ analysis.py           # Structural analysis suite
โ”œโ”€โ”€ export.py             # CASP RR and CSV export
โ”œโ”€โ”€ bmrb_api.py           # BMRB and PDB data access
โ”œโ”€โ”€ packing.py            # Monte Carlo side-chain packing
โ”œโ”€โ”€ 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
โ”œโ”€โ”€ scoring.py            # Biophysical quality scores
โ””โ”€โ”€ torsion.py            # Dihedral angle analysis

Design Philosophy

synth-pdb follows these design principles:

  1. Code as Textbook: Extensive educational comments explaining the biophysical reasoning
  2. Modular Architecture: Clear separation of concerns (generation, physics, validation)
  3. Scientific Rigor: Proper implementation of established methods with citations
  4. Performance: Vectorized operations, optional Numba JIT compilation
  5. Flexibility: Works as both library and command-line tool

Next Steps