Sei sulla pagina 1di 63

(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry

out simulations that can be run on a


simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright Ross Walker 2006
AMBER ADVANCED TUTORIALS
TUTORIAL 3
MM-PBSA
Perl Version By Ross Walker & Thomas Steinbrecher
Python Version By Dwight McGee, Bill Miller III, & Jason Swails

In this tutorial we will use the MM-PBSA method to calculate the binding free
energy for the association of two proteins.
The overall objective of the MM-PBSA method and it's complementary MM-
GBSA method is to calculate the free energy difference between two states
which most often represent the bound and unbound state of two solvated
molecules or alternatively to compare the free energy of two different solvated
conformations of the same molecule.

Ideally we would like to calculate this free energy of binding directly as shown
in the figure below:

However, in such a simulation of these solvated states the majority of the
energy contributions would come from solvent-solvent interactions and the
fluctuations in total energy would be an order of magnitude larger than
binding energy. Thus the calculation would take an inordinate amount of time
to converge. Thus a more effective method is to divide up the calculation
according to the following thermodynamic cycle:

Evidently from this diagram the binding free energy delta-G
bind,solv
can be
calculated by:

In the MM-PBSA approach the different contributions to the binding free
energy above are calculated in various ways:
Solvation free energies are calculated by either solving the linearised Poisson
Boltzman or Generalized Born equation for each of the three states (this gives
the electrostatic contribution to the solvation free energy) and adding an
empirical term for hydrophobic contributions:

delta-G
vacuum
is obtained by calculating the average interaction energy between
receptor and ligand and taking the entropy change upon binding into account
if necessary/desired:

The entropy contribution can be found by performing normal mode analysis
on the three species but in practice entropy contributions can be neglected if
only a comparison of states of similar entropy is desired such as two ligands
binding to the same protein. The reason for this is that normal mode analysis
calculations are computationally expensive and tend to have a large margin of
error that introduces significant uncertainty in the result.
The average interaction energies of receptor and ligand are usually obtained
by performing calculations on an ensemble of uncorrelated snapshots collected
from an equilibrated molecular dynamics (MD) simulation.
In this tutorial we will demonstrate the use of the MM/PB(GB)SA scripts
included with Amber and AmberTools to automatically perform all the
necessary steps to estimate the binding free energy of a protein-protein
complex (RAS and RAF) and a protein-ligand complex (Estrogen Receptor
and Raloxifene) using both MM-GBSA and MM-PBSA methods in serial and
parallel. Furthermore, we will be demonstrating the use of Alanine Scanning
and Normal Mode entropy calculations using the script. In principle, the
calculation of the binding free energy described above would require three
independent MD simulations of the complex and both individual proteins.
However, typically one makes the approximation that no significant
conformational changes occur upon binding so that the snapshots for all three
species can be obtained from a single trajectory. This is the 'single trajectory
approach' and is what we will use in this tutorial.
Section 1 : Build the starting structure and run a simulation to obtain an
equilibrated system.
Section 2 : Run the production simulation and obtain an ensemble of
snapshots.
Section 3 : Calculate the binding free energy and analyse the results
(tutorial forks here between different versions of MM/PBSA).





(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright Ross Walker 2006
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 1
MM-PBSA
By Ross Walker & Thomas Steinbrecher
1) Build the starting structure and run a simulation to obtain an equilibrated
system.
The system we will model in this simulation is the complex between the human H-
Ras protein and the Ras-binding domain of C-Raf1 (Ras-Raf), which is central to
the signal transduction cascade. Here is a partially equilibrated, pre-prepared pdb
file of the RAS-RAF complex.
ras-raf.pdb
This structure contains the ras and raf proteins and also a physiologically necessary
GTP nucleotide as illustrated in the figure below:

For the purposes of this tutorial and for the sake of simplicity we will avoid treating
the GTP molecule in the calculation since this would require the setup of new
parameters for this compound and is beyond the scope of this tutorial. Thus we will
simply remove it from the calculation by erasing it from the pdb file. While not
strictly correct this approximation is somewhat reasonable since, as can be seen
from the figure above, GTP is not directly involved in the binding interface.
There is also a magnesium ion in this protein that is essentially bound to the GTP
molecule so we will remove this as well. Hence you should remove residues 243
and 244 from the pdb file.
The next step is to split this pdb file into the two separate structures such that you
have a ras-raf.pdb, a ras.pdb and a raf.pdb. We will use these three structures to
create three gas phase prmtop and inpcrd file pairs for the MM-PBSA calculation
as well as one for the solvated complex which will be used to run the MD
simulations:
> $AMBERHOME/bin/tleap -s -f $AMBERHOME/dat/leap/cmd/leaprc.ff99
Caution: For AMBER 14 please use -f
$AMBERHOME/dat/leap/cmd/oldff/leaprc.ff99 in the tleap call for loading the ff99
force field.

com = loadpdb ras-raf.pdb
ras = loadpdb ras.pdb
raf = loadpdb raf.pdb
Make sure you select the correct radii for the calculation method you intend to use.
For details see the set PBRadii paragraph in the LEaP section of the manual and the
recommendations provided here.
set default PBRadii mbondi2

saveamberparm com ras-raf.prmtop ras-raf.inpcrd
saveamberparm ras ras.prmtop ras.inpcrd
saveamberparm raf raf.prmtop raf.inpcrd
Now before you quit tleap you should create the solvated complex for running the
MD simulation:
charge com
> Total unperturbed charge: -0.000000
> Total perturbed charge: -0.000000 (Hence there is no need to add counter ions)
solvatebox com TIP3PBOX 12.0
saveamberparm com ras-raf_solvated.prmtop ras-raf_solvated.inpcrd
quit
Here are the files: ras-raf.prmtop, ras-
raf.inpcrd, ras.prmtop, ras.inpcrd, raf.prmtop, raf.inpcrd, ras-
raf_solvated.prmtop, ras-raf_solvated.inpcrd
1.1) Equilibrate the solvated complex
We will equilibrate the solvated complex by carrying out a short minimisation,
50ps of heating and 50 ps of density equilibration with weak restraints on the
complex followed by 500ps of constant pressure equilibration at 300K. All
simulations will be run with shake on hydrogen atoms, a 2 fs time step and
langevin dynamics for temperature control. The input files are as follows:
min.in heat.in
minimise ras-raf
&cntrl
imin=1,maxcyc=1000,ncyc=500,
cut=8.0,ntb=1,
ntc=2,ntf=2,
ntpr=100,
ntr=1, restraintmask=':1-242',
restraint_wt=2.0
/
heat ras-raf
&cntrl
imin=0,irest=0,ntx=1,
nstlim=25000,dt=0.002,
ntc=2,ntf=2,
cut=8.0, ntb=1,
ntpr=500, ntwx=500,
ntt=3, gamma_ln=2.0,
tempi=0.0, temp0=300.0,
ntr=1, restraintmask=':1-242',
restraint_wt=2.0,
nmropt=1
/
&wt TYPE='TEMP0', istep1=0, istep2=25000,
value1=0.1, value2=300.0, /
&wt TYPE='END' /
density.in equil.in
heat ras-raf
&cntrl
imin=0,irest=1,ntx=5,
nstlim=25000,dt=0.002,
ntc=2,ntf=2,
cut=8.0, ntb=2, ntp=1, taup=1.0,
ntpr=500, ntwx=500,
ntt=3, gamma_ln=2.0,
temp0=300.0,
ntr=1, restraintmask=':1-242',
restraint_wt=2.0,
/
heat ras-raf
&cntrl
imin=0,irest=1,ntx=5,
nstlim=250000,dt=0.002,
ntc=2,ntf=2,
cut=8.0, ntb=2, ntp=1, taup=2.0,
ntpr=1000, ntwx=1000,
ntt=3, gamma_ln=2.0,
temp0=300.0,
/

Caution: In the examples in this tutorial we do not change the value of the random seed used
for the random number generator. This is controlled by the namelist variable ig. This is
largely for issues of reproducibility of the results within a tutorial setting. However, when
running production simulations, especially when using ntt=2 or 3 (Anderson or Langevin
thermostats) it is essential that you change the random number seed from the default on
EVERY MD restart. If you are using AMBER 10 (bugfix.26 or later) or AMBER 11 or later
you can do this automatically by setting ig=-1 in the cntrl namelist. Otherwise you can
specify a positive random number of your choosing for ig each time you restart a calculation.
For more details on the pitfalls of not doing this you should refer to the following publication:
Cerutti DS, Duke, B., et al., "A Vulnerability in Popular Molecular Dynamics Packages
Concerning Langevin and Andersen Dynamics", JCTC, 2008, 4, 1669-1680
You should run all 4 of these simulations using commands along the lines of:
$AMBERHOME/bin/sander -O -i min.in -o min.out -p ras-raf_solvated.prmtop -c
ras-raf_solvated.inpcrd \
-r min.rst -ref ras-raf_solvated.inpcrd
$AMBERHOME/bin/sander -O -i heat.in -o heat.out -p ras-raf_solvated.prmtop
-c min.rst \
-r heat.rst -x heat.mdcrd -ref min.rst
gzip -9 heat.mdcrd
$AMBERHOME/bin/sander -O -i density.in -o density.out -p ras-
raf_solvated.prmtop -c heat.rst \
-r density.rst -x density.mdcrd -ref heat.rst
gzip -9 density.mdcrd
$AMBERHOME/bin/sander -O -i equil.in -o equil.out -p ras-
raf_solvated.prmtop -c density.rst \
-r equil.rst -x equil.mdcrd
gzip -9 equil.mdcrd
This takes approximately 5 hours on 16 processors of a 1.7GHz IBM P690.
Here are the output files: equil.tar.gz
Before we proceed with the MM-PBSA production MD run we need to verify that
the system has equilibrated. For this we will look at temperature, density, total
energy and RMSD. We can start by using the following perl script
(process_mdout.pl) that will extract useful information from the output files.
./process_mdout.pl heat.out density.out equil.out
Since the first heating run was performed under constant volume conditions the
density data is not recorded. Hence you will need to edit the summary.DENSITY
file and remove the first 50 lines. (Because xmgrace is stupid and just gets confused
otherwise).
xmgrace summary.DENSITY
xmgrace summary.TEMP
xmgrace summary.ETOT
Additionally we will examine the protein backbone RMSD with respect to the
minimized structure to see if conformational stability has been achieved during the
equilibration. This can be done using ptraj or cpptraj with the following script:
measure_equil_rmsd.ptraj
trajin equil.mdcrd.gz 1 250 1
reference ras-raf_solvated.inpcrd
rms reference out equil.rmsd @CA,C,N
xmgrace equil.rmsd

DENSITY

TEMPERATURE

TOTAL ENERGY

BACKBONE RMSD
The density, temperature and total energy plots have all clearly converged by the
end of our equilibration period. The RMSD while seeming to begin to level does
not appear to have completely converged but for the purposes of this tutorial is
acceptable. In a real calculation you would want to run, depending on your system,
significantly more equilibration time. We are now ready to perform the production
runs.







(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright Ross Walker 2006
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 2
MM-PBSA
By Ross Walker & Thomas Steinbrecher
2) Run the production simulation and obtain an ensemble of snapshots.
The production phase of the simulation should be run using the same conditions as
the final phase of equilibration to prevent an abrupt jump in the potential energy
due to a change in simulation conditions.
We will run a total of 2 ns or production recording the coordinates every 10 ps.
This should be sufficiently far apart that the structures are uncorrelated. Depending
on your system you might obtain good results with snapshots taken closer together.
As long as all the structures you obtain are uncorrelated the more snapshots you
have the lower the statistical error of your results should be. Note for system such
as the RAS-RAF complex we have here a simulation time of 2 ns is most likely too
short to obtain a set of uncorrelated snapshots that adequately sample the
equilibrium ensemble. A value of 20 ns or so would probably be more appropriate.
However, this will suffice for the purposes of this tutorial.
Here is the input file:
prod.in
prod ras-raf
&cntrl
imin=0,irest=1,ntx=5,
nstlim=250000,dt=0.002,
ntc=2,ntf=2,
cut=8.0, ntb=2, ntp=1, taup=2.0,
ntpr=5000, ntwx=5000,
ntt=3, gamma_ln=2.0,
temp0=300.0,
/
This should then be run 4 times to obtain 2 ns of simulation time. Since this is a
simple periodic boundary PME simulation one can use PMEMD to do the
simulation if required. This will typically offer better performance and scaling in
parallel. Below is an example script I used on San Diego Supercomputer Center's
Teragrid Cluster to run this job on 96 processors. The calculation took a total of 10
hours.
run.x
#SDSC Teragrid PBS Script
#PBS -j oe
#PBS -l nodes=48:ppn=2
#PBS -l walltime=12:00:00
#PBS -q dque
#PBS -V
#PBS -M name@email.com
#PBS -A account_no
#PBS -N run_pmemd_96

