Molecular dynamics simulation toolkit for enzyme-polymer systems
Project description
PolyzyMD
Molecular dynamics simulation toolkit for enzyme-polymer systems.
Documentation • Installation • Quick Start
Overview
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
Analysis Status
- 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)
Installation
PolyzyMD uses pixi for environment management. Pixi handles all dependencies (OpenMM, OpenFF stack, CUDA, etc.) from conda-forge with reproducible lockfiles.
1. Install pixi
curl -fsSL https://pixi.sh/install.sh | sh
2. Clone and install
git clone https://github.com/joelaforet/polyzymd.git
cd polyzymd
For local use (building systems, validation, no GPU):
pixi install -e build
pixi shell -e build
For 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-6
After pixi shell, the polyzymd command is on PATH and works normally.
How to find your CUDA version
Run on a GPU node:
nvidia-smi | head -1
The driver version in the top-right maps to a maximum supported CUDA version. Use the environment whose CUDA version does not exceed your driver.
Quick Start
1. Initialize a Project
polyzymd init --name my_simulation
cd my_simulation
This creates a project directory with a template config.yaml and placeholder files.
2. Add Your Structure Files
cp /path/to/enzyme.pdb structures/
cp /path/to/substrate.sdf structures/ # optional
3. Edit Configuration & Run
# Edit config.yaml with your settings, then:
polyzymd validate -c config.yaml
polyzymd submit -c config.yaml --replicates 1-5 --preset blanca-shirts
The --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-6
See the Quick Start Guide for a complete walkthrough.
CLI Commands
| 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 |
Pixi Environments
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 |
Adding support for a new cluster
- 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
Documentation
Full documentation is available at polyzymd.readthedocs.io.
License
MIT License - see LICENSE file for details.
Citation
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}
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file polyzymd-1.2.0.tar.gz.
File metadata
- Download URL: polyzymd-1.2.0.tar.gz
- Upload date:
- Size: 537.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09260632901f41760a9822455ecd50e3d33f2a1b50ffff06c6de116697ce88d4
|
|
| MD5 |
732f3b09b07c58c75ca001279a0ecdeb
|
|
| BLAKE2b-256 |
a529ef8688f528049a5151a19542addefbe7811e9bfd751299f9f58914a1da22
|
Provenance
The following attestation bundles were made for polyzymd-1.2.0.tar.gz:
Publisher:
release.yml on joelaforet/polyzymd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polyzymd-1.2.0.tar.gz -
Subject digest:
09260632901f41760a9822455ecd50e3d33f2a1b50ffff06c6de116697ce88d4 - Sigstore transparency entry: 1175603915
- Sigstore integration time:
-
Permalink:
joelaforet/polyzymd@70235c231db7350b40ec7837bb1005b9c1571d51 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/joelaforet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@70235c231db7350b40ec7837bb1005b9c1571d51 -
Trigger Event:
push
-
Statement type:
File details
Details for the file polyzymd-1.2.0-py3-none-any.whl.
File metadata
- Download URL: polyzymd-1.2.0-py3-none-any.whl
- Upload date:
- Size: 658.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3b79762031edcf6625890f78fa30cf5fc787ebb09321a55fc53c06a1500de59
|
|
| MD5 |
de3807cf433bf4bbfce3606d39a7a0e3
|
|
| BLAKE2b-256 |
655be19f4efa7fbeaabbd1fa3808de4be955e80ce7f6cf9a261d6567cc0dbe4c
|
Provenance
The following attestation bundles were made for polyzymd-1.2.0-py3-none-any.whl:
Publisher:
release.yml on joelaforet/polyzymd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polyzymd-1.2.0-py3-none-any.whl -
Subject digest:
c3b79762031edcf6625890f78fa30cf5fc787ebb09321a55fc53c06a1500de59 - Sigstore transparency entry: 1175604019
- Sigstore integration time:
-
Permalink:
joelaforet/polyzymd@70235c231db7350b40ec7837bb1005b9c1571d51 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/joelaforet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@70235c231db7350b40ec7837bb1005b9c1571d51 -
Trigger Event:
push
-
Statement type: