Dynamical behaviour of macromolecules can be studied by many different mathematical-physical models. One of them is a classical molecular dynamics (MD). MD producess trajectory via integrating Newton equation of motion (F=m.a) where the force (F) is calculated as gradient on potential energy (F=-grad E) evaluated by molecular mechanics (MM). MM is based on clear approximation outgoing from Born-Oppenheimer approximation. All atoms are considered to be heavy charged balls with defined radius, bonds and bond angles behave like harmonic strings. Similar approximation is used for dihedral angles. Program package AMBER,CHARM,GROMOS and many others can be used for MD simulation.
Molecular dynamic simulation can be performed via program SANDER or PMEMD (of AMBER). Some basic information and tutorials for MD simulation can be found in AMBER tutorial. Atom's coordinates of the trajectory are usually stored in *.trj file.
Trajectory file (*.trj) is used as CAVER input.
An example of trajectory file simulation.trj can be seen below (detailed information about the file format can be found here).
rdparm example trajectory -9.303 -26.112 2.297 -10.054 -25.926 1.649 -9.228 -25.330 2.932 -9.505 -26.933 2.850 -8.034 -26.269 1.572 -7.228 -26.379 2.298 -8.031 -27.506 0.670 -8.861 -27.470 -0.035 -7.100 -27.535 0.104 -8.124 -28.764 1.536 . :
CAVER considers molecule as a group of ball-shaped atoms. Therefore, radius of every atom type has to be specified. The van der Waals radii (in A) are used for this purpose. An example of atom radius file named radius.dat can be seen below.
H 0.6000 HP 1.1000 HA 1.4590 C 1.9080 CA 1.9080 CD1 1.9080 CE2 1.9080 CE3 1.9080 CG2 1.9080 CH2 1.9080 . :
Atom type is necessary for appropriate assignement of atom radius. Types are specified in the file types.dat. The first line specifies a number of atoms in a molecule. This file can be easily generated from PDB using gawk.
gawk 'ATOM {print $3}' your.pdb > extracted.types
An example of atom types file named types.dat can be seen below.
4696 N H1 H2 H3 CA HA CB HB2 HB3 CG HG2 HG3 . :
CAVER options are specified in a file named config.dat. An example of config.dat file is shown below.
0.8 radius.dat types.dat simulation.trj 20 1 0 2 3 3 1652 1667 2285 4
Following options are stored.
CAVER approximates the protein on a grid. The length of a grid cell (a distance between two nodes) is specified in Grid size value written in config.dat. Usual value is about 0.5 - 1.0 A. Lower values generate finer grid, but the calculation will take more time. Higher values allow quick processing, however the result will be less accurate.
Appropriate van der Waals radii for miscellaneous atom types are usually stored in the file named radius.dat
Atom types file format is specified above. Atom types are stored in the file named types.dat
The example of MD trajectory file is given here. In our example, the name of a file is simulation.trj
This line in config.dat contains 4 numbers.
If there are 4000 protein atoms and 10000 other atoms such as water or counter ions in the same file simulation-solvent.trj, you specify files types.dat and radius.dat for 4000 protein atoms. Water molecules coordinates and box specification are also stored in the simulation file - solvent.trj and have to be skipped. The global number of "atoms" to be skipped is 10002 as defined by the fourth number.
Starting point of the calculation, typically an active site, should be specified by one of 3 ways. The way of specification is chosen by the first number (1 or 2 or 3).
If 3 atoms are used for the center computation and atom indices are (123,324,50), the resulting line is:
1 3 123 324 50If the calculated starting point collides with a protein, the algorithm will not start.
If active site is near the point [23.4, -19.3, 20.5], the line is
2 23.4 -19.3 20.5
If 3 atoms are used for the center computation and atom indices are (123,324,50), the resulting line is:
3 3 123 324 50
This number written in the file named config.dat specifies number of points that are cut (off) from the beginning of the path. First few points are very close to the protein surface so they must be excluded for the statistics i.e. an average protein tunnel width estimation.
For better understanding of the term ,,Cropping number'', see this graph.
CAVER can be used as stand alone application which is designed for analysis of MD trajectories or pyMOL plug-in which allows analysis of MD trajectory as well as X-ray structure and direct visualisation of results.
caver [-h | --help] [-o <filename>] [-e | --enable-output-trajectory]
options
-h --help Display this help screen.
-i file --input file Reads file with configuration (default config.dat)
-e --enable-output-trajectory Outputs PDB trajectory of shortest way
for PYMOL output, and for GNUPLOT output.
--enable-output-vmd Outputs for VMD visualization.
-o file --output file Writes resulting table of radiuses.
-d dir --output-dir dir Set directory for output files.
-t num --tun num Tries to find num tunnels from active site. (for 0.99.2 version and higher)
CAVER configuration is stored in config.dat and must be present in the working directory.
Examples can be downloaded from here.
Proccessing CAVER via PyMol plugin:
CAVER generates following result files:
#iTraj rmaxball Cost/lLength vx vy vz cos lLength fAverageRad phi theta rho 1 0.745 1.409798 0.0 5.6 -12.6 1.00 28 2.07 23.96 90.00 13.78 2 0.665 1.851755 0.0 5.6 -12.6 1.00 28 1.88 23.96 90.00 12.86 3 0.808 1.337091 0.7 6.3 -11.2 0.99 26 2.05 29.50 83.68 14.71 ..etc..
| iTraj | index of a snapshot in trajectory |
| rmaxball | radius of maximal probe that can pass gorge of the active site access route (see this graph) |
| Cost / lLength | 'Cost' of located path |
| [vx,vy,vz] | Vector between two points. The starting point of the vector is given by the active place coordinates, the final point is given by the protein opening place |
| cos | 'cosinus' deviation of current [vx,vy,vz] vector from the first vector this file |
| lLength | length of the located path (measured by number of grid edges) |
| fAverageRad | an average radius over the path |
| (phi, theta, rho) | polar coordinates of the vector [vx,vy,vz] |
|
|
|
|