cd /gpfs/projects/prod/
mpirun -v -machinefile $PBS_NODEFILE -np 96 /usr/local/apps/amber9/exe/pmemd -O -i prod.in -o prod1.out \
-p ras-raf_solvated.prmtop -c equil.rst -r prod1.rst -x prod1.mdcrd
mpirun -v -machinefile $PBS_NODEFILE -np 96 /usr/local/apps/amber9/exe/pmemd -O -i prod.in -o prod2.out \
-p ras-raf_solvated.prmtop -c prod1.rst -r prod2.rst -x prod2.mdcrd
mpirun -v -machinefile $PBS_NODEFILE -np 96 /usr/local/apps/amber9/exe/pmemd -O -i prod.in -o prod3.out \
-p ras-raf_solvated.prmtop -c prod2.rst -r prod3.rst -x prod3.mdcrd
mpirun -v -machinefile $PBS_NODEFILE -np 96 /usr/local/apps/amber9/exe/pmemd -O -i prod.in -o prod4.out \
-p ras-raf_solvated.prmtop -c prod3.rst -r prod4.rst -x prod4.mdcrd
gzip -9 prod*.mdcrd
Here are the output files: prod.tar.gz (84.8 MB)
It is essential, for good results, that our system still be exploring equilibrium phase
space during the production phase. We will check this in the same fashion as we
did for the last equilibration step by plotting the density, temperature, total
energy and backbone RMSD.

DENSITY

TEMPERATURE

TOTAL ENERGY

BACKBONE RMSD
Note the production RMSD does not look to be truly equilibrated while the other
properties are essentially constant (note the small scales). Ideally we should
probably run a much longer production run (ca. 20 ns). For the purposes of this
tutorial, however, we will continue with what we have.
We can now proceed to section 3 where we will calculate the binding free energy.
The first link will take you to the instructions for using (and installing) the Python
script MMPBSA.py. The second link will take you to the instructions for using the
Perl script mm_pbsa.pl.













(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright Dwight Mcgee, Bill Miller III, and Jason Swails 2009
AMBER ADVANCED TUTORIALS
TUTORIAL 3
Python Script MMPBSA.py
Dwight McGee, Bill Miller III, & Jason Swails


In this tutorial we will demonstrate the use of the MM-PBSA method as released in
AmberTools to calculate binding free energy, run alanine scanning, and calculate
normal modes for entropy calcalations. The tutorial is broken down as follows:
Section 3.1 : Calculate the binding free energy of a protein-protein complex
(Ras-Raf).
Section 3.2 : Calculate the binding free energy of a protein-ligand complex
(Estrogen Receptor and Raloxifene).
Section 3.3 : Calculate the binding free energy of Ras-Raf and use Alanine
Scanning to compare to the binding energy of a mutant Ras-Raf complex
that has had a residue mutated to alanine and analyze the results.
Section 3.4 : Calculate the binding free energy of Ras-Raf in parallel using
three processors.
Section 3.5 : Calculate the entropy of the Estrogen Receptor and Raloxifene
complex using Normal Mode Analysis (Nmode).
Section 3.6 : Decomposing the free energy contributions to the binding free
energy of Ras-Raf in a per-residue or pairwise per-residue basis.




















(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright McGee, Miller, and Swails 2009
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 3.1
Python Script MMPBSA.py
Dwight McGee, Bill Miller III, and Jason Swails

The important files for calculating the binding free energy using MMPBSA.py are
the topology files and the mdcrd file (ras-raf_top_mdcrd.tgz)
Calculate the binding free energy of Ras-Raf.
We will now calculate the interaction energy and solvation free energy for the
complex, receptor and ligand and average the results to obtain an estimate of the
binding free energy. Please note that we will not perform a calculation of the
entropy contribution to binding in this part of the tutorial and so strictly speaking
our result will not be a true free energy but could be used to compare against
similar systems. See Section 3.5 for an example of using Normal Mode Analysis
(Nmode) to calculate the entropy contribution for a system or uncomment out the
last line in the &general namelist of the input file below to perform a Quasi-
Harmonic entropy calculation using the ptraj module in AMBER.
We will carry out the binding energy calculation using both the MM-GBSA
method and the MM-PBSA method for comparison. This is accomplished with the
following input file for MMPBSA.py:
mmpbsa.in
Input file for running PB and GB
&general
endframe=50, verbose=1,
# entropy=1,
/
&gb
igb=2, saltcon=0.100
/
&pb
istrng=0.100,
/
The input files for MMPBSA.py are designed to be similar to the setup of an mdin
file used in the sander module of AMBER. The start of each namelist is designated
by an ampersand (&) followed by the name of the namelist. Furthermore, a
backslash (/) or '&end' can be used to end the namelist. For a complete list of all
variables please see the User's Manual here. This input file is divided into three
namelists: general, pb, and gb. The general namelist is designed to specify variables
that are not specific to a particular part of the calculation, but to all parts. In this
setup we have defined RAS to be the receptor and RAF to be the ligand. The
'endframe' variable sets what frame of the mdcrd to stop on. The '&gb' and '&pb'
namelist markers let the script know to perform MM-GBSA and MM-PBSA
calculations with the given values defined within those namelists. The 'verbose'
variable allows the user to specify how much output is written to the output file.
The four python scripts (MMPBSA.py, utils.py, alamdcrd.py, and inputparse.py)
should have been placed in $AMBERHOME/bin/ during installation. The script
can be initiated (using the above input file) using analagous command-line flags to
those used by sander and pmemd.
$AMBERHOME/bin/MMPBSA.py -O -i mmpbsa.in -o FINAL_RESULTS_MMPBSA.dat -sp
ras-raf_solvated.prmtop -cp ras-raf.prmtop -rp ras.prmtop -lp raf.prmtop -y
*.mdcrd
This will run the script interactively and print the progress of the calculation to
STDOUT and any errors or warnings to STDERR. Finally, timings will be printed
once the calculation has completed showing the time taken during each step of the
calculation.
Command-line arguments can be given with shell-recognized wildcards (i.e. * and
? for bash). For example, the '-y *.mdcrd' on the command line tells the script to
read in all files in the working directory that end in '.mdcrd' and use them as the
trajectories to be analyzed.
Here are all the output files created by this script: pb_gb_output1.tgz.
The script creates three unsolvated mdcrd files (complex, receptor, and ligand)
using ptraj that are the coordinates analyzed during the GB and PB calculations.
The *.mdout files contain the energies for all frames specified. A PDB file of the
average structure is created align (via RMS) all snapshots to prepare for a quasi-
harmonic entropy calculation with ptraj if one is requested. All files created by
MMPBSA.py should begin with the prefix '_MMPBSA_' except for the final output
file, FINAL_RESULTS_MMPBSA.dat.
FINAL_RESULTS_MMPBSA.dat
| Run on Thu Feb 11 12:18:37 EST 2010

|Input file:
|--------------------------------------------------------------
|Input file for running PB and GB
|&general
| endframe=50, verbose=1,
|# entropy=1,
|/
|&gb
| igb=2, saltcon=0.100
|/
|&pb
| istrng=0.100,
|/
|--------------------------------------------------------------
|Solvated complex topology file: ras-raf_solvated.prmtop
|Complex topology file: ras-raf.prmtop
|Receptor topology file: ras.prmtop
|Ligand topology file: raf.prmtop
|Initial mdcrd(s): prod.mdcrd
|
|Best guess for receptor mask: ":1-166"
|Best guess for ligand mask: ":167-242"

|Calculations performed using 50 frames.
|Poisson Boltzmann calculations performed using internal PBSA solver in sander.
|
|All units are reported in kcal/mole.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

GENERALIZED BORN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 17.1704 2.4283
EEL -17200.7297 75.9366 10.7391
EGB -3249.6511 65.2075 9.2217
ESURF 91.3565 1.3938 0.1971

G gas -19064.5240 77.8536 11.0102
G solv -3158.2946 65.2224 9.2238

TOTAL -22222.8186 51.0216 7.2155


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.2342 2.0130
EEL -11557.0773 71.7127 10.1417
EGB -2532.0669 57.7003 8.1600
ESURF 64.2843 1.1143 0.1576


G gas -12825.2661 73.1118 10.3396
G solv -2467.7826 57.7110 8.1616

TOTAL -15293.0487 35.3527 4.9996


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EGB -1688.9631 26.5353 3.7527
ESURF 37.0493 0.6185 0.0875


G gas -5213.7811 37.3522 5.2824
G solv -1651.9138 26.5425 3.7537

TOTAL -6865.6949 25.8878 3.6611


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2751 0.6046
EEL -959.1803 34.9190 4.9383
EGB 971.3789 33.0497 4.6739
ESURF -9.9770 0.3759 0.0532


DELTA G gas -1025.4769 35.1797 4.9752
DELTA G solv 961.4018 33.0518 4.6742


DELTA G binding = -64.0750 +/- 6.3729 0.9013
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

POISSON BOLTZMANN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 17.1704 2.4283
EEL -17200.7297 75.9366 10.7391
EPB -3207.7160 66.4023 9.3907
ECAVITY 67.8762 0.7818 0.1106

G gas -19064.5240 6061.1875 857.1813
G solv -3139.8399 66.4069 9.3914

TOTAL -7686.8660 52.5400 7.4303


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.2342 2.0130
EEL -11557.0773 71.7127 10.1417
EPB -2483.7242 56.4551 7.9840
ECAVITY 47.1495 0.4737 0.0670

G gas -12825.2661 5345.3320 755.9441
G solv -2436.5747 56.4571 7.9842

TOTAL -5250.2060 38.5188 5.4474


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EPB -1670.4169 27.6694 3.9131
ECAVITY 28.0328 0.4133 0.0584

G gas -5213.7811 1395.1865 197.3092
G solv -1642.3841 27.6725 3.9135

TOTAL -2350.3020 25.1197 3.5525


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2751 0.6046
EEL -959.1803 34.9190 4.9383
EPB 946.4251 34.5128 4.8808
ECAVITY -7.3062 0.3004 0.0425

DELTA G gas -1025.4769 1237.6138 175.0250
DELTA G solv 939.1189 34.5141 4.8810



DELTA G binding = -86.3579 +/- 8.3264 1.1775
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

WARNINGS:
igb=2 should be used with mbondi2 pbradii set. Yours are modified Bondi radii
(mbondi)
The beginning of the statistics file includes the date/time, any warnings based on
the values and files given, the mmpbsa.in text, the files used by the script, the
number of frames analyzed, and which PB solver (if any) was used. The rest of the
statistics file includes all the average energies, standard deviations, and standard
error of the mean for GB followed by PB. After each section, the G of binding is
given along with the error values. The meaning of the different terms in this file is
as follows:
VDWAALS = van der Waals contribution from MM.
EEL = electrostatic energy as calculated by the MM force field.
EPB/EGB = the electrostatic contribution to the solvation free energy calculated by
PB or GB respectively.
ECAVITY = nonpolar contribution to the solvation free energy calculated by an
empirical model.
DELTA G binding = final estimated binding free energy calculated from the terms
above. (kCal/mol)
Note that the total gas phase energy has not been reported because the values of the
bonded potential terms for the receptor and ligand should exactly cancel those for
the complex using the single trajectory approach. An error message will result if
the energies do not cancel within an allowed tolerance.
One would typically expect to find an extremely favorable electrostatic energy and
a unfavorable solvation free energy. This symbolises the energy that one has to use
to de-solvate the binding particles and to align their binding interfaces.
From the negative total binding free energy -86.36 kcal/mol we clearly see that this
is a favorable protein-protein complex in pure water but keep in mind that the result
does not equal the real binding free energy since we did not estimate the
(unfavorable) entropy contribution to binding. Note that the GB approach gives a
slightly lower binding energy but still suggests that this is a favorable bound state.





(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright McGee, Miller, and Swails 2009
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 3.2
Python Script MMPBSA.py
Dwight McGee, Bill Miller III, and Jason Swails
1) Build the starting structure and run a simulation to obtain an equilibrated
system.
The system we will model in this simulation is the protein-ligand complex between
the Estrogen Receptor protein and Raloxifene ligand. Here is a pre-prepared pdb
file of the complex.
Estrogen_Receptor-Raloxifene.pdb
This structure contains the Estrogen Receptor protein along with a ligand called
Raloxifene that has been previously docked to the protein as illustrated in the figure
below:

This system was constructed in a similar manner to the Ras-Raf system in Section
1. For directions on how to build the starting structure and run a simulation to
obtain an equilibrated system, please refer to Section 1 and Section 2 Note that you
must also use antechamber to get the correct parameters for raloxifene. See
the Sustiva Tutorial (Basic 4) for detailed instructions.
The important files from the MD simuation for calculating the binding free energy
using MMPBSA.py are the topology files and the mdcrd file
(Est_Rec_top_mdcrd.tgz)
2) Calculate the binding free energy of the Estrogen Receptor and Raloxifene
We will now calculate the interaction energy and solvation free energy for the
complex, receptor and ligand and average the results to obtain an estimate of the
binding free energy. Please note that we will not perform a calculation of the
entropy contribution to binding in this part of the tutorial and so strictly speaking
our result will not be a true free energy but could be used to compare against
similar systems. See Section 3.5 for an example of using Normal Mode Analysis
(Nmode) to calculate the entropy contribution for a system or uncomment out the
last line in the general section to perform a Quasi-Harmonic entropy calculation
using the ptraj module in AMBER.
We will carry out the binding energy calculation using both the MM-GBSA
method and the MM-PBSA method for comparison. This is accomplished with the
following input file for MMPBSA.py:
mmpbsa.in
Input file for running PB and GB
&general
endframe=50, keep_files=2,
/
&gb
igb=2, saltcon=0.100,
/
&pb
istrng=0.100,
/
The input files for MMPBSA.py are designed to be similar to the setup of an mdin
file used in the sander module of AMBER. The start of each namelist is designated
by an ampersand (&) followed by the name of the namelist. Furthermore, a
backslash (/) or '&end' can be used to end the namelist. For a complete list of all
variables please see the User's Manual here. This input file is divided into three
namelists: general, pb, and gb. The general namelist is designed to specify variables
that are not specific to a particular part of the calculation, but rather to all parts. In
this setup the Estrogen Receptor is the receptor and Raloxifene is the ligand. The
'endframe' variable sets which frame of the mdcrd to stop on. The presence of the
'&gb' and '&pb' namelists let the script know to perform MM-GBSA and MM-
PBSA calculations with the given input values.
The four python scripts (MMPBSA.py, utils.py, alamdcrd.py, and inputparse.py)
should have been placed in $AMBERHOME/bin/ during installation. The script
can be initiated (using the above input file) using analagous command-line flags to
those used by sander and pmemd.
$AMBERHOME/bin/MMPBSA.py -O -i mmpbsa.in -o FINAL_RESULTS_MMPBSA.dat -sp
1err.solvated.prmtop -cp complex.prmtop -rp receptor.prmtop -lp
ligand.prmtop -y *.mdcrd
This will run the script interactively and print the progress of the calculation to
STDOUT and any errors or warnings to STDERR. Finally, timings will be printed
once the calculation has completed showing the time taken during each step of the
calculation.
Command-line arguments can be given with shell-recognized wildcards (i.e. * and
? for bash). For example, the '-y *.mdcrd' on the command line tells the script to
read in all files in the working directory that end in '.mdcrd' and use them as the
trajectories to be analyzed.
With 'keep_files=2', here are all the output files: pb_gb_output2.tgz.
The script creates three unsolvated mdcrd files (complex, receptor, and ligand)
using ptraj that are the coordinates analyzed during the GB and PB calculations.
The *.mdout files contain the energies for all frames specified. A PDB file of the
average structure is created align (via RMS) all snapshots to prepare for a quasi-
harmonic entropy calculation with ptraj if one is requested. All files created by
MMPBSA.py should begin with the prefix '_MMPBSA_' except for the final output
file. FINAL_RESULTS_MMPBSA.dat
FINAL_RESULTS_MMPBSA.dat
| Run on Thu Feb 11 12:44:26 EST 2010

|Input file:
|--------------------------------------------------------------
|Input file for running PB and GB
|&general
| endframe=50, keep_files=2,
|/
|&gb
| igb=2, saltcon=0.100,
|/
|&pb
| istrng=0.100,
|/
|--------------------------------------------------------------
|Solvated complex topology file: 1err.solvated.prmtop
|Complex topology file: complex.prmtop
|Receptor topology file: receptor.prmtop
|Ligand topology file: ligand.prmtop
|Initial mdcrd(s): 1err_prod.mdcrd
|
|Best guess for receptor mask: ":1-240"
|Best guess for ligand mask: ":241"
|Ligand residue name is "RAL"
|
|Calculations performed using 50 frames.
|Poisson Boltzmann calculations performed using internal PBSA solver in sander.
|
|All units are reported in kcal/mole.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

GENERALIZED BORN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -2013.3801 20.3021 2.8712
EEL -16938.6450 85.7631 12.1287
EGB -3507.0086 67.7839 9.5861
ESURF 97.5448 1.3301 0.1881

G gas -18952.0251 88.1333 12.4639
G solv -3409.4639 67.7969 9.5879

TOTAL -22361.4889 47.1982 6.6748


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1955.2272 19.2311 2.7197
EEL -16895.0354 85.5797 12.1028
EGB -3528.7276 68.3585 9.6673
ESURF 101.2613 1.3071 0.1849


G gas -18850.2626 87.7138 12.4046
G solv -3427.4663 68.3710 9.6691

TOTAL -22277.7288 48.1057 6.8032


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1.8595 2.0516 0.2901
EEL -5.5796 2.0333 0.2876
EGB -28.4863 0.6040 0.0854
ESURF 4.4326 0.0462 0.0065


G gas -7.4391 2.8885 0.4085
G solv -24.0538 0.6058 0.0857

TOTAL -31.4929 5.0748 0.7177


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -56.2934 2.9265 0.4139
EEL -38.0300 3.2114 0.4542
EGB 50.2053 2.5869 0.3658
ESURF -8.1491 0.2589 0.0366


DELTA G gas -94.3234 4.3449 0.6145
DELTA G solv 42.0562 2.5999 0.3677


DELTA G binding = -52.2672 +/- 2.4568 0.3475
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

POISSON BOLTZMANN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -2013.3801 20.3021 2.8712
EEL -16938.6450 85.7631 12.1287
EPB -3329.1708 67.0354 9.4802
ECAVITY 68.2656 0.5195 0.0735

G gas -18952.0251 7767.4837 1098.4881
G solv -3260.9052 67.0374 9.4805

TOTAL -5265.0831 49.0426 6.9357


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1955.2272 19.2311 2.7197
EEL -16895.0354 85.5797 12.1028
EPB -3355.4746 67.3299 9.5219
ECAVITY 70.1184 0.5285 0.0747

G gas -18850.2626 7693.7163 1088.0558
G solv -3285.3562 67.3320 9.5222

TOTAL -5279.4509 50.4067 7.1286


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1.8595 2.0516 0.2901
EEL -5.5796 2.0333 0.2876
EPB -31.3364 0.6953 0.0983
ECAVITY 3.1896 0.0288 0.0041

G gas -7.4391 8.3434 1.1799
G solv -28.1468 0.6959 0.0984

TOTAL 56.0934 5.0476 0.7138


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -56.2934 2.9265 0.4139
EEL -38.0300 3.2114 0.4542
EPB 57.6402 3.0642 0.4333
ECAVITY -5.0423 0.1683 0.0238

DELTA G gas -94.3234 18.8778 2.6697
DELTA G solv 52.5978 3.0688 0.4340



DELTA G binding = -41.7256 +/- 2.9618 0.4189
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
The beginning of the statistics file includes the date/time, any warnings based on
the values and files given, the mmpbsa.in text, the files used by the script, the
number of frames analyzed, and which PB solver (if any) was used. The rest of the
statistics file includes all the average energies, standard deviations, and standard
error of the mean for GB followed by PB. After each section, the G of binding is
given along with the error values. The meaning of the different terms in this file is
as follows:
VDWAALS = van der Waals contribution from MM.
EEL = electrostatic energy as calculated by the MM force field.
EPB/EGB = the electrostatic contribution to the solvation free energy calculated by
PB or GB respectively.
ECAVITY = nonpolar contribution to the solvation free energy calculated by an
empirical model.
DELTA G binding = final estimated binding free energy calculated from the terms
above. (kCal/mol)
Note that the total gas phase energy has not been reported because the values of the
bonded potential terms for the receptor and ligand should exactly cancel those for
the complex using the single trajectory approach. An error message will result if
the energies do not cancel within an allowed tolerance.
One would typically expect to find an extremely favorable electrostatic energy and
a unfavorable solvation free energy. This symbolises the energy that ones has to
use to de-solvate the binding particles and to align their binding interfaces.
From the negative total binding free energy -41.73 kcal/mol we clearly see that this
is a favorable protein-protein complex in pure water but keep in mind that the result
does not equal the real binding free energy since we did not estimate the
(unfavorable) entropy contribution to binding. Note that the PB approach gives a
slightly lower binding energy but still suggests that this is a favorable bound state.






















(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright McGee, Miller, and Swails 2009
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 3.3
Python Script MMPBSA.py
Dwight McGee, Bill Miller III, and Jason Swails
1) Set up the pdb files to be leap-ready.
The system we will model in this simulation is the complex between the human H-
Ras protein and the Ras-binding domain of C-Raf1 (Ras-Raf), which is central to
the signal transduction cascade. Here is a partially equilibrated, pre-prepared pdb
file of the RAS-RAF complex.
ras-raf.pdb
This structure contains the ras and raf proteins and also a physiologically necessary
GTP nucleotide as illustrated in the figure below:

We must now prepare the mutant pdb files to be read by tleap. We strongly suggest
preparing this pdb and topology of the files of the mutant along with the initial
topology files created in Section 1 prior to running any simulations in order to
guarantee consistent prmtop files. For this tutorial we have chosen to mutate
residue 21 (Isoleucine, I21) to alanine because this is a residue that is found at the
interface between the receptor and ligand and should have a noticeable effect on the
binding energy. Note the current version of the code will support mutations to
alanine only.
Since I21 is found only in the receptor, we do not need to make a mutant ligand
pdb file. Thus, we only need to change ras-raf.pdb and ras.pdb. To do so, you must
know something about the structure of the amino acids that are involved. The side
chain of isoleucine is -CH(CH
3
)CH
2
CH
3
. The side chain of alanine is -CH
3
. Since
the side chain of isoleucine has more atoms than the side chain of alanine, we know
that we must remove atoms and their corresponding information (name, number,
coordinates, etc.) from the pdb files. This mutation involves removing all side chain
atoms except the beta-carbon (CB). In I21, this means that we must remove the
lines in the Ras-Raf and Ras pdb files corresponding to atoms 294 through 305. We
do not need to add the beta-hydrogen (HB) atoms because tleap will add those in
the proper locations based on the particular library files you choose for your
system. Finally, change the residue name from "ILE" to "ALA" for all remaining
atoms of residue 21. This procedure will yield two mutant pdb files: ras-
raf_mutant.pdb and ras_mutant.pdb. The I21A mutation in RAS-RAF is depicted
below.


Other mutations will be able to follow similar procedures where the group of atoms
after CB but before the carbonyl-carbon (C) may be removed from the pdb
file. Note that only one mutation can be performed during a single calculation.
2) Build the starting topology and coordinate files and run a simulation to obtain
an equilibrated system.
Now that the pdb files have been made, we need to make the corresponding
topology and coordinate files for these structures using tleap. First, we will make
the files corresponding to the non-mutant complex:
> $AMBERHOME/exe/tleap -s -f $AMBERHOME/dat/leap/cmd/leaprc.ff99SB

