(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 2013
Using Accelerated Molecular Dynamics (aMD) to enhance sampling
Section 1
Formerly known as AMBER Advanced Tutorial 22
By Romelia Salomon, Levi Pierce & Ross Walker
1) Generating and Relaxing the Initial Structure
The first thing we need to do is generate an initial structure and relax this so that we can use it as the input for the molecular dynamics run itself. The pdb file for BPTI is included here 5PTI-DtoH-dry.pdb. We then use the program LEaP to generate the input files:
For this system we had to follow several steps to prepare the files.
- Modified the crystal structure file: Remove all water molecules.
- Form disulfide bridges and solvate the protein with TIP4P-Ew waters. The following lines show how this is done:
$AMBERHOME/bin/tleap
> source ~/amber11intel/dat/leap/cmd/leaprc.ff99SBi
> loadOff solvents.lib
> loadOff tip4pbox.off
> loadOff tip4pewbox.off
> $AMBERHOME/dat/leap/parm/frcmod.tip4pew
> HOH=TP4
> mol = loadpdb 5PTI-DtoH-dry.pdb
> bond mol.55.SG mol.5.SG
> bond mol.30.SG mol.51.SG
> bond mol.14.SG mol.38.SG
> addions2 mol Cl- 6
> solvatebox mol TIP4PEWBOX 10.5
> saveamberparm mol bpti-ff99SBi-large.prmtop bpti-ff99SBi-large.inpcrd
> quit
The protocol follows mimicked that of Shaw and coworkers. The water model used is TIP4P-Ew and the force field is ff99SB-I. For that, we additionally took the files generated in the previous step and selected only the The output files produced are: bpti-ff99SBi.prmtopp, bpti-ff99SBi.inpcrd.
After preparing the input files, we have to go ahead and minimize, heat and relax the system before performing the production run. We did this in stages:
- Minimize only the water, restraining the protein (20000 cycles)
- Let water move (NTP, 300K), restraining the protein
- Minimize water and protein (20000 cycles)
- Heat the system, restraining the protein (NVT 0 to 300K)
- Relax the system, restraining the protein heavy atoms (NPT, 300K, 0.5ns)
- Relax the system (NPT, 300K, 5ns)
min_wat.in | heat-wat.in | min-all.in |
Minimize water System minimization: &cntrl imin=1, ntmin=1, nmropt=0, drms=0.1 maxcyc=2000, ncyc=1500, ntx=1, irest=0, ntpr=100, ntwr=100, iwrap=0, ntf=1, ntb=1, cut=10.0, nsnb=20, igb=0, ibelly=0, ntr=1, restraintmask="!:WAT", restraint_wt=10.0, &end / |
Relax water LET WATER MOVE &cntrl timlim = 999999., nmropt = 0, imin = 0, ntx = 1, irest = 0, ntrx = 1, ntxo = 1, ntpr = 500, ntwx = 500, ntwv = 0, ntwe = 0, ntwr = 5000, ntf = 2, ntb = 2, cut = 10.0, nsnb = 20, nstlim = 10000, nscm = 2500, iwrap = 1, t = 0.0, dt = 0.002, temp0 = 300.0, tempi = 200.0, tautp=0.5, ntt = 1, ntp =1 , taup = 1.0, ntc = 2, tol = 0.00001, ibelly=0, ntr=1, restraintmask="!:WAT" , restraint_wt=10.0, &end / |
Minimize all atoms System minimization: &cntrl imin=1, ntmin=1, nmropt=0, drms=0.1 maxcyc=2000, ncyc=1500, ntx=1, irest=0, ntpr=100, ntwr=100, iwrap=0, ntf=1, ntb=1, cut=10.0, nsnb=20, igb=0, ibelly=0, ntr=0, &end / |
md-heat-300K.in | md-dens-npt.in | md-eq-npt-5ns.in |
heat NPT 0.5ps Heating System &cntrl imin=0, nmropt=1, ntx=1, irest=0, ntpr=500, ntwr=500, ntwx=500, iwrap=1, ntf=2, ntb=1, cut=10.0, nsnb=20, igb=0, ibelly=0, ntr=1, nstlim=250000, nscm=500, dt=0.002, ntt=1, temp0=0.0, tempi=0.0, tautp=0.5 ntc=2,restraintmask=':1-58', restraint_wt=10.0, &end &wt type='REST', istep1=0, istep2=0, value1=1.0, value2=1.0, &end &wt type='TEMP0', istep1=0, istep2=250000, value1=0.0, value2=300, &end &wt type='END' &end / |
equil NTP 0.5ns heat &cntrl imin=0,irest=1,ntx=5, nstlim=250000,dt=0.002, ntc=2,ntf=2, cut=10.0, ntb=2, ntp=1, taup=1.0, ntpr=500, ntwx=500, ntt=3, gamma_ln=2.0, temp0=300.0,iwrap=1, ntr=1, restraintmask=':1-58', restraint_wt=10.0, / / |
equil NPT 5ns equilibrate &cntrl imin=0,irest=1,ntx=5, nstlim=2500000,dt=0.002, ntc=2,ntf=2,ig=-1, cut=10.0, ntb=2, ntp=1, taup=2.0, ntpr=1000, ntwx=1000, ntt=3, gamma_ln=2.0, temp0=300.0, / / |
We can now run these through pmemd. For example, running on one GPU on a regular desktop, storing results in 6 directories 1_, 2_, 3_ and so on:
$AMBERHOME/bin/pmemd.cuda -O -i min_wat.in -o min_wat.out -p ../*.prmtop -c ../*.inpcrd -r min_wat.rst -ref ../*.inpcrd
$AMBERHOME/bin/pmemd.cuda -O -i md_wat.in -o md_wat.out -p ../*.prmtop -c ../1_/*.rst -r md_wat.rst -ref ../1_/*.rst
$AMBERHOME/bin/pmemd.cuda -O -i min_sys.in -o sys_min.out -p ../*.prmtop -c ../2_/*.rst -r sys_min.rst -ref ../2_/*.rst
$AMBERHOME/bin/pmemd.cuda -O -i heat.in -o heat.out -p ../*.prmtop -c ../3_/*.rst -r heat.rst -ref ../3_/*.rst
$AMBERHOME/bin/pmemd.cuda -O -i density.in -o density.out -p ../*.prmtop -c ../4_/*.rst -r density.rst -ref ../4_/*.rst
$AMBERHOME/bin/pmemd.cuda -O -i eq.in -o eq.out -p ../*.prmtop -c ../5_/density.rst -r eq.rst
(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 2013