PB-SAM Inputs

Here are the inputs that are used in a PB-SAM run, and their meanings. There is much overlap between PB-AM inputs and PB-SAM, but the full PB-SAM list is provided here. The general format of the input is:

keyword <value>

The keyword that is most important is the runtype keyword. This specifies which type of output you are interested in generating.

The current options are: Physical calculations, Electrostatic Potential Visualization and Brownian Dynamics Simulations. The keywords for each specific run follow the next section.

General input file parameters

Keyword Parameters Description
runname <name> name is desired internal name of this run.
attypes <numtypes>

Set the number of different atom

types to numtypes

pqr <idx> <fpath>

The molecule index, idx for this pqr file.

Provide input PQR file at fpath

xyz <idx> <fpath>

The molecule index, idx for this xyz file.

Provide input XYZ file at fpath

surf <idx> <fpath>

idx, molecule index for this surface/vertex file.

Provide input solvent vertex file at fpath. See

details of the vertex file below.

imat <idx> <fpath>

idx, index for integral matrix file. These are

precursor files that the program will print if not

specified with the imat flag. File prefix for type

idx is given with fpath. For details on the imat

file, see below.

exp <idx> <fpath>

idx : the molecule index for this expansion file.

Provide input solvent vertex file at fpath. See

details of the expansion file below.

tolsp <tolerance>

The desired tolerance for coarse-graining, indicates

how far beyond the surface the CG spheres may extend

Larger tolsp yields a coarser molecular representation

transrot <idx> <fpath>

idx, molecule index for this translation/rotation

file that can be input instead of a xyz file.

Provide input file at fpath

randorient  

If you want your molecules to be randomly

rotated, use this flag

units <units>

Set the units of output to units.

The current options are: jmol (Joules/mole),

kT (kT/e) and kcalmol (kCal/mole).

salt <con> Set salt concentration in the system to con
temp <T> Set system temperature to T
idiel <ival> Set the interior dielectric constant to ival
sdiel <sval> Set the solvent dielectric constant to sval
pbc <boxlength> Set size of periodic box to boxlength
random <seed> Seed the random number generator with seed
type

<idx> <ct>

<mvtype> <dtr>

<drot>

Set attributes of an atom type, where idx is the

integer id of this type, which can be 1 to numtypes

(above). ct is the number of atoms of this type

in the system and mvtype describes the way this

type is allowed to move in a dynamics run (move,

rot, or stat). If movetype is move , then a

translational diffusion coefficient dtr and a

rotational diffusional coefficient drot are

required. If movetype is rot then just drot

is required.

Physical calculations

Will calculate the interaction energy, forces and torques for all molecules in the system.

Keyword Parameters Description
runtype

<energyforce>

<outfilename>

This will invoke the calculation of energies, forces

and torques for the input system.

Electrostatic Potential Visualization

Will compute the electrostatic potential (ESP) and print out 2D and 3D geometries for visualization. Post-processing visualization can be performed in VMD and with the python scripts provided in the repository.

Keyword Parameters Description
runtype

<electrostatics>

<gridpts>

Will write the results of electrostatics calculations

for every 3D grid point to fname, in the same output

format as an APBS dx file.

dx

<energyforce>

<outfilename>

Will write the results of electrostatics calculations

for every 3D grid point to fname, in the same output

format as an APBS dx file.

3dmap

<energyforce>

<outfilename>

Will write the results of electrostatics calculations

for points on the surface of molecules of the system

gridct <ct> ct is the number of 2D grids to output.
grid2d

<fname> <axis>

<val>

Set attributes of a grid output where idx is the

integer id of this grid, which can be 1 to ct (above)

Write output of calculations for a cross section

along axis (x, y, or z) at value

Brownian Dynamics Simulations

Will perform a brownian dynamics simulation for the given system. The user may select and combine a variety of termination conditions depending on the system and desired results.

Keyword Parameters Description
runtype

<dynamics>

<outnm> <ntraj>

Will perform a brownian dynamics run. A directory where

trajectory information will be stored in and the number

of trajectories is required.

termct <ct> ct is the number of termination conditions.
termcombine <andor>

How termination conditions will be combined. andor

should be and or or. Default is or.

term

<idx> <type>

<val> <mols>

Set attributes of a termination condition where idx

is the integer id of this condition, which can be 1 to

ct (above). type can be time, x<=, y<=,

z<=, or r<= (or the >= equivalents), val

is the value where the simulation terminates. mols

is a whitespace-delimited list of molecule indices that

this condition applies to (time requires 0, and all

else require 1).

term idx

contact

<confile> <pad>

Set attributes of contact termination condition, where

idx is the integer id of this condition, confile

is a path to a file containing the contact information,

and pad specifies a correction for the case when the

contact distance cannot be reached due to the spherical

assumption of the model. See below for more info.

xyz

<idx> <trajidx>

<fpath>

idx is the molecule index for this xyz file.

Provide input XYZ file at fpath. For the

dynamics run, a starting configuration is