com = loadpdb ras-raf.pdb
ras = loadpdb ras.pdb
raf = loadpdb raf.pdb
saveamberparm com ras-raf.prmtop ras-raf.inpcrd
saveamberparm ras ras.prmtop ras.inpcrd
saveamberparm raf raf.prmtop raf.inpcrd
You should also create the solvated complex for running the MD simulation:
charge com
> Total unperturbed charge: -0.000000
> Total perturbed charge: -0.000000 (Hence there is no need to add counter ions)
solvatebox com TIP3PBOX 12.0
saveamberparm com ras-raf_solvated.prmtop ras-raf_solvated.inpcrd
Now before you quit tleap you should create the topology and coordinate files from
the mutant pdb files you just created:
com_mut = loadpdb ras-raf_mutant.pdb
ras_mut = loadpdb ras_mutant.pdb
saveamberparm com_mut rasraf_mutant.prmtop rasraf_mutant.inpcrd
saveamberparm ras_mut ras_mutant.prmtop ras_mutant.inpcrd
quit
We just created 12 files (six .prmtop files and six .inpcrd files). The non-mutant
.prmtop and .inpcrd files have been used to run a Molecular Dynamics (MD)
simulation to obtain an equilibrated system using the procedures outlined in Section
1 and Section 2.
The important files for calculating the binding free energy using MMPBSA.py are
the topology files (non-mutant and mutant) and the mdcrd file ran using the non-
mutant topology and coordinate files (ras-raf_alascan.tgz)
3) Perform an alanine scanning calculation on the binding free energy of Ras-
Raf.
We will now calculate the interaction energy and solvation free energy for the
complex, receptor and ligand and average the results to obtain an estimate of the
binding free energy. Then the same calculation will be performed on the mutated
structure after the coordinates in the mdcrd file(s) have been mutated for
comparison to the "wild-type" structure. Please note that we will not perform a
calculation of the entropy contribution to binding in this part of the tutorial and so
strictly speaking our result will not be a true free energy but could be used to
compare against similar systems. See Section 3.5 for an example of using Normal
Mode Analysis (Nmode) to calculate the entropy contribution for a system or
uncomment out the last line in the general section to perform a Quasi-Harmonic
entropy calculation using the ptraj module in AMBER.
We will carry out the binding energy calculation using both the MM-GBSA
method and the MM-PBSA method for comparison. This is accomplished with the
following input file for MMPBSA.py:
mmpbsa.in
sample input file for running alanine scanning
&general
startframe=1, endframe=50, interval=1,
verbose=1,
/
&gb
saltcon=0.1
/
&pb
istrng=0.100
/
&alanine_scanning
/
The input files for MMPBSA.py are designed to be similar to the setup of an mdin
file used in the sander module of AMBER. The start of each namelist is designated
by an ampersand (&) followed by the name of the namelist. Furthermore, a
backslash (/) or '&end' can be used to end the namelist. For a complete list of all
variables please see the User's Manual here. This input file is divided into four
namelists: general, pb, gb, and alanine_scanning. The general namelist is designed
to specify variables that are not specific to a particular part of the calculation, but
rather to all parts. In this setup we have defined RAS to be the receptor and RAF to
be the ligand. The 'verbose' variable allows the user to specify what files are
removed at the end of the calculation. For more information on the mpi commands,
please see the manual or Section 3.4. The '&gb' and '&pb' namelist markers let the
script know to perform MM-GBSA and MM-PBSA calculations with the given
values defined within those namelists. The 'alanine_scanning' namelist marker
initializes alanine scanning in the script. The only recognized input variable in the
&alanine_scanning namelist is "mutant_only" which is described in more detail in
the manual.
The four python scripts (MMPBSA.py, utils.py, alamdcrd.py, and inputparse.py)
should be placed in $AMBERHOME/bin/. After doing this, the script can be
initiated (using the above input file) using the same flags as in AMBER 9 or 10:
$AMBERHOME/bin/MMPBSA.py -O -i mmpbsa.in -sp ras-raf_solvated.prmtop -cp
rasraf.prmtop -rp ras.prmtop -lp raf.prmtop -y *.mdcrd -mc
rasraf_mutant.prmtop -mr ras_mutant.prmtop
This will run the script interactively and print the progress of the calculation to
STDOUT and any errors or warnings to STDERR. Finally, timings will be printed
once the calculation has completed showing the time taken during each step of the
calculation.
The '-y *.mdcrd' on the command line tells the script to read in all files in the
working directory that end in '.mdcrd' and use them as the trajectories to be
analyzed.
Here are all the output files: ALASCAN_output.tgz.
The script creates three unsolvated mdcrd files (complex, receptor, and ligand)
using ptraj that are the coordinates analyzed during the GB and PB calculations.
The *.mdout files contain the energies for all frames specified. An average pdb file
is created as a structure for minimization if entropy calculations are performed. All
files created by MMPBSA.py should begin with the prefix '_MMPBSA_' except for
the final output file, FINAL_RESULTS_MMPBSA.dat
FINAL_RESULTS_MMPBSA.dat
| Run on Thu Feb 11 13:11:48 EST 2010

