玩转分子动力学,乐在其中,受益匪浅
分子动力学计算在当今科学领域中占用了非常大量的计算机运算周期。 对于那些还记得化学或热力学的人来说,您应该记得您所做的所有计算都是基于将所研究的材料视为均质质量,其中质量的每个部分都简单地具有相关属性的平均值。 在平均条件下,这在大多数时候往往是足够的。 但是,越来越多的科学家遇到了他们可以应用这些类型的概括的边缘条件。
分子动力学,或 MD,应运而生。 使用 MD,您必须几乎下降到我们所知的物质的最低层级,即原子和分子的层级。 在这个层级,您处理的大部分力本质上都是电力的。 原子和分子通过其电子云相互作用。 有几个软件包可用于进行此类工作,例如 GROMACS 和 GAMESS。 但在本文中,我将介绍 TINKER。
与我在本专栏中介绍的大多数软件不同,TINKER 在大多数发行版的软件包系统中都不可用。 这意味着您将必须访问主网站并下载它。 有适用于 Linux(32 位和 64 位)、Mac OS X 和 Windows(32 位和 64 位)的二进制文件。 虽然这些在许多情况下应该可以工作,但您可能需要下载源代码并使用您想要的确切选项进行构建。 您可以下载包含 TINKER 源代码的 tarball 或 zip 文件。
解压后,将目录更改为 tinker 子目录。 有许多子目录以可用的各种操作系统选项命名。 因为您使用的是 Linux,所以您需要移动到 linux 子目录。
您会找到一系列子目录,每个子目录对应于许多可能的编译器之一。 对于本文,我选择使用 gfortran 编译器。 在 gfortran 子目录中,您会找到许多脚本来处理每个构建步骤。 第一步是运行 compile.make
来构建所有必需的对象。 这些脚本需要从源代码所在的location运行,因此一旦您知道要使用哪组脚本,请移至 tinker/source 子目录。 从这里,我运行了 ../linux/gfortran/compile.make
来编译我需要的所有源代码到目标文件中。
下一步是通过运行 ../linux/gfortran/library.make
将这些组合成单个库文件。 最后一步是通过运行 ../linux/gfortran/link.make
将其与系统库链接以创建最终可执行文件。
现在您将拥有一整套可执行文件,文件名以 .x 结尾即可识别。 然后可以将这些可执行文件移动到任何其他位置,以便于使用。
您应该会发现已创建了 61 个不同的可执行文件。 这些可执行文件中的每一个都处理 TINKER 设计执行的分析中的一些单独任务。 我在这里只介绍几个不同的可执行文件,以便您了解您可以执行的任务类型。
第一个是 analyze.x
。 此可执行文件将请求一个结构文件(TINKER .xyz 文件格式)和要运行的分析类型。 您获得的输出包括以下项目:系统的总势能;按势函数类型或单个原子分解的能量;总偶极矩及其分量、惯性矩和回转半径的计算;用于计算选定相互作用能的参数列表;以及与指定单个相互作用相关的能量。
下一个可执行文件 dynamic.x
执行分子动力学或随机动力学计算。 在初始计算中,它将采用 .xyz 结构文件作为输入。 如果之前的计算已进行检查点,您也可以使用生成的动力学轨迹文件(或重启文件)作为输入。 这两个程序的方法都是确定性的。
可执行文件 monte.x
提供了一种将蒙特卡洛最小化方法应用于分子动力学的方法。 它对单个原子或单个扭转角采取随机步骤,然后应用 Metropolis 采样方法。
scan.x
可执行文件采用 .xyz 结构文件作为输入,并找到初始局部最小值。 从这个第一个局部最小值开始,程序开始沿着简正模式搜索以尝试找到其他最小值。 一旦它沿着每个模式搜索完毕,它将终止。
这些 61 个可执行文件中的许多是支持实用程序,执行非计算工作。 例如,可执行文件 xyzint.x
和 intxyz.x
在 .xyz 结构文件格式和 .int 内部坐标格式文件之间来回转换。
对于所有这些程序,它们如何工作的具体细节由关键字文件(文件名以 .key 结尾)确定。 TINKER 使用大量关键字来决定任何特定运行的细节。 例如,您可以使用关键字 BOND 设置单个键伸缩参数。 关键字 CHARGE 将设置单个原子部分电荷静电参数。 TINKER 文档中提供了关键字的完整列表。
所有这些可执行文件都设计为作为命令行程序运行。 输出往往是数字文件,人类难以评估。 创建 TINKER 的小组还创建了一个名为 Force Field Explorer (FFE) 的程序。

图 1. 首次启动时,您将获得一个空项目窗口和一个 TINKER 控制台。
上面构建的可执行文件未编译为与 FFE 接口。 如果您想编译自己的副本并使其与 FFE 交互,则需要更改许多源文件。 在这种情况下,我建议您继续下载包含 FFE 的安装包之一。 这些以 gzipped shell 存档形式提供。 解压缩后,您可以运行 shell 脚本来启动基于 Java 的安装程序。 它将让您选择要安装的部分以及 FFE。 完成所有操作后,继续启动 FFE。 它将打开主窗口和一个控制台窗口。 在 FFE 中,您可以加载结构文件并启动各种 TINKER 分析。
当您首次打开 .xyz 文件时,结构将被渲染并显示在主窗口中。 然后,您可以选择“建模命令”选项卡来选择要运行的特定 TINKER 分析。 默认情况下,这些 TINKER 运行发生在同一台机器本地,但不必如此。 FFE 为您提供了连接到远程机器(可能比您的桌面更强大)的选项,并让实际的 TINKER 程序在那里运行。

图 2. 您可以直接从 FFE 访问所有 TINKER 分析例程。
获得结果后,您可以更改视觉细节,例如颜色以及是否使用线框或管状等等。 您还可以选择将视觉效果导出为多种文件格式之一的图像文件。
我很容易就可以用 Linux Journal 的全部内容来介绍 TINKER 提供的最基本的功能。 希望您已经看到足够多的内容,以了解此软件是否可能对您有用。 如果是这样,TINKER 主网站上提供了相当大量的详细文档。
资源
-
TINKER 主网站: http://dasher.wustl.edu/tinker