python - 如何在 OpenMM 中计算单个原子之间的力

标签 python

我是 OpenMM 的新手,希望获得有关以下问题的指导:

目前我对运行分子动力学模拟不感兴趣,对于初学者来说,我只想使用 OpenMMs AMBER 力场计算各个原子对之间的力或自由能。本质上我想最终得到一个热图,它代表原子对之间的力,如下所示: enter image description here 其中数字代表力的强度或自由能的值。

我很难找到如何访问 OpenMM 的此类较低级别的功能,在其中我可以编写一个自定义脚本,该脚本仅在提供原子及其类型的 3D 坐标的情况下计算所需的力。在他们的教程中,我刚刚找到了如何通过提供分子系统的力场数据和 PDB 文件来运行成熟的模拟。

我最好用 python 来实现这一点。

非常感谢任何具体的示例或指导。

最佳答案

我在 Openmm's issue tracker 中找到了答案在 GitHub 上。

简而言之:在 OpenMM 中没有 API 可以完全实现这一点,因为从纯粹的物理/化学角度来看,我想要做的事情没有得到很好的定义。我最好的选择是计算一些看起来像仅基于成对原子间距离的能量的东西,这些距离可以从像这样的 openmm 状态中获取(如上面引用的讨论中所建议的):

state = simulation.context.getState(getPositions=True)
positions = state.getPositions(asNumpy=True).value_in_unit(nanometer)

关于python - 如何在 OpenMM 中计算单个原子之间的力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63155969/

相关文章:

python - 在 Python 3.5 中同时从不同的 Tkinter Listbox 小部件中选择值

python - 使用 Raspberry Pi 和 Bluemix 的 IoT Python 应用程序 : Pushing the button doesn't work

python 暂停 pexpect.spawn 及其使用的设备

对基于声明的模型使用多值插入时,不会为每一行单独调用 Python 端默认值

python - 禁用时按钮不会变灰

python - 提供 `none` url 和 `live` 状态的 wagtail 页面

python - 可以在 Python 中使用 BeautifulSoup 或正则表达式解析此半结构化文本文件

python - Django SQLite 测试异常 : Different path of execution?

python - 迭代列表并使用其他列表的项

python - 实现从 Angular 到 Flask 的文件上传