|Input file:
|--------------------------------------------------------------
|sample input file for running alanine scanning
| &general
| startframe=1, endframe=50, interval=1,
| verbose=1,
|/
|&gb
| saltcon=0.1
|/
|&pb
| istrng=0.100
|/
|&alanine_scanning
|/
|--------------------------------------------------------------
|Solvated complex topology file: ras-raf_solvated.prmtop
|Complex topology file: rasraf.prmtop
|Receptor topology file: ras.prmtop
|Ligand topology file: raf.prmtop
|Initial mdcrd(s): bigprod.mdcrd
|Mutant complex topology file: rasraf_mutant.prmtop
|Mutant receptor topology file: ras_mutant.prmtop
|Mutant ligand topology file: raf.prmtop
|
|Best guess for receptor mask: ":1-166"
|Best guess for ligand mask: ":167-242"

|Calculations performed using 50 frames.
|Poisson Boltzmann calculations performed using internal PBSA solver in sander.
|
|All units are reported in kcal/mole.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

GENERALIZED BORN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 17.1704 2.4283
EEL -17200.7297 75.9366 10.7391
EGB -3142.2247 63.1977 8.9375
ESURF 91.3565 1.3938 0.1971

G gas -19064.5240 77.8536 11.0102
G solv -3050.8682 63.2131 8.9397

TOTAL -22115.3922 51.5332 7.2879


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.2342 2.0130
EEL -11557.0773 71.7127 10.1417
EGB -2444.8629 54.9156 7.7662
ESURF 64.2843 1.1143 0.1576


G gas -12825.2661 73.1118 10.3396
G solv -2380.5786 54.9269 7.7678

TOTAL -15205.8447 36.8422 5.2103


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EGB -1661.8286 26.5442 3.7539
ESURF 37.0493 0.6185 0.0875


G gas -5213.7811 37.3522 5.2824
G solv -1624.7794 26.5514 3.7549

TOTAL -6838.5604 25.6515 3.6277


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2751 0.6046
EEL -959.1803 34.9190 4.9383
EGB 964.4668 32.9201 4.6556
ESURF -9.9770 0.3759 0.0532


DELTA G gas -1025.4769 35.1797 4.9752
DELTA G solv 954.4898 32.9223 4.6559


DELTA G binding = -70.9871 +/- 6.6875 0.9457
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
I21A MUTANT:
GENERALIZED BORN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1855.4226 17.0765 2.4150
EEL -17210.2882 75.8866 10.7320
EGB -3145.1010 63.2477 8.9446
ESURF 91.8639 1.3913 0.1968

G gas -19065.7108 77.7842 11.0003
G solv -3053.2370 63.2630 8.9467

TOTAL -22118.9478 50.9582 7.2066


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1261.9126 14.1817 2.0056
EEL -11566.4419 71.5475 10.1183
EGB -2447.4831 55.0008 7.7783
ESURF 64.5090 1.1105 0.1570


G gas -12828.3545 72.9394 10.3152
G solv -2382.9741 55.0120 7.7799

TOTAL -15211.3287 36.2055 5.1202


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EGB -1661.8286 26.5442 3.7539
ESURF 37.0493 0.6185 0.0875


G gas -5213.7811 37.3522 5.2824
G solv -1624.7794 26.5514 3.7549

TOTAL -6838.5604 25.6515 3.6277


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -64.2010 4.0841 0.5776
EEL -959.3742 34.9114 4.9372
EGB 964.2108 32.9092 4.6541
ESURF -9.6943 0.3800 0.0537


DELTA G gas -1023.5752 35.1495 4.9709
DELTA G solv 954.5164 32.9114 4.6544


DELTA G binding = -69.0588 +/- 6.5302 0.9235
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

RESULT OF ALANINE SCANNING: (I21A MUTANT:) DELTA DELTA G binding = 1.9283
+/- 9.3470
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

POISSON BOLTZMANN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 17.1704 2.4283
EEL -17200.7297 75.9366 10.7391
EPB -3227.2145 64.4523 9.1149
ECAVITY 68.4754 0.7567 0.1070

G gas -19064.5240 6061.1875 857.1813
G solv -3158.7391 64.4568 9.1156

TOTAL -7522.2032 51.2973 7.2545


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.2342 2.0130
EEL -11557.0773 71.7127 10.1417
EPB -2485.3559 54.5638 7.7165
ECAVITY 47.5088 0.4610 0.0652

G gas -12825.2661 5345.3320 755.9441
G solv -2437.8471 54.5658 7.7168

TOTAL -5118.8075 38.9610 5.5099


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EPB -1684.5802 28.2572 3.9962
ECAVITY 28.1687 0.3939 0.0557

G gas -5213.7811 1395.1865 197.3092
G solv -1656.4114 28.2599 3.9966

TOTAL -2313.4381 24.9082 3.5225


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2751 0.6046
EEL -959.1803 34.9190 4.9383
EPB 942.7215 33.8861 4.7922
ECAVITY -7.2022 0.3069 0.0434

DELTA G gas -1025.4769 1237.6138 175.0250
DELTA G solv 935.5194 33.8875 4.7924



DELTA G binding = -89.9575 +/- 8.2480 1.1664
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
I21A MUTANT:
POISSON BOLTZMANN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1855.4226 17.0765 2.4150
EEL -17210.2882 75.8866 10.7320
EPB -3229.1405 64.8100 9.1655
ECAVITY 68.5521 0.7596 0.1074

G gas -19065.7108 6050.3755 855.6523
G solv -3160.5884 64.8144 9.1661

TOTAL -7520.1586 50.6710 7.1660


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1261.9126 14.1817 2.0056
EEL -11566.4419 71.5475 10.1183
EPB -2487.5603 54.6289 7.7257
ECAVITY 47.6466 0.4632 0.0655

G gas -12828.3545 5320.1609 752.3844
G solv -2439.9137 54.6309 7.7260

TOTAL -5118.8820 38.4370 5.4358


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EPB -1684.5802 28.2572 3.9962
ECAVITY 28.1687 0.3939 0.0557

G gas -5213.7811 1395.1865 197.3092
G solv -1656.4114 28.2599 3.9966

TOTAL -2313.4381 24.9082 3.5225


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -64.2010 4.0841 0.5776
EEL -959.3742 34.9114 4.9372
EPB 942.9999 34.0350 4.8133
ECAVITY -7.2632 0.3107 0.0439

DELTA G gas -1023.5752 1235.4872 174.7243
DELTA G solv 935.7367 34.0364 4.8135



DELTA G binding = -87.8385 +/- 8.0665 1.1408
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

RESULT OF ALANINE SCANNING: (I21A MUTANT:) DELTA DELTA G binding = 2.1190
+/- 11.5368
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
The beginning of the statistics file includes the date/time, any warnings based on
the values and files given, the mmpbsa.in text, the files used by the script, the
number of frames analyzed, and which PB solver (if any) was used. The rest of the
statistics file includes all the average energies, standard deviations, and standard
error of the mean for GB followed by PB. After each section, the G of binding is
given along with the error values. After each method, the G of binding is
reported that demonstrates the relative affect the mutation has on the G of binding
for the complex. The specific mutation is also printed at the end of the file. In this
case, we mutated residue 21 from an isoleucine to an alanine (i.e. I21A). The
meaning of the different energy terms in this file is as follows:
VDWAALS = van der Waals contribution from MM.
EEL = electrostatic energy as calculated by the MM force field.
EPB/EGB = the electrostatic contribution to the solvation free energy calculated by
PB or GB respectively.
ECAVITY = nonpolar contribution to the solvation free energy calculated by an
empirical model.
DELTA G binding = final estimated binding free energy calculated from the terms
above. (kCal/mol)
Note that the total gas phase energy has not been reported because the values of the
bonded potential terms for the receptor and ligand should exactly cancel those for
the complex using the single trajectory approach. An error message will result if
the energies do not cancel within an allowed tolerance.
One would typically expect to find an extremely favorable electrostatic energy and
a unfavorable solvation free energy. This symbolises the energy that ones has to
use to de-solvate the binding particles and to align their binding interfaces.









(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright McGee, Miller, and Swails 2009
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 4
MMPBSA.py
Dwight McGee, Bill Miller III, and Jason Swails
1) Build the starting structure and run a simulation to obtain an equilibrated
system.
The system we will model in this simulation is the complex between the human H-
Ras protein and the Ras-binding domain of C-Raf1 (Ras-Raf), which is central to
the signal transduction cascade. Here is a partially equilibrated, pre-prepared pdb
file of the RAS-RAF complex.
ras-raf.pdb
This structure contains the ras and raf proteins and also a physiologically necessary
GTP nucleotide as illustrated in the figure below:

For directions on how to build the starting structure and run a simulation to obtain
an equilibrated system, please refer to Section 1 and Section 2.
The important files for calculating the binding free energy using MMPBSA.py are
the topology files and the mdcrd file (ras-raf_top_mdcrd.tgz)
2) Calculate the binding free energy of Ras-Raf in parallel.
We will now calculate the interaction energy and solvation free energy for the
complex, receptor and ligand and average the results to obtain an estimate of the
binding free energy. Please note that we will not perform a calculation of the
entropy contribution to binding in this part of the tutorial and so strictly speaking
our result will not be a true free energy but could be used to compare against
similar systems. See Section 5 for an example of using Normal Mode Analysis
(Nmode) to calculate the entropy contribution for a system or uncomment out the
last line in the general section to perform a Quasi-Harmonic entropy calculation
using the ptraj module in AMBER.
We will carry out the binding energy calculation using both the MM-GBSA and the
MM-PBSA methods in parallel for comparison with the results obtained
from Section 3.1. MMPBSA.py.MPI parallelizes the calculation by assigning an
equal number of frames to each thread (process). Thus, it operates most efficiently
when the number of frames processed is a multiple of the number of threads
started. However, this is not a requirement. If the number of frames is not a
multiple of the number of threads, the "leftover" frames will be evenly distributed
amongst a subset of the number of threads started. For example, running 50 frames
on 3 threads will cause 2 threads to calculate 17 frames and the last thread to
calculate only 16. Thus, the third thread will have to wait for the first two to finish
their calculations before they can progress. For this reason, 5 threads, for instance,
would be a wiser choice (as each thread takes 10 frames). However, the number of
threads cannot exceed the number of frames processed or MMPBSA.py.MPI will
terminate with an error message. The input file for MMPBSA.py.MPI is identical
to the input file for MMPBSA.py:
mmpbsa.in
Input file for running PB and GB
&general
endframe=50, verbose=1,
# entropy=1,
/
&gb
igb=2, saltcon=0.100
/
&pb
istrng=0.100,
/
The input files for MMPBSA.py.MPI are designed to be similar to the setup of an
mdin file used in the sander module of AMBER. The start of each namelist is
designated by an ampersand (&) followed by the name of the namelist.
Furthermore, a backslash (/) or '&end' can be used to end the namelist. For a
complete list of all variables please see the User's Manual here. This input file is
divided into three namelists: general, pb, and gb. The general namelist is designed
to specify variables that are not specific to a particular part of the calculation, but
instead to all parts. In this setup we have defined RAS to be the receptor and RAF
to be the ligand. The 'endframe' variable sets what frame of the mdcrd to stop on.
The '&gb' and '&pb' namelist markers let the script know to perform MM-GBSA
and MM-PBSA calculations with the given values defined within those namelists.
mpirun -np 4 $AMBERHOME/bin/MMPBSA.py.MPI -O -i mmpbsa.in -o
FINAL_RESULTS_MMPBSA.dat -sp ras-raf_solvated.prmtop -cp ras-raf.prmtop -rp
ras.prmtop -lp raf.prmtop -y *.mdcrd > progress.log 2>&1
or by submitting a script to a queuing system, such as PBS with
qsub parallel.job
The script, parallel.job, would look something like this using a bash shell:
parallel.job
#!/bin/sh
#PBS -N rasraf_parallel
#PBS -o parallel.out
#PBS -e parallel.err
#PBS -m abe
#PBS -M email@address.com
#PBS -q brute
#PBS -l nodes=1:node:ppn=4
#PBS -l pmem=900mb

