OpenFE: 本地安装与第一个 RBFE 实战——15 家药企背书的开源自由能计算

OpenFE: 本地安装与第一个 RBFE 实战——15 家药企背书的开源自由能计算 欢迎关注我的博客Blockbuster-drug 的CSDN 博客主页专栏推荐《多肽性质预测模型实践》《开源蛋白结构预测》《蛋白生成》《开源多肽设计模型部署》《Agent智能体系列》摘要OpenFE 是 15 家药企背书的开源 RBFE 自由能计算工作流MIT 协议v1.12.0通过 mamba 一条命令即可完成安装。本文介绍其 CLI 三步走流程plan 规划配体网络、quickrun 执行模拟、gather 汇总结果全程无需编写 Python。作者在 RTX 3060 上实测一对完整 RBFE 边得到 ΔΔG 为 -1.16 kcal/mol方向与实验一致同时对比了 OpenFE 与 FEP、AMBER TI、MM/GBSA 的精度与适用场景并给出轨迹质检与选型建议。你要做 RBFE 自由能计算FEP 用不起、自己搭 GROMACS 管线又太重。OpenFE 是 15 家药企背书的开源工作流MITv1.12.0mamba 一条命令装好 500 包CLI 三步走从配体对到 ΔΔG。这篇给你安装正解不是 pip install openfe——那是同名特征工程库、CLI 实战、与其他方案的对比边界。你在 Linux 加一张消费级 GPU 上跑通第一个 RBFE排序能力与 FEP 持平。不是 pip install openfePyPI 上的 openfe 是特征工程库。正确姿势mamba create 一条命令500 包 / 5GB开箱即用。项目地址GitHub - OpenFreeEnergy/openfe: The Open Free Energy toolkit · GitHub | MIT 协议 | v1.12.02026-06一、OpenFE 是什么——30 秒版做先导化合物优化时你手里有 50 个类似物想知道哪个该优先合成。MM/GBSA 快分钟级但 RMSE 3-5 kcal/molFEP 准~1 kcal/mol但是 Schrödinger 商业 license。OpenFE 是开源替代MIT 协议、conda 一条命令安装、15 家药企联合基准评测验证——公共数据集 RMSE 1.71 kcal/mol排序能力与人工调优的 FEP 持平JCIM 2026。底层栈OpenMM 8.4MD 引擎 OpenFF Sage 2.2配体力场 Amber14SB蛋白力场 kartograf3D 原子映射 pymbarMBAR 分析。二、安装Latest release最新发布版可通过mamba、docker、single file installer三种方式安装。详见官方安装文档。mamba 一键安装推荐mamba create -n openfe_env -c conda-forge openfe -y mamba activate openfe_env实测500 个包、约 5 GB下载量大但过程丝滑。Development version如果想从main分支装开发版mamba env create -f environment.yml mamba activate openfe_env python -m pip install --no-deps .验证openfe test三、CLI 三步走——从配体到 ΔΔGOpenFE 的 RBFE 流程拆成三步 CLI 命令plan → quickrun → gather全程不用写 Python。以官方 TYK2 教程体系为例10 个配体 TYK2 蛋白数据来自 OpenFreeEnergy/ExampleNotebooks。3.1 获取教程数据openfe fetch rbfe-tutorial得到 4 个文件文件内容tyk2_ligands.sdf10 个配体ejm_31/42/43/46/47/48/50 jmc_23/27/28tyk2_protein.pdbTYK2 蛋白结构cli_tutorial.mdCLI 教程文档rbfe_python_tutorial.ipynbPython API 教程 notebook3.2 Step 1规划网络planopenfe plan-rbfe-network \ -M tyk2_ligands.sdf \ -p tyk2_protein.pdb \ -o network_setup/ \ --n-protocol-repeats 1 \ -n 4一条命令完成读配体从 SDF 读取 10 个分子生成部分电荷默认 AM1-BCC半经验量子化学计算原子映射默认用 kartograf3D 原子映射工具对每对配体生成映射并评分构建网络最小生成树网络平衡边冗余和总难度分输出目录network_setup/结构network_setup/ ├── ligand_network.graphml # 配体网络图可用 view-ligand-network 可视化 ├── network_setup.json # 规划配置 └── transformations/ # 每个 JSON 一条 alchemical leg ├── rbfe_lig_ejm_31_complex_lig_ejm_42_complex.json ├── rbfe_lig_ejm_31_solvent_lig_ejm_42_solvent.json └── ... # 复合物 leg 溶剂 leg 成对出现默认设置kartograf 映射 最小生成树网络 AM1-BCC 电荷 OpenFF Sage 2.2 力场 Amber14SB 蛋白力场 TIP3P 水 0.15 M NaCl 1.2 nm 溶剂 padding。全部可通过 YAML 配置文件自定义。可视化网络openfe view-ligand-network network_setup/ligand_network.graphml3.3 Step 2执行模拟quickrun每条 leg 单独运行openfe quickrun \ network_setup/transformations/rbfe_lig_ejm_31_solvent_lig_ejm_42_solvent.json \ -o results/rbfe_lig_ejm_31_solvent_lig_ejm_42_solvent.json \ -d results/rbfe_lig_ejm_31_solvent_lig_ejm_42_solvent/-o输出结果 JSON含 ΔG 估算 不确定度 运行元数据-d工作目录轨迹、checkpoint、日志一个完整 RBFE 复合物 leg 溶剂 leg。批量跑所有 leg生产环境用 HPC/SLURMfor file in network_setup/transformations/*.json; do relpath$(basename $file) dirpath${relpath%.json} for repeat in 1 2 3; do openfe quickrun $file \ -o results/repeat${repeat}/${relpath} \ -d results/repeat${repeat}/${dirpath} done done⚠️--n-protocol-repeats 1表示每次 quickrun 只跑 1 个重复。生产环境建议 ≥3 重复以估算不确定度。3.4 实测一对完整 RBFE 边RTX 3060 12GB本机i5-12500 / RTX 3060 12GB实测ejm_31 → ejm_46这条边协议均为默认11λ × 1 ns 平衡 5 ns 产出HREX replica exchange2.5 ps/iterationLeg体系规模ΔGkcal/mol实测耗时solvent leg~2,500 原子配体水盒22.53644 mincomplex leg37,062 原子TYK2配体水盒21.3787.7 h挂夜跑两条腿相减得到相对结合自由能ΔΔGbindΔGcomplex−ΔGsolvent21.378−22.536−1.16 kcal/molΔΔGbind​ΔGcomplex​−ΔGsolvent​21.378−22.536−1.16 kcal/mol解读ejm_46 比 ejm_31 结合强约 1.16 kcal/molRT ≈ 0.59 kcal/mol约 7 倍亲和力差与 TYK2 教程体系中 ejm_46 实验活性更高的趋势一致。两条注意上表为单 repeat±0.0 不是真实误差——生产环境 ≥3 repeats 才有 MBAR 不确定度complex leg 是性能大头~7.7 h/边37K 原子solvent leg 只占零头。一张消费级卡一天约能跑 2-3 条边18 条边的完整网络 × 3 repeats 建议丢 HPC3.5 Step 3汇总结果gatheropenfe gather results/ --report dg -o final_results.tsv输出 TSV 表每行一个配体的 ΔG 和不确定度ligand DG(MLE) (kcal/mol) uncertainty (kcal/mol) lig_ejm_31 -0.09 0.05 lig_ejm_42 0.70 0.10 lig_ejm_46 -0.98 0.05 lig_jmc_28 -1.25 0.08 ...上表为官方教程示例输出格式本机只跑了 1 条边 × 1 repeat未到 gather 步骤--report三种模式模式输出dg默认每个配体的绝对 ΔGMLE 估计 不确定度ddg每对配体的相对 ΔΔGraw每条 leg 的原始 ΔGvacuum/solvent/complex 分开3.6 MD 模拟可选除了 RBFEOpenFE 也能跑纯 MD预平衡或动力学观察。下面是本机端到端验证过的完整脚本TYK2 体系与 RBFE 教程数据同源 OpenFE PlainMDProtocol 端到端示例 体系: TYK2 配体 ejm_31 水 (0.15 M NaCl) 流程: 构建 → 参数 → 导出 JSON → (可选) Python 直跑 import pathlib from openff.units import unit from openfe import ( ChemicalSystem, NonTransformation, ProteinComponent, SmallMoleculeComponent, SolventComponent, ) from openfe.protocols.openmm_md.plain_md_methods import PlainMDProtocol ---------- 1. 定义体系 ---------- ligand SmallMoleculeComponent.from_sdf_file(ejm_31.sdf) # 含 3D 构象的 SDF protein ProteinComponent.from_pdb_file(tyk2_protein.pdb, nametyk2) solvent SolventComponent(ion_concentration0.15 * unit.molar) # 默认 TIP3P NaCl system ChemicalSystem({ligand: ligand, protein: protein, solvent: solvent}) ---------- 2. 参数设置 ---------- settings PlainMDProtocol.default_settings() 模拟时长教程用极短值快速验证生产改 0.1-1 ns equil 10-100 ns prod settings.simulation_settings.equilibration_length_nvt 0.005 * unit.nanosecond # 5 ps NVT settings.simulation_settings.equilibration_length 0.005 * unit.nanosecond # 5 ps NPT settings.simulation_settings.production_length 0.01 * unit.nanosecond # 10 ps prod settings.simulation_settings.minimization_steps 5000 计算平台与溶剂盒 settings.engine_settings.compute_platform CPU # 有 NVIDIA 卡改 CUDA settings.solvation_settings.solvent_padding 1.2 * unit.nanometer ---------- 3. 构建 NonTransformation 并导出 JSON ---------- protocol PlainMDProtocol(settingssettings) nontransformation NonTransformation( systemsystem, protocolprotocol, nametyk2_ejm31_md, ) out_dir pathlib.Path(md_input) out_dir.mkdir(exist_okTrue) json_path out_dir / f{nontransformation.name}.json nontransformation.to_json(json_path) print(f导出: {json_path})方式 ACLI 执行推荐与 RBFE 工作流统一openfe quickrun md_input/tyk2_ejm31_md.json \ -o results/tyk2_ejm31_md.json \ -d results/tyk2_ejm31_md/方式 BPython API 直跑适合 notebook 交互import gufe dag protocol.create(stateAsystem, stateBsystem, mappingNone) out pathlib.Path(md_workdir) dagres gufe.protocols.execute_DAG( dag, shared_basedirout, scratch_basedirout, keep_sharedTrue, # 保留输出文件默认执行完删除 n_retries1, )执行日志本机 CPU 实测极短验证参数INFO Minimizing systems INFO Running NVT equilibration for 1250 steps INFO Completed dynamics in 30.8 seconds INFO Running NPT equilibration for 1250 steps INFO Completed dynamics in 34.3 seconds INFO Running production phase for 2500 steps INFO Completed dynamics in 69.4 seconds输出文件每个 repeat 一套在shared_PlainMDSimulationUnit-*/下文件内容system.pdb完整溶剂化体系结构minimized.pdb最小化后结构equil_nvt.pdbNVT 平衡末结构equil_npt.pdbNPT 平衡末结构simulation.xtc生产轨迹simulation.logOpenMM 运行日志能量/温度/压力逐帧⚠️PATH 前置要求配体电荷默认走 AmberToolsantechamber/sqm必须在 conda env 激活状态下运行conda activate openfe_env否则报ToolkitUnavailableException: AmberTools is not available。CLIquickrun在 env 内正常工作不受影响。默认力场OpenFF Sage 2.2配体am1bcc 电荷 Amber14SB蛋白 TIP3P水 HMR 4 fs 步长 PME。settings.forcefield_settings/settings.integrator_settings可细调。3.7 轨迹质检RMSDimport mdtraj as md traj md.load(simulation.xtc, topequil_npt.pdb) ca traj.topology.select(protein and name CA) rmsd md.rmsd(traj, traj, 0, atom_indicesca) # 骨架 RMSD print(rmsd)本机实测1 ns 生产轨迹CPU指标值轨迹50 帧 × 4,750 原子水被默认剥掉只存蛋白配体离子时长 1.00 ns骨架 RMSD末帧0.141 nm后半段均值 0.129 nm最大 0.156 nmTYK2 这种刚性激酶全程骨架波动 1.3-1.6 Å 体系平衡良好无解折叠/塌陷迹象。⚠️ 如果 xtc 里只有 1 帧极短参数如 10 ps prod ÷ 4 fs 2,500 步 默认trajectory_write_interval只落 1 帧不是 bug。长跑自动多帧或调小settings.output_settings.trajectory_write_interval。⚠️ 1 ns 生产配 5 ps 平衡是偏短的常规 0.1-0.5 ns。从 RMSD 看 TYK2 晶体结构本身稳、没出问题跑 10-100 ns 长轨迹时记得把平衡也拉长。四、OpenFE vs 其他方案特性OpenFE RBFESchrödinger FEPAMBER TI (pmemd)MM/GBSA协议MIT 开源商业 license免费AmberTools免费精度RMSE1.7-2.4 kcal/mol1.1-1.3 kcal/mol~1.5 kcal/mol3-5 kcal/mol安装门槛低mamba 一条命令低GUI高手写 mdin低每对耗时5.8h/边L40S类似类似分钟级金属/膜蛋白❌ 不支持✅✅✅适用场景经典小分子 SAR 排序工业 lead opt力场定制/金属体系粗筛 top 1000选型建议经典小分子非金属/非共价/非膜蛋白首选 OpenFE开箱默认够用。有 Zn²⁺/膜蛋白/共价配体时走 AMBER TI。关键字OpenFE RBFE 自由能计算 开源工作流 mamba CLI ΔΔG 药企联盟 FEP五、总结OpenFE 是当前最平衡的开源 RBFE 方案——精度可接受、MIT 协议、15 家药企验证安装mamba create -n openfe_env -c conda-forge openfe一条命令500 包 / 5GB过程丝滑CLI 三步走plan-rbfe-network→quickrun→gather全程不写 Python端到端实测solvent leg 44 min complex leg 7.7 hRTX 3060一条完整边出 ΔΔG −1.16 kcal/mol方向与实验一致1 ns MD 骨架 RMSD 稳在 0.13-0.16 nm排序能力与 FEP 持平JCIM 2026绝对误差略高但差距在缩小不适合膜蛋白、金属酶、共价配体——这些用 AMBER TI