计算化学公社

 找回密码 Forget password
 注册 Register
Views: 10254|回复 Reply: 10
打印 Print 上一主题 Last thread 下一主题 Next thread

[GROMACS] 求教关于一维气体水合物PMF的一系列相关问题

[复制链接 Copy URL]

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

本帖最后由 cavalier 于 2020-6-19 11:46 编辑

最近针对于如图系统,我想计算一下氮气的自由能,之前也开了个帖子是单纯自由能的,但是后来想想PMF更加合适,因此现在正在进行类似如下系统的PMF计算:

如图是一篇研究准一维气体水合物的文章里的系统图。我后续又补充上来了文章提供的具体结构图
我正好想计算这种一维水合物里氮气的PMF。

!!!第一个问题:反应坐标如何设置成单纯的z坐标!!!
首先在对于网上溶菌酶PMF计算教程的学习后,我发现教程中反应坐标选取的是两个分子质心间的距离。对于我这个体系,显然反应坐标应设置为氮气的Z坐标。
请看我的mdp中牵引部分:
pull                    = yes
pull_ngroups            = 1
pull_ncoords            = 1
pull_group1_name        = N2_push     ;选定的单个氮气作为研究对象
pull_coord1_type        = umbrella      ; harmonic biasing force
pull_coord1_geometry    = direction     
pull_coord1_vec         = 0 0 1
pull_coord1_groups      = 0 1
pull_coord1_origin      = 1.5 1.5 10
pull_coord1_dim         = N N Y
pull_coord1_rate        = 0          ; 0.01 nm per ps = 10 nm per ns
pull_coord1_k           = 1000          ; kJ mol^-1 nm^-2
pull_coord1_start       = yes           ; define initial COM distance > 0

因为这样跑出来会生成*f*.xvg,然后用gmx wham可得到PMF曲线,但是似乎这样算出来是选定的单个氮气到参考点(1.5,1.5, 10)的距离,而非Z坐标,对吧
因此问题一即,如何能将反应坐标设置成选定氮气的z坐标呢

!!!第二个问题:如何较准确合理地获得初始构型呢!!!
如果体系只有一个氮气分子,而我研究的只是单个氮气分子在管内外各处的PMF,我认为应该比较简单,应该跟人家离子通过管的PMF类似吧,不知道我有没有理解错,可能就管外牵引一下氮气(或离子)穿过管子,在这个过程中均等间距(第三个问题中我想问下均等间距的必要性)地获得一系列初始构型,进行伞形抽样模拟。
而准一维氮气水合物这个体系,我想,应该和单个氮气有一定区别吧,应该要氮气链沿z轴各处的PMF,才更有意义吧。因此我试着牵引着链中某个选定的氮气分子,向管外牵引,本意是希望带动整个氮链移动,使得我选定的氮气所处的环境始终是正常的准一维氮气水合物环境,然而牵引时发现氮气一个个跑到管外了(这是肯定的),但是导致管内氮气密度下降,氮链就不完整了,最后画出了这样的图像:

注:左侧是管内,右侧是管外,虚线是管口部分。右图是直方图,能否看出什么问题呢
无法理解为什么管内是接近线性的升高,本来觉得应该是接近水平或者波动着水平的,但是管内自由能低还是合理的,因为根据图一的文章,氮气水合物是自发形成的。
另外,请教我算的PMF曲线还有别的不合理的地方吗?

!!!第三个问题:初始构型选择是否一定要关于反应坐标均等?!!!
关于PMF的理解我还不是很深刻,但是好像是根据我们提供的模拟,然后统计不同反应坐标出现的频数,然后怎么换算后得到PMF曲线。假如,我选初始构型,不是每隔0.2nm取一个,而是比如先取得密一点0.1nm取一个,然后后面再取得稀疏点,0.2nm取一个。这样会不会导致0.1nm取样这段,频数统计出来肯定会更高,然后隔0.2nm取样那段频数较低,导致最后一开始这段自发地就PMF更高??其实如果我的这个顾虑没必要的话,我觉得对于我这个体系,同一组模拟里管内和管口每个氮气都采样应该更高效方便吧?虽然这样要怎么设置mdp比较方便我也还不是很确定。

!!!第四个问题:约束力设置有没有什么原则?!!!
教程里约束力是1000的,有些人是5000的,请问一下太大的话会导致什么问题呢,因为我个人是比较希望他精准点待在原地
!!!第五个问题:伞形抽样的约束是哪种约束?!!!
我一直认为伞形约束和位置约束是一样的,但是我的模拟显示,处于管口外侧时的选定氮气,可以说与处于bulk水无异,但在伞形采样模拟期间几乎是平行于xy轴运动的,z轴方向也就是反应坐标方向却几乎没有什么运动。
我的相关mdp设置:
pull_coord1_dim         = N N Y
pull_coord1_rate        = 0          ; 0.01 nm per ps = 10 nm per ns
pull_coord1_k           = 1000          ; kJ mol^-1 nm^-2
难道伞形抽样的这个k是仅在反应坐标上施加弹簧势约束吗?

