找到正确的分子动力学库

计算科学 C++ 高性能计算 模拟 分子动力学 计算生物学
2021-11-25 10:20:18

我刚开始从事一些生物物理学研究,我正在四处寻找一个好的 MD 库来使用。现在大学里有一个用 C 语言设置的,具有 openMC 并行化,但代码在这一点上被如此拼凑在一起,很难说出发生了什么。

我确实可以访问计算集群,并且几个节点确实连接了 Nvidia Tesla GPU。因此,可以分配负载并使用 CUDA 的东西将是一个巨大的帮助。我将尝试运行的实际模拟非常简单 - 一组粒子的扩散,同时还有一些其他物体可以在粒子之间作用,从而导致额外的非布朗力。我知道这可能会导致某些 MD 库出现问题。现在,一次在一个节点上运行一个模拟,然后我们在所有可用节点上运行 N 个模拟。

与模拟一起进行的可视化也将非常有用,因为在某些情况下制作模拟电影在谈话等方面很有用。

4个回答

由于您专门寻找,因此您可能对OpenMM感兴趣。

两个流行的可视化包是PyMolVMD

请允许我插入我自己的库mdcore

mdcore 是一个开源的、独立于平台的分子动力学模拟库,用 C 语言编写。它在集群、多核和 GPU 上运行,可以处理任何类型的粒子间相互作用潜力。该代码主要是新算法的测试平台,但速度非常快。

该库使用起来相对简单:您初始化一个模拟engine,插入粒子,声明势,并调用engine_step计算每个时间步的力和轨迹。在时间步之间,您可以添加您想要的任何力和/或交互。

另一个具有漂亮 Python 界面的类似工具是MMTK

你可能想看看 ProtoMol。它不是一个库,而是一个应用程序,但它被设计为易于扩展。因此,添加自定义潜力可能比使用 LAMPPS 或 Gromacs 更容易。如果您想获得良好的并行性能,后两者将是更好的选择。

取决于您是想要免费还是愿意付费。过去使用过 CHARMM。这是一个不错的选项列表(https://en.wikipedia.org/wiki/List_of_software_for_molecular_mechanics_modeling