news 2026/11/3 19:04:40

OpenMM分子动力学模拟01 OpenMM 介绍:一个用 Python 驱动的 GPU 分子模拟引擎

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenMM分子动力学模拟01 OpenMM 介绍:一个用 Python 驱动的 GPU 分子模拟引擎

摘要:OpenMM 是斯坦福 Pande 组开源的 GPU 分子模拟引擎,Python API 驱动,兼顾应用层开箱即用与库层嵌入开发。本章从两层架构、三种使用方式、与其他引擎的关系讲起,给出这套 35 章大百科的阅读地图。
关键字:OpenMM、分子动力学、GPU加速、Python API、MD引擎、开源软件、Eastman、斯坦福

【官方来源】docs.openmm.org User Guide §1 Introduction
【Linux 实测】OpenMM 8.5.2 / conda-forge / Python 3.11 / Ubuntu 22.04 / 消费级 GPU(12 GB 显存)


1. 一句话定位

OpenMM 由两部分组成:

  1. 一组库(libraries):让程序员把分子模拟功能嵌进自己的程序
  2. 一个应用层(application layer):让只想跑模拟的终端用户直接用

【官方来源】官方 User Guide 原文就是这个二分法。它没有"一个叫 OpenMM 的可执行程序"——所谓应用层,本质是一堆 Python 库,你用 Python 脚本串起来跑模拟。官方原话:“there is no program called ‘OpenMM’ that you run”。

初学者翻译:AMBER 的用法是"写 mdin → 跑 pmemd";GROMACS 是"写 mdp → 跑 gmx mdrun"。OpenMM 没有这一步——你写的就是一个 Python 脚本本身。听起来吓人,但官方教程的完整脚本只有 13 行,逐行讲解在系列第 05 篇。

2. 该引用谁(写论文必备)

【官方来源】任何使用 OpenMM 的工作应引用:

P. Eastman, R. Galvelis, R. P. Peláez, C. R. A. Abreu, S. E. Farr, E. Gallicchio, A. Gorenko, M. M. Henry, F. Hu, J. Huang, A. Krämer, J. Michel, J. A. Mitchell, V. S. Pande, J. PGLM Rodrigues, J. Rodriguez-Guerra, A. C. Simmonett, S. Singh, J. Swails, P. Turner, Y. Wang, I. Zhang, J. D. Chodera, G. De Fabritiis, and T. E. Markland. "OpenMM 8: Molecular Dynamics Simulation with Machine Learning Potentials." J. Phys. Chem. B 128(1), pp. 109-116 (2023).

【补充】官方明确说:OpenMM 靠科研经费维持,引用就是支持项目。

3. 五平台架构

【Linux 实测】Platform.getNumPlatforms()输出:

Platform speed Reference 1 # 纯 C++ 参考实现,最慢最准,用于验证 CPU 10 # 多线程 CPU CUDA 100 # NVIDIA GPU OpenCL 50 # 跨厂商 GPU(NVIDIA/AMD/Intel/Apple)

【官方来源】User Guide §3.7.1 原文:“OpenMM includes five platforms: Reference, CPU, CUDA, OpenCL, and HIP.”

平台硬件谁该用
Reference任意 CPU验证正确性(结果基准)
CPU多核 CPU无 GPU 机器;跑小体系
CUDANVIDIA GPUNVIDIA 用户首选(本机用的这个)
OpenCL多厂商 GPUmacOS(系统自带);NVIDIA/AMD/Intel
HIPAMD GPU (ROCm)AMD Linux/Windows 用户

【踩坑】macOS 没有 Metal 后端。8.5 官方 Platform-Specific 文档(Ch.11)只列 OpenCL/CUDA/HIP/CPU 四种 GPU/CPU 平台详情。Apple Silicon 用户走 OpenCL。

4. 许可证与资金模式

【官方来源】GitHub README “License Information”:

“OpenMM is free and open-source software. There are several licenses which cover different parts of OpenMM, but most of the source code is covered by the MIT license or the GNU Lesser General Public License (LGPL). Portions copyright © 2008-2025 Stanford University and the Authors.”

【Linux 实测】conda-meta 包元数据:license: LGPL-3.0-or-later(conda-forge 包整体标注)。

初学者翻译:商用友好。MIT/LGPL 都是宽松许可,可以闭源商用,LGPL 部分动态链接即可。

5. 项目历史速览(GitHub Releases 实测)

版本发布要点
5.22013-10-02首个 GitHub release(仓库 2013-05-20 创建)
6.02014-02-22—
7.12017-02-03CustomForce 全局参数导数、Gay-Berne 势
7.5.02020-12-09Amber19/CHARMM36 力场 XML
8.0.02023-01-31ML 势函数支持(OpenMM-Torch/ML 插件基础)、CPU 平台大优化
8.5.22026-06-08当前版(Python 3.11 实测通过)

