Thursday, April 22, 2010

Amber in practice (in Chinese)

http://www.zhuaxia.com/item/211097608:

第一步:生成小分子模板

蛋白质中各氨基酸残基的力参数是预先存在的,但是很多模拟过程会涉及配体分子,这些有机小分子有很高的多样性,他们的力参数和静电信息不可能预存在库文件中,需要根据需要自己计算生成模板。amber中的antechamber 程序就是生成小分子模板的。

生成模板要
进行量子化学计算,这步可以由antechamber中附带的mopac完成,也可以由gaussian完成,这里介绍用gaussian计算的过程。

建议在计算前用
sybyl软件将小分子预先优化,不要用gaussian优化,大基组从头计算进行几何优化花费的计算时间太长。gaussian计算的输入文件可以用antechamber程序直接生成,生成后去掉其中关于几何优化的参数即可

将小分子优化后的结构存储为
mol2各式,上传到工作目录,用antechamber程序生成gaussian输入文件,命令如下:

antechamber -i 49.mol2 -fi mol2 -o 49.in -fo gzmat

这样可以生成49.in文件,下载到windows环境,运行gaussian计算这个文件,如果发现计算时间过长或者内存不足计算中断,可以修改文件选择小一些的基组。

获得输出文件
49.out之后将它上传到工作目录,再用antechamber生成模板,命令如下:

antechamber -i 49.out -fi gout -o 49mod.mol2 -fo mol2 -c resp

运行之后就会生成一个新的mol2文件,如果用看图软件打开这个文件会发现,原子的颜色很怪异,这是因为mol2的原子名称不是标准的原子名称,看图软件无法识别。下面一步是检查参数,因为可能会有一些特殊的参数在gaff中不存在需要程序注入,命令如下:

parmchk -i 49mod.mol2 -f mol2 -o 49mod

这样那些特殊的参数就存在49mod这个文件中了

第二步:处理蛋白质文件

amber
带的leap程序是处理蛋白质文件的,他可以读入PDB各式的蛋白质文件,根据已有的力场模板为蛋白质赋予键参数和静电参数。

PDB格式的文件有带有氢原子和孤对电子的信息,但是在这种格式下氢原子和孤对电子的命名不是标准命名,力场模板无法识别这种不标准的命名,因此需要将两者的信息删除

ATOM 12 1H ARG A 82 12.412 8.891 34.128 1.00 0.00 H

PDB各式里面,氢原子的信息会在第13或者14列出H字符,可以应用grep命令删除在13或者14列出H的行

命令如下:

grep -v '^.............H' 1t4j.pdb > x
grep -v '^............H' x > 1t4j_noh.pdb

除了删除氢和孤对电子,还应该把文件中的结晶水、乙酸等分子删除,这些分子的信息常常集中在文件的尾部,可以直接删除。

处理过之后的蛋白质文件,只包括各氨基酸残基和小分子配体的重原子信息,模拟需要的氢原子和水分子将在
leap中添加

接下
来需要进一步整理蛋白质文件,主要关注氨基酸的不同存在形态和小分子的原子名称。

半胱氨酸有两种存在形态,有的是两个半胱氨酸通过二硫键相连,有的则是自由的,两种半胱氨酸在力场文件中是用不同的
unit来表示的,这相当于是两个完全不同的氨基酸,需要手动更改蛋白质文件中半胱氨酸的名字,桥连的要用CYX,自由的用CYS

组氨酸有若干种质子态,和半胱氨酸一样,也需要查阅文献确定这些质子态,并更改残基名称

最后需要修改的是配体分子的原子名,这是工作量最大的事情,仔细观察可以发现,一般
PDB文件中配体的各个原子名称,和我们上面通过antechamber 生成的49mod.mol2中原子名称并不一致,这会造成leap无法识别这些原子,无法为这些原子赋予力参数和静电参数,因此需要手动更改蛋白质文件中配体分子的原子名称。

进行这一步可以同时用看图软件打开
49mod.mol2和蛋白质文件,隐藏蛋白质文件中除配体分子以外的所有结构,旋转两个文件,让他们姿态相近,以方便观察,并且在各自均标识原子名称,然后用文字编辑软件打开蛋白质文件,核对看图软件中两个分子对应的原子名称,手动逐一修改。

