很多蛋白质在行驶生物催化反应(如ATP水解,氨基酸的乙酰化,CoA的去乙酰化,甲基化等等)都需要金属离子(Mg,Zn,Ca等等)的参与,换句话说,金属离子对蛋白功能是必须的。模拟金属酶体系,现在也是分子动力学中的热点及难点,尤其现在结合量子力学与分子力学的方法(QM/MM)更是前言。以Amber为例
1.金属的参数文件(在amber中不包括):
(1)Ca离子的
0 0 2
Calsium Ion
CAL
CAL INT 1
CORR OMIT DU BEG
0.000000
1 DUMM DU M 0 -1 -2 0.0000 0.0000 0.0000 0.000
2 DUMM DU M 1 0 -1 1.0000 0.0000 0.0000 0.000
3 DUMM DU M 2 1 0 1.0000 90.0000 0.0000 0.000
4 C0 C0 M 3 2 1 1.0000 90.0000 180.0000 2.000
DONE
STOP
(2)Zn离子的
0 0 2
Zinc Ion
ZIN
ZIN INT 1
CORR OMIT DU BEG
0.000000
1 DUMM DU M 0 -1 -2 0.0000 0.0000 0.0000 0.000
2 DUMM DU M 1 0 -1 1.0000 0.0000 0.0000 0.000
3 DUMM DU M 2 1 0 1.0000 90.0000 0.0000 0.000
4 Zn Zn M 3 2 1 1.0000 90.0000 180.0000 2.000
DONE
STOP
2.NAD力场
在Amber中有现成的:http://www.pharmacy.manchester.ac.uk/bryce/amber
用NAD+.frcmod和NAD+.lib在tleap中生成NDP.pdb (NAD+.frcmod和NAD+.lib以NDP为名生成的)
然后按照NDP.PDB中的原子类型修改自己的PDB,与力场中的相一致。
3.乙醇的立场
按照教程http://ambermd.org/tutorials/basic/tutorial4b/生成ETF.frcmod和ETF.lib
4. 整合
Amber脚本注入:
source leaprc.gaff //载入小分子立场
source leaprc.ff99SB //载入蛋白立场文件
loadamberparams ETF.frcmod //载入乙醇分子的参数文件
loadoff ETF.lib //载入乙醇力场
addatomtypes {{ "Zn" "Zn" "sp3" }} //向amber软件添加金属原子类型(Zn),名字:这主要是amber内部没有这些金属参数信息,需要自行加上,要与PDB中一致
(addatomtypes {{ "Ca" "Ca" "sp3" }} //向amber软件添加金属原子类型(Ca),名字:这主要是amber内部没有这些金属参数信息,需要自行加上)
(loadamberprep cals.top //载入自己构建的金属(Ca)参数文件)
loadamberprep zinc.top //载入自己构建的金属(Zn)参数文件,上面的参数
set ZIN restype protein //设定金属(Zn)参数文件作为蛋白的一部分,并想氨基酸一样取一个三个字(大写,amber格式要求的)的名字(随便取,这里我把Zn离子取为ZIN)
(set CAL restype protein //设定金属(Ca)参数文件作为蛋白的一部分,并想氨基酸一样取一个三个字(大写,amber格式要求的)的名字(随便取,这里我把Ca离子取为CAL))
proetin = loadpdb protein.pdb //载入所模拟的蛋白,本例子,我把蛋白,金属,结晶水分子都考虑在内,放到一个PDB文件中
com = combine {protein LIG} //把模拟的蛋白,金属,水分子,与小分子配体联合起来,作为一个模拟的整体
saveamberparm LIG lig.prmtop lig.inpcrd
saveamberparm proetin proetin.prmtop proetin.inpcrd
saveamberparm com com.prmtop com.inpcrd
savepdb com com.pdb
addions com Cl- 2
solvatebox com TIP3PBOX 10
saveamberparm com com_solvated.prmtop com_solvated.inpcrd
quit