适用于Amber18\20版本
使用Amber做带小分子配体的MD时,由于Amber无法识别小分子,需要对小分子做处理,相比于单纯蛋白分子的MD步骤会繁琐一些,在此记录一下。
一、文件准备
1.文件检查与拆分
含配体的复合体pdb文件可以来自晶体或对接结果,其中小分子与蛋白分子的相对位置将会是MD的初始位置,在准备过程中需要检查确认。
【1】首先在可视化软件如薛定谔等检查复合体中小分子,确保其键连准确,没有原子,特别是氢原子的缺失。
【2】检查完毕后保存复合体文件,使用文本编辑器打开,推荐使用`notepad++`,找到对应小分子的行,将其剪切到新的文本中,命名为`Y.pdb`,剩余的蛋白分子命名为`X.pdb`
2.小分子文件处理
【3】使用Amber的工具antechamber将小分子pdb文件转为mol2文件
antechamber -i Y.pdb -fi pdb -o Y.mol2 -fo mol2 -c bcc -s 2
如果小分子配体较为复杂,此处会耗费较长的时间。
`注意:此处使用bcc计算分子的电荷分布,其准确性低于RESP,如果懂得使用gaussian或Multiwfn,建议使用RESP计算的电荷`
【4】得到`Y.mol2`文件后,使用parmchk2产生小分子参数文件
parmchk2 -i Y.mol2 -f mol2 -o Y.frcmod
【5】新建文件`Y.tleap`,写入以下内容
source leaprc.gaff
Y = loadmol2 Y.mol2
check Y
loadamberparams Y.frcmod
check Y
saveoff Y Y.lib
saveamberparm Y Y.prmtop Y.inpcrd
quit
【6】使用`tleap`程序,生成小分子`Y.lib`文件
tleap -f Y.tleap
至此得到`Y.frcmod` `Y.lib` `Y.prmtop` `Y.inpcrd` 文件。
**`这里碰到一个问题,在处理带有磷酸基团的小分子时,如果为磷酸基团添加氢原子,在MD过程中,磷酸基团的氢原子会快速无序摆动,导致整个模拟体系崩溃,在体系加热过程中的体现为温度大范围波动,并远远超出设置的上限,报错显示浮点超出上限或非法内存访问,去除磷酸基团的氢原子后一切恢复正常,报错信息如下。`**
Error: an illegal memory access was encountered launching kernel kNLSkinTest
3.蛋白质文件处理
【7】使用文本编辑器打开`X.pdb`文件,删掉除原子信息外的所有行,只保留如下的行
...
...
ATOM 16100 N LEU B 537 18.387 -77.040 -41.003 1.00 0.80 N
ATOM 16101 CA LEU B 537 19.579 -76.228 -41.346 1.00 0.80 C
ATOM 16102 C LEU B 537 20.327 -75.718 -40.033 1.00 0.80 C
ATOM 16103 O LEU B 537 20.000 -76.288 -38.963 1.00 0.80 O
ATOM 16104 CB LEU B 537 19.148 -74.980 -42.190 1.00 0.80 C
ATOM 16105 CG LEU B 537 18.636 -75.198 -43.626 1.00 0.80 C
ATOM 16106 CD1 LEU B 537 18.176 -73.876 -44.243 1.00 0.80 C
ATOM 16107 CD2 LEU B 537 19.672 -75.869 -44.530 1.00 0.80 C
ATOM 16108 OXT LEU B 537 21.005 -74.658 -40.138 1.00 0.80 O1-
ATOM 16109 H LEU B 537 18.021 -76.812 -40.085 1.00 0.00 H
ATOM 16110 HA LEU B 537 20.334 -76.831 -41.849 1.00 0.00 H
ATOM 16111 HB3 LEU B 537 20.001 -74.318 -42.301 1.00 0.00 H
ATOM 16112 HB2 LEU B 537 18.389 -74.435 -41.628 1.00 0.00 H
ATOM 16113 HG LEU B 537 17.759 -75.840 -43.564 1.00 0.00 H
ATOM 16114 HD11 LEU B 537 17.370 -74.053 -44.953 1.00 0.00 H
ATOM 16115 HD12 LEU B 537 17.814 -73.195 -43.476 1.00 0.00 H
ATOM 16116 HD13 LEU B 537 18.989 -73.377 -44.769 1.00 0.00 H
ATOM 16117 HD21 LEU B 537 19.253 -76.103 -45.506 1.00 0.00 H
ATOM 16118 HD22 LEU B 537 20.558 -75.250 -44.669 1.00 0.00 H
ATOM 16119 HD23 LEU B 537 19.998 -76.804 -44.088 1.00 0.00 H
TER 16120 LEU B 537
【8】使用Amber的工具`pdb for amber`删除模型内氢原子
pdb4amber -i X.pdb -o X_noH.pdb -y --dry
【9】以Amber的氢命名方式重新添加氢原子
reduce X_noH.pdb > X_H.pdb
【10】使用pdb4amber对加氢后的pdb文件进行处理
pdb4amber -i X_H.pdb -o X.pdb
至此得到Amber标准的蛋白质分子文件`X.pdb`
4.复合体文件处理
【11】将`Y.pdb`使用文本编辑器打开,将原子信息复制到`X.pdb`文件后,重命名为`com.pdb`
【12】创建新文件`com.tleap`写入以下内容,保存
source leaprc.protein.ff14SB
source leaprc.water.tip3p
source leaprc.gaff
loadamberparams Y.frcmod
loadoff Y.lib
complex = loadpdb com.pdb
check complex
solvatebox complex TIP3PBOX 12.0
addions2 complex Na+ 0
addions2 complex Cl- 0
saveamberparm complex X_box.prmtop X_box.inpcrd
savepdb complex X_box.pdb
quit
` 此处可以使用ff19SB`
【13】使用`tleap`程序,生成复合体参数文件`X_box.prmtop` `X_box.inpcrd`文件以及水盒文件`X_box.pdb`
tleap -f com.tleap
至此,得到`X_box.prmtop`、`X_box.inpcrd`、`X_box.pdb`
二、分子动力学模拟
1.能量最小化
【1】约束主链最小化`min1.in`
&cntrl
imin=1,
maxcyc=10000,
ncyc=5000,
ntb=1,
ntr=1,
restraintmask=':1-1104',
restraint_wt=2,
cut=8.0
/
END
执行命令
pmemd.cuda -O -i min1.in -o X_box_min1.out -p X_box.prmtop -c X_box.inpcrd -r X_box_min1.rst -ref X_box.inpcrd
【2】无约束最小化`min2.in`
&cntrl
imin=1,
maxcyc=100000,
ncyc=5000,
ntb=1,
ntc=1,
ntf=1,
ntpr=10,
cut=8.0
/
END
执行命令
pmemd.cuda -O -i min2.in -o X_box_min2.out -p X_box.prmtop -c X_box_min1.rst -r X_box_min2.rst
2.体系加热
【3】约束主链恒容50ps加热`heat.in`
explicit solvent initial heating: 50ps
&cntrl
imin=0,
irest=0,
nstlim=25000, dt=0.002,
ntc=2, ntf=2, ntx=1,
cut=8.0, ntb=1,
ntpr=500, ntwx=500,
ntt=3, gamma_ln=2.0,
tempi=0.0, temp0=300.0, ig=-1,
ntr=1,
restraintmask=':1-1104',
restraint_wt=2.0,
iwrap=1
nmropt=1
/
&wt TYPE='TEMP0', ISTEP1=0, ISTEP2=25000,
VALUE1=0.0, VALUE2=300.0, /
&wt TYPE = 'END' /
END
执行命令
pmemd.cuda -O -i heat.in -o X_box_heat.out -p X_box.prmtop -c X_box_min2.rst -r X_box_heat.rst -x X_box_heat.nc -ref X_box_min2.rst
3.恒压平衡
【4】50ps平衡`press.in`
explicit solvent density: 50ps
&cntrl
imin=0,
irest=1,
ntx=5,
nstlim=25000, dt=0.002,
ntc=2, ntf=2,
cut=8.0, ntb=2, ntp=1, taup=2.0,
ntpr=500, ntwx=500,
ntt=3, gamma_ln=2.0,
temp0=300.0, ig=-1,
ntr=0,
/
END
执行命令
pmemd.cuda -O -i press.in -o X_box_press.out -p X_box.prmtop -c X_box_heat.rst -r X_box_press.rst -x X_box_press.nc -ref X_box_heat.rst
4.全局平衡
【5】10ns平衡`eq.in`
&cntrl
imin=0, irest=1, ntx=5,
nstlim=5000000, dt=0.002,
ntc=2, ntf=2,
cut=10.0, ntb=2, ntp=1, taup=2.0,
ntpr=500, ntwx=500, ntwr=5000,
ntt=3, gamma_ln=2.0,
temp0=300.0,
/
END
执行命令
pmemd.cuda -O -i eq.in -o X_box_eq.out -p X_box.prmtop -c X_box_press.rst -r X_box_eq.rst -x X_box_eq.nc
5.正式模拟
【6】100ns模拟`md.in`
explicit solvent production run: 100ns
&cntrl
imin=0,
irest=1,
ntx=5,
nstlim=50000000, dt=0.002,
ntc=2, ntf=2,
cut=8.0, ntb=2, ntp=1, taup=2.0,
ntpr=5000, ntwx=5000, ntwr=50000,
ntt=3, gamma_ln=2.0,
temp0=300.0, ig=-1,
iwrap=1
/
END
执行命令
pmemd.cuda -O -i md.in -o X_box_md.out -p X_box.prmtop -c X_box_eq.rst -r X_box_md.rst -x X_box_md.nc