cd $PBS_O_WORKDIR

mpirun -np 4 MMPBSA.py.MPI -O -i mmpbsa.in -o FINAL_RESULTS_MMPBSA.dat -
sp ras-raf_solvated.prmtop \
-cp ras-raf.prmtop -rp ras.prmtop -lp raf.prmtop -y
bigprod.mdcrd > progress.log 2>&1
This will print the progress of the calculation to the file progress.log. All errors
during the calculation will be printed to this file, as well (that is the purpose of
2>&1). Finally, timings will be printed once the calculation has completed showing
the time taken during each step of the script.
progress.log
MMPBSA.py.MPI being run on 4 processors
ptraj found! Using /scr/arwen_3/swails/i686/amber11/exe/ptraj
sander found! Using /scr/arwen_3/swails/i686/amber11/exe/sander

Preparing trajectories with ptraj...
50 frames were read in and processed by ptraj for use in calculation.

Starting calculations

Starting gb calculation...

Starting pb calculation...


Calculations complete. Writing output file(s)...
Timing:
Processing Trajectories With Ptraj: 0.126 min.
Total GB Calculation Time (sander): 4.782 min.
Total PB Calculation Time (sander): 28.407 min.
Output File Writing Time: 0.053 min.

Total Time Taken: 33.379 min.


MMPBSA Finished. Thank you for using. Please send any
bugs/suggestions/comments to mmpbsa.amber@gmail.com
The '-y *.mdcrd' on the command line tells the script to read in all files in the
working directory that end in '.mdcrd' and use them as the trajectories to be
analyzed.
With 'keep_files' set to its default value of 1, here are all the output
files: Parallel_output.tgz.
The script creates three unsolvated mdcrd files (complex, receptor, and ligand)
using ptraj that are the coordinates analyzed during the GB and PB calculations.
The *.mdout files contain the energies for all frames specified. An average pdb file
is created as an average structure if quasi-harmonic entropy calculations are
performed with ptraj. All files created by MMPBSA.py.MPI should begin with the
prefix '_MMPBSA_' except for the final output
files, FINAL_RESULTS_MMPBSA.dat
FINAL_RESULTS_MMPBSA.dat
| Run on Sun Feb 14 19:10:43 EST 2010

|Input file:
|--------------------------------------------------------------
|Input file for running PB and GB in serial
|&general
| endframe=50, verbose=1,
| mpi_cmd='mpirun -np 3', nproc=3
|/
|&gb
| igb=2, saltcon=0.100
|/
|&pb
| istrng=0.100,
|/
|--------------------------------------------------------------
|Solvated complex topology file: ras-raf_solvated.prmtop
|Complex topology file: ras-raf.prmtop
|Receptor topology file: ras.prmtop
|Ligand topology file: raf.prmtop
|Initial mdcrd(s): bigprod.mdcrd
|
|Best guess for receptor mask: ":1-166"
|Best guess for ligand mask: ":167-242"

|Calculations performed using 50 frames.
|Poisson Boltzmann calculations performed using internal PBSA solver in sander.
|
|All units are reported in kcal/mole.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

GENERALIZED BORN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 17.1704 2.4283
EEL -17200.7297 75.9366 10.7391
EGB -3249.6511 65.2075 9.2217
ESURF 91.3565 1.3938 0.1971

G gas -19064.5240 77.8536 11.0102
G solv -3158.2946 65.2224 9.2238

TOTAL -22222.8186 51.0216 7.2155


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.2342 2.0130
EEL -11557.0773 71.7127 10.1417
EGB -2532.0669 57.7003 8.1600
ESURF 64.2843 1.1143 0.1576


G gas -12825.2661 73.1118 10.3396
G solv -2467.7826 57.7110 8.1616

TOTAL -15293.0487 35.3527 4.9996


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EGB -1688.9631 26.5353 3.7527
ESURF 37.0493 0.6185 0.0875


G gas -5213.7811 37.3522 5.2824
G solv -1651.9138 26.5425 3.7537

TOTAL -6865.6949 25.8878 3.6611


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2751 0.6046
EEL -959.1803 34.9190 4.9383
EGB 971.3789 33.0497 4.6739
ESURF -9.9770 0.3759 0.0532


DELTA G gas -1025.4769 35.1797 4.9752
DELTA G solv 961.4018 33.0518 4.6742


DELTA G binding = -64.0750 +/- 6.3729 0.9013
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

POISSON BOLTZMANN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 17.1704 2.4283
EEL -17200.7297 75.9366 10.7391
EPB -3207.7160 66.4023 9.3907
ECAVITY 67.8762 0.7818 0.1106

G gas -19064.5240 6061.1875 857.1813
G solv -3139.8399 66.4069 9.3914

TOTAL -7686.8660 52.5400 7.4303


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.2342 2.0130
EEL -11557.0773 71.7127 10.1417
EPB -2483.7242 56.4551 7.9840
ECAVITY 47.1495 0.4737 0.0670

G gas -12825.2661 5345.3320 755.9441
G solv -2436.5747 56.4571 7.9842

TOTAL -5250.2060 38.5188 5.4474


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.4198 1.3322
EEL -4684.4720 36.1449 5.1117
EPB -1670.4169 27.6694 3.9131
ECAVITY 28.0328 0.4133 0.0584

G gas -5213.7811 1395.1865 197.3092
G solv -1642.3841 27.6725 3.9135

TOTAL -2350.3020 25.1197 3.5525


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2751 0.6046
EEL -959.1803 34.9190 4.9383
EPB 946.4251 34.5128 4.8808
ECAVITY -7.3062 0.3004 0.0425

DELTA G gas -1025.4769 1237.6138 175.0250
DELTA G solv 939.1189 34.5141 4.8810



DELTA G binding = -86.3579 +/- 8.3264 1.1775
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

WARNINGS:
igb=2 should be used with mbondi2 pbradii set. Yours are modified Bondi radii
(mbondi)
The beginning of the statistics file includes the date/time, a copy of the input file,
the best guess for the ligand and receptor masks, the files used by the script, the
number of frames analyzed, and which PB solver (if any) was used. The rest of the
statistics file includes all the average energies, standard deviations, and standard
error of the mean for GB followed by PB. After each section, the G of binding is
given along with the error values. The meaning of the different terms in this file is
as follows:
VDWAALS = van der Waals contribution from MM.
EEL = electrostatic energy as calculated by the MM force field.
EPB/EGB = the electrostatic contribution to the solvation free energy calculated by
PB or GB respectively.
ECAVITY = nonpolar contribution to the solvation free energy calculated by an
empirical model.
DELTA G binding = final estimated binding free energy calculated from the terms
above. (kCal/mol)
Note that the total gas phase energy has not been reported because the values of the
bonded terms for the receptor and ligand should exactly cancel those for the
complex using the single trajectory approach. An error message will result if the
energies do not cancel to within an allowed tolerance (0.001 kcal/mol).
One would typically expect to find an extremely favorable electrostatic energy and
a unfavorable solvation free energy. This symbolises the energy that ones has to
use to de-solvate the binding particles and to align their binding interfaces.
From the negative total binding free energy -86.36 kcal/mol we clearly see that this
is a favorable protein-protein complex in pure water but keep in mind that the result
does not equal the real binding free energy since we did not estimate the
(unfavorable) entropy contribution to binding. Note that the GB approach gives a
slightly lower binding energy but still suggests that this is a favorable bound state.


























(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright McGee, Miller, and Swails 2009
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 3.5
MMPBSA.py
Dwight McGee, Bill Miller III, and Jason Swails
0) Setting up for normal mode calculations
Note that as of May, 2010, normal mode calculations are done via a nab program,
mmpbsa_py_nabnmode, compiled by nab during the normal installation process
described here. This program must be present in the PATH or in
$AMBERHOME/exe to run calculations. The main differences between
mmpbsa_py_nabnmode and nmode is that the nab program can calculate normal
modes in Generalized Born solvent, so two more input variables have been added
(see nmode_igb and nmode_istrng in the manual). This implementation should also
improve minimization convergence problems seen in earlier versions of the script.
1) Build the starting structure and run a simulation to obtain an equilibrated
system.
The system we will model in this simulation is the protein-ligand complex between
the Estrogen Receptor protein and Raloxifene ligand. Here is a pre-prepared pdb
file of the complex.
Estrogen_Receptor-Raloxifene.pdb
This structure contains the Estrogen Receptor protein along with a ligand called
Raloxifene that has been previously docked to the protein as illustrated in the figure
below:

This system was constructed in a similar manner to the Ras-Raf system in Section
1. For directions on how to build the starting structure and run a simulation to
obtain an equilibrated system, please refer to Section 1 and Section 2 Note that you
must also use antechamber to get the correct parameters for raloxifene. See
the Sustiva Tutorial (Basic 4) for detailed instructions.
The important files from the MD simuation for calculating the binding free energy
using MMPBSA.py are the topology files and the mdcrd file
(Est_Rec_top_mdcrd.tgz)
2) Calculate the binding entropy using Normal Mode Analysis (normal mode)
We will now calculate the normal modes for the complex, receptor and ligand and
average the results to obtain an estimate of the binding entropy. Please note that the
entropy contribution for a system can be calculated by uncommenting out the last
line in the general section to perform a Quasi-Harmonic entropy calculation using
the ptraj program in AmberTools.
We will carry out the normal mode calculation using the following input file for
MMPBSA.py:
mmpbsa.in
Input file for running entropy calculations using NMode
&general
endframe=50, keep_files=2,
/
&nmode
nmstartframe=1, nmendframe=50,
nminterval=5, nmode_igb=1, nmode_istrng=0.1,
/
The input files for MMPBSA.py are designed to be similar to the setup of an mdin
file used in the sander module of AMBER. The start of each section is designated
by an ampersand (&) followed by the name of the section. Furthermore, a
backslash (/) or '&end' can be used to end the section. For a complete list of all
variables please see the User's Manual here. This input file is divided into two
namelists: &general and &nmode. The &general namelist specifies variables that
are not specific to any particular calculation, but instead to all calculations. In this
setup the Estrogen Receptor is the receptor and Raloxifene is the ligand. The
'endframe' variable sets what frame of the mdcrd to stop on when making the dry
mdcrd files using ptraj. The 'keep_files' variable allows the user to specify what
files are removed at the end of the calculation. The nmode section is used to define
the variables specific to the normal mode calculation. The 'nmstartframe' variable
defines the frame from the dry mdcrd where normal mode analysis begins. The
'nmendframe' and 'nminterval' setup the end frame and interval for normal mode
analysis of the dry mdcrd, respectively. Note that the
nmstartframe/endframe/interval variables correspond to the 'trajectory' of snapshots
extracted by startframe, endframe, and interval defined in &general. Thus, only a
subset of these frames will be chosen for normal mode calculations (at most, each
frame in _MMPBSA_complex.mdcrd)
$AMBERHOME/bin/MMPBSA.py -O -i mmpbsa.in -o FINAL_RESULTS_MMPBSA.dat -sp
1err.solvated.prmtop -cp complex.prmtop -rp receptor.prmtop -lp
ligand.prmtop -y *.mdcrd > progress.log
or by submitting a script to a queuing system, such as PBS with
qsub nmode.job
The script, nmode.job, would look something like this using a bash shell:
nmode.job
#!/bin/sh
#PBS -N nmode
#PBS -o nmode.out
#PBS -e nmode.err
#PBS -m abe
#PBS -M email@domain.edu
#PBS -q brute
#PBS -l nodes=1:surg:ppn=3
#PBS -l pmem=1450mb

cd $PBS_O_WORKDIR

mpirun -np 3 MMPBSA.py.MPI -O -i mmpbsa_nm.in -o FINAL_RESULTS_MMPBSA.dat
-sp 1err.solvated.prmtop -cp complex.prmtop \
-rp receptor.prmtop -lp ligand.prmtop -y 1err_prod.mdcrd >
progress.log


This will print the progress of the calculation to the file progress_nm.log. All errors
during the calculation will be printed to this file, as well. Finally, timings will be
printed once the calculation has completed showing the time taken during each step
of the script. Running this calculation will take approximately 40 hours on 10
frames if run in serial. Note that MMPBSA.py.MPI can be used to run in parallel
(see Section 3.4 for details about running this). This will divide the number of
frames evenly among the number of threads started as described in Section 3.4. The
size of your system significantly affects the computation time and required memory
(RAM). Segmentation faults (segfaults) are usually caused by insufficient RAM in
your system.
progress_nm.log
ptraj found! Using /share/local/lib/amber10/i686/bin/ptraj
sander found! Using /share/local/lib/amber10/i686/bin/sander (serial
only!)
nmode found! Using /share/local/lib/amber10/i686/bin/nmode

Preparing trajectories with ptraj...
50 frames were read in and processed by ptraj for use in calculation.

Starting sander calls


Starting nmode calculations...
Timing:
Processing Trajectories With Ptraj: 0.240 min.
Total Harmonic nmode Calculation Time: 2363.906 min.
Output File Writing Time: 0.018 min.

