Installation
This guide covers installing PolyzyMD and its dependencies using pixi, a fast, reproducible package manager.
Prerequisites
Linux x86-64 (the only platform with tested environments)
pixi (installed below)
Note
PolyzyMD’s simulation stack (OpenMM, OpenFF Toolkit, etc.) is only available via conda-forge channels. Pixi handles this automatically — you do not need conda or mamba installed.
Install pixi
If you don’t already have pixi:
curl -fsSL https://pixi.sh/install.sh | sh
Then restart your shell or run source ~/.bashrc (or ~/.zshrc).
User Installation (local / no GPU)
Use the build environment for system building, validation, and PDB preparation on a local machine without a GPU.
# Clone the repository
git clone https://github.com/joelaforet/polyzymd.git
cd polyzymd
# Install the build environment
pixi install -e build
# Activate the environment
pixi shell -e build
# Verify installation
polyzymd --help
polyzymd info
Inside the pixi shell, the polyzymd CLI is on PATH and works directly.
What works in the build environment
Command |
Works? |
Notes |
|---|---|---|
|
Yes |
System building (no GPU needed) |
|
Yes |
Config validation |
|
Yes |
Project scaffolding |
|
Yes |
Version/dependency info |
|
Yes |
PDB cleanup |
|
No |
Requires a CUDA environment |
|
No |
Requires a CUDA environment |
HPC Installation
Warning
The SLURM presets in PolyzyMD are designed for CU Boulder Alpine/Blanca and PSC Bridges2. Other clusters will need custom presets — see HPC and SLURM Guide for details.
On HPC clusters with GPUs, use one of the CUDA environments. Pick the environment that matches your cluster’s CUDA driver version.
How to find your CUDA version
On a GPU node, run:
nvidia-smi | head -1
The driver version in the top-right maps to a maximum CUDA version:
Cluster |
CUDA driver |
Environment |
|---|---|---|
PSC Bridges2 |
12.6 |
|
CU Boulder Blanca |
12.4 |
|
Setup steps
# 1. Install pixi (if not already installed)
curl -fsSL https://pixi.sh/install.sh | sh
source ~/.bashrc
# 2. Clone the repo to your projects directory
cd /projects/$USER
git clone https://github.com/joelaforet/polyzymd.git
cd polyzymd
# 3. Install the environment matching your cluster
pixi install -e cuda-12-6 # Bridges2
# or
pixi install -e cuda-12-4 # CU Boulder Blanca
# 4. Verify installation (on a GPU node)
pixi shell -e cuda-12-6
polyzymd info
Tip
You only need to run pixi install once. After that, pixi shell -e <env>
is all you need to activate the environment in each new session.
Submitting jobs
Inside the pixi shell, submission works as usual:
pixi shell -e cuda-12-6
polyzymd submit -c config.yaml \
--replicates 1-3 \
--preset aa100 \
--dry-run
The generated SLURM scripts automatically activate the correct pixi
environment via pixi shell-hook — no module load or conda activate
needed in job scripts.
Developer Installation
For contributing to PolyzyMD or modifying the source code:
# Clone the repository
git clone https://github.com/joelaforet/polyzymd.git
cd polyzymd
# Install the build environment (editable mode is automatic via pixi.toml)
pixi install -e build
# Activate
pixi shell -e build
# Run tests
pytest tests/ -x -q --tb=short --ignore=tests/test_packmol.py
# Run linting
ruff check src/
ruff format --check src/
PolyzyMD is installed in editable mode by default (configured in pixi.toml
via polyzymd = { path = ".", editable = true }). Any source changes are
immediately reflected without reinstalling.
Optional Dependencies
AmberTools
AmberTools is included in all pixi environments by default (pinned to version 23.3 for compatibility with the OpenFF stack). No additional installation is needed.
To use AM1-BCC charges via AmberTools in your configuration:
substrate:
charge_method: "am1bcc"
OpenEye Toolkit (commercial, faster AM1-BCC)
If you have an OpenEye license, install the toolkit in your pixi environment:
pixi shell -e build
pip install openeye-toolkits
Common Installation Issues
“pixi: command not found”
Make sure pixi is installed and on PATH:
curl -fsSL https://pixi.sh/install.sh | sh
source ~/.bashrc
which pixi
“polyzymd: command not found”
Make sure you’ve activated the pixi environment:
pixi shell -e build # local use
pixi shell -e cuda-12-6 # HPC use
which polyzymd # should show path inside .pixi/
pixi install fails on HPC login node
Some HPC systems restrict network access on login nodes. Try:
Use a compile/data-transfer node if available
Or pre-download on a machine with internet access and
rsyncthe repository (including.pixi/) to the cluster
OpenMM can’t find CUDA
Make sure you’re using the correct CUDA environment for your cluster:
# Check your GPU's CUDA version
nvidia-smi | head -1
# Use the matching environment
pixi shell -e cuda-12-6 # NOT cuda-12-4 on a 12.6 system
python -c "import openmm; print(openmm.Platform.getPlatformByName('CUDA').getName())"
Adding support for a new cluster
If your cluster has a different CUDA driver version, you can add a new
environment to pixi.toml following the pattern of the existing CUDA
features. See the comments in pixi.toml for instructions, or file a PR.
Updating PolyzyMD
To update to the latest version:
cd /path/to/polyzymd
git pull
pixi install -e <your-environment>
Since PolyzyMD is installed in editable mode from the local clone,
git pull picks up all code changes. Running pixi install again
updates any changed conda dependencies.
Uninstalling
# Remove the pixi environments
cd /path/to/polyzymd
rm -rf .pixi
# Or remove the entire clone
rm -rf /path/to/polyzymd
Next Steps
Once installed, continue to the Quick Start Guide guide to run your first simulation.