DNA六元纳米管-续

最后调整出来的在AMBER构建百分之八十的100mM的氯化钠乙醇溶剂的方法:

(1)在GROMACS采用insert的方法插入既定数量的乙醇分子和水分子。

(2)百分之八十是质量浓度,别按体积浓度算

(3)等盒子收敛到一定程度的时候,再根据体积算出来要多少氯化钠分子。

(4)由于盒子收敛的时候体积变化太大,会报错:

SANDER BOMB in subroutine nonbond-list

  volume of ucell too big, too many subcells

 list grid memory needs to be reallocated, restart sander

解决的办法是,先不加热,先进行density(也就是将压力维持在1atm,温度此时暂时设定为10K),等到盒子的体积不变的时候,再进行加热。问题是当dt = 0.02,体系还是会炸掉,所以我一直用的都是0.01的步长。

所以,我探索出来的正常的流程是这样的:

一 先构建乙醇 水 氯离子 钠离子的pdb文件

1 乙醇的

      在薛定谔中画好乙醇的结构,保存为mol2格式,然后在antechamber中计算电荷,输入的命令为:

     antechamber -i ethanol.mol2 -fi mol2 -o ethanol-amb.mol2 -fo mol2 -c bcc -nc 0

     然后

     parmchk2  -f ethanol-amb.mol2 -o ethanol.frcmod 其实这里的frcmod文件是空的,因为不缺少参数‘

     接下来,在leap中

             source leaprc.ff14SB

             source leaprc.gaff

             loadoff ethanol.lib

             a  = loadpdb  ethanol-amb.pdb

             check a

             savepdb a ethanol-leap.pdb

             quit

这样子的话,乙醇的pdb文件就准备好了,最终乙醇的pdb就是这个ethanol-leap.pdb文件。

2 水

按照同样的方法载入力场信息之后,list,可以看到水的是TIP3PBOX,所以

     savepdb TIP3PBOX tip3pbox.pdb

这样子的话,就存了amber中的一个水的pdb文件,但是这是一个水盒子,里边有216个水分子,所以删掉其他的水分子,只留一个水分子,另存为w.pdb。

这样子就有了水的pdb文件,也就是w.pdb。

3 钠离子和氯离子

list之后,可以看到氯离子和钠离子的名称分别是Na+  Cl-,所以

 savepdb Na+ na.pdb

  savepdb Cl- cl.pdb

这样子也就有了钠离子和氯离子的pdb文件。

二 先优化水和乙醇,确定好体积。

质量分数是百分之八十,所以乙醇和水的质量比是4:1.先根据质量比,跟各自的摩尔质量得到摩尔比,再乘以阿弗伽德罗常数(6.02 * 10^23),就是乙醇和水分子各自的个数。

由于考虑到盒子的收敛问题,以及最终需要确定的钠离子和氯离子的个数,以及在GROMACS中插入离子,太多会插不进去。最终我确定的乙醇的个数414个,水的个数是265个,GROMACS中的盒子变长是3.7nm。

所以只构建含乙醇和水的百分之八十的体系(不含离子)方法如下:

gmx editconf -f ethanol-leap.pdb -o box.gro -bt cubic -box 3.7 3.7 3.7  -c

gmx insert-molecules -f box.gro -ci ethanol-amb.pdb -ci 413 -o add-aol.pdb

gmx insert-molecules -f add-eol.pdb  -ci w.pdb -nmol 265 -o add-w.pdb

这样子生成了一个满足水和乙醇要求的盒子,接下来就是在amber中优化,给达到满足要求的温度和密度,然后得到一个体积。

在amber中,载入pdb之前,在里边把gromacs加的盒子删掉,也就是把atom之前的那些盒子都删掉。载入力场什么之后,a=loadpdb add-w.pdb

check a ,

接下来必须给加个盒子,不然跑的时候,那些分子都会跑出来。而且这一步加的盒子必须合理,不能太大,不然体系会炸掉的。

用这个命令可以加入一个比较合理的盒子:

