请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 62512|回复: 243

[molclus] 使用molclus程序做团簇构型搜索和分子构象搜索

  [复制链接]

2万

帖子

25

威望

2万

eV
积分
50084

管理员

公社社长

发表于 2015-1-5 18:29:02 | 显示全部楼层 |阅读模式
本文更新频繁,每次出molclus新版本都会更新。文中评论区的很多讨论都是对于已过时的老版本的,不要作为最新版本的参考。

使用molclus程序做团簇构型搜索和分子构象搜索

文/Sobereva @北京科音
First release:2015-Jan-5   Last update:2019-Nov-5

前言:molclus是北京科音自然科学研究中心开发的一款免费的用于分子团簇构型搜索和分子构象搜索的程序包,本文将对此程序包进行介绍。第1节介绍基于分子动力学做构型/构象搜索的基本原理,第2节介绍molclus程序的基本使用,3、4节通过实例进行演示。


1 构型/构象搜索原理

分子团簇的构型搜索和分子的构象搜索是计算化学经常涉及的问题。前者用来寻找分子团簇的各种构型,比如可以回答这样的问题:5个某分子组成的团簇,总共有多少种结构?能量各是多少,哪个构型最稳定?后者用来寻找特定分子的各种可及的构象,比如一个柔性分子,有很多键都可以旋转从而构成不同构象,我们想知道哪个构象能量最低,各种构象能量差是多少,由此我们还可以进一步根据Boltzmann分布估计出特定温度下不同构象出现的比率是多少。

构型/构象搜索的算法很多,比如势能面扫描、分子动力学、蒙特卡罗、基因算法、LMOD等等,适用场合不同。对于分子团簇构型搜索和分子构象搜索而言,分子动力学方法是比较好的选择。其基本过程是:在合适的方法下做一定长度的分子动力学模拟,由于热运动,结构能够反复穿越势垒到达势能面不同区域。每隔一定步数取一次结构,将这些分布在势能面的不同位置上的结构作为初猜结构分别进行优化,最终就会得到势能面上各个极小点位置的构型和能量。还可以通过分子动力学做周期性退火来实现构象搜索,效果往往更好。比如每100ps期间温度从0K上升至500K然后再降到0K,如果跑1ns(即1000ps),就会产生10个对应0K的结构。对这些结构再进行依次优化,即可得到一批极小点结构和能量。退火过程中每次当体系温度较高时,体系就有较大动能,从而能够较容易地穿越势垒而跑到其它势阱区域,然后温度降低时,体系就会陷入势阱的极小点附近。

对于分子团簇的构型搜索和分子的构象搜索而言,并不会涉及到键的形成和断裂,因此不需要用极耗时的从头算分子动力学,而只需要计算量极低的分子力场来跑分子动力学就够了。这样的程序很多,比如免费的GROMACS、Tinker、NAMD、Lammps。现在Amber实际上也算基本免费了(用免费的Ambertools里的Sander模块来跑就行了,不需要用收费的PMEMD部分)。用傻瓜化的收费的M$里的动力学模块来跑也可以。至于结构优化和能量计算部分,可以用分子力场、半经验、DFT、高精度后HF方法等来做,这就取决于需要的精度和运算能力了。

另外,一种简单粗暴但很实用的做构象搜索的方法是“系统式搜索法”,即让分子的某些二面角按照指定规则旋转并将所产生的结构做为优化的初始结构。比如设定4个键可以旋转,每个键每120度旋转一次,那么总共就可以产生3*3*3*3=81个初始构象,对这些构象都做优化,就可以得到一批极小点结构,都进行优化后,肯定能找到能量最低构型。molclus程序包中的gentor组件就可以实现这个目的。对于团簇构型搜索,一种也是看起来很暴力但实际效果不错的做法是把指定类型和指定数目的分子或原子随机挨在一起,形成球形团簇,将这样产生的几十乃至几百个团簇当做初猜结构来依次进行优化,就可以得到一批团簇极小点构型,只要生成的初始团簇数目较多,其中总会有能量最低结构。molclus里的genmer组件就可以实现产生团簇初猜结构的目的。

