Given the PDB structures of two equilibrium states of a biomolecule, the program computes the most probable path (minimum Onsager-Machlup action path). PyPath uses a Anisotropic Network Model based energy function to describe the biomolecular systems. PyPath is extremely fast and can be used to quickly determine the dynamics of protein and DNA molecules before venturing into more detailed molecular dynamics simulation algorithms.
The theory behind PyPath is described in detail in Chandrasekaran and Carter (2017), Chandrasekaran et al. (2016) and Franklin et. al (2007)
PyPath is written in python and it relies on several python libraries which can be downloaded and installed using the following command
conda env create --force --file environment.yml
conda activate pypath
The above commands requires Anaconda to be installed.
PyPath can be run with the -h flag to display all the required and optional parameters
pypath.py -h
which displays the following help menu
optional arguments:
-h, --help show this help message and exit
-start Initial equilibrium state [PDB file] [Required]
-end Final equilibrium state [PDB file] [Required]
-nconf The number of conformations in the trajectory [default: 3]
-calpha If only C-alpha atoms are to be used in the simulation
[default: all atom]
-torsion If torsion potential should be included in the all atom potential [default: all atom anm]
-eval print eigenvalues and eigenvectors to file
The two end states are input to the program using the -start and -end parameters. The end states are PDB files which need to have all the fields shown in the example below
ATOM 1 N GLY A 703 40.667 -1.776 7.887
The number of frames to be computed can be specified using the -nconf flag. It should be noted that the number the frames specified includes the end states.
By default, all atoms in the system are included in the simulation. By using the -calpha flag, only the CA atoms can be simulated. This is particularly useful for large systems as results from PyPath indicate that for large systems, CA only simulation generates results comparable to all atom simulations.
By default the all atom simulations use the ANM potential. When the -torsion flag is used, the torsional potential is also included in the all atom potential. Though including the torsional potential improves the accuracy of the all atom potential, for large systems, computing the torsional potential can be computationally expensive.
Eigenvalues and eigenvectors can be useful for variety of purposes like computing the coefficient of variation or calculating the motion of the molecule about particular normal modes. Using the -eval flag eigenvalues and eigenvectors can be printed.
Given these input parameters, PyPath generates the four output files.
path-log: log file containing important output parameters
trans.pdb: transition state PDB file.
trajectory.pdb: trajectory PDB file with nconf number of frames
path-energy: energy of each structure along the trajectory represented as time points
missing_sidechain_atoms.txt: this file is generated if the atoms necessary to build the Hessian are missing
-
The number of atoms in both the end states must be equal
-
For large systems, all atom simulation is resource intensive.
-
Since PyPath works with stable equilibrium states of biomolecules, studying the dynamics of biomolecules that are unfolded may not be possible with this program