Total Time Taken: 2364.165 min.


MMPBSA Finished. Thank you for using. Please send any
bugs/suggestions/comments to mmpbsa.amber@gmail.com
The '-y *.mdcrd' on the command line tells the script to read in all files in the
working directory that end in '.mdcrd' and use them as the trajectories to be
analyzed.
With 'keep_files' set to 2, here are all the output files: Nmode_output.tgz.
The script creates three unsolvated mdcrd files (complex, receptor, and ligand)
using ptraj that are the coordinates analyzed during the entropy calculations.
Normal mode calculations are performed using PDB files for each snapshot, so 10
PDB files are created from the dry mdcrd file for the complex, receptor, and ligand.
An average pdb file is created as an average structure for aligning the trajectory for
a quasi-harmonic entropy calculation performed by ptraj if entropy == 1. All files
created by MMPBSA.py should begin with the prefix '_MMPBSA_' except for the
final output file: FINAL_RESULTS_MMPBSA.dat
FINAL_RESULTS_MMPBSA.dat
| Run on Thu Feb 11 12:44:26 EST 2010

|Input file:
|--------------------------------------------------------------
|Input file for running entropy calculations using NMode
|&general
| endframe=50, keep_files=2,
|/
|&nmode
| nmstartframe=1, nmendframe=50,
| nminterval=5,
|/
|--------------------------------------------------------------
|Solvated complex topology file: 1err.solvated.prmtop
|Complex topology file: complex.prmtop
|Receptor topology file: receptor.prmtop
|Ligand topology file: ligand.prmtop
|Initial mdcrd(s): 1err_prod.mdcrd
|
|Best guess for receptor mask: ":1-240"
|Best guess for ligand mask: ":241"
|Ligand residue name is "RAL"
|
|Calculations performed using 50 frames.
|Poisson Boltzmann calculations performed using internal PBSA solver in sander.
|
|All units are reported in kcal/mole.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
ENTROPY RESULTS (HARMONIC APPROXIMATION) CALCULATED WITH NMODE:

Complex:
Entropy Term Average Std. Dev.
-----------------------------------------------------------
Translational: 16.9389 0.0000
Rotational: 17.3953 0.0038
Vibrational: 2784.7967 2.3982
Total: 2819.1307 2.3964


Receptor:
Entropy Term Average Std. Dev.
-----------------------------------------------------------
Translational: 16.9233 0.0000
Rotational: 17.3911 0.0045
Vibrational: 2755.5693 3.0352
Total: 2789.8840 3.0342


Ligand:
Entropy Term Average Std. Dev.
-----------------------------------------------------------
Translational: 13.2972 0.0000
Rotational: 11.4991 0.0496
Vibrational: 33.7549 0.0442
Total: 58.5511 0.0058


DELTA S total= -30.0192 +/- 3.4064

NOTE: All entropy results have units kcal/mol. (Temperature has already been
multiplied in as 300. K)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
The beginning of the output file includes various details about the calculation. The
rest of the output file includes the averages, standard deviations, and standard error
of the mean for each of the translational, rotational, vibrational, and total entropy
contributions. After those sections, the S is given along with the standard
deviation and std. error of the mean.
One would typically expect to find a negative S value for a biological complex.
This symbolizes the decrease in available microstates as the protein and ligand bind
to make the complex. The decrease in available microstates mainly arises from the
ligand being trapped and having limited mobility while being bound to the protein.
From the negative S value -30.02 kcal/mol we clearly see that this is an
entropically unfavorable protein-ligand complex in pure water but keep in mind
that the result does not equal the real binding free energy since we did not estimate
the (favorable) enthalpic contribution to binding.


























(Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright McGee, Miller, and Swails 2009
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 3.6
Python Script MMPBSA.py
Dwight McGee, Bill Miller III, and Jason Swails

The important files for calculating the binding free energy using MMPBSA.py are
the topology files and the mdcrd file (ras-raf_top_mdcrd.tgz)
Decomposing the free energy contributions to the binding free energy of Ras-Raf
in a per-residue or pairwise per-residue basis (amber11 only!)
We will now perform free energy decomposition on the Ras-Raf system
demonstrated in Section 3.1. Amber supports two types of decomposition: pairwise
and per-residue. Per-residue decomposition calculates the energy contribution of
single residues by summing its interactions over all residues in the system. Pairwise
decomposition calculates the interaction energy between pairs of residues in the
system. We will carry out examples of both types below. Note that obtaining
DELTA contributions on a per-residue basis will ONLY work if MMPBSA.py
correctly guesses your mask. You will have to manually add the residue cards to
the input files if you input your own masks.
a) Per-residue free energy decomposition
To run decomposition, the &decomp namelist must be specified in the input file for
MMPBSA.py. Furthermore, the variable idecomp must be specified (there is no
default value). Failure to assign a value to this variable will result in the program
terminating with an informative error message. There are 4 allowed values for
idecomp, two of them for per-residue decomposition and the other two for pairwise
decomposition. The values 1 and 2 result in a per-residue decomposition scheme.
Selecting 1 will add the 1-4 non-bonded interaction energies (1-4 EEL and 1-4
VDW) to the internal potential terms. Selecting 2 will add the 1-4 EEL interaction
energies to the electrostatic potential term and the 1-4 VDW interaction energies to
the van der Waals potential term.
The following MMPBSA.py input file will be used to perform per-residue
decomposition using both PB and GB implicit solvent models: (NOTE: PB non-
polar solvation energies are currently not decomposable)
mmpbsa_per_res_decomp.in
Per-residue GB and PB decomposition
&general
endframe=50, verbose=1,
/
&gb
igb=5, saltcon=0.100,
/
&pb
istrng=0.100,
/
&decomp
idecomp=1, print_res="5; 30-40; 170-200"
dec_verbose=1,
/
The input files for MMPBSA.py are designed to be similar to the setup of an mdin
file used in the sander module of AMBER. The start of each namelist is designated
by an ampersand (&) followed by the name of the namelist. Furthermore, a
backslash (/) or '&end' can be used to end the namelist. For a complete list of all
variables please see the User's Manual here. This input file is divided into four
namelists: &general, &pb, &gb, and &decomp.. The &general namelist is designed
to specify variables that are not specific to a particular part of the calculation, but to
all parts. In this setup we have defined RAS to be the receptor and RAF to be the
ligand. The 'endframe' variable sets what frame of the mdcrd to stop on. The '&gb'
and '&pb' namelist markers let the script know to perform MM-GBSA and MM-
PBSA calculations with the given values defined within those namelists. The
'verbose' variable allows the user to specify how much output is written to the
output file while the 'dec_verbose' variable allows the user to specify how much
output is written to the decomp output file.
$AMBERHOME/bin/MMPBSA.py -O -i mmpbsa.in -o FINAL_RESULTS_MMPBSA.dat -do
FINAL_DECOMP_MMPBSA.dat -sp ras-raf_solvated.prmtop -cp ras-raf.prmtop -rp
ras.prmtop -lp raf.prmtop -y *.mdcrd
Note that this can be run in parallel using MMPBSA.py.MPI. See Section 3.4 for
more details. This will run the script interactively and print the progress of the
calculation to STDOUT and any errors or warnings to STDERR. Finally, timings
will be printed once the calculation has completed showing the time taken during
each step of the calculation.
Command-line arguments can be given with shell-recognized wildcards (i.e. * and
? for bash). For example, the '-y *.mdcrd' on the command line tells the script to
read in all files in the working directory that end with '.mdcrd' and use them as the
trajectories to be analyzed.
Here are all the output files created by this script: per_res_output.tgz.
The script creates three unsolvated mdcrd files (complex, receptor, and ligand)
using ptraj that are the coordinates analyzed during the GB and PB calculations.
The *.mdout files contain the energies for all frames specified. An average pdb file
is created as an average structure for minimization if entropy calculations are
performed. All files created by MMPBSA.py should begin with the prefix
'_MMPBSA_' except for the final output files: FINAL_RESULTS_MMPBSA.dat
and FINAL_DECOMP_MMPBSA.dat
FINAL_RESULTS_MMPBSA.dat
| Run on Thu May 20 14:55:43 EDT 2010

|Input file:
|--------------------------------------------------------------
|Per-residue GB and PB decomposition
|&general
| endframe=50, verbose=1,
|/
|&gb
| igb=5, saltcon=0.100,
|/
|&pb
| istrng=0.100,
|/
|&decomp
| idecomp=1, print_res="5; 30-40; 170-200"
| dec_verbose=1,
|/
|--------------------------------------------------------------
|Complex topology file: ras-raf.prmtop
|Receptor topology file: ras.prmtop
|Ligand topology file: raf.prmtop
|Initial mdcrd(s): prod.mdcrd
|
|Best guess for receptor mask: ":1-166"
|Best guess for ligand mask: ":167-242"

|Calculations performed using 50 frames.
|Poisson Boltzmann calculations performed using internal PBSA solver in sander.
|
|All units are reported in kcal/mole.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

GENERALIZED BORN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 16.9979 2.4039
EEL -17200.7297 75.1734 10.6311
EGB -2918.9628 65.1000 9.2065
ESURF 92.2138 0.9782 0.1383

G gas -19064.5240 77.0712 10.8995
G solv -2826.7490 65.1073 9.2076

TOTAL -21891.2730 52.3724 7.4066


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.0912 1.9928
EEL -11557.0773 70.9920 10.0398
EGB -2314.8693 56.2410 7.9537
ESURF 64.4513 0.6128 0.0867

G gas -12825.2661 72.3770 10.2356
G solv -2250.4181 56.2443 7.9542

TOTAL -15075.6842 36.8322 5.2089


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.3251 1.3188
EEL -4684.4720 35.7816 5.0603
EGB -1587.3051 26.8494 3.7971
ESURF 38.5992 0.5158 0.0730

G gas -5213.7811 36.9768 5.2293
G solv -1548.7058 26.8544 3.7978

TOTAL -6762.4869 26.1943 3.7044


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2321 0.5985
EEL -959.1803 34.5681 4.8887
EGB 983.2116 33.0175 4.6694
ESURF -10.8367 0.3832 0.0542

DELTA G gas -1025.4769 34.8262 4.9252
DELTA G solv 972.3749 33.0197 4.6697


DELTA G binding = -53.1020 +/- 6.8437 0.9678
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

POISSON BOLTZMANN:

Complex:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1863.7944 16.9979 2.4039
EEL -17200.7297 75.1734 10.6311
EPB -3216.4587 65.8638 9.3146
ECAVITY 67.8762 0.7739 0.1094

G gas -19064.5240 77.0712 10.8995
G solv -3148.5825 65.8684 9.3152

TOTAL -22213.1066 51.7402 7.3172


Receptor:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -1268.1888 14.0912 1.9928
EEL -11557.0773 70.9920 10.0398
EPB -2489.5955 55.9343 7.9103
ECAVITY 47.1495 0.4689 0.0663

G gas -12825.2661 72.3770 10.2356
G solv -2442.4460 55.9363 7.9106

TOTAL -15267.7121 38.0243 5.3774


Ligand:
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -529.3090 9.3251 1.3188
EEL -4684.4720 35.7816 5.0603
EPB -1673.2574 27.4055 3.8757
ECAVITY 28.0328 0.4091 0.0579

G gas -5213.7811 36.9768 5.2293
G solv -1645.2246 27.4085 3.8761

TOTAL -6859.0057 24.7882 3.5056


Differences (Complex - Receptor - Ligand):
Energy Component Average Std. Dev. Std. Err. of Mean
-------------------------------------------------------------------------------
VDWAALS -66.2966 4.2321 0.5985
EEL -959.1803 34.5681 4.8887
EPB 946.3942 34.1674 4.8320
ECAVITY -7.3062 0.2973 0.0420

DELTA G gas -1025.4769 34.8262 4.9252
DELTA G solv 939.0881 34.1687 4.8322



DELTA G binding = -86.3888 +/- 8.1817 1.1571
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

WARNINGS:
igb=5 should be used with either mbondi2 or bondi pbradii set. Yours are
modified Bondi radii (mbondi)
FINAL_DECOMP_MMPBSA.dat
| Run on Thu May 20 14:55:43 EDT 2010
idecomp = 1: Decomposition per-residue adding 1-4 interactions added to
Internal.
Energy Decomposition Analysis (All units kcal/mol): Generalized Born
solvent


