OpenFE(Open Free Energy)是 OpenFF 联盟推动的开源自由能计算平台,目标是把此前依赖商业软件(如 Schrödinger FEP+)的相对结合自由能(RBFE)计算变成可复现、可审计的开源流程。对先导优化阶段「改这个基团活性会怎么变」这个问题,FEP 是目前理论上最严谨的计算答案。
安装
mamba install -c conda-forge openfe
openfe --version
底层用 OpenMM 做模拟、OpenFF 做小分子参数化、gufe 定义对象模型。需要 GPU,且计算量大——这是使用前必须有心理准备的一点。
基本流程
# 1) 规划微扰网络(哪些分子两两之间做转化)
openfe plan-rbfe-network -M ligands.sdf -p protein.pdb -o network/
# 2) 生成的每个 transformation 单独执行(可分发到集群)
openfe quickrun network/transformations/easy_rbfe_lig_A_lig_B.json \
-o results/A_B.json -d results/A_B/
# 3) 汇总网络,得到每个分子的相对结合自由能
openfe gather results/ -o final_results.tsv
微扰网络怎么设计
RBFE 计算的是两个分子之间的结合自由能差,所以要先决定哪些分子配对。这一步的质量直接决定整体可靠性:
- 配对分子要足够相似:理想是只差一两个基团。改动越大,炼金路径的采样越难收敛,误差越大。
- 网络要有闭环:设计成含环的图(而非树),这样可以用闭环滞后误差(cycle closure error)做自洽性检验——一个环上所有边的 ΔΔG 之和理论上应为 0,偏离多少直接反映计算误差。这是 FEP 最重要的内部质控手段。
- 要有实验锚点:网络里至少包含几个已知实测活性的分子,把相对值转成绝对预测,也用于校准。
- 避免电荷变化:净电荷改变的微扰需要特殊处理,误差显著更大,初学阶段尽量回避。
结果怎么判读
| 指标 | 可接受范围 | 说明 |
|---|---|---|
| 单条边的统计误差 | < 0.5 kcal/mol | 超出说明采样不足,需延长模拟 |
| 闭环滞后误差 | < 0.5 kcal/mol | 最关键的自洽性检验 |
| 与实验的 RMSE | 1.0~1.5 kcal/mol | 行业公认的良好水平 |
| 排序相关性 | Spearman > 0.6 | 实用价值主要体现在排序 |
1 kcal/mol 大约对应 5 倍的活性差异。这意味着 FEP 能可靠区分「10 nM vs 1 μM」,但区分「10 nM vs 20 nM」就在误差范围内了。理解这个精度边界,才能正确使用它。
什么时候值得上 FEP
- 适合:已有共晶结构或高可信对接姿势;同一系列的类似物排序;合成成本高、需要减少无效合成时;改造方向有限但选择困难时。
- 不适合:结合模式不确定(姿势错了,FEP 只会精确地算错);跨骨架比较;需要快速筛几万个分子(成本不允许);蛋白有大幅构象变化。
- 成本预期:每条边通常需要数 GPU-小时;一个二十个分子的网络可能有三四十条边,是以 GPU-天计的投入。
上手提示
- 网络必须设计成含闭环的图,闭环滞后误差是最重要的质控信号;
- 精度边界约 1~1.5 kcal/mol,能分辨数量级差异,分不清小幅差异;
- 结合姿势不可靠时不要上 FEP,它只会精确地算错;
- 成本以 GPU-天计,用在合成成本高的关键决策点最划算。
延伸资源
- 模拟引擎:200《OpenMM》;力场:202《OpenFF Toolkit》;
- 对照工具:203《Perses》、204《YANK》;
- 自由能理论与 MM/GBSA 对照见「结构与模拟」模块。