6. OpenMM 的三个"反常"设计(为什么它值得学)

反常 1:力场是 XML,不是二进制表

AMBER 把参数编进 prmtop,GROMACS 用 itp。OpenMM 把力场写成明文 XML(amber19-all.xml),ForceField类解析。好处:力场模块化组合(蛋白 XML + 水 XML + 离子 XML 各自独立)、可手写扩展(Ch.7 教你写自己的 XML)。

反常 2:模拟逻辑全在 Python

从建体系到跑完,全部是一个 Python 脚本。没有"引擎"和"胶水脚本"的界限——这就是为什么它能和 PyTorch(ML 势函数)、主动学习循环、自定义分析无缝咬合。

反常 3:自定义力 = 写数学表达式

CustomBondForce('0.5*k*(r-r0)^2')——直接写字符串,引擎 JIT 编译成 GPU kernel。增强采样的 bias、容器约束、非标准势都不需要碰 C++。这是 AMBER/GROMACS 用户改 C 源码才能做的事。

7. 生态位:什么时候用 OpenMM

你的需求: ├─ 已有 AMBER prmtop,想用 Python 灵活控制 → OpenMM(原生读 prmtop) ├─ 增强采样(metadynamics/aMD/replica exchange)→ OpenMM 内置(§3.7.16) ├─ ML 势函数(ANI-2x/MACE/NequIP)→ OpenMM-Torch 插件 ├─ 自定义 bias potential → CustomForce(唯一这么方便的) ├─ TI/FEP/MMGBSA → AMBER 工具链更成熟 └─ 膜体系大生产跑 → GROMACS 性能强 + CHARMM-GUI 联动

8. 学习资源(官方链接全录)

【官方来源】

  • 官网:https://openmm.org/
  • User Guide:https://docs.openmm.org/latest/userguide/
  • Python API:https://docs.openmm.org/latest/api-python/
  • C++ API:https://docs.openmm.org/latest/api-c++/
  • FAQ:https://github.com/openmm/openmm/wiki/Frequently-Asked-Questions
  • 讨论区:https://github.com/openmm/openmm/discussions
  • Cookbook & Tutorials:https://openmm.github.io/openmm-cookbook/latest

下一篇:02 · 安装


系列导航:本专栏分子动力学模拟-OpenMM(35 章大百科:官方 User Guide / Tutorials / Cookbook / examples 全覆盖)


我的专栏

蛋白 / 抗体 / 多肽 / 核酸分子模拟 / 动力学 / 对接药物 / 设计 / 案例AI / Agent / 大模型
开源蛋白结构预测分子模拟基础小分子药物设计案例AI Agent系列
开源蛋白生成方法实践分子动力学模拟-Amber蛋白药物设计案例化学大模型
开源多肽设计模型分子动力学模拟-Gromacs多肽药物设计案例《AI Agent原理与实战》
开源多肽性质预测分子动力学模拟-OpenMM开源小分子生成设计CADD中的机器学习模型
DNA/RNA药物设计結合自由能开源药代动力学软件高效计算配置
siRNA药物设计模型UCSF DOCK系列我胡师兄说药
ASO药物设计模型rDock系列 LeDock系列 gnina系列
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 19:02:27

grpcurl 快速安装:一次打通 gRPC 调用不踩坑

grpcurl 快速安装:一次打通 gRPC 调用不踩坑 【免费下载链接】grpcurl Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers 项目地址: https://gitcode.com/gh_mirrors/gr/grpcurl 拿到一个 gRPC 端点,手上没有 SDK&…

作者头像 李华
网站建设 2026/11/3 18:59:59

企业级落地 :织信如何成为企业级信息化系统的底座

织信如何成为企业级信息化系统的底座企业级信息化落地,不能只看上线了几个系统。真正难的地方,是这些系统能不能在同一个底座上运行。生产、设备、质量、仓库、供应链、客户、项目、办公,如果每个系统都是单独建设,短期看都能解决…

作者头像 李华
网站建设 2026/11/3 18:42:54

如何用8GB显卡玩转4K视频生成:阿里WanVideo_comfy完整指南

如何用8GB显卡玩转4K视频生成:阿里WanVideo_comfy完整指南 在AI视频生成领域,专业工具普遍存在"高门槛、高成本、高复杂度"的三高问题,让普通创作者望而却步。阿里巴巴通义万相团队开源的WanVideo_comfy项目通过ComfyUI生态实现电…

作者头像 李华
网站建设 2026/11/3 18:42:48

30亿参数撬动多模态革命:ERNIE 4.5-VL重塑AI效率边界

30亿参数撬动多模态革命:ERNIE 4.5-VL重塑AI效率边界 【免费下载链接】ERNIE-4.5-VL-424B-A47B-Base-PT 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-VL-424B-A47B-Base-PT 导语 百度ERNIE-4.5-VL-28B-A3B多模态大模型凭借异构混合专家架…

作者头像 李华