最近做自由能和PMF真的是鼓捣了好久,问题越来越多,烦请各位不吝赐教!谢谢!





1171

帖子

7

威望

6860

eV
积分
8171

Level 6 (一方通行)

2#
发表于 Post on 2020-6-18 22:48:27 | 只看该作者 Only view this author
首先,PMF是描述一个过程的,不能说什么“氮气的PMF”、“一维气体水合物的PMF”,这种说法没有任何意义。你大概想说的是“描述氮气通过碳纳米管的PMF”

其次,你这个PMF没有任何意义,因为你这个体系是高度对称的,不管反应坐标(如果你选择氮气和碳纳米管的质心距在Z轴上的投影为反应坐标,并且约束氮气的XY距离,保证氮气在碳纳米管内的话)为几,自由能都几乎不变,最后你的结果必定是一个只有小幅振动的水平线

最后,如果你一定要算的话,建议用plumed里面提供的增强采样方法,并施加合理的约束

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
k64_cc + 2 我很赞同

查看全部评分 View all ratings

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2020-6-19 11:42:10 | 只看该作者 Only view this author
fhh2626 发表于 2020-6-18 22:48
首先,PMF是描述一个过程的,不能说什么“氮气的PMF”、“一维气体水合物的PMF”,这种说法没有任何意义。 ...

感谢老师!!!
是的,我想说的是“描述氮气通过碳纳米管的PMF”。恩,小幅振动的水平线完全符合我的预期,不过我主要想关心的是氮气进出管子的势垒。对了我个人觉得很有意思的一个问题是,单个氮气体系,它进入管子的势垒和已经形成如图1的完整水合物时氮气进入的势垒,有怎么样的差异呢,我觉得这个也很想通过两种PMF曲线对照一下来探究。
对了,关于反应坐标,老师您说的“(如果你选择氮气和碳纳米管的质心距在Z轴上的投影为反应坐标,并且约束氮气的XY距离,保证氮气在碳纳米管内的话)”正是我想要的,但是我不是很确定我的mdp设置是否是这个效果,或者是如何设置实现这个效果。注:我人工写的(1.5,1.5,  10)这个参考坐标和管子质心是同一个。
“plumed里面提供的增强采样方法,并施加合理的约束”,最后这个我去研究一下,之前确实更加不了解这个。
再次感谢老师!!!

1171

帖子

7

威望

6860

eV
积分
8171

Level 6 (一方通行)

4#
发表于 Post on 2020-6-19 13:54:12 | 只看该作者 Only view this author
cavalier 发表于 2020-6-19 11:42
感谢老师!!!
是的,我想说的是“描述氮气通过碳纳米管的PMF”。恩,小幅振动的水平线完全符合我的预 ...

如果是进出管子的话,要施加合理的圆柱形约束

虽然有的软件也自带了一些增强采样功能,但是很弱,正经用的话还是要结合专业的自由能计算模块,比如Colvars或者Plumed。Colvars直接集成到了NAMD和Lammps的源代码当中,Plumed要自己编译安装(或者用conda安装),官网提供了Plumed针对Gromacs的Patch

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2020-6-19 22:59:28 | 只看该作者 Only view this author
本帖最后由 cavalier 于 2020-6-19 23:03 编辑
fhh2626 发表于 2020-6-19 13:54
如果是进出管子的话,要施加合理的圆柱形约束

虽然有的软件也自带了一些增强采样功能,但是很弱,正经 ...

感谢老师!!!
确实,根据我目前的尝试感觉也许gmx的伞形采样可能是不太能很好地解决这个问题,那么我这就去了解一下Colvars和Plumed。

另外,我注意到gromacs的pull的代码里有pull-coord1-geometry=cylinder,请问这是不是前面所说的圆柱形约束。然后具体这个要如何使用呢?再次感谢老师!!!

561

帖子

0

威望

3410

eV
积分
3971

Level 5 (御坂)

6#
发表于 Post on 2020-6-20 18:12:07 | 只看该作者 Only view this author
本帖最后由 k64_cc 于 2020-6-20 18:13 编辑
cavalier 发表于 2020-6-19 22:59
感谢老师!!!
确实,根据我目前的尝试感觉也许gmx的伞形采样可能是不太能很好地解决这个问题,那么我 ...

你的问题其实是一维氮气复合物的CV不好设计,因为你并不能控制它们从管子里扩散出去。我觉得你可以考虑把氮气质心的z坐标设为CV,并在管子一头加一个wall,防止它们从一端逸散。只要管子够长,应该不是很artificial。