简单来说,molclus所干的主要事情就是,基于第三方分子动力学程序或者基于molclus自带的gentor/genmer组件产生的初始结构,调用量子化学程序或分子力学程序进行依次优化,然后对结果进行筛选,从而最终得到能量最低结构和能量较低的一批结构。这个过程看起来没什么复杂的,自己手动做都能实现,但molclus将整个过程变得极尽简单、极尽自动化,而且使用者可以对整个流程进行十分灵活的控制,是想要较低的耗时还是较高的精度,都可以完全由使用者决定。目前市面上有不少收费的构象搜索程序,比如Spartan、GMMX、HyperChem、Sybyl、MOE、M$里的Conformer、MacroModel之类,我相信,只要你稍微花点时间用明白了molclus,之后一定就再也不想用那些程序了,又不灵活又贵又没法达到高精度。


2 molclus程序

2.1 简介

molclus主页为:http://www.keinsci.com/research/molclus.html,程序的可执行文件可在此免费下载。molclus会不断改进、更新。最初molclus是收费的,为造福广大科研工作者,从2019年1月1日起此程序变为免费提供。

如果molclus在你的文章中被使用,请务必引用,基本格式为(可根据期刊要求修改):
Tian Lu, molclus program, Version x.x, http://www.keinsci.com/research/molclus.html  (accessed 月 日, 年)
这里的月、日、年就是你下载Molclus程序的日期。笔者在未来会专门撰写介绍Molclus的文章发表,届时请引用论文(发表后会在molclus官网和此帖中提及)。

在通过分子动力学程序或者molclus自带的gentor/genmer产生记录了大量初始结构的.xyz轨迹文件之后,molclus就可以调用计算程序对其中的结构进行优化或者能量计算了。molclus目前支持调用以下程序:
• Gaussian:支持G09及之后版本。这是最最常用的做量子化学计算的程序,收费。Gaussian也支持UFF/AMBER/Dreiding分子力场计算,比半经验方法又快出两数量级乃至更多
• ORCA:网址https://orcaforum.cec.mpg.de/。免费。这是第二流行的量子化学程序。由于其RI技术利用得很好,在纯泛函下比Gaussian快得多得多,因此可以用于比Gaussian更大的体系。
• MOPAC:支持2012及之后的版本,网址http://openmopac.net。免费。专门做半经验计算,它支持的PM6-DH+或PM7对有机体系通常足矣得到定性合理的结果,而速度比DFT快两个数量级,故很适合用于中、大体系的优化
• xtb:是Grimme开发的做GFN-xTB方法计算的程序。免费。此方法相当于半经验的DFT,精度整体强于各种半经验方法,特别是普适性更好,而且xtb速度比MOPAC更快,在此文中有安装方法和基本用法介绍:《将Gaussian与Grimme的xtb程序联用搜索过渡态、产生IRC、做振动分析》(http://sobereva.com/421
• Open Babel:网址http://openbabel.org/wiki/。免费。此程序主要用于转换化学领域的文件格式,但也可以实现MMFF94高精度有机分子力场以及其它一些力场的计算

可以说,molclus支持的Gaussian、ORCA、MOPAC、xtb和Open Babel程序把不同尺度、不同精度范围都覆盖了,精度&耗时的基本关系是:高级别后HF > DFT > 半经验/GFN-xTB > 分子力场,这些方法都可以由上述程序实现。如果读者不熟悉ORCA和RI,建议参看《详谈Multiwfn产生ORCA量子化学程序的输入文件的功能》(http://sobereva.com/490)当中的介绍,如果不熟悉MOPAC,可参看本文中的相关信息:《大体系弱相互作用计算的解决之道》(