A NAMD topology/coordinate input builder


License
MIT
Install
pip install pestifer==1.4.4

Documentation

Pestifer

Automatic NAMD System Input Builder

Pestifer is a fully automated system builder, 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). It is basically a front end for VMD's psfgen utility.

Installation

pip install pestifer

Once installed, the user has access to the main pestifer command.

Pestifer also requires access to the following executables:

  1. namd2 and charmrun
  2. vmd
  3. packmol

By default, pestifer looks for these in /usr/local/bin. Specific paths for these can be stipulated in the paths directive of your input file.

Pestifer includes the July 2024 Charmm36 force field.

Release History

  • 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 removed
    • packmol-memgen integration removed; now use native bilayer task
    • make-resi-database command added
    • CHARMM force field files updated to July 2024
    • salt_con, anion, and cation specs for solvate now available
    • pidibble 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 for fetch-example and run-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
  • 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
  • 1.4.4:
    • now includes Tcllib 2.0
    • bugfixes:
      • fixed incorrect charges on the C-terminal CA and HB in the HEAL patch
  • 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
  • 1.3.9:
    • added include_C_termini boolean to declash directives; set to False to prevent C-terminal insertions from undergoing automatic declashing
  • 1.3.8
    • bugfix: spurious code in pestifer-vmd.tcl
  • 1.3.7
    • bugfix: fixed a spurious hard-coded path in macros.tcl
  • 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
  • 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
  • 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 script
    • script subcommand removed
    • syntax of wheretcl subcommand expanded
  • 1.3.3
    • NAMDLog class introduced for parsing NAMD2-generated log files
    • mdplot 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-build PSF/PDB systems
  • 1.2.9
    • improved declashing and domain-swapping
  • 1.2.8
    • grafts for adding glycans
  • 1.2.7
    • cleave task and CleavageMod
  • 1.2.6
    • ModManager replaces ModContainer
  • 1.2.5
    • insertion mod; corrected bug in brot tcl procedure
  • 1.2.3
    • script subcommand handles local scripts
  • 1.2.2
    • added wheretcl subcommand
  • 1.2.1
    • added script subcommand
  • 1.2.0
    • split all namd subtasks out; now they are level-1 tasks
  • 1.1.3
    • added manipulate task
  • 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 version

Meta

Cameron F. Abrams

Distributed under the MIT license. See LICENSE for more information.

https://github.com/cameronabrams

Contributing

  1. Fork it (https://github.com/cameronabrams/pestifer/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request