setbox a "centers"   (这块也可以用”vdw“,centers的意思是,把原子中心置于盒子中心,而”vdw“的意思是将所有原子置于盒子中心,center比vdw加的盒子稍微小个几埃)

savepdb a a.pdb (用pbc box 在vmd中看这个盒子是乱的,盒子的一个角在分子的中心)

saveamberparm a .prmtop a.inpcrd

接下来在sander中进行优化,最小化一定要做好,本来就只跑了2000步,不行,后来我最小化了三万步。

DNA六元纳米管-续

这个是最小化的输入文件,应该注意的是,因为加了盒子,所以这里是ntb=1,恒定体积

接下来不加热,温度设定为10K ,进行density,dt就得弄成0.01,要弄成0.02,就炸了

DNA六元纳米管-续

这个是第第一次density的输入文件,值得注意的是,ntb=2,恒压,允许盒子体积改变,irest=0,重启模拟。

接下来有density2,

DNA六元纳米管-续

注意的是irest=1,ntx=5,不重启,读取之前的速度和位置。这儿一定得注意,之前就弄错了。

我试验了一下,density2.in五六次就够了,体积就不不变了,为了确定,我进行了九次。

接下来就是加热,为了安全性,我是50度50度加的热,总共加了6次。输入文件如下:

DNA六元纳米管-续

heat2 heat3 ----heat6都一样,只是把温度改了。

接下来又进行了prod.in

输入文件:

DNA六元纳米管-续

接下来,不管是看轨迹还是用end.prmtop和end.inpcrd生成pdb,都得去除周期性,不然的话感觉会不准。

轨迹去除周期性的方法:先构建一个prod.ptraj文件:trajin prod.nc

                                                                           trajout prod_reimage.nc

                                                                            image familiar

                                                                             go

然后在命令行里输入:cpptraj -p end.prmtop -i prod.ptraj

由于我们要看体积,我只会生成pdb文件在第一行看盒子的尺寸。所以要生成最后一帧的pdb文件。如果用rst文件直接转的话,生成的是这样子的:

DNA六元纳米管-续

我是提取prod去除周期的轨迹的最后一帧另存为Pdb的。(怎么知道有多少帧?轨迹加载到VMD中,用VMD看)

cpptraj

>parm end,prmtop

>trajin prod_reimage,nc 500 500

>trajout prod_500.pdb pdb

>go

>quit

这样子就生成了一个包含盒子的pdb文件。

DNA六元纳米管-续

这里边的单位是埃,然后就乘。得到体积后,得到需要多少个钠离子氯离子的。我最后算出来是3个钠离子三个氯离子。

然后在GROMACS中插入离子,加上盒子之前,记得把pdb中本来的盒子删掉啊。接下来加盒子,正常插入就可以了。

然后跟上边的步骤一样:min,density,heat。prod,然后输出最后一帧的pdb文件,就是最终得到的和TIP3P一样的体系了。

 

 

 

 

 

 

 

 

接下来:构建DNA的体系

第一步:在XLEAP中给DNA加电荷,中和,生成一个DNA_neu.pdb文件。

第二步:删除生成的乙醇盒子的盒子信息,另存为一个pdb文件,命名为gen_box.pdb。

第三步:接下来在leap中载入,之后就是加溶剂,加盒子。

方法:

setbox unit “vdw”/“centers" {x y x}

这个只加盒子,不加水。因为solvatebox没法设置盒子的三个边长,所以先用setbox加上盒子。

假如溶质的”vdw“尺寸是100 100 120,那么此时如果输入{10 10 10},那么就是在这“vdw”的基础上加10,此时的盒子边长就是110 110 130

加好盒子之后,添加溶剂的命令是:

solvatebox soluite solvent 0

接下来在amber中跑的时候,在density即升压这一步,要跑够足够长的时间,因为乙醇的密度是0.8,要是想让体系没有缝,就要看out文件里的密度,使得体系最终的密度为0.8,rms波动那块为0.001才是体系平衡了,平均的密度也是0.8左右。density是一个跑完接着跑下一个,直到体系的密度为0.8左右。