计算化学公社

 找回密码 Forget password
 注册 Register
Views: 62314|回复 Reply: 55

[GROMACS] Gromacs与cp2k联动使用plumed做QM/MM增强采样

  [复制链接 Copy URL]

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

发表于 Post on 2021-3-2 05:22:27 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 wuzhiyi 于 2022-4-15 19:26 编辑

注:本功能已经正式进入Gromacs 2022,具体内容请关注官方消息,本帖仅作为留档。


最近sob老师分享了cp2k的安装方法 http://bbs.keinsci.com/thread-21608-1-1.html 和cp2k输入文件的生成方法 http://bbs.keinsci.com/thread-21668-1-1.html 让cp2k距离被普通人可以使用又进了一步。

其实Gromacs也可以和cp2k联动联动,进行QM/MM模拟。对于自由能的计算也可以使用plumed来进行增强采样,我想分享一下自己的安装方法,让更多的人可以体会到cp2k的乐趣。
本文中的Gromacs关于cp2k的联动插件预计与2022年正式加入Gromacs,不过根据我的经验,正常使用问题不大,至少在我的测试中,Gromacs/cp2k做真空下用plumed的伞状采样得到小分子二面角的势能面和cp2k下直接用plumed做伞状采样得到的势能面是一样的,如果大家遇到问题,也欢迎在这里反馈。
本教程在来自芬兰Jyväskylä University的Dmitry Morozov的协助下完成。
Plumed安装
先安装plumed,测试了2.7.2发行版(https://github.com/plumed/plumed2/releases/tag/v2.7.2), 理论上应该V2.7分支的都可以。
放在/Users/formidable/src/解压生成plumed2-2.7
然后直接用configure安装
  1. ./configure --prefix=/usr/local/plumed/2.7.2
  2. make -j24
  3. make install
复制代码
用module的同学可以复制module文件方便设置环境变量
  1. cp /usr/local/plumed/2.7.2/lib/plumed/modulefile ~/privatemodules/plumed/2.7.2
复制代码

cp2k安装
本教程默认你已经有openblas/lapack/openMPI,在下载完cp2k 8.1后,解压在/Users/formidable/src
进入/Users/formidable/src/cp2k-8.1/tools/toolchain
用toolchain安装依赖,可以根据自己的需求增减。
  1. ./install_cp2k_toolchain.sh --with-libxsmm=install --with-elpa=install --with-libxc=install --with-libint=install --with-gsl=no --with-libvdwxc=no --with-spglib=no --with-hdf5=no --with-spfft=no --with-cosma=no  --with-libvori=no --with-sirius=no --with-scalapack=install --with-openblas=system --with-fftw=install --with-openmpi=system --with-plumed=system
复制代码
然后将生成的依赖复制到根目录进行安装
  1. cp -r /Users/formidable/src/cp2k-8.1/tools/toolchain/install/arch/* /Users/formidable/src/cp2k-8.1/arch
  2. source /Users/formidable/src/cp2k-8.1/tools/toolchain/install/setup
复制代码
这里其实都和sob老师推荐的一样http://bbs.keinsci.com/thread-21608-1-1.html,不过因为Gromacs要将cp2k作为库来调用,所以要编译cp2k库。
  1. make ARCH=local VERSION="ssmp psmp" libcp2k
复制代码
Gromacs安装
最后我们进行gromacs的安装,从这里下载文件https://gitlab.com/gromacs/gromacs/-/tree/2021.2-qmmm
解压后生产文件/Users/formidable/src/gromacs-2021.2-qmmm
首先对gromacs打上plumed补丁。plumed patch -p
然后选择2021版。

然后进行编译
  1. mkdir build
  2. cd build
  3. cmake .. -DBUILD_SHARED_LIBS=OFF -DGMXAPI=OFF -DGMX_INSTALL_NBLIB_API=OFF -DGMX_DOUBLE=ON -DGMX_FFT_LIBRARY=fftw3 -DGMX_CP2K=ON -DCP2K_DIR="/Users/formidable/src/cp2k-8.1/lib/local/psmp" -DCP2K_LIBS="-Wl,--enable-new-dtags -pthread -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/fftw-3.3.8/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/libxc-4.3.4/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/libxsmm-1.16.1/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/scalapack-2.1.0/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/elpa-2020.05.001/lib' -lelpa_openmp -lscalapack -lxsmmf -lxsmm -ldl -lpthread -lxcf03 -lxc -lint2 -lfftw3_mpi -lfftw3 -lfftw3_omp -lmpi -lopenblas -lstdc++" -DGMX_MPI=on -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2021.2_QMMM
  4. make -j24
  5. make install
复制代码
这样编译出来的文件就可以使用plumed做增强采样,用cp2k做QM区域的运算了。
mdp设置
使用gmx make_ndx来定义QM区域,比如我们将一些原子归在一起命名为QMatoms(qmmm-qmgroup = QMatoms),这些原子的电荷加起来是0(qmmm-qmcharge = 0),自选多重度是1(qmmm-qmmultiplicity = 1),目前有预设的级别PBE/DZVP-MOLOPT和BLYP/DZVP-MOLOPT(qmmm-qmmethod = PBE或者qmmm-qmmethod = BLYP)。
这里提供一个mdp的例子。
; CP2K QMMM parameters

qmmm-active              = true
qmmm-qmgroup             = QMatoms
qmmm-qmmethod            = PBE
qmmm-qmcharge            = 0
qmmm-qmmultiplicity      = 1

运行grompp之后会生成对应的cp2k的inp文件,可以看看默认的设置是不是自己想要的。

当然也可以自己提供模版(cp2k.inp)。
; CP2K QMMM parameters

qmmm-active              = true
qmmm-qmgroup             = QMatoms
qmmm-qmmethod            = INPUT
qmmm-qminputfile            = cp2k.inp

教程
简单的教程可以在这里下载(https://github.com/bioexcel/gromacs_cp2k_tutorial),也可以听这个模块的作者讲解(https://bioexcel.eu/webinar-mult ... terface-2020-12-08/)。





评分 Rate

参与人数
Participants 10
威望 +1 eV +43 收起 理由
Reason
Aridea + 5 GJ!
yjmaxpayne + 5 赞!
panernie + 5 好物!
Daniel_Arndt + 5 大赞!给力!
sobereva + 1
jitou11 + 5 谢谢
bobosiji + 3 牛!
puzhongji + 5 谢谢分享
ChemG + 5 牛!
zsu007 + 5 赞!

查看全部评分 View all ratings

116

帖子

0

威望

1387

eV
积分
1503

Level 5 (御坂)

发表于 Post on 2021-3-2 19:13:16 | 显示全部楼层 Show all
老师,请问能不能在此基础之上多出几个实例教程,让初学者跟着尝试一下,多谢

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-3-2 21:36:20 | 显示全部楼层 Show all
nianbin 发表于 2021-3-2 19:13
老师,请问能不能在此基础之上多出几个实例教程,让初学者跟着尝试一下,多谢

你是想要什么样的例子啊?

这里已经提供了真空小分子对应AIMD,
小分子在水里
和蛋白质在水里的激发态

感觉好像也没别情况了?

389

帖子

1

威望

2030

eV
积分
2439

Level 5 (御坂)

发表于 Post on 2021-3-3 08:28:15 | 显示全部楼层 Show all
有一个问题想了解一下,我看到你编译gromacs时使用了“-DGMX_MPI=on”,想起来plumed编译时是有个“--enable-mpi”的。你的这个教程,需要编译plumed时指定“--enable-mpi”吗?

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-3-3 16:54:58 | 显示全部楼层 Show all
Daniel_Arndt 发表于 2021-3-3 08:28
有一个问题想了解一下,我看到你编译gromacs时使用了“-DGMX_MPI=on”,想起来plumed编译时是有个“--enabl ...

是的 不过只要找得到MPI版本的编译器 plumed会优先用MPI版本的编译器

501

帖子

0

威望

2450

eV
积分
2951

Level 5 (御坂)

发表于 Post on 2021-3-3 18:26:13 | 显示全部楼层 Show all
不过CP2K应该是支持读GMX的input file来着?

这么联用不累吗

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-3-3 21:46:45 | 显示全部楼层 Show all
k64_cc 发表于 2021-3-3 18:26
不过CP2K应该是支持读GMX的input file来着?

这么联用不累吗

支持么?
我看gromacs的支持在to-do里啊?https://www.cp2k.org/dev:todo
而且8.1的文档里https://manual.cp2k.org/trunk/CP ... FIELD.html#PARMTYPE
没有gromacs啊

501

帖子

0

威望

2450

eV
积分
2951

Level 5 (御坂)

发表于 Post on 2021-3-4 11:53:42 | 显示全部楼层 Show all
wuzhiyi 发表于 2021-3-3 21:46
支持么?
我看gromacs的支持在to-do里啊?https://www.cp2k.org/dev:todo
而且8.1的文档里https://manu ...

那就是支持amber?反正就转个格式的事。

146

帖子

0

威望

3366

eV
积分
3512

Level 5 (御坂)

发表于 Post on 2021-3-5 15:23:19 | 显示全部楼层 Show all
请教 cp2k +GMX+plumed 做QM/MM硬件配置如何, 需要较多核心的 CPU么
还是说直接参考sob老师的装机配置就可以,普通CPU+较好显卡

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-3-5 18:30:31 | 显示全部楼层 Show all
azero 发表于 2021-3-5 15:23
请教 cp2k +GMX+plumed 做QM/MM硬件配置如何, 需要较多核心的 CPU么
还是说直接参考sob老师的装机配置就 ...

不需要显卡,cp2k+GMX主要运算瓶颈在cp2k那里,MM部分的耗时估计0.1%都不到,按cp2k的需求配置就行。

116

帖子

0

威望

1387

eV
积分
1503

Level 5 (御坂)

发表于 Post on 2021-3-6 02:08:42 | 显示全部楼层 Show all
老师,请问下我在编译gmx这一步分时候提示我Target "cmTC_21d74" requires the language dialect "CXX17" , but CMake does
  not know the compile flags to use to enable it. 应该咋整

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-3-7 01:40:53 | 显示全部楼层 Show all
nianbin 发表于 2021-3-6 02:08
老师,请问下我在编译gmx这一步分时候提示我Target "cmTC_21d74" requires the language dialect "CXX17" , ...

你正常编译gromacs可以么?

116

帖子

0

威望

1387

eV
积分
1503

Level 5 (御坂)

发表于 Post on 2021-3-7 18:03:18 | 显示全部楼层 Show all
是可以的,我现在系统里有gmx2018.8

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-3-9 05:02:32 | 显示全部楼层 Show all
nianbin 发表于 2021-3-7 18:03
是可以的,我现在系统里有gmx2018.8

可以试试装最新的Gromacs 2021.1么?

116

帖子

0

威望

1387

eV
积分
1503

Level 5 (御坂)

发表于 Post on 2021-3-9 19:30:18 | 显示全部楼层 Show all
好的,多谢老师,我试试

本版积分规则 Credits rule

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

GMT+8, 2023-2-5 09:02 , Processed in 0.245608 second(s), 23 queries .

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