修改原子名称需要极大的耐心和细心,如果发生错误下一步的操作会无法继续。我现在想到的也只有这个笨办法,如果谁还有别的好法子,欢迎告诉我。

现在文件的准备工作都已经完成,该开始正式的模拟了
第三步:生成拓扑文件和坐标文件

amber进行分子动力学模拟需要坐标和拓扑文件,坐标文件记录了各质点所座落的坐标,拓扑文件记录了整个体系各质点之间的链接状况、力参数电荷等信息。这两个文件是由leap 程序生成的

amber中有两个leap程序,一个是纯文字界面的tleap,一个是带有图形界面的Xleap。但是amber图形界面做得很差,用远程登录使用图形界面不仅麻烦而且慢,所以我比较偏爱使用tleap,两个leap的命令是完全一样的,其实用哪一个都无所谓。

启动
tleap,在shell输入命令tleapleap就启动了,shell里会显示
-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/prep to search path.
-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/lib to search path.
-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/parm to search path.
-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/cmd to search path.

Welcome to LEaP!
(no leaprc in search path)
>
这个>leap的提示符

下面要
调入库文件。amber是模拟生物分子的好手,主要就是依靠专门为蛋白质多糖核酸量身订做的amber场,力场的所有参数都存储在库文件里,所以打开leap第一件事便是调入库文件。

amber提供了很多种库,这里我们只用到两个库,gaff02库,输入命令:
>source leaprc.gaff
>source leaprc.ff02
之后
两个库就调入进来了
这时可以用
list命令看看库里都有什么:
> list
ACE ALA ARG ASH ASN ASP CALA CARG
CASN CASP CCYS CCYX CGLN CGLU CGLY CHCL3BOX
CHID CHIE CHIP CHIS CILE CIO CLEU CLYS
CMET CPHE CPRO CSER CTHR CTRP CTYR CVAL
CYM CYS CYX Cl- Cs+ DA DA3 DA5
DAN DC DC3 DC4 DC5 DCN DG DG3
DG5 DGN DT DT3 DT5 DTN GLH GLN
GLU GLY HID HIE HIP HIS HOH IB
ILE K+ LEU LYN LYS Li+ MEOHBOX MET
MG2 NALA NARG NASN NASP NCYS NCYX NGLN
NGLU NGLY NHID NHIE NHIP NHIS NILE NLEU
NLYS NMABOX NME NMET NPHE NPRO NSER NTHR
NTRP NTYR NVAL Na+ PHE PL3 POL3BOX PRO
RA RA3 RA5 RAN RC RC3 RC5 RCN
RG RG3 RG5 RGN RU RU3 RU5 RUN
Rb+ SER SPC SPCBOX T4E THR TIP3PBOX TIP4PBOX
TIP4PEWBOXTP3 TP4 TP5 TRP TYR VAL WAT
gaff parm99
>
这里面罗列的就是库里面的unit,包括20种氨基酸、糖以及核酸还有一些常见离子的参数

下面一步是调入配体分子的模板,首先补全参数,输入命令:
>loadamberparams 49mod
然后
读入模板文件,输入命令:
>MOL = loadmol2 49mod.mol2
其中
MOLunit的名字,要保证这个名字和pdb文件中配体的残基名完全一致,否则系统仍然无法识别pdb文件中的小分子

现在再输入list命令会发现库里面多了一个unit:
>list
ACE ALA ARG ASH ASN ASP CALA CARG
CASN CASP CCYS CCYX CGLN CGLU CGLY CHCL3BOX
CHID CHIE CHIP CHIS CILE CIO CLEU CLYS
CMET CPHE CPRO CSER CTHR CTRP CTYR CVAL
CYM CYS CYX Cl- Cs+ DA DA3 DA5
DAN DC DC3 DC4 DC5 DCN DG DG3
DG5 DGN DT DT3 DT5 DTN GLH GLN
GLU GLY HID HIE HIP HIS HOH IB
ILE K+ LEU LYN LYS Li+ MEOHBOX MET
MG2
MOL NALA NARG NASN NASP NCYS NCYX
NGLN NGLU NGLY NHID NHIE NHIP NHIS NILE
NLEU NLYS NMABOX NME NMET NPHE NPRO NSER
NTHR NTRP NTYR NVAL Na+ PHE PL3 POL3BOX
PRO RA RA3 RA5 RAN RC RC3 RC5
RCN RG RG3 RG5 RGN RU RU3 RU5
RUN Rb+ SER SPC SPCBOX T4E THR TIP3PBOX
TIP4PBOX TIP4PEWBOXTP3 TP4 TP5 TRP TYR VAL
WAT gaff parm99
>
那个就是配体分子的模板