DELTAS:
Total Energy Decomposition:
Residue | Location | Internal | van der Waals |
Electrostatic | Polar Solvation | Non-Polar Solv. |
TOTAL
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-----
LYS 5 | R LYS 5 | 0.000 +/- 4.870 | -0.156 +/- 1.465 |
69.267 +/- 9.154 | -67.061 +/- 9.601 | -0.009 +/- 0.156 | 2.040
+/- 14.208
ASP 30 | R ASP 30 | 0.000 +/- 5.623 | -0.065 +/- 0.961 | -
52.559 +/- 11.072 | 52.622 +/- 9.530 | 0.000 +/- 0.084 | -0.003
+/- 15.684
GLU 31 | R GLU 31 | 0.000 +/- 5.174 | -0.247 +/- 1.099 | -
79.946 +/- 10.550 | 80.630 +/- 9.693 | -0.227 +/- 0.125 | 0.210
+/- 15.272
TYR 32 | R TYR 32 | 0.000 +/- 4.615 | -0.290 +/- 1.515 |
0.639 +/- 4.431 | -0.076 +/- 3.229 | -0.012 +/- 0.175 | 0.261
+/- 7.327
ASP 33 | R ASP 33 | 0.000 +/- 4.464 | -0.556 +/- 1.073 | -
103.116 +/- 5.820 | 103.788 +/- 5.821 | -0.459 +/- 0.094 | -0.343
+/- 9.426
PRO 34 | R PRO 34 | 0.000 +/- 3.388 | -1.829 +/- 0.869 | -
3.383 +/- 2.647 | 3.854 +/- 1.944 | -0.308 +/- 0.130 | -1.666
+/- 4.800
THR 35 | R THR 35 | 0.000 +/- 5.702 | -1.829 +/- 1.049 |
0.376 +/- 4.365 | 0.947 +/- 2.028 | -0.204 +/- 0.070 | -0.709
+/- 7.536
ILE 36 | R ILE 36 | 0.000 +/- 4.650 | -2.987 +/- 1.918 |
0.092 +/- 2.149 | 0.991 +/- 0.697 | -0.377 +/- 0.072 | -2.282
+/- 5.515
GLU 37 | R GLU 37 | 0.000 +/- 5.221 | -1.627 +/- 1.388 | -
126.728 +/- 6.441 | 120.528 +/- 4.686 | -0.745 +/- 0.048 | -8.573
+/- 9.624
ASP 38 | R ASP 38 | 0.000 +/- 3.750 | -1.583 +/- 1.560 | -
104.899 +/- 6.925 | 99.370 +/- 5.710 | -0.254 +/- 0.037 | -7.367
+/- 9.852
SER 39 | R SER 39 | 0.000 +/- 3.447 | -2.184 +/- 1.086 | -
13.696 +/- 3.959 | 8.918 +/- 1.800 | -0.504 +/- 0.035 | -7.466
+/- 5.655
TYR 40 | R TYR 40 | 0.000 +/- 4.687 | -4.403 +/- 1.682 | -
3.076 +/- 2.884 | 1.652 +/- 1.092 | -0.366 +/- 0.042 | -6.193
+/- 5.858
ARG 170 | L ARG 4 | 0.000 +/- 4.987 | -0.094 +/- 1.646 | -
86.951 +/- 10.352 | 82.074 +/- 6.005 | -0.147 +/- 0.073 | -5.118
+/- 13.069
VAL 171 | L VAL 5 | 0.000 +/- 3.812 | -0.183 +/- 1.390 |
2.128 +/- 2.460 | -2.010 +/- 0.555 | 0.000 +/- 0.008 | -0.065
+/- 4.778
PHE 172 | L PHE 6 | 0.000 +/- 4.289 | -0.217 +/- 0.944 |
0.037 +/- 1.743 | 0.132 +/- 0.939 | 0.000 +/- 0.064 | -0.048
+/- 4.818
LEU 173 | L LEU 7 | 0.000 +/- 4.907 | -0.398 +/- 1.241 | -
0.940 +/- 3.050 | 1.683 +/- 1.446 | 0.000 +/- 0.022 | 0.345
+/- 6.084
PRO 174 | L PRO 8 | 0.000 +/- 3.433 | -0.188 +/- 1.422 |
2.303 +/- 3.219 | -2.589 +/- 1.289 | 0.000 +/- 0.051 | -0.474
+/- 5.083
ASN 175 | L ASN 9 | 0.000 +/- 4.796 | -1.671 +/- 1.017 | -
1.833 +/- 4.740 | 4.535 +/- 2.409 | -0.354 +/- 0.119 | 0.678
+/- 7.233
LYS 176 | L LYS 10 | 0.000 +/- 4.403 | -1.848 +/- 0.810 | -
33.879 +/- 7.269 | 36.798 +/- 6.704 | -0.315 +/- 0.107 | 0.756
+/- 10.856
GLN 177 | L GLN 11 | 0.000 +/- 4.261 | -3.791 +/- 1.560 | -
1.910 +/- 3.338 | 4.530 +/- 2.016 | -0.359 +/- 0.050 | -1.530
+/- 5.983
ARG 178 | L ARG 12 | 0.000 +/- 6.180 | -2.462 +/- 1.321 | -
77.671 +/- 6.496 | 73.669 +/- 4.608 | -0.386 +/- 0.076 | -6.850
+/- 10.167
THR 179 | L THR 13 | 0.000 +/- 4.716 | -1.277 +/- 1.200 | -
10.976 +/- 3.020 | 9.344 +/- 0.977 | -0.158 +/- 0.031 | -3.068
+/- 5.810
VAL 180 | L VAL 14 | 0.000 +/- 4.196 | -3.837 +/- 1.389 | -
3.014 +/- 2.541 | 2.972 +/- 0.804 | -0.501 +/- 0.041 | -4.379
+/- 5.161
VAL 181 | L VAL 15 | 0.000 +/- 4.333 | -1.791 +/- 1.119 | -
3.565 +/- 2.809 | 3.472 +/- 0.656 | -0.155 +/- 0.055 | -2.039
+/- 5.324
ASN 182 | L ASN 16 | 0.000 +/- 4.282 | -1.978 +/- 0.859 | -
3.199 +/- 5.507 | 3.645 +/- 2.886 | -0.369 +/- 0.085 | -1.900
+/- 7.598
VAL 183 | L VAL 17 | 0.000 +/- 4.088 | -0.187 +/- 1.149 |
1.057 +/- 4.557 | -0.672 +/- 2.388 | 0.000 +/- 0.073 | 0.199
+/- 6.671
ARG 184 | L ARG 18 | 0.000 +/- 4.797 | -0.183 +/- 1.450 | -
90.812 +/- 7.977 | 87.306 +/- 6.336 | -0.335 +/- 0.109 | -4.023
+/- 11.353
ASN 185 | L ASN 19 | 0.000 +/- 5.744 | -0.018 +/- 0.966 | -
0.268 +/- 7.498 | 0.303 +/- 4.029 | 0.000 +/- 0.099 | 0.017
+/- 10.315
GLY 186 | L GLY 20 | 0.000 +/- 2.371 | -0.008 +/- 0.701 | -
0.334 +/- 2.324 | 0.379 +/- 1.810 | 0.000 +/- 0.057 | 0.037
+/- 3.846
MET 187 | L MET 21 | 0.000 +/- 3.770 | -0.156 +/- 1.254 | -
1.692 +/- 3.999 | 1.697 +/- 2.588 | -0.031 +/- 0.089 | -0.181
+/- 6.204
SER 188 | L SER 22 | 0.000 +/- 5.828 | -0.013 +/- 1.008 |
2.808 +/- 4.910 | -2.793 +/- 1.893 | 0.000 +/- 0.061 | 0.002
+/- 7.917
LEU 189 | L LEU 23 | 0.000 +/- 4.943 | -0.021 +/- 1.312 |
1.683 +/- 2.195 | -1.464 +/- 0.671 | 0.000 +/- 0.013 | 0.197
+/- 5.606
HIP 190 | L HIP 24 | 0.000 +/- 5.252 | -0.024 +/- 1.131 | -
43.617 +/- 5.567 | 43.652 +/- 4.925 | 0.000 +/- 0.083 | 0.011
+/- 9.172
ASP 191 | L ASP 25 | 0.000 +/- 3.724 | -0.058 +/- 0.723 |
62.413 +/- 8.165 | -61.719 +/- 8.199 | 0.000 +/- 0.107 | 0.636
+/- 12.178
CYS 192 | L CYS 26 | 0.000 +/- 5.318 | -0.098 +/- 1.398 |
1.937 +/- 3.894 | -1.552 +/- 1.485 | 0.000 +/- 0.042 | 0.287
+/- 6.900
LEU 193 | L LEU 27 | 0.000 +/- 4.324 | -0.108 +/- 1.390 |
0.884 +/- 2.119 | -0.740 +/- 0.648 | 0.000 +/- 0.006 | 0.036
+/- 5.054

... cut off 250 lines
The beginning of the output file lists general details about the calculation. The rest
of the output file includes all the average energies, standard deviations, and
standard error of the mean for GB followed by PB. After each section, the G of
binding is given along with the error values. The meaning of the different terms in
this file is as follows:
VDWAALS = van der Waals contribution from MM.
EEL = electrostatic energy.
EPB/EGB = the electrostatic contribution to the solvation free energy calculated by
PB or GB respectively.
ESURF/ECAVITY/ENPOLAR = nonpolar contribution to the solvation free
energy calculated by an empirical model.
DELTA G binding = final estimated binding free energy calculated from the terms
above. (kcal/mol)
The FINAL_DECOMP_MMPBSA.dat output file contains information regarding
the interaction of each residue with the rest of the system broken down into
component parts: internal (potential terms consisting of bond, angle, dihedral, and
1-4 interactions for idecomp=1), van der Waals (VDW and 1-4 VDW for
idecomp=2), electrostatic (EEL and 1-4 EEL for idecomp=2), polar solvation, and
non-polar solvation. This file is broken down into several sections as described
below:
The decomposition energies for each residue in the complex, receptor, ligand, and
DELTA (defined by complex - receptor - ligand) are printed in their own section.
Furthermore, each of these are further broken down into backbone, sidechain, and
total contributions to their decomposition energies. "Backbone" is the interaction
energy between the backbone atoms with every other atom in the system.
"Sidechain" is the interaction energy between the sidechain atoms with every other
atom in the system. "Total" is the interaction energy between every atom in the
residue with every other atom in the system (and is thus the sum of the Backbone
and Sidechain values for that residue). Each residue term is broken down into its
component parts, described above, with the average value of the interaction +/- the
standard deviation of that term. The DELTA section contains an extra column,
called "Location", that lists where the specific residue in the complex is found ('R'
for receptor, 'L' for ligand). The variable dec_verbose controls how much is printed
to the decomp output file (see the manual for details).
b) Pairwise per-residue free energy decomposition
NOTE: In our experience, pairwise decomposition analysis done with the PB
implicit solvent model takes very long to accomplish. The below analysis, of 50
frames using both GB and PB, took 61 hours on 9 processors (9 separate, 32-bit,
single-core 2.8 GHz Xeon processors). The GB analysis took 3 minutes, so if you
choose to do PB pairwise decomposition, be prepared for a lengthy simulation
time.
In this section, we will modify the input file to perform pairwise per-residue energy
decomposition. This will be mostly the same as the per-residue section above with
slight differences. The pairwise decomposition input file is shown below:
mmpbsa_pairwise_decomp.in
Pairwise GB and PB decomposition
&general
endframe=50, verbose=1,
/
&gb
igb=5, saltcon=0.100,
/
&pb
istrng=0.100,
/
&decomp
idecomp=1, print_res="5; 30-40; 170-200"
dec_verbose=0,
/
The same command is used to start MMPBSA.py as was used for per-residue
decomposition. However, more care must be used in defining print_res in the
&decomp namelist for pairwise decomposition. The number of terms that need to
be evaluated for pairwise decomposition scales as n
2
, where n is the number of
residues specified by print_res. By default, print_res corresponds to every residue
in the complex, which for Ras-Raf will create a decomp output file around 65 MB
(over 450,000 lines). Moreover, the mdout files created by sander will also be very
large (several GB depending on how many frames and pairs are analyzed), and the
memory/time requirements for the parser become substantial (i.e. it may take
several minutes just to parse the output). The pairs calculated correspond to the
residues specified in print_res with each other residue specified in print_res. See
the manual for description of print_res syntax.
Part of the output file is shown below:
FINAL_DECOMP_MMPBSA.dat
| Run on Sun May 23 05:36:28 EDT 2010
idecomp = 3: Pairwise decomposition adding 1-4 interactions added to Internal.
Pairwise Energy Decomposition Analysis (All units kcal/mol): Generalized Born solvent


DELTAS:
Total Energy Decomposition:
Resid 1 | Resid 2 | Internal | van der Waals | Electrostatic | Polar
Solvation | Non-Polar Solv. | TOTAL
----------------------------------------------------------------------------------------------------
-------------------------------------------------
LYS 5 | LYS 5 | 0.000 +/- 0.000 | 0.000 +/- 1.075 | 0.000 +/- 3.408 | 1.601 +/-
7.229 | 0.000 +/- 0.051 | 1.601 +/- 8.064
LYS 5 | ASP 30 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.341 | -0.000 +/-
0.339 | 0.000 +/- 0.000 | -0.000 +/- 0.480
LYS 5 | GLU 31 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.350 | 0.000 +/-
0.348 | 0.000 +/- 0.000 | 0.000 +/- 0.494
LYS 5 | TYR 32 | 0.000 +/- 0.000 | 0.000 +/- 0.001 | 0.000 +/- 0.071 | 0.000 +/-
0.070 | 0.000 +/- 0.000 | 0.000 +/- 0.099
LYS 5 | ASP 33 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.434 | 0.000 +/-
0.431 | 0.000 +/- 0.000 | 0.000 +/- 0.612
LYS 5 | PRO 34 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.064 | 0.000 +/-
0.064 | 0.000 +/- 0.000 | 0.000 +/- 0.090
LYS 5 | THR 35 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.189 | 0.008 +/-
0.183 | 0.000 +/- 0.000 | 0.008 +/- 0.262
LYS 5 | ILE 36 | 0.000 +/- 0.000 | 0.000 +/- 0.001 | 0.000 +/- 0.120 | 0.021 +/-
0.130 | 0.000 +/- 0.000 | 0.021 +/- 0.177

