Difference between revisions of "2017 AMBER tutorial with 4qmz"
Stonybrook (talk | contribs) (→IV. Simulation Analysis) |
Stonybrook (talk | contribs) (→IV. Simulation Analysis) |
||
(One intermediate revision by the same user not shown) | |||
Line 438: | Line 438: | ||
==IV. Simulation Analysis== | ==IV. Simulation Analysis== | ||
− | Once the production | + | Once the production simulation finishes successfully, it's good to visually check the trajectory (in vmd) and apply some post processing. Towards that end create an analysis directory containing three subdirectories: |
− | + | mkdir 004.analysis | |
− | + | cd 004.analysis/ | |
− | + | mkdir 001.rmsd 002.hbond 003.mmgbsa | |
Line 510: | Line 510: | ||
interval=1, netcdf=1, | interval=1, netcdf=1, | ||
keep_files=0, | keep_files=0, | ||
− | + | ||
/ | / | ||
&gb | &gb | ||
Line 535: | Line 535: | ||
#PBS -j oe | #PBS -j oe | ||
#PBS -q long | #PBS -q long | ||
− | + | ||
cd $PBS_O_WORKDIR | cd $PBS_O_WORKDIR | ||
− | + | ||
#Define topology files | #Define topology files | ||
solv_prmtop="../../001.tleap_build/4qmz_sunitinib.wet.complex.prmtop" | solv_prmtop="../../001.tleap_build/4qmz_sunitinib.wet.complex.prmtop" | ||
Line 544: | Line 544: | ||
ligand_prmtop="../../001.tleap_build/4qmz_sunitinib.gas.ligand.prmtop" | ligand_prmtop="../../001.tleap_build/4qmz_sunitinib.gas.ligand.prmtop" | ||
trajectory="../../003.production/001.restrained/10.prod.trj" | trajectory="../../003.production/001.restrained/10.prod.trj" | ||
− | + | ||
− | |||
#create mmgbsa input file | #create mmgbsa input file | ||
cat >mmgbsa.in<<EOF | cat >mmgbsa.in<<EOF | ||
Line 566: | Line 565: | ||
EOF | EOF | ||
− | |||
MMPBSA.py -O -i mmgbsa.in \ | MMPBSA.py -O -i mmgbsa.in \ | ||
-o 4qmz_sunitinib.mmgbsa.results.dat \ | -o 4qmz_sunitinib.mmgbsa.results.dat \ | ||
Line 577: | Line 575: | ||
− | The output file "4qmz_sunitinib.mmgbsa.results.dat" | + | The output file "4qmz_sunitinib.mmgbsa.results.dat" shows the calculations and the resulting computed energy value; the binding energy (delta G binding) is given at the bottom of the file (values can range roughly between -15 and -25 kcal/mol +- 5 kcal/mol) for this system. |
+ | |||
+ | THE END |
Latest revision as of 11:18, 5 July 2017
In this tutorial, we will learn how to run a molecular dynamics simulation of a protein-ligand complex. We will then post-process that simulation by calculating structural fluctuations (with RMSD) and free energies of binding (MM-GBSA).
Contents
Introduction
Amber -Assisted Model Building with Energy Refinement - is a multi-program suite for macromolecular simulations.Amber is distributed in two parts: AmberTools15 and Amber14.Amber14 is the most recent version of the software and it includes new force fields such as ff14SB. In addition, in this release, more features from sander have been added to pmemd for both CPU and GPU platforms, including performance improvements, and support for extra points, multi-dimension replica exchange, a Monte Carlo barostat, ScaledMD, Jarzynski sampling, explicit solvent constant pH, GBSA, and hydrogen mass repartitioning. Support is also included for the latest Kepler, Titan and GTX7xx GPUs expanded options for Poisson-Boltzmann solvation calculations, accelerated molecular dynamics, additional features in sander pmemd code, and expanded methods for free energy calculations. Our lab is set up with Ambe r14 and the latest update of AmberTools15 which contains the programs such as antechamber and tleap to set up your simulation. The Amber 14 Manualis available to get started with using Amber14. You can search the document for keywords such as "tleap" if you use Adobe Acrobat to view the file. Additionally, AmberTools Reference Manualis another reference for the programs available under Amber tools.
Here below are some of the programs available in both Amber and AmberTools:
1.LEaP: LEaP is an X-windows-based program that provides for basic model building and Amber coordinate parameter/topology input file creation. It includes a molecular editor which allows for building residues and manipulating molecules.
2.ANTECHAMBER: This program suite automates the process of developing force field descriptors for most organic molecules. It starts with structures (usually in PDB format), and generates files that can be read into LEaP for use in molecular modeling. The force field description that is generated is designed to be compatible with the usual Amber force fields for proteins and nucleic acids.
3.SANDER: Sander is short for Simulated annealing with NMR-derived energy restraints. This allows for NMR refinement based on NOE-derived distance restraints, torsion angle restraints, and penalty functions based on chemical shifts and NOESY volumes. Sander is also the "main" program used for molecular dynamics simulations, and is also used for replica-exchange, thermodynamic integration, and potential of mean force (PMF) calculations. Sander also includes QM/MM capability.
4.PMEMD: This is an extensively-modified version (originally by Bob Duke) of the sander program, optimized for periodic, PME simulations, and for GB simulations. It is faster than sander and scales better on parallel machines.
5.PTRAJandCPPTRAJ: These are used to analyze MD trajectories, computing a variety of things, like RMS deviation from a reference structure, hydrogen bonding analysis, time-correlation functions, diffusional behavior, and so on.
6.MM_PBSA andMM_PBSA.py: These are scripts that automate post-processing of MD trajectories, to analyze energetics using continuum solvent ideas. It can be used to break energies energies into "pieces" arising from different residues, and to estimate free energy differences between conformational basins.
7.NAB: Originally named as "nucleic acid builder", NAB is a specialized language for writing programs that manipulate molecules and carry out molecular mechanics or distance-geometry based modeling. NAB provides and interface to Poisson-Boltzmann and RISM integral-equation solvent models. The "amberlite" package uses NAB to study protein-ligand interaction energetics. There is also a mailing list available as an additional resource. What you can do with it is: you document your questions and sent to this mail address, some specialists of Amber will be assigned to reply your email and help you.
4qmz:
Organizing Directories It makes things easier to organize your files in a clean and logical way. The following directory structure and naming scheme is a convenient way to organize your files. We could make these directories first before doing anything further
~username/AMS536-Spring2016/Amber_Tutorial/000.parameters/ 001.tleap_build/ 002.equilibration/ 003.production/ 004.analysis/
II. Structural Preparation
Before we can submit our job for equilibration / production, we must prepare it for simulation. Ensure you have your environmental variables set to include your AMBERHOME, CUDA_HOME, and anaconda. The first step is to parametrize your ligand using antechamber and check for any missing force field parameters; run using this command:
/path/to/amber/antechamber -i /path/to/file/sunitinib_sybyl.lig.mol2 -fi mol2 -o sunitinib_lig.am1bcc.mol2 -fo mol2 -at gaff -c bcc -rn LIG -nc 1 /path/to/amber/parmchk -i sunitinib_lig.am1bcc.mol2 -f mol2 -o sunitinib_lig.am1bcc.frcmod
The next step is to create the topology and coordinate files for the simulation through tleap. First create a file called tleap.in with the following:
source leaprc.protein.ff14SB source leaprc.gaff source leaprc.water.tip3p loadamberparams frcmod.ionsjc_tip3p set default PBradii mbondi3 gascomplex = combine {rec lig}
savepdb gascomplex 4qmz_sunitinib.gas.complex.pdb
saveamberparm gascomplex 4qmz_sunitinib.gas.complex.prmtop 4qmz_sunitinib.gas.complex.rst7 saveamberparm rec 4qmz_sunitinib.gas.receptor.prmtop 4qmz_sunitinib.gas.receptor.rst7 saveamberparm lig 4qmz_sunitinib.gas.ligand.prmtop 4qmz_sunitinib.gas.ligand.rst7
solvcomplex = combine {rec lig}
solvateoct solvcomplex TIP3PBOX 12.0
This will load in the pertinent libraries, solvate your system in a truncated octahedron 12.0 A out, and will give you topologies/rst/pdb's for the non-solvated (gas) ligand, gas receptor, solvated ligand, solvated receptor, gas-phase complex, and solvated complex. VISUALIZE THESE IN VMD TO ENSURE THEY LOOK REALISTIC! Many times errors down the line are resultant from skipping the inspection after running through tleap.
III. Structural Equilibration
We first start by performing a series of minimization and short MD simulation steps for the receptor and ligand. The purpose of these steps is to remove steric clashes (minimization) and allow the receptor:ligand to equilibrate into a low energy state (MD simulation). After minimization, we can perform MD simulations in which we could record the trajectories to predict the folded state of protein.
1) In the first minimization step, we use a large restraint_wt on all heavy atoms (5.0 kcal/molA^2). Thus, only hydrogens are allowed to relax and only steric clashes involving hydrogens are removed. Create the input file 01.min.in:
Minmize all the hydrogens &cntrl imin=1, ! Minimize the initial structure maxcyc=5000, ! Maximum number of cycles for minimization ntb=1, ! Constant volume ntp=0, ! No pressure scaling ntf=1, ! Complete force evaluation ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-288 & !@H=", ! atoms to be restrained restraint_wt=5.0, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format
imin = 1: flag to do minimization only
ntx = 1: read coordinates only from rst file
ntc = 1: flag for shake to perform bond length constraints. ntc =1 is the default, meaning SHAKE is not performed. In other words, minimization is performed on every bond.
ntb = 1: flag for constant volume
ntp = 0: NO constant pressure
ntwx = 1000: saving snapshot to a trajectory file every 1000 steps.
ntwe = 0: human readable energy file is appended every 0 steps.
ntpr = 1000: newest calculated energy is stored in .info file every 1000 steps.
cut: cutoff for energy evaluation (Angstroms)
ntr = 1: flag for restraining specified atoms
restraintmask = ':1-224 & !@H='; String that specifies restrained atoms (all atoms except hydrogens are restrained)
restraint_wt = 5.0; restraint strength (kcal/molA^2)
2) The second step is a short MD simulation to bring the receptor:ligand system into a more equilibrated state. Create an input file 02.equil.mdin by copying and editing 01.min.mdin.
cp 01.min.mdin 02.equil.mdin
MD simualation &cntrl imin=0, ! Perform MD nstlim=50000 ! Number of MD steps ntb=2, ! Constant Pressure ntc=1, ! No SHAKE on bonds between hydrogens dt=0.001, ! Timestep (ps) ntp=1, ! Isotropic pressure scaling barostat=1 ! Berendsen taup=0.5 ! Pressure relaxtion time (ps) ntf=1, ! Complete force evaluation ntt=3, ! Langevin thermostat gamma_ln=2.0 ! Collision Frequency for thermostat ig=-1, ! Random seed for thermostat temp0=298.15 ! Simulation temperature (K) ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-288 & !@H=", ! atoms to be restrained restraint_wt=5.0, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format iwrap=1, ! iwrap is turned on
imin = 0: flag to do MD simulation
ntc = 2: flag for SHAKE to perform bond length constraints involving hydrogen
ntb = 2: flag for constant pressure
ntp = 1: constant pressure
ntr = 1: flag for restraining specified atoms
restraintmask = ':1-224 & !@H='; String that specifies restrained atoms (all atoms except hydrogens are restrained)
restraint_wt = 5.0; restraint strength (kcal/molA^2)
3) Create more minimization input files with decreasing restraint_wt (03.min.mdin, 04.min.mdin, 05.min.mdin). Create more MD simulation input files with different restraints (06.equil.mdin, 07.equil.mdin, 08.equil.mdin, 09.equil.mdin:
03.min.mdin:
Minmize all the hydrogens &cntrl imin=1, ! Minimize the initial structure maxcyc=1000, ! Maximum number of cycles for minimization ntb=1, ! Constant volume ntp=0, ! No pressure scaling ntf=1, ! Complete force evaluation ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-288 & !@H=", ! atoms to be restrained restraint_wt=2.0, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format
04.min.mdin:
Minmize all the hydrogens &cntrl imin=1, ! Minimize the initial structure maxcyc=1000, ! Maximum number of cycles for minimization ntb=1, ! Constant volume ntp=0, ! No pressure scaling ntf=1, ! Complete force evaluation ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-288 & !@H=", ! atoms to be restrained restraint_wt=0.1, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format
05.min.mdin:
Minmize all the hydrogens &cntrl imin=1, ! Minimize the initial structure maxcyc=1000, ! Maximum number of cycles for minimization ntb=1, ! Constant volume ntp=0, ! No pressure scaling ntf=1, ! Complete force evaluation ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-288 & !@H=", ! atoms to be restrained restraint_wt=0.05, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format
06.equil.mdin:
MD simualation &cntrl imin=0, ! Perform MD nstlim=50000 ! Number of MD steps ntb=2, ! Constant Pressure ntc=1, ! No SHAKE on bonds between hydrogens dt=0.001, ! Timestep (ps) ntp=1, ! Isotropic pressure scaling barostat=1 ! Berendsen taup=0.5 ! Pressure relaxtion time (ps) ntf=1, ! Complete force evaluation ntt=3, ! Langevin thermostat gamma_ln=2.0 ! Collision Frequency for thermostat ig=-1, ! Random seed for thermostat temp0=298.15 ! Simulation temperature (K) ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-288 & !@H=", ! atoms to be restrained restraint_wt=1.0, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format iwrap=1, ! iwrap is turned on
07.equil.mdin:
MD simulation &cntrl imin=0, ! Perform MD nstlim=50000 ! Number of MD steps ntx=5, ! Positions and velocities read formatted irest=1, ! Restart calculation ntc=1, ! No SHAKE on for bonds with hydrogen dt=0.001, ! Timestep (ps) ntb=2, ! Constant Pressure ntp=1, ! Isotropic pressure scaling barostat=1 ! Berendsen taup=0.5 ! Pressure relaxtion time (ps) ntf=1, ! Complete force evaluation ntt=3, ! Langevin thermostat gamma_ln=2.0 ! Collision Frequency for thermostat ig=-1, ! Random seed for thermostat temp0=298.15 ! Simulation temperature (K) ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-288 & !@H=", ! atoms to be restrained restraint_wt=0.5, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format iwrap=1, ! iwrap is turned on
08.equil.mdin:
MD simulations &cntrl imin=0, ! Perform MD nstlim=50000 ! Number of MD steps ntx=5, ! Positions and velocities read formatted irest=1, ! Restart calculation ntc=1, ! No SHAKE on for bonds with hydrogen dt=0.001, ! Timestep (ps) ntb=2, ! Constant Pressure ntp=1, ! Isotropic pressure scaling barostat=1 ! Berendsen taup=0.5 ! Pressure relaxtion time (ps) ntf=1, ! Complete force evaluation ntt=3, ! Langevin thermostat gamma_ln=2.0 ! Collision Frequency for thermostat ig=-1, ! Random seed for thermostat temp0=298.15 ! Simulation temperature (K) ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-287@CA,C,N", ! atoms to be restrained restraint_wt=0.1, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format iwrap=1, ! iwrap is turned on
09.equil.mdin:
MD simulations &cntrl imin=0, ! Perform MD nstlim=50000 ! Number of MD steps ntx=5, ! Positions and velocities read formatted irest=1, ! Restart calculation ntc=1, ! No SHAKE on for bonds with hydrogen dt=0.001, ! Timestep (ps) ntb=2, ! Constant Pressure ntp=1, ! Isotropic pressure scaling barostat=1 ! Berendsen taup=0.5 ! Pressure relaxtion time (ps) ntf=1, ! Complete force evaluation ntt=3, ! Langevin thermostat gamma_ln=2.0 ! Collision Frequency for thermostat ig=-1, ! Random seed for thermostat temp0=298.15 ! Simulation temperature (K) ntwx= 1000, ! Write to trajectory file every ntwx steps ntpr= 1000, ! Print to mdout every ntpr steps ntwr= 1000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-287@CA,C,N", ! atoms to be restrained restraint_wt=0.1, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format iwrap=1, ! iwrap is turned on
It is ideal to write a script that will send these 9 files to the queue as they are finished. An example of a script that can do this is md.equilibration.sh:
#!/bin/sh #PBS -N 4qmz_equilibration #PBS -l walltime=02:00:00 #PBS -l nodes=2:ppn=28 #PBS -j oe #PBS -q long cd $PBS_O_WORKDIR echo "Started Equilibration on `date` " do_parallel="mpirun pmemd.MPI" prmtop="../001.tleap_build/4qmz_sunitinib.wet.complex.prmtop" coords="../001.tleap_build/4qmz_sunitinib.wet.complex" MDINPUTS=(01.min 02.equil 03.min 04.min 05.min 06.equil 07.equil 08.equil 09.equil) for input in ${MDINPUTS[@]}; do $do_parallel -O -i ${input}.mdin -o ${input}.mdout -p $prmtop -c ${coords}.rst7 -ref ${coords}.rst7 -x ${input}.trj -inf ${input}.info -r ${input}.rst7 coords=$input done echo "Finished Equilibration on `date` "
At this point, after the script has been submitted to the queue via:
qsub md.equilibration.sh
There will be 4 new files for each mdin submitted. For the first equilibration step, the files output are as follows:
01.min.info 01.min.mdout 01.min.trj 01.min.rst7
It is always a good idea to scroll through the outputs to ensure there are not any obvious error messages. Additionally, it is a good idea to visualize the last equilibration trajectory using VMD to ensure your structure is reasonable before beginning the production MD run.
IV. Simulation Production
Change your directory to 003.production. Once here, create two new directories, 001.restrained and 002.unrestrained. The simulation will be run twice, once with a restraint on the backbone and once with no restraint.
Move to the 001.restrained directory and create an input file called 10.prod.mdin using the command
vi 10.prod.mdin
write the following in the file
MD simulations &cntrl imin=0, ! Perform MD nstlim=5000000, ! Number of MD steps ntx=5, ! Positions and velocities read formatted irest=1, ! Restart calculation ntc=2, ! SHAKE on for bonds with hydrogen dt=0.002, ! Timestep (ps) ntb=2, ! Constant Pressure ntp=1, ! Isotropic pressure scaling barostat=1 ! Berendsen taup=0.5 ! Pressure relaxtion time (ps) ntf=2, ! No force evaluation for bonds with hydrogen ntt=3, ! Langevin thermostat gamma_ln=2.0 ! Collision Frequency for thermostat ig=-1, ! Random seed for thermostat temp0=298.15 ! Simulation temperature (K) ntwx= 2500, ! Write to trajectory file every ntwx steps ntpr= 2500, ! Print to mdout every ntpr steps ntwr= 5000000, ! Write a restart file every ntwr steps cut=8.0, ! Nonbonded cutoff in Angstroms ntr=1, ! Turn on restraints restraintmask=":1-287@CA,C,N", ! atoms to be restrained restraint_wt=0.1, ! force constant for restraint ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format iwrap=1, ! iwrap is turned on /
In the 002.unrestrained directory, a similar input file should be made. Use the command
vi 10.prod.mdin
to make a new input file. In it, type
MD simulations &cntrl imin=0, ! Perform MD nstlim=1000000 ! Number of MD steps ntx=5, ! Positions and velocities read formatted irest=1, ! Restart calculation ntc=2, ! SHAKE on for bonds with hydrogen dt=0.002, ! Timestep (ps) ntb=2, ! Constant Pressure ntp=1, ! Isotropic pressure scaling barostat=1 ! Berendsen taup=0.5 ! Pressure relaxtion time (ps) ntf=2, ! No force evaluation for bonds with hydrogen ntt=3, ! Langevin thermostat gamma_ln=2.0 ! Collision Frequency for thermostat ig=-1, ! Random seed for thermostat temp0=298.15 ! Simulation temperature (K) ntwx= 2500, ! Write to trajectory file every ntwx steps ntpr= 2500, ! Print to mdout every ntpr steps ntwr= 5000000, ! Write a restart file every ntwr steps cut= 8.0, ! Nonbonded cutoff in Angstroms ntxo=1, ! Write coordinate file in ASCII format ioutfm=0, ! Write trajectory file in ASCII format iwrap=1, ! iwrap is turned on /
IV. Simulation Analysis
Once the production simulation finishes successfully, it's good to visually check the trajectory (in vmd) and apply some post processing. Towards that end create an analysis directory containing three subdirectories:
mkdir 004.analysis cd 004.analysis/ mkdir 001.rmsd 002.hbond 003.mmgbsa
We will now remove the water molecules and create a trajectory aligned to the CA atoms of the crystal structure. To do this create a cpptraj input file named "cpptraj.strip.wat.in" containing the following:
#!/usr/bin/sh #read in trajectory trajin ../../003.production/001.restrained/10.prod.trj #read in reference reference ../../001.tleap_build/4qmz_sunitinib.wet.complex.rst7 #compute rmsd and align CA to the crystal structure rmsd rms1 reference :1-287@CA #strip Solvent strip :WAT:Na+:Cl- #create gas-phase trajectory trajout 4qmz_sunitinib.stripfit.restrained.gas.trj nobox
and run it:
cpptraj -p ../../001.tleap_build/4qmz_sunitinib.wet.complex.prmtop -i cpptraj.strip.wat.in
Take a look at the trajectory in vmd.
Next is to compute ligand rmsd versus the crystal structure pose and histogram the RMSD. Create a new cpptraj input file named "cpptraj.rmsd.lig.in":
#!/usr/bin/sh #trajin the trajectory trajin 4qmz_sunitinib.stripfit.restrained.gas.trj #read in the reference reference ../../001.tleap_build/4qmz_sunitinib.gas.complex.rst7 #compute the RMSD (do not fit the internal geometries first, included rigid body motions #and convert the frames to ns (framenum*.005) rmsd rms1 ":288&!(@H=)" nofit mass out 4qmz_sunitinib.lig.restrained.rmsd.nofit.dat time .005 #histogram the nofit rmsd histogram rms1,*,*,.1,* norm out 4qmz_sunitinib.lig.restrained.rmsd.nofit.histogram.dat
and run it:
cpptraj -p ../../001.tleap_build/4qmz_sunitinib.gas.complex.prmtop -i cpptraj.rmsd.lig.in
This will output a file with the frame number and ligand rmsd in that frame compared to the crystal structure ligand pose. If the rmsd does not diverge too much throughout the simulation, it means that the ligand is stable in the binding pocket.
Next is to analyze hydrogen bonding between the ligand and the enzyme residues.
cd 004.analysis/002.hbond #Compute hydrogen bonds cpptraj -p ../../001.tleap_build/4qmz_sunitinib.wet.complex.prmtop -i cpptraj.hbond.in
The input file "cpptraj.hbond.in" contains the following lines:
#!/usr/bin/sh #read in trajectory trajin ../../003.production/001.restrained/10.prod.trj #wrap everything into one periodic cell autoimage #compute intra and water mediated hydrogen bonds hbond hb1 :1-288 out 4qmz_sunitinib.hbond.out avgout 4qmz_sunitinib.hbond.avg.dat solventdonor :WAT solventacceptor :WAT nointramol bridgeout 4qmz_sunitinib.bridge-water.dat dist 3.0 angle 140
Next we will calculate the binding free energy (delta G binding) of the ligand to the enzyme using the MMGBSA method (in AMBER it is done via a python script MMGBSA.py).
Go into the directory "003.mmgbsa/"
Create the input file "mmgbsa.in" with the following commands:
mmgbsa 4QMZ analysis &general interval=1, netcdf=1, keep_files=0, / &gb igb=8, saltcon=0.0, surften=0.0072, surfoff=0.0, molsurf=0, / &nmode drms=0.001, maxcyc=10000, nminterval=250, nmendframe=2000, nmode_igb=1, /
The MMGBSA simulation should be submitted to the cluster using the submission script:
qsub mmgbsa.sh
The above submission script "mmgbsa.sh" would contain:
#!/bin/bash #PBS -l walltime=35:00:00 #PBS -l nodes=1:ppn=28 #PBS -N 4qmz_mmgbsa #PBS -V #PBS -j oe #PBS -q long cd $PBS_O_WORKDIR #Define topology files solv_prmtop="../../001.tleap_build/4qmz_sunitinib.wet.complex.prmtop" complex_prmtop="../../001.tleap_build/4qmz_sunitinib.gas.complex.prmtop" receptor_prmtop="../../001.tleap_build/4qmz_sunitinib.gas.receptor.prmtop" ligand_prmtop="../../001.tleap_build/4qmz_sunitinib.gas.ligand.prmtop" trajectory="../../003.production/001.restrained/10.prod.trj" #create mmgbsa input file cat >mmgbsa.in<<EOF mmgbsa HIVgp41 analysis &general interval=1, netcdf=1, keep_files=0, / &gb igb=8, saltcon=0.0, surften=0.0072, surfoff=0.0, molsurf=0, / &nmode drms=0.001, maxcyc=10000, nminterval=250, nmendframe=2000, nmode_igb=1, / EOF MMPBSA.py -O -i mmgbsa.in \ -o 4qmz_sunitinib.mmgbsa.results.dat \ -eo 4qmz_sunitinib.mmgbsa.per-frame.dat \ -sp ${solv_prmtop} \ -cp ${complex_prmtop} \ -rp ${receptor_prmtop} \ -lp ${ligand_prmtop} \ -y ${trajectory}
The output file "4qmz_sunitinib.mmgbsa.results.dat" shows the calculations and the resulting computed energy value; the binding energy (delta G binding) is given at the bottom of the file (values can range roughly between -15 and -25 kcal/mol +- 5 kcal/mol) for this system.
THE END