GROMACS QM/MM教程3:使用DFTB3进行QM/MM模拟

类别:    标签: gmx   阅读次数:   版权: (CC) BY-NC-SA

分子动力学模拟软件GROMACS包含了QM/MM模块, 其中的量子化学计算需要通过外部程序来进行. GROMACS目前提供的量子化学接口包括: Gamess UK, Gaussian, Mopac和Orca. 详情请参阅GROMACS官方说明.

DFTB是基于密度泛函理论的参数化量子化学计算方法, 其最新版本DFTB3发展于2011年, 能够成功地用于描述有机和生物分子体系, 并比常规的DFT方法快100到1000倍. 对于DFTB的介绍, 可以参考DFTB2DFTB3的原始论文.

我们已经在GROMACS 5中实现了DFTB方法. 这意味着所有计算都是在GROMACS程序中进行的, 运行QM/MM模拟时不再需要借助外部程序. 实现方法可参考我们发表的论文:

T. Kubař, K. Welke and G. Groenhof: New QM/MM Implementation of the DFTB3 method in the Gromacs Package, J. Comput. Chem. DOI:10.1002/jcc.24029 (2015)

DFTB方法不能描述London色散作用. 不过, 对能量进行经验的post-SCF校正可以弥补这个缺陷. 目前, 我们已经实现了D3色散校正. 需要使用时, 请参考D3D3-BJ的论文.

获取并安装程序

首先, 从GROMACS官方网站上获取GROAMCS 5.0版本.

同时, 我们需要将GROMACS与PLUMED联用, 所以你还需要获取PLUMED 2.1或2.1.x版本.

安装PLUMED, 但先不要为GROMACS打补丁.

获取实现DFTB的BGROMACS补丁, 最新版本于2015年10月30日发布.(请通过电子邮件告知我们, 你的姓名及地址, 何时下载了我们的程序. 我们会为你的信息保密, 并不会将其透漏给第三方. 谢谢)

使用刚刚下载的文件为GROMACS打补丁:

tar -xvzf gromacs-5.0-dftb-v6-plumed.patch.tgz
patch -p0  gromacs-5.0-dftb-v6a-plumed.patch

手动改正GROMACS主目录, Plumed.cmakePlumed.inc文件中对libplumed.solibplumed.a文件的引用, 使其与你的安装一致.

编译GROMACS. 选择dftb作为GMX_QMMM_PROGRAM的值, 并且关闭CUDA以及所有的并行选项(MPI, THREAD_MPI和OPENMP). 最好编译为双精度版本(GMX_DOUBLE=ON). 当链接到MKL线性代数库时可能会遇到问题. 如果你解决了这些问题, 请告知我们.

获取参数集

DFTB方法涉及一些参数集, 请查阅原始文献获取更多信息. 在网站上注册后便可免费获得参数文件. 对于有机和生物分子, 我们推荐使用DFTB3方法和3OB参数集. 需要注意的是, 目前支持的化学元素仅包括: H, C, N, O, P, S, F, Cl, Br, I, Na, K和Ca.

从网站获得的参数文件不能被类似GROMACS的C语言程序直接读取. 所以, 要将其转换为合适的格式. 你可以下载一个脚本来完成这个工作. 不过需要注意的是, 需要在脚本中指定要处理的化学元素.

假如你需要在DFTB计算中应用D3色散校正, 还要下载必须的参数文件并将其解压到DFTB参数文件所在的文件夹.

进行模拟

由于使用了原始的GROMACS QM/MM接口, 所以你需要先了解这一部分的GROMACS官方说明. 需要注意的是, 进行QM/MM模拟时必须修改拓扑文件, 并且在目前的实现中, QM区域必须完全处于一个分子中(以拓扑的角度而言).

运行输入文件(.mdp)中与QM/MM相关的选项总结如下:

QMMM                = yes
QMMM-grps           = QMsystem  ; 需要在索引文件中定义
QMMMscheme          = normal
QMmethod            = RHF       ; 需要但会被忽略
QMbasis             = STO-3G    ; 需要但会被忽略
QMcharge            = 0         ; 整数
MMchargescalefactor = 1.        ; 或更小值

使用DFTB运行QM/MM时, 还有一些额外的选项:

QMdftbsccmode         = 3             ; 3对应DFTB3, 2对应DFTB2(也即SCC-DFTB)
QMdftb-telec          = 10.           ; 费米分布的"电子温度"
QMdftb-slko-path      = /path/to/skf/ ; 参数文件的路径, 含最后的斜线
QMdftb-slko-separator =               ; 元素名称间的可能字符
QMdftb-slko-lowercase = yes           ; 或no, 文件名称中使用"Ca"还是"ca"
QMdftb-slko-suffix    = -c.spl        ; 文件名称
QMdftb-partial-pme    = 1             ; 加速的PMF计算, 推荐使用(置零关闭)
QMdftb-dispersion     = 1             ; 使用D3, 或者置零忽略色散校正
QMdftb-cdko           = 0             ; 目前没实现
QMdftb-mmhub-inf      = 1             ; 目前没实现

此外, 进行QM/MM模拟时需要注意下面的通用设置:

运行mdrun程序前, 可设置一些合适的环境变量以便使用扩展功能:

export GMX_DFTB_SLKO_PATH="/path/..." # 覆盖.mdp中的设置
export GMX_DFTB_SLKO_LOWERCASE=y      # 覆盖.mdp中的设置
export GMX_DFTB_SLKO_SEPARATOR="-"    # 覆盖.mdp中的设置
export GMX_DFTB_SLKO_SUFFIX=".skf"    # 覆盖.mdp中的设置
export GMX_DFTB_TELEC=300.            # 覆盖.mdp中的设置
export GMX_DFTB_QM_COORD=n            # QM原子的坐标每 n 步输出一次
export GMX_DFTB_MM_COORD=n            # MM原子的坐标每 n 步输出一次
export GMX_DFTB_CUTOFF=1              # 使用switched-force cut-off而不是PME处理QM/MM静电相互作用
export GMX_DFTB_RFIELD=1              # 使用reaction-field而不是PME处理QM/MM静电相互作用
export GMX_DFTB_SHIFT=1               # 使用shifted-force cut-off而不是PME处理QM/MM静电相互作用
export GMX_DFTB_SURFACE_CORRECTION=1  # PME中使用偶极校正而不是使用tin-foil边界条件

在模拟的过程中, 除了会生成常规的一些输出文件之外, mdrun还会额外生成一个名为 qm_dftb_chargs.xvg的文件, 其中包含了原子的Mulliken电荷.

版本历史

随意赞赏

微信

支付宝
◆本文地址: , 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆


前一篇: 自动调整VMD窗口的位置和大小
后一篇: GROMACS QM/MM教程4:使用连接原子

访问人次(2017年1月27日起): | 最后更新: 2017-06-23 11:15:05 CST | 版权所有 © 2008 - 2017 Jerkwin