needed for each trajectory for all the molecule

types, so there should be ntraj xyz lines for

each molecule, the trajectory number denoted by

trajidx.

Other input files

PQR File

All the options above require a PQR file name. A PQR file can be generated from a PDB file using the PDB2PQR program, available as a web server or for download at:


It may also be formatted manually. The general format of a PQR file is as follows, and is whitespace-delimited:

recName  serial  atName  resName  chainID  resNum  X  Y  Z  charge rad

Parameter Description
recName A string that should either be ATOM or HETATM.
serial An integer that provides the atom index
atName A string that provides the atom name.
resName A string that provides the residue name.
chainID An optional string that provides the chain ID of the atom.
resNumber An integer that provides the residue index.
X Y Z Three floats that provide the atomic coordinates.
charge A float that provides the atomic charge (in electrons).
Rad A float that provides the atomic radius (in A).

XYZ File

The XYZ file simply specifies the desired molecule centers for a given molecule type.

mol1X  mol1Y  mol1Z
mol2X  mol2Y  mol2Z
mol3X  mol3Y  mol3Z

Translation/Rotation File

Translation/Rotation Instead of a XYZ file, one can input a file specifying the translations and rotations that should be applied to each molecule of a particular type. For these files, we follow the PDB standard for rotation matrices and translation vectors, which is as follows:

mol1 rot_1_11 rot_1_12 rot_1_13 trans_1_1
mol1 rot_1_21 rot_1_22 rot_1_23 trans_1_2
mol1 rot_1_31 rot_1_32 rot_1_33 trans_1_3
mol2 rot_2_11 rot_2_12 rot_2_13 trans_2_1
mol2 rot_2_21 rot_2_22 rot_2_23 trans_2_2
mol2 rot_2_31 rot_2_32 rot_2_33 trans_2_3

where mol1 and mol2 are indices of the molecule of the type this file applies to, rot_i_jk is the j,k index of the rotation matrix for molecule i and trans_i_j is the j th element in the translation vector for molecule i.

Contact File

Contact files describe contacts between two molecular types. Generally this information is used to determine if a dynamics simulation should be terminated (e.g. terminate a simulation after two proteins have docked). The contact file contains lines with the format:

moltype1  at1 moltype2 at2 dist

where moltype1 and moltype2 are indices of the molecular types, at1 is the index of an atom from the first molecular type, at2 is the index of an atom from the second molecular type and dist is the maximum distance between the two atoms that defines the contact. Note that because of the coarse-graining, the program will identify the CG sphere closest to the contact atom, and use the surface-to-surface distance of those CG spheres to compare against the reported dist.

Vertex/Surface File

As part of the coarse-graining process a definition of the molecular surface is necessary. For this we have historically used the program MSMS by M. Sanner, or on the online web server

If using the command line tool, after downloading it for the correct platform, it can be run as follows on the command line. It requires an xyzr file as input, which is the xyz coordinates of each atom of the system followed by the vDW radius. This information can all be found in the PQR file.

./msms.system -if [filename].xyzr -of [outfile]

This will produce a *.face file and a *.vert file, of which the *.vert is needed. The vertex file is given as follows:

 1669      95  3.00  1.50
2.965    12.871    -1.084    -0.751    -0.636    -0.175       0      81  2
3.241    11.952    -0.817    -0.936    -0.024    -0.353       0      69  2
3.026    11.791    -0.439    -0.792     0.084    -0.604       0      79  2
4.481    14.391    -3.026    -0.879    -0.246    -0.409       0      73  2
5.413    15.674    -0.948    -0.337     0.499     0.798       0      73  2
4.478    15.093    -0.297     0.286     0.886     0.365       0      81  2
4.930    15.004    -0.240    -0.015     0.945     0.326       0      71  2
4.072    13.663     0.763    -0.465     0.242     0.852       0      71  2

Where the first line is the number of vertex points, followed by information on the density of the surface, and the lines that follow indicate the cartesian locations of each vertex point, followed by the unit norm of the surface. This vertex file is used to coarse-grain the molecule.

IMAT: Surface Integral File

The surface integrals are computed for the boundary element part of PB-SAM. They can be quite time consuming, so the first time they are computed for a system, they are printed to the working directory, with the name <pqr_prefix>_sph[#].bin. Where <pqr_prefix> is the name of the pqr input file, with the last four characters removed (presumed .pqr. For future computations, the imat keyword can be used, followed by the <pqr_prefix> and the program will read in the IMAT files instead of re-computing them.

Expansion files

Much like the IMAT files, the expansion files are files generated from self-polarization that are useful and time-saving methods for running a system of full-mutual polarziation on many molecules. If no expansion path is provided, the program will perform self polarization for each type of molecule in the system and print out files prepended with the <pqr_prefix> read in with the PQR flag, followed by .[sph #].H.exp or .[sph #].F.exp. Where H and F are the two key expansions that the PB-SAM code computes during run time. In future program runs, the exp flag can be used, and the H and F files will be read in.