下面
读入pdb文件,输入命令:
>comp = loadpdb 1t4j_noh.pdb
如果
输入这个命令之后,屏幕上出现了大量的创建unit或者atom的信息,如下所示,则说明上面一步的pdb文件处理没有做好,还需要重新处理,通常这种情况都发生在配体分子上面,有时则是因为蛋白质中存在特殊残基。
Creating new UNIT for residue: FRJ sequence: 1
Created a new atom named: O36 within residue: .R
Created a new atom named: S33 within residue: .R
Created a new atom named: O35 within residue: .R
Created a new atom named: N34 within residue: .R
如果屏幕仅仅显示添加原子,这说明输入的PDB文件中缺失了部分重原子,leap根据模板自动补全了这些缺失的原子,这种情况不会影响进一步的计算
Added missing heavy atom: .R.A
Added missing heavy atom: .R.A
Added missing heavy atom: .R.A
Added missing heavy atom: .R.A

根据体系的具体情况,还可能要将成对的CYX残基中的二硫键相连,有时候还会链接其他原子,比如将糖基链接在氨基酸残基上,用bond命令可以完成,命令用法如下:

>bond comp.35.SG comp.179.SG

其中
comp刚才读入的分子名称,35179是残基序号,SGCYX残基模板中硫原子的名称,用comp.35.SG这样的语法就可以定位一个原子

如果希望进行考虑溶剂效应的动力学模拟,可能还需要为体系加上水,加水有很多种命令,这里只列举一个:

>solvatebox comp TIP3PBOX 10.0

solvatebox命令是说要加上一个方形的周期水箱,comp指要加水的分子,TIP3PBOX选择的水模板名称,10.0是水箱子的半径

有的体系
总电荷不为0为了模拟稳定,需要加入抗衡离子,系统会自动计算体系的静电场分布,在合适的位置加上离子,命令如下:

>addions comp Na+ 0

意思是用
钠离子把体总电荷补平,还可以选择其他库里面有的离子。

完成这一步之后就可以输出拓扑文件和坐标文件了,但是为了方便起见,在运行最后一步之前要先把
leap里加工好的分子单独存成一个库文件,以后可以直接调用这个库文件,免得重复上面的操作:

>saveoff comp 1taj.off

这样就生成了一个off文件在那里,下面输出拓扑文件和坐标文件

>saveamberparm comp 1t4j.prmtop 1t4j.inpcrd
Checking Unit.

Building topology.
Building atom parameters.
Building bond parameters.
Building angle parameters.
Building proper torsion parameters.
Building improper torsion parameters.
total 1 improper torsion applied
Building H-Bond parameters.
Not Marking per-residue atom chain types.
Marking per-residue atom chain types.
(Residues lacking connect0/connect1 -
these don't have chain types marked:

res total affected

CMET 1
)
(no restraints)

>quit

现在准备好拓扑文件和坐标文件,接下来就可以开始能量优化和动力学模拟了。如果愿意的话还可以用ambpdb这个命令生成一个pdb文件,直观地看一看生成了什么东西,命令如下:
[snowyowls@localhost actualamber]$ ambpdb -p 1t4j.prmtop <1t4j.inpcrd> kankan.pdb
| New format PARM file being parsed.
| Version = 1.000 Date =
09/08/06 Time = 16:36:09
[snowyowls@localhost actualamber]$

可以下载之后用看图软件欣赏,如果加了溶剂盒子的话,看的时候可要小心,会恨吓人的样子。

下面就要开始真正的模拟了

No comments:

Post a Comment