|
|
感谢sob老师,之前没手写过虚拟位点,用的都是直接下载好的文件中的虚拟位点比如martini2粗粒化力场中的胆固醇中的虚拟位点来做铰链结构,我今天白天不断尝试所以费了不少时间,以下是我的尝试记录和附带的文件:
首先从gromacs官方手册里找到虚拟位点相关的说明:
https://manual.gromacs.org/current/reference-manual/topologies/topology-file-formats.html#id36
https://manual.gromacs.org/current/reference-manual/functions/interaction-methods.html#virtualsites
我按照Multiwfn手册中的计算18碳环非原子中心的RESP电荷的方法,得知了短键中心处的虚原子带负电,长键中心处的虚原子带正电,碳原子本身带微量正电。我的wb97xd/tzvp的fchk文件中,1-2号是短键,2-3号是长键,以此类推,19 21 23...35号虚原子放到短键中心,itp中该类虚原子类型设置为MA,20 22 24...36号虚原子放到长键中心,itp中该类虚原子类型设置为MB,虚原子的原子名均加上V前缀,序号和电荷组都依照数字顺延,均属于同一残基。最后用Multiwfn转换gif为gro并替换原子名。这样,[ atoms ]里就有了36个可分配电荷的位点,我就可以把sob老师例子里的电荷指定上了,下面是我的[ atoms ]字段:
[ atoms ]
; Index type residue resname atom cgnr charge mass
1 c1 1 MOL C1 1 0.0642410906 12.010736
2 c1 1 MOL C2 2 0.0642410906 12.010736
3 c1 1 MOL C3 3 0.0642410906 12.010736
4 c1 1 MOL C4 4 0.0642410906 12.010736
5 c1 1 MOL C5 5 0.0642410906 12.010736
6 c1 1 MOL C6 6 0.0642410906 12.010736
7 c1 1 MOL C7 7 0.0642410906 12.010736
8 c1 1 MOL C8 8 0.0642410906 12.010736
9 c1 1 MOL C9 9 0.0642410906 12.010736
10 c1 1 MOL C10 10 0.0642410906 12.010736
11 c1 1 MOL C11 11 0.0642410906 12.010736
12 c1 1 MOL C12 12 0.0642410906 12.010736
13 c1 1 MOL C13 13 0.0642410906 12.010736
14 c1 1 MOL C14 14 0.0642410906 12.010736
15 c1 1 MOL C15 15 0.0642410906 12.010736
16 c1 1 MOL C16 16 0.0642410906 12.010736
17 c1 1 MOL C17 17 0.0642410906 12.010736
18 c1 1 MOL C18 18 0.0642410906 12.010736
19 MA 1 MOL V19 19 -0.503822021 0.00000
20 MB 1 MOL V20 20 0.3753398397 0.00000
21 MA 1 MOL V21 21 -0.503822021 0.00000
22 MB 1 MOL V22 22 0.3753398397 0.00000
23 MA 1 MOL V23 23 -0.503822021 0.00000
24 MB 1 MOL V24 24 0.3753398397 0.00000
25 MA 1 MOL V25 25 -0.503822021 0.00000
26 MB 1 MOL V26 26 0.3753398397 0.00000
27 MA 1 MOL V27 27 -0.503822021 0.00000
28 MB 1 MOL V28 28 0.3753398397 0.00000
29 MA 1 MOL V29 29 -0.503822021 0.00000
30 MB 1 MOL V30 30 0.3753398397 0.00000
31 MA 1 MOL V31 31 -0.503822021 0.00000
32 MB 1 MOL V32 32 0.3753398397 0.00000
33 MA 1 MOL V33 33 -0.503822021 0.00000
34 MB 1 MOL V34 34 0.3753398397 0.00000
35 MA 1 MOL V35 35 -0.503822021 0.00000
36 MB 1 MOL V36 36 0.3753398397 0.00000
然后,根据上面的虚拟位点的添加方式,在itp中添加了[ virtual_sites2 ]字段,把19-36这18个虚拟位点添加上使用funct1函数,指定和相邻原子的距离,参数a是从gview里量取短键和长键的键长后,除以10再除以2变成gromacs纳米单位的键长的一半,下面是我的写法:
[ virtual_sites2 ]
; Vsite from funct a
19 1 2 1 0.06106
20 2 3 1 0.067187
21 3 4 1 0.06106
22 4 5 1 0.067187
23 5 6 1 0.06106
24 6 7 1 0.067187
25 7 8 1 0.06106
26 8 9 1 0.067187
27 9 10 1 0.06106
28 10 11 1 0.067187
29 11 12 1 0.06106
30 12 13 1 0.067187
31 13 14 1 0.06106
32 14 15 1 0.067187
33 15 16 1 0.06106
34 16 17 1 0.067187
35 17 18 1 0.06106
36 18 1 1 0.067187
然后我想,由于这时候指定上了很多较为明显的净电荷,而且碳环中实原子和虚原子的位置很近,如果计算了分子内非键相互作用,就容易在模拟中由于键振动时导致静电相互作用过大使模拟崩溃(我之后尝试了50ps真空中单碳环300k的nvt模拟,1fs步长,跑到后面果然是由于势能NaN崩溃了),所以应该排除分子内静电相互作用的计算。这时候我就想仿照粗粒化力场拓扑martini_v2.0_CHOL_02.itp中的写法,添加[ exclusions ]项,想来想去,必须把所有原子彼此间的项都加上,因此我写成了以下这样:
[ exclusions ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
23 24 25 26 27 28 29 30 31 32 33 34 35 36
24 25 26 27 28 29 30 31 32 33 34 35 36
25 26 27 28 29 30 31 32 33 34 35 36
26 27 28 29 30 31 32 33 34 35 36
27 28 29 30 31 32 33 34 35 36
28 29 30 31 32 33 34 35 36
29 30 31 32 33 34 35 36
30 31 32 33 34 35 36
31 32 33 34 35 36
32 33 34 35 36
33 34 35 36
34 35 36
35 36
然后,我生成了tpr,并进行模拟,发现一开始好像还不错,但后期振动模式越来越诡异,甚至原子坍塌成一团了。不清楚这是什么原因导致的?我自己分析有两点,要么是我的mdp文件中哪里写的有问题,要么是上面exclusion字段虽然避免了分子内静电相互作用的计算,但是也导致了nrexcl以上的分子内范德华相互作用的计算被忽略,而这些范德华力对于这样一个不大的分子环张力的表现时不可忽略的。思来想去,好像没有办法在gromacs中只计算分子内范德华相互作用而不计算分子内非0电荷原子间的静电相互作用。
没有别的方法了,然后我想,按照sob老师的提醒,以常规方式计算resp电荷或者adch电荷或者1.2*cm5电荷的数值都那么小了,而且在md过程中热波动和各种随机效应的影响下,就算没法用18个实原子的点电荷反映出36个实原子加虚拟位点混合的静电势,但是动力学行为应该基本差不多,即使有些原子的吸附位点不那么准也会被动态过程模糊掉,所以要是实在没有更好的加上虚拟位点又能够让模拟稳定的方法,直接索性拿旋转不变性更好的CHELPG,配合拟合格点间距更小的无等价性约束的RESP电荷分配给这18个碳原子,是否合理?我把格点间距直接索性设置到了0.05Bohr,2696v3 18核算了将近两个小时,结果如下:
Center Charge
1(C ) -0.0001012264
2(C ) 0.0000797468
3(C ) -0.0000459640
4(C ) 0.0000209014
5(C ) 0.0000157849
6(C ) -0.0000430119
7(C ) 0.0000596121
8(C ) -0.0000626730
9(C ) 0.0000589037
10(C ) -0.0000545314
11(C ) 0.0000370691
12(C ) -0.0000309145
13(C ) 0.0000244121
14(C ) 0.0000001841
15(C ) -0.0000334498
16(C ) 0.0000646071
17(C ) -0.0000933236
18(C ) 0.0001038733
Sum of charges: -0.0000000000
RMSE: 0.007211 RRMSE: 1.000000
可见常规方式计算的RESP电荷数值确实不大,而非原子中心拟合的方法得到的数值大了3个数量级以上,把虚原子的电荷加到itp里确实容易导致静电相互作用太大。
|
-
-
topol.top
319 Bytes, 下载次数 Times of downloads: 2
md的top文件
-
-
C18.gro
1.64 KB, 下载次数 Times of downloads: 2
加了虚拟位点的结构文件
-
-
C18.itp
13.15 KB, 下载次数 Times of downloads: 4
分子拓扑文件
-
-
nvtmd.mdp
2.84 KB, 下载次数 Times of downloads: 2
模拟控制文件
-
-
C18.gjf
2.37 KB, 下载次数 Times of downloads: 0
添加了虚原子的gif文件
|