|
马上注册,结交更多好友,下载更多分子模拟资源。
您需要 登录 才可以下载或查看,没有帐号?我想注册
x
本帖最后由 lrf1980 于 2015-7-12 15:39 编辑
最近在学习amber,分享一下自己用的amber脚本,主要用MMPBSA做free binding energy的计算。两个脚本,一个是准备文件用的脚本,另外一个是做模拟的脚本
文件准备脚本,可以自己copy下面的代码,然后命名成*.sh, 记得加上可执行权限,chmod +x *.sh, 当然也可以自己一行行的在终端输入
这里用到的计算配体电荷是用的amber自带的方法,bcc 电荷。 ${charge} 这部分是表示配体的电荷。假设配体带一个负电荷,那么这里的输入就是:
antechamber -i ligand.mol2 -fi mol2 -o lig.mol2 -c bcc -nc -1 -rn LIG -df 2 -pf y -s 0
#! /bin/bash
# A script for MD simulation by Amber
#
# use ligand.mol2 for ligand molecule and receptor as target protein
# step 1. prepare the protein-ligand complex either from docking results or PDB database
#
# step 2. use MOE/Yasara or any other related software to do the protanate3D to get ligand.mol2 and receptor.pdb file
#
# step 3. save ligand in mol2 and receptor in pdb format as mentioned above
#
# step 4. calculate the bcc charge
#
antechamber -i ligand.mol2 -fi mol2 -o lig.mol2 -fo mol2 -c bcc -nc ${charge} -rn LIG -df 2 -pf y -s 0
#
# step 5. get topology parameter for ligand (indicate the ligand name by using LIG)
#
parmchk -i lig.mol2 -f mol2 -o lig.frcmod
#
# step 6. tleap for other files and parameters generation
cat >leap.in <<EOF
source leaprc.ff99SB
source leaprc.gaff
lig = loadmol2 lig.mol2
loadamberparams lig.frcmod
check lig
rec = loadpdb receptor.pdb
com=combine {rec lig}
check com
saveamberparm lig lig.prmtop lig.inpcrd
saveamberparm rec rec.prmtop rec.inpcrd
saveamberparm com com.prmtop com.inpcrd
savepdb com com.pdb
solvateoct com TIP3PBOX 10.0
addions com Na+ 0
addions com Cl- 0
saveamberparm com com_wat.prmtop com_wat.inpcrd
savepdb com com_wat.pdb
quit
END
END
EOF
tleap -f leap.in
模拟用的脚本
在使用该脚本之前,首先需要知道加了水盒子的配体-蛋白质文件里的一些基本情况。
脚本中标注下划线的两个地方在每次使用前,都需要根据实际情况修改
1. RES 326 13200, 这部分是复合物中起始水和最后一个水的编号。这一步是在做蛋白质的minimization,固定水
2. RES 1 308, 这部分是复合物中的所有氨基酸及配体的编号。这一步是在做溶剂及离子的minimization,固定蛋白质
根据自己体系改好这两个部分的参数,就可以直接运行脚本文件了。
#! /bin/bash
####################### Minimize Process ##########################
# step 1. initial protein minimization
cat > min0.in <<EOF
Complex: initial protein minimization
&cntrl
imin = 1,
ntpr = 25,
ntb =1, cut = 12,
ntmin = 2, maxcyc = 6000, ncyc = 600,
/
Water molecules fixed
500.0
RES 326 13200
END
END
EOF
# step 2. initial solvent + ions minimization
cat > min1.in <<EOF
Complex: initial slovent + ions minimization
&cntrl
imin =1,
ntc = 2, ntf = 2,
ntpr = 250, ntwx = 1000,
ntb = 1, cut = 12,
ntr = 1,
maxcyc = 10000, ncyc = 1000,
/
Protein fixed
500.0
RES 1 308
END
END
EOF
# step 3. whole system minimization
cat > min2.in <<EOF
Complex: whole system minimization
&cntrl
imin = 1,
ntc = 2, ntf = 2,
ntpr = 250, ntwx = 1000,
ntb =1, cut = 12,
maxcyc = 10000, ncyc = 1000
/
END
END
EOF
###################### Heat Process ##############################
# step 4. heat from 0K to 100K in 50 ps
cat > heat.in<<EOF
50 ps NVT heat from 0K to 300K
&cntrl
imin = 0, irest = 0,
ntx = 1, ntb = 1,
iwrap = 1,
cut = 12,
ntc = 2, ntf = 2,
tempi = 0.0, temp0 = 300.0,
ntt = 3,
gamma_ln = 1.0,
nstlim = 25000, dt = 0.002,
ntpr = 500, ntwx = 500, ntwr = 500,
nmropt = 1,
/
&wt TYPE='TEMP0', istep1 = 0, istep2 = 25000,
value1 = 0.1, value2 = 300.0, /
&wt TYPE='END' /
END
END
EOF
#
#
########################## Density ############################
# step 5. start to equillibrate the system
cat > dens.in<<EOF
100 ps NPT
&cntrl
imin = 0, irest = 1, ntx = 5,
ntb = 2, pres0 = 1.0, ntp = 1,
taup = 2.0,
iwrap = 1,
cut = 12.0,
ntc = 2, ntf = 2,
tempi = 300.0, temp0 = 300.0,
ntt = 3, gamma_ln = 1.0,
nstlim = 50000, dt = 0.002,
ntpr = 500, ntwx = 500, ntwr = 500,
/
END
END
EOF
#
######################## MD run ##############################
# step 6. MD run for the system
cat > equil.in<<EOF
1ns NVT MD
&cntrl
imin = 0,
irest = 1, ntx = 5,
ntb = 1, ntp = 0,
cut = 12.0,
ntr = 0,
iwrap = 1,
ntc = 2, ntf = 2,
tempi = 300.0, temp0 = 300.0,
ntt= 3, gamma_ln = 1.0,
nstlim = 500000, dt = 0.002,
ntpr = 1000, ntwx = 1000, ntwr = 10000,
/
END
END
EOF
#
pmemd.cuda -O -i min0.in -p com_wat.prmtop -c com_wat.inpcrd -ref com_wat.inpcrd -r min0.rst -o min0.out
pmemd.cuda -O -i min1.in -p com_wat.prmtop -c min0.rst -ref min0.rst -r min1.rst -o min1.out
pmemd.cuda -O -i min2.in -p com_wat.prmtop -c min1.rst -ref min1.rst -r min2.rst -o min2.out
#
ambpdb -p com_wat.prmtop <min0.rst>min0.pdb
ambpdb -p com_wat.prmtop <min1.rst>min1.pdb
ambpdb -p com_wat.prmtop <min2.rst>min2.pdb
#
pmemd.cuda -O -i heat.in -p com_wat.prmtop -c min2.rst -ref min2.rst -r heat.rst -o heat.out -x heat.mdcrd
#
pmemd.cuda -O -i dens.in -p com_wat.prmtop -c heat.rst -ref heat.rst -r dens.rst -o dens.out -x dens.mdcrd
#
pmemd.cuda -O -i equil.in -p com_wat.prmtop -c dens.rst -ref dens.rst -r equil1.rst -o equil1.out -x equil1.mdcrd
pmemd.cuda -O -i equil.in -p com_wat.prmtop -c equil1.rst -ref equil1.rst -r equil2.rst -o equil2.out -x equil2.mdcrd
pmemd.cuda -O -i equil.in -p com_wat.prmtop -c equil2.rst -ref equil2.rst -r equil3.rst -o equil3.out -x equil3.mdcrd
pmemd.cuda -O -i equil.in -p com_wat.prmtop -c equil3.rst -ref equil3.rst -r equil4.rst -o equil4.out -x equil4.mdcrd
pmemd.cuda -O -i equil.in -p com_wat.prmtop -c equil4.rst -ref equil4.rst -r equil5.rst -o equil5.out -x equil5.mdcrd
|
评分
-
查看全部评分
|