当前位置: 首页 > news >正文

Boltz-2 生物分子相互作用与亲和力预测:从安装到首次预测的完整指南

Boltz-2 生物分子相互作用与亲和力预测:从安装到首次预测的完整指南

【免费下载链接】boltzOfficial repository for the Boltz biomolecular interaction models项目地址: https://gitcode.com/GitHub_Trending/bo/boltz

Boltz-2 是一个开源的生物分子相互作用预测模型,能同时输出蛋白质-配体复合物的三维结构和结合亲和力(log10 IC50)。它面向药物发现团队,把原本需要物理模拟算数天甚至数周的亲和力评估压缩到分钟级,代码与权重采用 MIT 协议,可自由用于学术和商业场景。对刚接触它的用户,本文给出一条最短路径:装好环境、跑通仓库自带的亲和力示例、看懂输出 JSON,再按需调参。

快速上手:3 步跑通首次预测

官方推荐用 PyPI 安装(pip install boltz[cuda] -U),也可以直接克隆仓库安装以获取每日更新。仓库自带examples/affinity.yaml示例,包含一条蛋白质序列、一个小分子 SMILES,以及properties中的affinity: binder: B配置,正好可以当首次运行的输入:

git clone https://gitcode.com/GitHub_Trending/bo/boltz cd boltz && pip install -e .[cuda] boltz predict examples/affinity.yaml --use_msa_server

环境要求 Python 3.10~3.12,建议配 NVIDIA GPU,CPU 模式明显更慢。首次运行会自动从 Hugging Face 下载模型权重,之后走本地缓存。

跑完后结果落在以输入文件命名的目录下:predictions/里有预测结构.cif(带 per-token pLDDT)、confidence_*.json(含 confidence_score、iptm、complex_plddt 等打分)、以及开启亲和力后的affinity_*.json。亲和力 JSON 里有两个关键字段:affinity_pred_value是 log10(IC50)(IC50 以 μM 计,数值越小结合越强,例如输出 0 对应 10⁻⁶ M),affinity_probability_binary是 0~1 的结合概率。前者用于比较已知活性分子之间的强弱,后者用于区分结合物与非结合物。换算提示:pIC50(kcal/mol) = (6 - y) × 1.364,y 为模型输出。

原理速览

Boltz-2 的核心架构是 ESM 风格的编码器加结构扩散模型。蛋白质序列和 MSA(多序列比对)先被编码成语义特征,配体则通过 CCD 数据库或 SMILES 解析成原子图特征,两者一起送入扩散过程逐步"去噪"出复合物的原子坐标。可以把 MSA 理解为进化的上下文:同家族蛋白哪些位置保守、哪些可变,直接暗示了结合口袋的形态,这也是为什么蛋白质输入默认要求提供 MSA。

亲和力预测挂在结构预测之上,但用了独立的输出头:一个头输出结合概率(二分类监督,训练目标是把 binder 和 decoy 分开),另一个头输出 log10(IC50) 回归值(目标是捕捉小结构改动引起的亲和力变化)。两个头训练数据不同、监督方式不同,官方建议分开使用,而不是混着解读。

结构预测部分 Boltz-2 把 AlphaFold3 的"注意力主干 + 扩散采样"流程做了开源化实现,默认 3 轮 recycling、200 步采样、1 个样本;需要更高精度时可以按 AlphaFold3 的标准配置加到 10 轮 recycling、25 个样本,代价是时间成倍增加。在 GPU 上 Boltz 还会调用 NVIDIA cuEquivariance 加速核,老卡上可关掉换稳定性。

实战场景:四种典型用法

场景一:化合物库虚拟筛选。输入一个目录,Boltz 会批量处理其中所有 YAML 文件,用affinity_probability_binary做过滤,按概率排序保留头部分子进入实验验证。筛选阶段只关心"是否结合",所以用概率值而不是回归值。

场景二:先导化合物优化。对同一靶点的 10~20 个结构类似物各跑一次预测,比较affinity_pred_value的相对变化来指导下一轮改造。注意该字段只在活性分子之间比较才有意义,不要拿它去筛 inactive。

场景三:已知结合口袋的结构预测。在 YAML 的constraints段加pocket约束,指定 binder 链和口袋残基编号(contacts用 [链ID, 残基序号] 列表),把预测限制在真实结合位点附近。参考仓库里的examples/pocket.yaml

场景四:大环/肽类分子筛选。加上--affinity_mw_correction对分子量做校正,避免大小分子之间因分子量差异不公平比较。配体硬上限 128 个重原子(RDKit RemoveHs 后),官方建议不要显著超过 56 个。

采样参数速查:

参数作用推荐值适用场景
--use_msa_server自动经 mmseqs2 服务器生成 MSA开启没有预先算好的 MSA 时
--diffusion_samples_affinity亲和力扩散采样次数5(刚性靶点)/ 10(柔性靶点)提高亲和力结果稳定性
--sampling_steps_affinity亲和力每样本扩散步数200默认即可,显存紧张时下调
--diffusion_samples结构预测采样数1(默认)/ 25(高精度)需要高置信结构时
--no_kernels禁用 cuEquivariance 加速核关闭老款 NVIDIA GPU 报错时

更多输入格式细节(模板、共价键、contact 约束、MSA 服务器鉴权)见 docs/prediction.md。

效果验证:benchmark 数字

