Metadata-Version: 2.1
Name: pestifer
Version: 1.4.9
Summary: A NAMD topology/coordinate input builder
Project-URL: Source, https://github.com/cameronabrams/pestifer
Project-URL: Documentation, https://pestifer.readthedocs.io/en/latest/
Project-URL: Bug Tracker, https://github.com/cameronabrams/pestifer/issues
Author-email: Cameron F Abrams <cfa22@drexel.edu>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: mmcif
Requires-Dist: networkx
Requires-Dist: numpy>=1.24
Requires-Dist: pandas
Requires-Dist: parmed
Requires-Dist: pidibble>=1.2.1
Requires-Dist: progressbar2
Requires-Dist: pyyaml>=6
Requires-Dist: ycleptic>=1.0.7
Description-Content-Type: text/markdown

# 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

```bash
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 also includes the July 2024 Charmm36 force field.

## Release History
* 1.4.9
    * ycleptic dependecy 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](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

