203

Perses:炼金自由能计算工具介绍

Perses 基于 OpenMM 做炼金自由能计算,适合研究与定制方法。这篇讲清它与 OpenFE 的分工、非平衡切换的思路与使用建议。

Perses 是 Chodera 实验室(MSKCC)基于 OpenMM 开发的炼金自由能计算工具。它与 OpenFE 同属开源自由能生态,但定位不同:OpenFE 面向标准化的生产工作流,Perses 面向方法研究与定制。想改动炼金路径的构造方式、试验新的采样策略,Perses 提供的可改写性更高。

安装

mamba install -c conda-forge perses
python -c "import perses; print(perses.__version__)"

依赖 OpenMM、OpenMMTools、OpenFF Toolkit。需要 GPU。

能算什么

类型 说明
相对结合自由能(RBFE) 两个配体对同一靶点的结合强度差,最常用
相对水合自由能 溶剂化性质,也用作方法验证
蛋白突变自由能 点突变对结合或稳定性的影响
绝对结合自由能 难度更高,收敛更慢

蛋白突变自由能是它相对突出的一块:预测某个残基突变后结合亲和力如何变化,对理解耐药突变、优化抗体亲和力有直接价值。

两种计算范式

  • 平衡态方法(HREX):在多个 λ 窗口做副本交换分子动力学,用 MBAR 估计自由能。收敛稳健,是默认选择。
  • 非平衡切换(NEQ):从平衡采样出发,快速把 λ 从 0 切到 1,记录做功,用 Crooks 涨落定理估计自由能差。优点是天然并行——可以把大量独立的短切换分发到集群,非常适合弹性算力环境。Perses 对这条路线支持得比较好。
from perses.app.relative_setup import RelativeFEPSetup
from perses.annihilation.relative import HybridTopologyFactory

# 构造炼金拓扑:把配体 A 映射到配体 B
setup = RelativeFEPSetup(
    ligand_input="ligands.sdf",
    old_ligand_index=0, new_ligand_index=1,
    protein_pdb_filename="protein.pdb",
    forcefield_files=["amber14/protein.ff14SB.xml", "amber14/tip3p.xml"],
    phases=["complex", "solvent"],
)
# 后续用 HybridTopologyFactory 生成混合体系并跑采样

原子映射是成败关键

炼金计算的核心是把分子 A「变形」成分子 B,这需要先建立两者的原子对应关系(atom mapping)。映射质量直接决定收敛难度:

  • 映射的公共部分越大、变化的原子越少,采样越容易收敛;
  • 环的开合、骨架跃迁类的大改动映射困难,误差大;
  • Perses 提供自动映射,但关键体系一定要人工检查映射是否合理——自动算法有时会给出化学上别扭的对应关系,导致结果不可靠却不报错。

怎么选:Perses 还是 OpenFE

  • 常规先导优化的 RBFE:选 OpenFE(见 201《OpenFE》),命令行工作流成熟、网络规划与结果汇总都是现成的。
  • 方法研究、定制炼金路径、非平衡切换:选 Perses,可改写性更强。
  • 蛋白突变自由能:Perses 支持更直接。
  • 两者共享 OpenMM / OpenFF 底座,切换成本不算高,也可以在同一项目里各取所需。

上手提示

  • 定位是研究型工具,生产用 RBFE 优先考虑 OpenFE;
  • 原子映射质量决定收敛,关键体系务必人工检查;
  • 非平衡切换天然并行,适合弹性算力;
  • 蛋白突变自由能是它较有特色的能力。

延伸资源