分子动力学初始结构构建程序Packmol的使用
文/Sobereva@北京科音 2019-Mar-23
由于经常有人问Packmol怎么安装、怎么用,这里就写一篇文章,做一个完整的介绍,初学者应该都能读懂,之前用过的人看了可能还能了解一些之前没注意到的细节和技巧。笔者在北京科音的分子动力学与GROMACS培训班(http://www.keinsci.com/workshop/KGMX_content.html)里会对Packmol讲得更具体、给更多例子。
1 Packmol简介
Packmol是一个免费的、很有价值的构建分子动力学模拟初始结构的工具,非常流行。简单来说就是由用户提供一种或多种分子的结构文件,并且设定一些约束条件,Packmol就会把各种分子按照设定将指定数目的分子堆积到满足要求的区域中。程序会通过优化算法不断尝试各种堆积方式,直到构建出原子间没有不合理接触而且能满足所有约束条件的结构。在堆积过程中分子结构会保持刚性,即构象不会变化。Packmol在堆积过程只考虑空间因素,完全不考虑能量、电荷分布等额外问题。
Packmol的选项设定非常灵活,可以容易地构建出复杂的模型。Packmol产生的结构可以被用于各种主流的分子动力学程序的模拟中,比如GROMACS、AMBER等。M$程序里的Amorphous Cell的用处和Packmol颇有类似之处,但远远不及Packmol灵活、强大。
2 Packmol的安装与运行
2.1 在Linux下编译和使用Packmol
在Linux下使用Packmol之前需要先对源代码进行编译,如下所示。如果你不方便自己编译,也可以直接下载我已经编译好的:http://sobereva.com/soft/packmol_18.169_Linux.zip
Packmol是Fortran写的,如果你的机子里还没有Fortran编译器,需要先安装Fortran编译器。比如在CentOS下使用yum install gfortran命令即可安装gfortran编译器。
将官网上下载到的packmol.tar.gz解压,进入解压后的目录,在命令行模式下输入make即可编译,十秒钟左右就能编译完。编译完成后当前目录就出现了名为packmol的可执行文件。
修改用户目录下的.bashrc文件(比如输入gedit ~/.bashrc命令),在末尾加上一行export PATH=$PATH:/sob/packmol-18.169,这里假定/sob/packmol-18.169是packmol可执行文件的所在目录。保存文件后重新进入终端,输入packmol命令检查是否能正常启动,如果能冒出一堆和packmol有关的信息来,就说明已经装好了。
之后用比如packmol < test.inp命令,就代表以test.inp作为输入文件运行packmol程序。输出文件都会产生在当前目录下。
2.2 在Windows下使用Packmol
Packmol源代码也可以在Windows下编译,但我们没必要这么做,因为在Packmol主页上已经提供了编译好的可执行文件,仅适用于64bit Windows系统。你也可以直接在这里下载:http://sobereva.com/soft/packmol_18.169_win64.rar。
解压此文件包,然后进入Windows的命令行模式下(cmd环境。不会进入的话自行google,属于Windows使用常识),输入packmol < test.inp命令即可运行。如果packmol不在当前目录下,则需要输入其绝对路径,或者加入到Windows的Path环境变量里(不会的话参考《GROMACS 2018.4原生Windows版的安装演示》https://www.bilibili.com/video/av39914815/视频中的对应部分)。
PS:别问为什么双击packmol.exe图标运行不了,因为packmol根本就不是这么用的!
3 Packmol输入文件的设置
Packmol的使用需要提供两类文件
• 输入文件。文件名随意,用来定义各种类型分子如何分布、有多少个。
• 各种要加入的分子的结构文件。一般使用pdb格式,用什么程序产生都可以。
3.1 全局设定
tolerance [数值]:要求原子间距离不能小于多少ÿ