首页 > 技术文章 > amber模拟kcl水溶液

byblue 2021-10-07 21:54 原文

  最近刚开始学习amber软件,看网上的教程勉强知道怎么操作这个amber了。就暂时跑了个分子动力学,其他的啥也没处理。先把我的操作过程记录下来吧,免得日后忘记。其实和其他的分子动力学软件的操作大同小异,主要都是构建结构和力场输入文件的时候麻烦。我这里使用的是Linux系统的amber18版本的软件,其他版本的我不知道是不是一样的。

一、构建kcl.pdb结构

①打开GaussView构建结构,其实很简单,就分别选择K和Cl,然后在窗口点两下,保存成kcl.pdb。

二、利用xleap获得sander的输入.top拓扑文件和.crd坐标文件

①打开xleap,在命令行输入xleap

②导入spce水的leaprc文件,这个文件包含一些基本的离子的参数,我这里使用的是spce水。amber还自带有其他的水模型文件,在$AMBERHOME/dat/leap/cmd下面。

    source leaprc.water.spce

    kcl = loadpdb kcl.pdb

    edit kcl

 

 

③修改kcl的原子类型和电荷

  鼠标选择两个原子,然后Edit-Edit selected atoms,修改原子名称、原子类型等为K+、Cl-,见下图(注意按下图的修改,不然跑分子动力学的时候报错,我最开始就忘记改了原子名称改成相应的离子,即没加正负号,然后xleap貌似就识别不了了,报错top的时候缺失了一些原子)。这是因为第②导入的力场里面K、Cl的原子类型就是K+和Cl-。修改完之后保存。

 

 

④设置盒子以及溶剂化

  amber里面的默认长度单位貌似是埃A,首先设置盒子大小为30*30*30,然后溶剂化,我这里的0表示原来的盒子与溶剂化之后的边缘距离为0A。

    set kcl box { 30 30 30 } 

    solvatebox kcl TIP3PBOX 0

⑤保存amber拓扑和坐标文件

    saveamberparm kcl kcl-water-box.top kcl-water-box.crd

    savepdb kcl kcl-water-box.pdb

三、跑能量最小化

①最小化文件enmin.in如下,参数控制在&cntrl ... /里面,注释符号是啥我暂时还没搞清楚

Minimize
&cntrl
imin=1,
ntx=1,
irest=0,
maxcyc=2000,
ncyc=1000,
ntpr=100,
ntwx=0,
cut=8.0,
/

②运行的指令,我写了个脚本,提交到课题组的服务器集群上面计并行算。MPIRUN和EXEC是相应的目录

MPIRUN=/opt/intel/impi/5.0.2.044/intel64/bin/mpirun
EXEC=/home/lkq/mysoft/amber18/bin/sander.MPI
TOP=kcl-water-box.top
${MPIRUN} -np ${nprocs} ${EXEC} -O -i enmin.in -p ${TOP} -c kcl-water-box.crd -o kcl-min.out -r kcl-min.rst

③vmd查看能量最小化之后的结构

  由于amber18输出的结构和轨迹好像都是二进制码的,所以需要用cpptraj和ambpdb转换一下格式,使得vmd能够查看

cpptraj -p kcl-water-box.top -y kcl-min.rst -x kcl-min.rst7

ambpdb -p kcl-water-box.top  < kcl-min.rst7 > kcl-min.pdb

vmd kcl-min.pdb

 

四、跑npt系综,收缩盒子

①npt系综的文件npt.in如下

kcl: 1000ps npt run
&cntrl
imin = 0,
irest = 0, ntx = 1,
ntb = 2, pres0 = 1, ntp = 1,
cut = 10,
iwrap=1,
ntc = 2, ntf = 2,
tempi = 300.0,
temp0 = 300.0,
ntt = 3, gamma_ln = 1.0,
nstlim = 500000, dt = 0.002
ntpr = 100, ntwx = 1000, ntwr = 1000
/
END
END

②运行命令

${MPIRUN} -np ${nprocs} ${EXEC} -O -i npt.in -p ${TOP} -c kcl-min.rst -o kcl-npt.out -r kcl-npt.rst -x kcl-npt.mdcrd

③查看运行之后的轨迹

  查看轨迹的方法和上面一样,也是需要先用cpptraj处理一下。

cpptraj -p kcl-water-box.top -y kcl-npt.mdcrd -x kcl-npt.dcd

vmd kcl-min.pdb kcl-npt.dcd

 

五、跑nvt系综

①nvt系综的输入文件nvt.in如下

kcl: 1000ps nvt run
&cntrl
imin = 0,
irest = 1,
ntx = 5,
ntb = 1,
cut = 10,
iwrap=1,
ntc = 2,
ntf = 2,
temp0 = 300.0,
ntt = 3,
gamma_ln = 1.0,
nstlim = 50000, dt = 0.002
ntpr = 100, ntwx = 1000, ntwr = 1000
/
END
END

②运行命令

${MPIRUN} -np ${nprocs} ${EXEC} -O -i nvt.in -p ${TOP} -c kcl-npt.rst -o kcl-nvt.out -r kcl-nvt.rst -x kcl-nvt.mdcrd

六、分析数据等

  这个暂时还没有研究要处理什么。

七、跑其他的分子动力学模拟、自由能计算等

推荐阅读