API Overview

PolyzyMD is organized into the following modules:

Package Structure

polyzymd/
├── config/           # Configuration and YAML loading
│   ├── schema.py     # Pydantic models for all config sections
│   └── loader.py     # YAML loading utilities
├── builders/         # System building components
│   ├── enzyme.py     # Enzyme/protein preparation
│   ├── substrate.py  # Substrate/ligand handling
│   ├── polymer.py    # Polymer chain generation
│   ├── solvent.py    # Solvation and ion addition
│   └── system_builder.py  # Main system assembly
├── simulation/       # MD simulation execution
│   ├── runner.py     # Simulation runner
│   └── continuation.py    # Checkpoint continuation
├── workflow/         # HPC workflow management
│   ├── slurm.py      # SLURM script generation
│   └── daisy_chain.py     # Job chaining
├── core/             # Core utilities
│   ├── parameters.py # Simulation parameters
│   └── restraints.py # Restraint definitions
└── cli/              # Command-line interface
    └── main.py       # Click CLI

Key Classes

Configuration

Building

Simulation

Workflow

Restraints

Quick Reference

Load Configuration

from polyzymd.config.schema import SimulationConfig

config = SimulationConfig.from_yaml("config.yaml")
print(config.enzyme.name)

Build System

from polyzymd.builders.system_builder import SystemBuilder

builder = SystemBuilder(config)
interchange = builder.build(replicate=1)

Run Simulation

from polyzymd.simulation.runner import SimulationRunner

runner = SimulationRunner(interchange, working_dir, config)
runner.run_equilibration()
runner.run_production(segment_index=0)

Submit to SLURM

from polyzymd.workflow.daisy_chain import submit_daisy_chain

results = submit_daisy_chain(
    config_path="config.yaml",
    slurm_preset="aa100",
    replicates="1-5",
)