火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去用MCPB.py的方法生成锌离子力场整体思路:按照tutorial(ambermd.org/tutorials/advanced/tutorial20/mcpbpy.htm)去做用到的软件:Amber (AmberTools 15 or Higher) 及Gaussian09制作人:月牙泉火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去tutorial具体操作过程中遇到的问题及解决方法1、准备PDB、mol2文件制作ZN.pdb:新建文件,从原pdb文件中复制出ZN的pdb文件信息,保存成pdb格式运行:antechamber -fi pdb -fo mol2 -i ZN.pdb -o ZN_pre.mol2 -at amber -pf y 手动修改生成的ZN_pre.mol2文件中的的ZN离子类型为ZN(一定要注意大小写),并修改电荷为2.0,然后另存为ZN.mol2火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去2、加氢 (网址:biophysics.cs.vt.edu),保存top,crd文件。
运行:ambpdb -p 0.15_80_10_pH7.2_3spu.top -c 0.15_80_10_pH7.2_3spu.crd > 3spu_Hpp.pdb修改3spu_Hpp.pdb中与ZN形成配位键的氨基酸类型,保存为3spu_Hpp_fixed.pdb通过可视化软件进行修改,一般用chimera进行手动修改修改方法:一般主要只将His修改成相应的HIE,HID类型后文将详细讲解)3、合成新的PDB文件运行:cat 3spu_Hpp_fixed.pdb ZN.pdb > 3spu_H.pdb火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去KeyError:”HIE-HD1”这个错误所提示的是:HIE在δ位有H;注意:HIE和HID的区别,HIE是在ε位有H,δ位没有H;HID是在δ位有H,ε位没有H;HIP在δ、 ε位都有H解决方法:通过VMD、Chimera等确定His的类别,然后修改pdb文件,并删除多余的H火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去分别是HIS、HIE、HID火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去特别注意利用加H网站加H后,要特别注意用chimera查看与zn形成配位键的His的C、N互换的情况,如果不注意那么就会使后面的结果无法进行。
在对3q6x进行操作时,加氢之后只修改了HIS的类型,然后继续进行操作,到了MCPB.py -i 3q6x.in -s 3b这一步时就出现如下的错误:火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去***Check the residue names provided...You gave the residue names: ['HE1', 'HD1', 'AP1', 'HE2', 'CS1', 'HE3', 'ZN1', 'ZN2', 'Z71']Database had them: ['91-HIE', '93-HID', '95-ASP', '179-CYS', '221-HIE', '242-ZN', '243-ZN', '244-ZZ7']Traceback (most recent call last): File "/usr/software/Amber/amber14/bin/MCPB.py", line 594, in premol2fs, mcresname, 1, chgfix_resids, g0x, lgchg) File "/usr/software/Amber/amber14/lib/python2.7/site-packages/mcpb/resp_fitting.py", line 529, in resp_fitting raise pymsmtError('Error: The number of the residue names given is 'pymsmtexp.pymsmtError: Error: The number of the residue names given is mismatch the database!火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去错误的原因及解决方法出现氨基酸数目不匹配的情况的原因是:我们在输入文件3spu.in中规定了cut_off = 2.8但是在生成的3spu_Hpp.pdb中,因为120位His的C、N互换使得原来的ε-N偏离到了C的位置上,那么此时ZN与120位上的ε-N的距离就大于2.8埃了,那么就不会将120位的His算为ZN的sidechain里面了,但是可能是在MCPB.py -i 3q6x.in -s 2s这一步时程序会计算进去,导致了这样的错误。
解决方法:通过chimera查看原来的pdb文件与生成的3spu_Hpp.pdb中互换的部分,然后手动修改pdb文件,进行保存即可一定要在修改完pdb文件后再通过chimera或者时vmd检查确认,预防眼花修改错误了火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去4、生成Guassian准备文件MCPB.py -i 3spu.in -s 1a(注意:输入命令时不要随便加减空格键哦)生成的是侧链相关的文件,主要有**_sidechain_ ,**_sidechain_ ,**_large_ 等相关文件3spu.in文件# original_pdb 3spu_fixed_h.pdbgroup_name 3spucut_off 2.8ion_ids 3352 3353 (这里是重新合成的3spu_H.pdb文件中ZN的原子序号)ion_mol2files ZN.mol2 (注意文件名一定要相同,文件名在unix系统中要求比较苛刻)gau_version g09(有时候这个会报错的,所以加后面的就好) 或者是software_version g09 (g09必须加上)# (#必须加上,如果不加会报错)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去报错及解决方法当运行:MCPB.py -i 3q6x.in -s 1a时会报错Traceback (most recent call last): File "/usr/software/Amber/amber14/bin/MCPB.py", line 556, in cutoff, watermodel, 2, largeopt, sqmopt, scchg, lgchg) File "/usr/software/Amber/amber14/lib/python2.7/site-packages/mcpb/gene_model_files.py", line 1718, in gene_model_files bdedatms, libdict, autoattyp) File "/usr/software/Amber/amber14/lib/python2.7/site-packages/mcpb/gene_model_files.py", line 1297, in build_standard_model attype = libdict[resname + '-' + atname][0]KeyError: 'ZN-ZN'火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去解决方法:按照所报的错误可知是zn的原因,其实很简单,修改一下ZN.mol2中的zn的原子的大小写就可以了,统一改为ZN,还有把DU改为ZN。
当时为了解决这个错误,真是愁死个人,找 了N多个网页也没有找到,最后好像是看的程序代码才半懂非懂的修改大小写,这才更解决的,当时可花费了不少不少的时间呀)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去5、运行G09: g09 < 3spu_sidechain_ > 3spu_sidechain_opt.logg09 < 3spu_sidechain_ > 3spu_sidechain_fc.logformchk 3spu_sidechain_opt.chk 3spu_sidechain_opt.fchk g09 < 3spu_large_ > 3spu_large_mk.log火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去运行g09 < 3spu_sidechain_ > 3spu_sidechain_opt.log出错一般出的错误是会在3spu_sidechain_opt.log中显示出来检查这个运行是否正常运行结束的方法有三个:1、看时间,这个运行时间大约在30个小时左右(体系有124个原子,调用了30个线程大约是30个小时,如果你忘记修改3spu_sidechain_中的%NProcShared=30 的话,那你就可以放清明假了,因为生成的com文件中默认的%NProcShared=2,所以你就可以想象这得算多久了,虽然这个不是倍数级别的累加,但是也要运行个四五天的样子,如果后面的两个com文件中都没有修改,那么恭喜你,你可以乐乐呵呵的放个五一假期了),如果提前结束,那么你就要查看log文件中最后的几行信息了。
火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去2、运行命令echo $? 如果返回值是0,那么就是正常结束,表明没有什么错误(这个命令在Unix中是通用的,专门查看命令是否正常结束哦),如果非0,那么你就必须查看log文件啦3、命令一结束,直接查看log文件,看最后几行有没有令人讨厌的Error!!如果有,恭喜你,又中奖了,那么一般会是:Error in internal coordinate system. Error termination via Lnk1e in ***/g09/l103 ...... (***表示的是g09的路径)(有时候l103也可能是l202)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去错误原因及处理方法如果在3spu_sidechain_opt.log文件最后出现:Error in internal coordinate system. Error termination via Lnk1e in ***/g09/l103 ......说明你的体系是不合理或者说是有错误的。
那么检查的方法就是用gaussview查看3spu_sidechain_文件,这时候你会看到,其中的成键状态是比较乱的,主要是单双键成键不规则,还有环的成键不规范,这时候你就需要修改过来了,然后保存成.com文件同样报l202错误时也是这个原因,一定要仔细看看成键的情况哦火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去保存com文件后的注意事项因为gaussview目前实验室里只有window版本,所以在保存转移到centos系统里之后,还需要修改以下地方:1、在com文件的第一行输入$RunGauss (注意这个是单独成为一行,成为新的第一行)2、修改%Chk=后面的路径,一般修改为%Chk=3q6x_sidechain_opt.chk,因为我们习惯上在运行终端命令时,会进入到该文件所在的文件夹下进行操作,所以可以把=后面的路径直接去掉,直接跟文件就好这里所说的修改%Chk=后面的路径指的是在window下的保存时自动生成的路径,所以在centos下自然找不到这个路径,所以就直接删除跟上文件名就OK啦3、当然是修改前面提到过的%NProcShared=,我习惯上设置为30,因为咱们小超级计算机的线程数是32,留下两个差遣干其它活,如果你设置为28也没什么问题,时间上也不会相差太多,因为g09的效率不是与线程数成线性关系的,所以28与30也差不了太多。
火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去6、生成最后的文件MCPB.py -i 3spu.in -s 2s生成3spu.frcmod文件 MCPB.py -i 3spu.in -s 3b生成相应的mol2文件MCPB.py -i 3spu.in -s 4生成3spu_mcpbpy.pdb、3spu_tleap.in文件 tleap -s -f 3spu_tleap.in > 3spu_tleap.out生成用于tleap的prmtop、inpcrd文件火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去运行到现在,出现的问题就比较少了如果不放心,最好检查以下这个模型的构建效果我在这里没有出现什么错误,所以就把网页上的东西稍加整理放进来了)1、通过vmd进行检查运行:vmd -parm7 3spu_solv.prmtop -rst7 3spu_solv.inpcrd选择Graphics--->Representations 输入“same residue as within 3 of resname ZN1”然后在Drawing Method 中选择Licorice 然后点击Apply,查看我们生成的ZN是否有四个键相连,如果是,那么就要成功了。
火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去2、运行cpptraj -p 3spu_solv.prmtop如果没有error那么就可以开开心心地进行MD啦但是如果出现了error:Atom XXX was assigned a lower molecule # than previous atom ........那么我们就用cpptraj 进行修补原子顺序cpptraj -p 3spu_solv.prmtop -c 3spu_solv.inpcrd -i fixatord.in > fixatord.out cpptraj -p fixed.3spu_solv.prmtop如果没有错误提示那么就会生成fixed.3spu_solv.prmtop 和 fixed.3spu_solv.inpcrd 火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去fixatord.in 文件内容是fixatomorder outprefix fixedtrajout fixed.1Y79_solv.inpcrdrun quit 没有遇到这个错误,所以没有运行过这个命令。
火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去运行MCPB.py -i 3spu.in -s 2s时会出现一个bug:Traceback (most recent call last):File "/usr/software/Amber/amber14/bin/MCPB.py", line 443, in g0x)File "/usr/software/Amber/amber14/lib/python2.7/site-packages/mcpb/gene_final_frcmod_file.py", line 309, in gene_by_QM_fitting_sem 'Force Field')File "/usr/software/Amber/amber14/lib/python2.7/site-packages/pymsmtmol/gauio.py", line 47, in get_crds_from_fchk crds.append(float(j))ValueError: could not convert string to float: Force火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去解决方法:参考: install ;make test这样问题就解决了!火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去二、进行MD1、tleap -s -f 3spu_tleap.in > 3spu_tleap.outmpirun -np 32 $AMBERHOME/bin/sander.MPI -O -i mini.in -p 3spu_solv.prmtop -c 3spu_solv.inpcrd -ref 3spu_solv.inpcrd -r 3spu-mini.rst -o 3spu-mini.outmpirun -np 32 $AMBERHOME/bin/sander.MPI -O -i heat.in -p 3spu_solv.prmtop -c 3spu-mini.rst -o 3spu-heat.out -r 3spu-heat.rstmpirun -np 8 $AMBERHOME/bin/sander.MPI -O -i equ.in -p 3spu_solv.prmtop -c 3spu-heat.rst -o 3spu-equ.out -r 3spu-equ.rst mpirun -np 30 $AMBERHOME/bin/sander.MPI -O -i md.in -p 3spu_solv.prmtop -c 3spu-equ.rst -o 3spu-md.out -r 3spu-md.rst -x 3spu-md.mdcrd 火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去三、并行运算设置下载mpich-3.1.4.tar.gz解压,复制文件夹至$AMBERHOME/AmberTools/srccd $AMBERHOME/AmberTools/src/mpich-3.1.4./configureexport MPICH=/usr/software/Amber/amber14cd $AMBERHOME/AmberTools/src./configure_mpich gnu make test火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去四、Gussian09安装安装过程如下:首先解压文件g09至/usr/software/gauss09/然后在g09 文件夹下建立一个名为scratch的文件,并修改其权限为777然后再进/etc vi profile在文件后面添加export PATH=/usr/local/g09:$PATHexport g09root=/usr/local/g09 source $g09root/g09/bsd/g09.profile export GAUSS_EXEDIR=$g09rootexport GAUSS_SCRDIR=$g09root/scratch export LD_LIBRARY_PATH=$g09root/保存退出之后,source该文件然后输入g09后显示为;Entering gaussian system, link 0=g09(此时pwd为/etc/)但是在其他路径下打开终端(例如pwd为/home/Zhao/aaa/),再输入g09时确显示,bash:g09:command not found火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去解决方法这是一个与权限相关的问题。
当遇到 报错中有类似link 0=g09的提示时(其中0表示root),就是软件的权限太大了,一般安装的软件出于对软件的保护,会只给用户可读可执行权限,而在建立文件夹时无意中修改了其权限导致其报错chmod -R 770 g09/./g09/g09