Skip to main content

Pestifer

NAMD System Preparation Tool

tests PyPI Python License: MIT Docs PyPI Downloads DOI

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.
  • Import & edit an existing system — bring in a PSF built elsewhere (CHARMM-GUI, another tool, an earlier run) and check every atom type and bonded term against the build's CHARMM release before any MD runs, then edit it in place — patches, disulfides, links, glycan grafts — or re-segment and rebuild it for mutations, insertions, and deletions.
  • 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 on an orthohexagonal lattice and protein embedding with any lipid that has a PDB, oriented to the membrane normal, with pierced-ring resolution. Asymmetric leaflets are calibrated one composition at a time, each leaflet's phase (liquid-ordered or liquid-disordered) is a build-time input rather than something the MD has to discover, and every barostatted stage stops on measured density and area convergence instead of a fixed step count.
  • 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.
  • Restartable builds — a run manifest records each task's spec and the state it produced, so an interrupted build resumes from the last cleanly-completed task; change the config and it re-runs from the first task whose spec changed.
  • 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:

  1. namd3 and charmrun
  2. vmd and catdcd

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:

  1. Fork, clone, and install editable: pip install -e .
  2. Branch, make your change, and add tests.
  3. Run the suite: pytest (or uv run pytest).
  4. Add a bullet under ## [Unreleased] in CHANGELOG.md.
  5. 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.

Metadata

Release files for pestifer 3.23.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pestifer 3.23.2
File Size Uploaded
pestifer-3.23.2.tar.gz 10.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pestifer 3.23.2
File Interpreter ABI Platform
pestifer-3.23.2-py3-none-any.whl Python 3 none any Details

Total release size: 20.5 MB

Release files / pestifer-3.23.2.tar.gz

Download URL pestifer-3.23.2.tar.gz
Size 10.3 MB
Tags Source
SHA-256 checksum
How to use checksums
3a77c7770a03c46f2fd4c8a4a073c58d0467add802756ff99d50876119aa2422
BLAKE2b-256 checksum
How to use checksums
9ecbc1d154e7b27052d59ba9aa3ebb55e2d5393b9e2d632ecf53fd97184bd5a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pestifer-3.23.2-py3-none-any.whl

Download URL pestifer-3.23.2-py3-none-any.whl
Size 10.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8b09d7c005fd2e55dcd3acc2aa2148c0f68341f80dc6d9e4ca4227b9251402dd
BLAKE2b-256 checksum
How to use checksums
1cfed572a82d7a93c231f3e47eeac3e9e42c34abf5f9fadf9a131d8e79e85754
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

3.27.0

2 release files

3.24.2

2 release files

3.24.1

2 release files

3.24.0

2 release files

This release

3.23.2 This release

2 release files

3.23.1

2 release files

3.23.0

2 release files

3.22.9

2 release files

3.22.8

2 release files

3.22.7

2 release files

3.22.6

2 release files

3.22.5

2 release files

3.22.4

2 release files

3.22.3

2 release files

3.22.2

2 release files

3.22.1

2 release files

3.22.0

2 release files

3.21.2

2 release files

3.19.4

2 release files

3.19.3

2 release files

3.19.2

2 release files

3.19.1

2 release files

3.19.0

2 release files

3.18.0

2 release files

3.17.0

2 release files

3.16.2

2 release files

3.16.1

2 release files

3.16.0

2 release files

3.15.4

2 release files

3.15.3

2 release files

3.15.2

2 release files

3.14.0

2 release files

3.13.0

2 release files

3.12.0

2 release files

3.11.1

2 release files

3.11.0

2 release files

3.10.1

2 release files

3.10.0

2 release files

3.9.0

2 release files

3.8.0

2 release files

3.7.2

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.9.0

2 release files

2.8.0

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.13

2 release files

2.4.12

2 release files

2.4.11

2 release files

2.4.10

2 release files

2.4.9

2 release files

2.4.8

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page