A NAMD topology/coordinate input builder
Project description
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.
Installation
pip install pestifer
Once installed, the user has access to the main pestifer
command.
Pestifer also requires access to the following executables:
namd2
andcharmrun
vmd
andcatdcd
packmol
By default, pestifer looks for these commands in your path. Specific paths for these can be stipulated in the paths
directive of your input file.
Pestifer includes the July 2024 Charmm36 force field.
Documentation
Please visit readthedocs for full documentation.
Release History
- 1.20.2
- upgraded example support
- 1.19.1
- fixed namd restart bugs
- 1.19.0
- fixed improper sorting of segment indices in bilayer_embed.tcl
- support for adding, renaming, inserting, assigning authorship to, and deleting examples
- 1.18.1
- switched from patches to mutations for protonated histines predicted by
pdb2pqr
- switched from patches to mutations for protonated histines predicted by
- 1.18.0
- developer support for adding examples
- 1.17.0
- support for simple nucleic acids added
- 1.16.3
- fixed None-return bug in terminate task
- fixed bug in insulin example to correctly assign NE2-Zn bonds
- fixed bug causing piericing of PRO807 in model-building missing residues in insulin receptor example
- 1.16.0
- new
pdb2pqr
task to assign protonation states based onpropka3
- new
- 1.15.1
- fixed the dropped filename extensions in
mdplot
- fixed the dropped filename extensions in
- 1.15.0
- updated salt concentration implementation in membrane system builder
- removed spurious dependence on
parmed
- added pressure profile calculation capabilities to
mdplot
task
- 1.14.1
- new docs
- 1.14.0
- Implemented standard CHARMM36 patches as mods
- Added HIV-1 protease 1f7a as a new example (now there are 16!)
- 1.13.3
- Allow config to contain names of otherwise unnamed lipids in CHARMMFF
- 1.13.2
- Example 15 added with ring-check
- 1.13.1
- changed
make-resi-database
tomake-pdb-collection
- updated PDB repository to work with a gzipped folder (all lipids)
- changed
- 1.13.0
- converted charmmff contents back into an as-downloaded tarball
- 1.12.1
- added
half_mid_zgap
parameter to ease membrane packing - added
C6DH
andC7DH
lipid residue aliases forC6DHPC
andC7DHCP
, respectively - enable inadvertantly unimplemented user selection of number of lipids per leaflet in a patch
- misspelled "paramfiles" in ycleptic basefile (one time)
- added
- 1.12.0
- documentation upgrades
- better progress bar integration with
packmol
- 1.11.3
- fixed residue misnumbering for large membranes
- fixed large membrane embedding errors
- 1.11.2
- fixed parsing error converting specstrings to composition dicts
- 1.11.1
- tests passed after minor updates
- 1.11.0
- New bilayer build protocol
- New NAMD and packmol on-the-fly log parsing, including in standalone mode with the
follow-namd-log
subcommand
- 1.10.0
- Updated the
pestifer_init
TcL script definition to allow the commandpestifer_init
to replace the clunkiersource [pestifer_init]
cleanup
subcommand added for cleaning up after an aborted run
- Updated the
- 1.9.0
transrot
mod enabled for global translations and rotationsdesolvate
subcommand now can output a single pdb file
- 1.8.3
- fixed bug for growing alpha helices in the N-terminal direction in
crot.tcl
- fixed bug for growing alpha helices in the N-terminal direction in
- 1.8.2
- fixed failure to avoid deprecated namd parameters if using namd2
- fixed hard-coded C-direction brot call to detect whether brot is N- or C-terminal
- added
--gpu
option for therun
andrun-example
subcommands
- 1.8.1
- removal of tcllib from resources (I never used it anyway)
- bugfix in slow build tests
- 1.8.0
- new source code structure
- mmCIF convention updated
mdplot
subcommand added
- 1.7.4
- bugfix:
- xst trace for
mdplot
fails if empty
- xst trace for
- bugfix:
- 1.7.2
- bugfix:
- correct the detection of whether or not a file is a NAMD log file based on the first two Info: records
- correct the problem with restarts interfering with mdplot
- bugfix:
- 1.7.1
make-namd-restart
enhanced with automatic SLURM script updating
- 1.6.4a2
- bugfix: GPU-resident NAMD3 cannot do mulitple-gpu runs with constraints
- 1.6.4a0
- all lipids in the charmmff topology file
top_all36_lipid.rtf
now have PDBs ready forpackmol
show-resources
subcommand enabledmake-namd-restart
subcommand enabledycleptic
dependency updated to 1.1.0
- all lipids in the charmmff topology file
- 1.6.1
- now able to use namd2 or namd3
- can optionally use GPU-resident namd3
- 1.5.9
- bugfix: log write suppressed inadvertently if progress bars not used
- 1.5.6
desolvate
subcommand implemented
- 1.5.5
- wildcard allowed in pdbalias commands for atom renaming
- temporary fix for dbRes HIS in any mutations to be named HSD
- 1.5.4
- bugfix: incorrect deletion of image seqmods
- 1.5.3
- bugfix:
custom_pdb_path
bug inbilayer
fixed
- bugfix:
- 1.5.2
- glycan graph mistake fixed
- python dependency updated to >=3.12
ycleptic
dependency updated to 1.0.7
- 1.4.8
- updated CHARMM lipid PDB files
- updated
ycleptic
to 1.0.6 to enable interactive help and automatic config documentation
- 1.4.7
ambertools
dependency removedpackmol-memgen
integration removed; now use nativebilayer
taskmake-resi-database
command added- CHARMM force field files updated to July 2024
salt_con
,anion
, andcation
specs for solvate now availablepidibble
dependency updated to 1.1.9
- 1.4.6:
- pierced ring detection and remediation via the
ring_check
task restart
task added- automatic detection of SLURM environment for multi-node MD runs
--config-updates
option forfetch-example
andrun-example
subcommands implemented- progress bars enabled for NAMD, psfgen, and packmol
--kick-ass-banner
option implemented -- check it out!pidibble
dependency updated to 1.1.8- expanded integration of
packmol-memgen
- pierced ring detection and remediation via the
- 1.4.5:
- added
fetch-example
subcommand that just copies the respective example YAML file to the CWD - bugfixes:
- since packmol-memgen sometimes translates the insert, cannot use packmol's input coordinates to psfgen the resulting embedded system
- added
- 1.4.4:
- now includes Tcllib 2.0
- bugfixes:
- fixed incorrect charges on the C-terminal CA and HB in the
HEAL
patch
- fixed incorrect charges on the C-terminal CA and HB in the
- 1.4.3:
- update ambertools version requirement to 23.6; no more packmol-memgen/pdbremix error
- bugfixes:
- change packmol-memgen's weird ion names to be CHARMM-compatible
- allow for N-atom position calculation for residues added to a C-terminus (atom name OT1 vs O)
- 1.4.2:
- explicit chain mapping in config file
- 1.4.1:
- support for empty TER records
- 1.4.0:
- initial
packmol-memgen
integration
- initial
- 1.3.9:
- added
include_C_termini
boolean todeclash
directives; set toFalse
to prevent C-terminal insertions from undergoing automatic declashing
- added
- 1.3.8
- bugfix: spurious code in
pestifer-vmd.tcl
- bugfix: spurious code in
- 1.3.7
- bugfix: fixed a spurious hard-coded path in
macros.tcl
- bugfix: fixed a spurious hard-coded path in
- 1.3.6
- bugfix:
runscript
sources TcL proc files with dependencies in proc files that aren't yet sourced; fixed that
alphafold
source directive added to permit download of models from the AlphaFold database by accession code
- bugfix:
- 1.3.5
- bugfix:
- renumbering of author resids in non-protein segments if user adds protein residues by insertion that may conflict
- transferance of atomselect macros from YAML input to any VMD script
inittcl
subcommand makes this transfer; needs only to be run one time post-installation
- bugfix:
- 1.3.4
- new TcL procs for asymmetric unit generation from non-symmetric assemblies
pestifer_init
TcL proc provided in docs for user VMD startup scriptscript
subcommand removed- syntax of
wheretcl
subcommand expanded
- 1.3.3
NAMDLog
class introduced for parsing NAMD2-generated log filesmdplot
task for generating plots of various energy-like quantities vs timestep
- 1.3.2
- allow for user-defined links in the config file
- all example builds now have tests in the test suite
- 1.3.1
- bug fixes for cleaving
- 1.3.0
- Support for reading from already-built PSF/PDB systems
- 1.2.9
- improved declashing and domain-swapping
- 1.2.8
grafts
for adding glycans
- 1.2.7
cleave
task andCleavageMod
- 1.2.6
ModManager
replacesModContainer
- 1.2.5
insertion
mod; corrected bug inbrot
tcl procedure
- 1.2.3
- script subcommand handles local scripts
- 1.2.2
- added
wheretcl
subcommand
- added
- 1.2.1
- added
script
subcommand
- added
- 1.2.0
- split all namd subtasks out; now they are level-1 tasks
- 1.1.3
- added
manipulate
task
- added
- 1.1.2
- more control over production NAMD2 config generated by the package directive
- 1.1.1
- position restraints control in minimization and relaxation
- 1.1.0
other_parameters
for any NAMD2 relaxation task
- 1.0.9
- alternate coordinate files and Cfusions
- 1.0.8
- chain-specific control over building in zero-occupancy residues at N and C termini
- 1.0.7
alpha
crotation for folding a span of residues into an alpha helix
- 1.0.6
cif_residue_map_file
generated to report mapping between CIF-residue numbering and author residue numbering
- 1.0.5
- enhancements to packaging task
- 1.0.4
- support for topogromacs added
- 1.0.1
- Initial release
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
- Fork it (https://github.com/cameronabrams/pestifer/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file pestifer-1.20.2.tar.gz
.
File metadata
- Download URL: pestifer-1.20.2.tar.gz
- Upload date:
- Size: 72.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0b41e3da5b5c98b4430adb90b1d6f7bfbbf92144019e122d2cf305de915e6fa0
|
|
MD5 |
b4b0107600c309d6cbb0bbbd86c6f388
|
|
BLAKE2b-256 |
81d28fc72d8b9a0dd20de31136c44022c0b0c60ba28e181ba9a0677d39a55169
|
File details
Details for the file pestifer-1.20.2-py3-none-any.whl
.
File metadata
- Download URL: pestifer-1.20.2-py3-none-any.whl
- Upload date:
- Size: 14.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
f5a0c6b2337080306da18a3e6d6e3f854ba6c2a7881ecae40a7ad8d3b4074f5f
|
|
MD5 |
9ed457f30048ed2807b63b4fb26677f2
|
|
BLAKE2b-256 |
b52551ffdc9b31a924fb8b312a4b77bde24f122be68d16dda37abd3ef7cfdcc5
|