官方在 FEP+、CASP16 等基准上报告了亲和力性能。FEP+ 4 targets 上 Boltz-2 的 Pearson 相关系数为 0.66,与 OpenFE 持平,高于 GAT(0.40)和 MM/PBSA(0.19),略低于参考方法 FEP+/ABFE(0.78/0.75);CASP16 上 Boltz-2 达到 0.65,高于 GAT 的 0.50 和 VncDeep 的 0.47。官方表述:Boltz-2 是首个逼近物理自由能微扰(FEP)精度、同时快约 1000 倍的深度学习模型,这正是"in silico 筛选可行"的关键。

结构预测方面(含 Boltz-1/2x 全家族),测试集 Intra-Protein lDDT 上 Boltz-2 为 0.86,与 AF3 的 0.87 基本持平;Physics Validity 上 Boltz-2 达 0.97,明显高于 AF3 的 0.39,说明预测结构的物理合理性更好。Ligand-Protein lDDT 上 Boltz-2 为 0.59,与 Boltz-1 一致,低于 AF3 的 0.75——配体口袋精度仍有提升空间,这是选型时需要知道的边界。

常见报错与参数避坑

Q:老 GPU 上报 cuEquivariance 相关错误?--no_kernels关闭加速核即可正常运行,速度略降。这是官方给出的标准解法。

Q:提示缺 MSA,但我没打算做 MSA?蛋白质输入默认要求 MSA。要么加--use_msa_server自动生成,要么在 YAML 里写msa: path/to/file.a3mmsa: empty(单序列模式)虽然支持但会降低精度,官方不建议。

Q:affinity_pred_value 和 probability_binary 用哪个?筛选活性分子用 probability(0~1,区分 binder/decoy);比较已知活性分子之间的亲和力强弱用 pred_value(log10 IC50,越小越强)。两者训练目标和监督信号不同,不要交叉解读。

Q:两次运行结果不一致?扩散采样本身带随机性。提高--diffusion_samples_affinity(如 5→10)可获得更稳的结果;另外注意输出目录默认复用缓存,改了参数重跑要加--override

Q:显存不够?下调--sampling_steps_affinity--max_parallel_samples,或减少并行设备--devices;CPU 只能当验证环境用,别用于批量任务。

总结

Boltz-2 把结构预测和亲和力预测整合进同一个开源模型,用 MIT 协议向社区开放,是早期药物发现里做 in silico 筛选和先导优化的实用工具。它的适用边界也很清楚:亲和力目前只支持小分子对蛋白质(对 RNA/DNA 靶点结果不可靠),配体建议不超过 56 个重原子,配体口袋精度尚不及头部闭源模型。选对场景、看对字段,它能把原来数周的评估流程压缩到一次下班前的等待时间。

【免费下载链接】boltzOfficial repository for the Boltz biomolecular interaction models项目地址: https://gitcode.com/GitHub_Trending/bo/boltz

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4181186.html

相关文章:

  • JavaScript面试核心考点与高频题型解析
  • Page Assist:看网页时随时问本地AI
  • AI智能体规划任务中的层间动态机制与鲁棒性优化实践
  • java sheduler Java Scheduler?别闹!固定翼无人机集群,分布式MPC才是真大佬,30秒队形稳如狗
  • Unity 架构深度解析:从 GameObject 到 ECS 的演进之路
  • DreamHand:利用视频扩散模型先验解决第一人称3D手部运动恢复难题
  • AI4AI-Bench:大语言模型算法设计与递归自我改进能力评估
  • 阿里Qwen-Image-3.0-Pro图像模型:从核心能力到本地部署与API调用实践
  • 对话式信息流:从算法推送到用户探索的技术变革
  • TrollStore 完整安装指南:三步把 IPA 永久装进 iOS,附避坑清单
  • raylib 完整入门指南:从零构建 2D/3D 游戏应用的 4 个核心能力
  • 记忆树引导关键帧查询:高效3D视觉问答的智能调度新范式
  • 中国开源AI模型实战:从本地部署到生产集成的完整指南
  • 大模型训练全流程拆解:从数据、算力到算法优化的实战指南
  • Meta开源Muse Spark 1.2与OpenCode:免费本地AI编程助手实战指南
  • 如何把 kkFileView 接入 KingbaseES:一份国产化文件预览与数据库备份落地指南
  • 如何用 LocoMuJoCo 从零搭建机器人模仿学习环境:完整上手指南
  • 如何用COLMAP把一批照片变成三维模型:三维重建快速上手
  • AT32F421F8P7国产MCU开发实战:从环境搭建到外设测试全解析
  • Notepad--文本编辑器:从安装到批量替换的15分钟上手教程
  • Android车载开发必学:CAN协议解析与实战集成
  • SIP协议通话转接:从REFER/Re-INVITE原理到STM32嵌入式实战
  • SenseVoice 语音识别:10 行代码跑通的多语言语音理解模型
  • 免费 LLM 接口防护实战:free-llm-api-resources 安全加固指南
  • Transformer架构在机器人动作生成中的应用:从原理到实战
  • 大语言模型工程化实战:从本地部署到智能体开发全流程指南
  • Pensieve 快速上手指南:4 条命令搭好本地屏幕记忆,找回你两周前看过的每一屏
  • MediaPipe GPU 加速实战:三步配通 OpenGL ES 与 CUDA,检测帧率翻倍
  • PowerShell 精简 Windows 11 镜像:tiny11builder 完整实操指南
  • Pro Git 2 多格式电子书一键构建完全指南:HTML、PDF、EPUB 全搞定