你从gmx的pull迁移到Plumed就啥技术问题都没有了,特别好用,真的……

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2020-6-20 23:43:14 | 只看该作者 Only view this author
k64_cc 发表于 2020-6-20 18:12
你的问题其实是一维氮气复合物的CV不好设计,因为你并不能控制它们从管子里扩散出去。我觉得你可以考虑把 ...

感谢,我决定尝试用plumed解决,况且多学点方法也有必要

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

8#
 楼主 Author| 发表于 Post on 2020-6-21 16:51:14 | 只看该作者 Only view this author
fhh2626 发表于 2020-6-19 13:54
如果是进出管子的话,要施加合理的圆柱形约束

虽然有的软件也自带了一些增强采样功能,但是很弱,正经 ...

老师,我想请问下gromacs附带plumed安装时,是不是一定要装成mpirun版本的,然后是不是不能cuda的GPU加速?因为我看到别人教程里cmake的选项是这样的。
但是我自己的理解的话应该是不影响吧,都可以?
谢谢老师

561

帖子

0

威望

3410

eV
积分
3971

Level 5 (御坂)

9#
发表于 Post on 2020-6-21 20:08:24 | 只看该作者 Only view this author
cavalier 发表于 2020-6-21 16:51
老师,我想请问下gromacs附带plumed安装时,是不是一定要装成mpirun版本的,然后是不是不能cuda的GPU加速 ...

都能……

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

10#
 楼主 Author| 发表于 Post on 2020-6-22 11:33:19 | 只看该作者 Only view this author
本帖最后由 cavalier 于 2020-6-22 13:31 编辑

非常感谢!!!
我按照网上的安装教程,下载了plumed-2.6.0,进行到make check 步骤时,最终得到如下反馈,感觉很懵,这是什么情况,我不晓得哪里出问题了,我就是blas 和lapack没装,其他应该和教程都一样
我使用的教程:https://www.jianshu.com/p/895c4d41b116
*******************************************************
+ Final report:
+ 492 tests performed, 0 tests not applicable
+ 492 errors found
+ Find the bug!
+ To replace references, go to the test directory and
+ type 'make reset'
make[1]: *** [checkfail] 错误 1
make[1]: 离开目录“/mnt/D/cavalier/plumed-2.6.0/regtest”
make: *** [check] 错误 2
*************************************************************
但是安装plumed又显示安装了
**************************************************************

*** PLUMED has been installed ***

Install prefix : /usr/local
Full name      : plumed

Setup your environment
- Ensure this is in your execution path         : /usr/local/bin
- Ensure this is in your include path           : /usr/local/include
- Ensure this is in your library path           : /usr/local/lib
- Ensure this is in your PKG_CONFIG_PATH path   : /usr/local/lib/pkgconfig
For runtime binding:
- Set this environment variable                 : PLUMED_KERNEL=/usr/local/lib/libplumedKernel.so

To create a tcl module that sets all the variables above, use this one as a starting point:
/usr/local/lib/plumed/modulefile

To uninstall, remove the following files and directories:
/usr/local/lib/plumed
/usr/local/share/doc/plumed
/usr/local/include/plumed
/usr/local/bin/plumed
/usr/local/bin/plumed-patch
/usr/local/bin/plumed-config
/usr/local/lib/pkgconfig/plumed.pc
/usr/local/lib/libplumed.so
/usr/local/lib/libplumedKernel.so
A vim plugin can be found here: /usr/local/lib/plumed/vim/
Copy it to /root/.vim/ directory
Alternatively:
- Set this environment variable         : PLUMED_VIMPATH=/usr/local/lib/plumed/vim
- Add the command 'let &runtimepath.=','.$PLUMED_VIMPATH' to your .vimrc file
From vim, you can use :set syntax=plumed to enable it
****************************************************************************


因为我最后给gromacs打了补丁plumed-patch -p
但是安装出来的gromacs, mdrun 里仍然没有-plumed
所以我想我应是装失败了吧
求教!!!

附上我最近一次打补丁的结果如下:是我环境变量没写对吗还是安装plumed的时候失败导致的Linking Plumed.h, Plumed.inc, and Plumed.cmake (shared mode)
Patching with on-the-fly diff from stored originals
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令
/usr/local/lib/plumed/patches/patch.sh:行295: patch: 未找到命令

PLUMED is compiled with MPI support so you can configure gromacs-2019.4 with MPI







43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

11#
 楼主 Author| 发表于 Post on 2020-7-12 17:27:08 | 只看该作者 Only view this author
碰巧看见关于wham有这样一段文字:

实在不明白为何有上图蓝字这种说法呢?不明白为什么用direction会影响wham?感觉direction 和distance 差别没有特别大呀

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-21 19:36 , Processed in 0.174614 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list