Molecular dynamics simulation toolkit for enzyme-polymer systems.
Documentation • Installation • Quick Start
PolyzyMD provides a streamlined workflow for setting up and running MD simulations of enzymes with co-polymer chains. It handles:
- System Building: Combine enzyme structures, docked substrates, and random co-polymers
- Solvation: Add water, ions, and optional co-solvents with PACKMOL
- Simulation: Run equilibration and production with OpenMM
- HPC Integration: Self-resubmitting job submission for SLURM clusters
- Configuration: YAML-based configuration with validation
- Stable comparison and plotting workflows: RMSF, contacts, distances, catalytic triad, and secondary structure
- Experimental but still available: contacts binding preference, exposure dynamics, binding free energy, and polymer affinity score
- Experimental analyses remain callable from the CLI, but PolyzyMD labels their text output and generated figures as experimental because definitions and interpretation may change in a later release
- Analysis currently supports OpenMM-produced trajectories (DCD format) only; GROMACS XTC trajectory support is planned for v1.2.1 (#47)
PolyzyMD uses pixi for environment management. Pixi handles all dependencies (OpenMM, OpenFF stack, CUDA, etc.) from conda-forge with reproducible lockfiles.
curl -fsSL https://pixi.sh/install.sh | shgit clone https://github.com/joelaforet/polyzymd.git
cd polyzymdFor local use (building systems, validation, no GPU):
pixi install -e build
pixi shell -e buildFor HPC clusters (GPU simulations):
Pick the environment that matches your cluster's CUDA version:
| Cluster | CUDA | Environment | OpenMM |
|---|---|---|---|
| CU Boulder Blanca | 12.4 | cuda-12-4 |
8.1 |
| PSC Bridges2 | 12.6 | cuda-12-6 |
8.4 |
# Example for Blanca:
pixi install -e cuda-12-4
pixi shell -e cuda-12-4
# Example for Bridges2:
pixi install -e cuda-12-6
pixi shell -e cuda-12-6After pixi shell, the polyzymd command is on PATH and works normally.
Run on a GPU node:
nvidia-smi | head -1The driver version in the top-right maps to a maximum supported CUDA version. Use the environment whose CUDA version does not exceed your driver.
polyzymd init --name my_simulation
cd my_simulationThis creates a project directory with a template config.yaml and placeholder files.
cp /path/to/enzyme.pdb structures/
cp /path/to/substrate.sdf structures/ # optional# Edit config.yaml with your settings, then:
polyzymd validate -c config.yaml
polyzymd submit -c config.yaml --replicates 1-5 --preset blanca-shirtsThe --preset flag selects SLURM configuration and automatically picks the
correct pixi environment (cuda-12-4 for Blanca, cuda-12-6 for Bridges2).
You can override with --pixi-env:
polyzymd submit -c config.yaml --replicates 1-5 --preset bridges2 --pixi-env cuda-12-6See the Quick Start Guide for a complete walkthrough.
| Command | Description |
|---|---|
polyzymd init -n my_project |
Initialize a new project directory |
polyzymd validate -c config.yaml |
Validate configuration file |
polyzymd build -c config.yaml |
Build simulation system |
polyzymd run-gromacs -c config.yaml |
Build and run GROMACS simulation |
polyzymd submit -c config.yaml |
Submit self-resubmitting jobs to SLURM |
polyzymd run-segment -c config.yaml |
Run a single production segment |
polyzymd check-progress -c config.yaml |
Check simulation completion status |
polyzymd recover -c config.yaml |
Resume a stalled simulation |
polyzymd info |
Show installation information |
PolyzyMD uses pixi instead of conda/mamba. Key differences:
- No
conda activate— usepixi shell -e <env>instead - No environment YAML —
pixi.toml+pixi.lockare the single source of truth - Reproducible — the lockfile pins every package to exact versions
- CUDA-aware — each environment pins the correct CUDA and OpenMM versions
| Environment | Use case | Requires GPU? |
|---|---|---|
build |
System building, PDB prep, validation | No |
cuda-12-4 |
Simulations on CUDA 12.4 clusters (Blanca) | Yes |
cuda-12-6 |
Simulations on CUDA 12.6 clusters (Bridges2) | Yes |
- Determine the CUDA version (
nvidia-smion a GPU node) - Add a new
[feature.cuda-X-Y]block inpixi.tomlfollowing the existing pattern - Add the corresponding environment in
[environments] - Add the preset mapping in
PRESET_DEFAULT_PIXI_ENVinslurm.py - File a PR
Full documentation is available at polyzymd.readthedocs.io.
MIT License - see LICENSE file for details.
If you use PolyzyMD in your research, please cite:
@software{polyzymd,
author = {Laforet Jr., Joseph R.},
title = {PolyzyMD: Polymer-Enzyme Interactions Studied with Molecular Dynamics},
year = {2026},
url = {https://github.com/joelaforet/polyzymd}
}