... cut 1800 lines

ARG 200 | LEU 197 | 0.000 +/- 0.000 | 0.000 +/- 0.423 | 0.000 +/- 0.779 | -0.226 +/-
0.442 | 0.000 +/- 0.022 | -0.226 +/- 0.991
ARG 200 | LYS 198 | 0.000 +/- 0.000 | 0.000 +/- 0.284 | 0.000 +/- 0.793 | 0.237 +/-
0.572 | 0.000 +/- 0.011 | 0.237 +/- 1.018
ARG 200 | VAL 199 | 0.000 +/- 0.000 | 0.000 +/- 0.291 | 0.000 +/- 0.832 | 1.460 +/-
0.587 | 0.000 +/- 0.019 | 1.460 +/- 1.059
ARG 200 | ARG 200 | 0.000 +/- 0.000 | 0.000 +/- 0.562 | 0.000 +/- 3.888 | 14.394 +/-
2.388 | -0.000 +/- 0.035 | 14.394 +/- 4.598
idecomp = 3: Pairwise decomposition adding 1-4 interactions added to Internal.
Pairwise Energy Decomposition Analysis (All units kcal/mol): Poisson Boltzmann solvent


DELTAS:
Total Energy Decomposition:
Resid 1 | Resid 2 | Internal | van der Waals | Electrostatic | Polar
Solvation | Non-Polar Solv. | TOTAL
----------------------------------------------------------------------------------------------------
-------------------------------------------------
LYS 5 | LYS 5 | 0.000 +/- 0.000 | 0.000 +/- 1.075 | 0.000 +/- 3.408 | 0.670 +/-
7.128 | 0.000 +/- 0.000 | 0.670 +/- 7.974
LYS 5 | ASP 30 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.341 | 0.007 +/-
0.334 | 0.000 +/- 0.000 | 0.007 +/- 0.477
LYS 5 | GLU 31 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.350 | 0.009 +/-
0.344 | 0.000 +/- 0.000 | 0.009 +/- 0.491
LYS 5 | TYR 32 | 0.000 +/- 0.000 | 0.000 +/- 0.001 | 0.000 +/- 0.071 | 0.002 +/-
0.069 | 0.000 +/- 0.000 | 0.002 +/- 0.098
LYS 5 | ASP 33 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.434 | 0.007 +/-
0.423 | 0.000 +/- 0.000 | 0.007 +/- 0.606
LYS 5 | PRO 34 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.064 | -0.000 +/-
0.063 | 0.000 +/- 0.000 | -0.000 +/- 0.090
LYS 5 | THR 35 | 0.000 +/- 0.000 | 0.000 +/- 0.000 | 0.000 +/- 0.189 | 0.024 +/-
0.175 | 0.000 +/- 0.000 | 0.024 +/- 0.257
LYS 5 | ILE 36 | 0.000 +/- 0.000 | 0.000 +/- 0.001 | 0.000 +/- 0.120 | 0.009 +/-
0.102 | 0.000 +/- 0.000 | 0.009 +/- 0.158
LYS 5 | GLU 37 | 0.000 +/- 0.000 | 0.000 +/- 0.008 | 0.000 +/- 1.649 | -0.223 +/-
1.624 | 0.000 +/- 0.000 | -0.223 +/- 2.315
LYS 5 | ASP 38 | 0.000 +/- 0.000 | 0.000 +/- 0.009 | 0.000 +/- 1.802 | -0.191 +/-
1.383 | 0.000 +/- 0.000 | -0.191 +/- 2.272

... cut 1800 lines

Note that the FINAL_RESULTS_MMPBSA.dat will be exactly the same as the
one for the per-residue decomposition, since the energy decomposition scheme
does not affect the total values. Thus, to avoid redundancy that file is omitted here.

























Note: These tutorials are meant to provide illustrative examples of how to use the AMBER software suite to carry out simulations that can be run on a
simple workstation in a reasonable period of time. They do not necessarily provide the optimal choice of parameters or methods for the particular
application area.)
Copyright Ross Walker 2006
AMBER ADVANCED TUTORIALS
TUTORIAL 3 - SECTION 3
Perl Script mm_pbsa.pl
By Ross Walker & Thomas Steinbrecher
3) Calculate the binding free energy and analyse the results. (All calculations
performed using mm_pbsa.pl here)
We now need to extract snapshots (without the water) from our production runs for
use in the MM-PBSA calculation. The mm_pbsa.pl script (in
the $AMBERHOME/bin directory) automates this extraction process for us. Note if you
don't have gzcat installed you will need to unzip the trajectory files before running
mm_pbsa. We have to provide the following input file (see the linked file for an
explanation of each of the various terms):
extract_coords.mmpbsa

@GENERAL

PREFIX snapshot
PATH ./
COMPLEX 1
RECEPTOR 1
LIGAND 1
COMPT ./ras-raf.prmtop
RECPT ./ras.prmtop
LIGPT ./raf.prmtop
GC 1
AS 0
DC 0
MM 0
GB 0
PB 0
MS 0
NM 0
@MAKECRD
BOX YES
NTOTAL 42193
NSTART 1
NSTOP 200
NFREQ 1
NUMBER_LIG_GROUPS 1
LSTART 2622
LSTOP 3862
NUMBER_REC_GROUPS 1
RSTART 1
RSTOP 2621
@TRAJECTORY
TRAJECTORY ./prod1.mdcrd
TRAJECTORY ./prod2.mdcrd
TRAJECTORY ./prod3.mdcrd
TRAJECTORY ./prod4.mdcrd
@PROGRAMS
This just specifies which atoms are part of the receptor, ligand and complex as well
as specifying the prmtop files corresponding to the unsolvated structures, the total
number of snapshots in the trajectores, the stride length and the names of the
trajectory files. We have specified that each of the output files should be written
with the prefix 'snapshot'. In this setup we have defined RAS to be the receptor and
RAF to be the ligand. This is purely a naming convention.
$AMBERHOME/bin/mm_pbsa.pl extract_coords.mmpbsa > extract_coords.log
This will take a few minutes to run. Here are the relevant output
files: extract_coords.tar.gz (14 MB)
You should check the log file for any errors. Also make sure the box sizes look
reasonable. If there are any strange box sizes this is likely a problem with the atom
numbers you selected or a corruption in one of your trajectory files.
Starting with the snapshots we just extracted, we will now calculate the interaction
energy and solvation free energy for complex, receptor, and ligand and average the
results to obtain an estimate of the binding free energy. Please note that we will not
perform a calculation of the entropy contribution to binding in this tutorial and so
strictly speaking our result will not be a true free energy but could be used to
compare against similar systems. E.g. one could carry out an analysis of the effect
of amino acid point mutations along the binding interface. A common approach to
this is referred to as alanine scanning.
For demonstration purposes we will carry out the binding energy calculation using
both the MM_PBSA method and the MM_GBSA method. This is accomplished
with the following input file for mm_pbsa.pl (see the linked file for comments):
binding_energy.mmpbsa

VERBOSE 0
PARALLEL 0
PREFIX snapshot
PATH ./
START 1
STOP 200
OFFSET 1
COMPLEX 1
RECEPTOR 1
LIGAND 1
COMPT ./ras-raf.prmtop
RECPT ./ras.prmtop
LIGPT ./raf.prmtop
GC 0
AS 0
DC 0
MM 1
GB 1
PB 1
MS 1
NM 0
@PB
PROC 2
REFE 0
INDI 1.0
EXDI 80.0
SCALE 2
LINIT 1000
ISTRNG 0.0
RADIOPT 0
ARCRES 0.0625
INP 1
SURFTEN 0.005
SURFOFF 0.00
IVCAP 0
CUTCAP -1.0
XCAP 0.0
YCAP 0.0
ZCAP 0.0
@MM
DIELC 1.0
@GB
IGB 2
GBSA 1
SALTCON 0.00
EXTDIEL 80.0
INTDIEL 1.0
SURFTEN 0.005
SURFOFF 0.00
@MS
PROBE 0.0
@PROGRAMS
The various portions of this input file specify which calculations to run. On which
files to run them and any special parameters necessary to calculate the different
contributions to the binding free energy. If you open the linked file above you will
find explanations of the different terms. Values for the different parameters are
determined based on empirical data and are subject to on-going research. Please
find here a list of the currently recommended settings for the calculation of the non-
polar solvation free energy contribution. Example input files for binding free
energy calculations with common parameter settings can be found in
the $AMBERHOME/AmberTools/src/mm_pbsa/Examples/TEMPLATE_INPUT_SCRIPTS directo
ry. Refer to publications in the field for more information. Note early versions of
AMBER required an external poisson Boltzmann solver such as Delphi but as of
AMBER 8 the internal PBSA program can be used. This program provides a
significant speedup and easier integration into the AMBER framework. You can
run the calculation with:
$AMBERHOME/bin/mm_pbsa.pl binding_energy.mmpbsa > binding_energy.log
You can watch the progress of your calculation by:
tail -f binding_energy.log
This calculation will take around 2 hours to run (P4 3.2 GHz). The PBSA part of
the calculation on each of the 600 snapshots is what takes the majority of the time.
The GBSA part of the calculation is done in seconds. To speedup the calculation
you can also request parallel execution of mm_pbsa analyses for more than one
snapshot at a time by specifying the number of available processors
under PARALLEL.
When finished you should find the following output
files: binding_energy.log, snapshot_statistics.out, snapshot_com.all.out, snapshot_r
ec.all.out, snapshot_lig.all.out
The log file just shows if the calculation completed successfully. The all.out files
give the individual energy contributions for each of the snapshots for each of the
species while the statistics.out file contains the final averaged binding free energy
results:
snapshot_statistics.out

# COMPLEX RECEPTOR LIGAND
# ----------------------- ----------------------- ----------------------
-
# MEAN STD MEAN STD MEAN
STD
# ======================= =======================
=======================
ELE -8656.78 70.18 -5602.09 63.10 -2102.25
52.57
VDW -984.99 24.34 -661.18 20.33 -256.02
12.93
INT 5085.33 50.22 3449.57 38.65 1635.76
29.42
GAS -4556.44 75.96 -2813.70 65.21 -722.52
53.50
PBSUR 65.09 1.05 45.25 0.64 27.24
0.46
PBCAL -3223.64 58.68 -2490.86 48.73 -1671.27
47.46
PBSOL -3158.55 58.26 -2445.62 48.45 -1644.03
47.31
PBELE -11880.42 34.25 -8092.96 29.34 -3773.52
17.30
PBTOT -7714.99 48.25 -5259.32 36.97 -2366.55
26.61
GBSUR 65.09 1.05 45.25 0.64 27.24
0.46
GB -3407.82 58.49 -2631.83 50.08 -1731.06
47.68
GBSOL -3342.74 58.15 -2586.58 49.83 -1703.82
47.55
GBELE -12064.60 26.94 -8233.92 23.57 -3833.31
13.40
GBTOT -7899.17 47.07 -5400.28 35.65 -2426.34
26.80

# DELTA
# -----------------------
# MEAN STD
# =======================
ELE -952.43 44.10
VDW -67.79 5.18
INT -0.00 0.00
GAS -1020.22 44.58
PBSUR -7.40 0.41
PBCAL 938.50 42.51
PBSOL 931.09 42.31
PBELE -13.94 9.43
PBTOT -89.13 7.94
GBSUR -7.40 0.41
GB 955.07 41.30
GBSOL 947.66 41.10
GBELE 2.63 7.41
GBTOT -72.56 6.40
The meaning of the different terms in this file is as follows:
ELE = electrostatic energy as calculated by the MM force field.
VDW = van der Waals contribution from MM.
INT = internal energy arising from bond, angle, and dihedral terms in the MM
force field. (this term always amounts to zero in the single trajectory approach).
GAS = total gas phase energy (sum of ELE, VDW, and INT).
PBSUR/GBSUR = non-polar contribution to the solvation free energy calculated
by an empirical model.
PBCAL/GB = the electrostatic contribution to the solvation free energy calculated
by PB or GB, respectively.
PBSOL/GBSOL = sum of non-polar and polar contributions to solvation.
PBELE/GBELE = sum of the electrostatic solvation free energy and MM
electrostatic energy.
PBTOT/GBTOT = final estimated binding free energy calculated from the terms
above. (kcal/mol)
There are several things to note here. Normally the ELE, PBCAL/GBCAL, and
VDW parts make up the major contributions to the binding free energy and the first
two of these terms tend to approximately cancel each other out which can be
checked by the value of PBELE/GBELE which should be much smaller than the
contributions to it.
One would typically expect to find an extremely favourable electrostatic energy
and a dis-favourable solvation free energy. This symbolises the energy that ones
has to use to de-solvate the binding particles and to align their binding interfaces.
From the negative total binding free energy -89.13 kcal/mol we clearly see that this
is a favourable protein-protein complex in pure water but keep in mind that the
result does not equal the real binding free energy since we did not estimate the (dis-
favourable) entropy contribution to binding. Note that the GB approach gives a
slightly lower binding energy but still suggests that this is a favourable bound state.
To extend this tutorial you could investigate what happens if you change the salt
content of the solvent, modify specific residues or choose different starting
geometries. You could also look into running the nmode calculations for finding
the entropy but be aware that for a complex of this size this will be extremely
memory and computationally expensive.

Potrebbero piacerti anche