Pestifer
NAMD System Preparation Tool
Pestifer is a fully automated simulation-ready MD system preparation tool, requiring as inputs only biomolecular structures (e.g., PDB IDs, PDB files, mmCIF files, alphafold IDs) and a handful of customization parameters, to generate NAMD-compatible input files (PSF, PDB, and xsc). It is basically a highly functionalized front end for VMD's psfgen utility. It also has a few handy subcommands for working with NAMD output.
Key capabilities
- Fully local & reproducible — a single YAML config plus a pinned pestifer version is a complete record of how a system was built; no data ever leaves your machine.
- Broad structure input — build from RCSB PDB IDs, local PDB/mmCIF files, or AlphaFold models, with automatic construction of biological assemblies.
- Simulation-ready CHARMM36 output — generate PSF/PDB/xsc for NAMD from the bundled CHARMM36 force field, including glycoproteins and nucleic acids.
- Sequence & structure edits — mutations, insertions, deletions, substitutions, residue patches, chain cleavage and relabeling, fusions, and arbitrary backbone/side-chain rotations.
- Loop & gap modeling — build unresolved internal loops and ligate chain breaks.
- Glycan grafting — transplant glycans from a donor structure with automatic clash and ring-piercing resolution.
- Membrane building — fast grid-based bilayers and protein embedding with any lipid that has a PDB, oriented to the membrane normal, with pierced-ring resolution.
- Solvation & ionization — TIP3P water or non-water solvents, with on-demand generation and caching of missing solvent boxes and lipid conformers.
- Custom ligands — use CGenFF-parameterized small molecules, plus a workflow to contribute your own residue definitions.
- Merge & package — combine pre-built systems (auto-resolving segment/chain collisions) and emit ready-to-run NAMD configs, SLURM restart scripts, solvent-stripped PSF/DCD, and plots of NAMD-log time series.
Installation
pip install pestifer
Once installed, the user has access to the main pestifer command.
Pestifer also requires access to the following executables:
namd3andcharmrunvmdandcatdcd
Pestifer includes a mirrored copy of the Feb 2026 Charmm36 force field, plus a few local corrections to upstream files and some added residue/ligand/ion definitions — see CHARMM force-field customizations for the full list and rationale.
Documentation
Please visit readthedocs for full documentation.
Version History
See the CHANGELOG for full details.
Meta
https://github.com/cameronabrams
Pestifer is maintained by Cameron F. Abrams.
Pestifer is distributed under the MIT license. See LICENSE for more information.
Pestifer was developed with support from the National Institutes of Health via grants GM100472, AI154071, and AI178833.
Contributing
Pestifer is developed on GitHub at https://github.com/cameronabrams/pestifer.
Code changes:
- Fork, clone, and install editable:
pip install -e . - Branch, make your change, and add tests.
- Run the suite:
pytest(oruv run pytest). - Add a bullet under
## [Unreleased]inCHANGELOG.md. - Push and open a Pull Request.
Content contributions — a new example, a PDB-repository entry, or a custom CHARMM residue — use the modify-package subcommand, which makes the branch, commits exactly the files it touches, and prints the push / PR steps for you (no manual branching needed). See the modify-package documentation.
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 pestifer-3.15.1.tar.gz.
File metadata
- Download URL: pestifer-3.15.1.tar.gz
- Upload date:
- Size: 12.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59e4922f00afbd04dd4cdb2b1a07e52c2d44660c23313f433aceec6f86a5353c
|
|
| MD5 |
02befbfd5260212826be94cc91b7fd8f
|
|
| BLAKE2b-256 |
bf06a7dbd59d81ea8bd2c595ac06bb605d45840d8d78ec4f8db8d4304dcdce94
|
Provenance
The following attestation bundles were made for pestifer-3.15.1.tar.gz:
Publisher:
release.yaml on cameronabrams/pestifer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pestifer-3.15.1.tar.gz -
Subject digest:
59e4922f00afbd04dd4cdb2b1a07e52c2d44660c23313f433aceec6f86a5353c - Sigstore transparency entry: 2396130388
- Sigstore integration time:
-
Permalink:
cameronabrams/pestifer@18e065d77f0391075105d5ee58376f8cae31bce9 -
Branch / Tag:
refs/tags/v3.15.1 - Owner: https://github.com/cameronabrams
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@18e065d77f0391075105d5ee58376f8cae31bce9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pestifer-3.15.1-py3-none-any.whl.
File metadata
- Download URL: pestifer-3.15.1-py3-none-any.whl
- Upload date:
- Size: 12.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b345b328df4165792dd3617789fb6826450cfcc0278fcba68c92fdbd4197e6c
|
|
| MD5 |
bb230016d036b519a45a8b7b8233f09d
|
|
| BLAKE2b-256 |
495fc549025494d0d4bc0999bb61a8877078e671c7058e09865dfaf3c873df9e
|
Provenance
The following attestation bundles were made for pestifer-3.15.1-py3-none-any.whl:
Publisher:
release.yaml on cameronabrams/pestifer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pestifer-3.15.1-py3-none-any.whl -
Subject digest:
6b345b328df4165792dd3617789fb6826450cfcc0278fcba68c92fdbd4197e6c - Sigstore transparency entry: 2396130566
- Sigstore integration time:
-
Permalink:
cameronabrams/pestifer@18e065d77f0391075105d5ee58376f8cae31bce9 -
Branch / Tag:
refs/tags/v3.15.1 - Owner: https://github.com/cameronabrams
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@18e065d77f0391075105d5ee58376f8cae31bce9 -
Trigger Event:
push
-
Statement type: