Chai-1(Chai Discovery,2024)与 Boltz-1 几乎同期发布,同样是 AlphaFold3 级的复合物预测模型。它的差异化在于更灵活的约束机制与对实验数据的整合能力。
能力概览
| 能力 | 说明 |
|---|---|
| 蛋白、DNA、RNA、小分子 | 统一建模 |
| 修饰残基与辅因子 | 支持 |
| 接触约束 | 指定残基对应该接近 |
| 口袋约束 | 指定配体的结合区域 |
| 无 MSA 模式 | 可以完全不用 MSA 运行 |
| 多次采样 | 输出多个候选结构 |
约束机制:把已知信息注入预测
# 这是 Chai-1 相对同类工作更强调的能力
#
# 可用的约束类型:
# contact: 两个残基(或残基与配体原子)应该接近
# pocket: 配体应结合在指定残基附近
# bond: 共价连接
#
# 实际价值:
# 很多时候我们【已经知道部分信息】:
# - 突变实验表明某残基对结合至关重要
# - 交联质谱给出了残基对的距离约束
# - 同源结构提示了结合位点
# - HDX-MS 指出了界面区域
# - 已知的药效团模式
#
# 把这些信息作为约束输入,
# 能显著提高预测质量 ——
# 尤其对模型本身不确定的体系
#
# 约束文件(CSV 格式):
# restraints.csv:
# chainA,res_idxA,chainB,res_idxB,connection_type,confidence,min_distance_angstrom,max_distance_angstrom
# A,123,B,1,contact,1.0,0.0,8.0
# A,145,B,1,contact,1.0,0.0,8.0
# 这个能力在实践中被低估:
# 纯从序列预测 vs 带实验约束预测,
# 后者的可靠性高得多
使用
pip install chai_lab
# 输入:FASTA 格式(用特殊的头部标记分子类型)
# input.fasta:
# >protein|name=chain_A
# MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQ
# >ligand|name=lig
# CC(=O)Nc1ccc(O)cc1
# >rna|name=rna_chain
# AUGCUAGCUAGC
from pathlib import Path
from chai_lab.chai1 import run_inference
output = run_inference(
fasta_file=Path("input.fasta"),
output_dir=Path("results/"),
num_trunk_recycles=3,
num_diffn_timesteps=200,
seed=42,
device="cuda:0",
use_esm_embeddings=True, # 用 ESM 表示替代 MSA
# constraint_path=Path("restraints.csv"), # 可选约束
)
# 输出:
# pred.model_idx_0.cif ... 多个候选结构
# scores.model_idx_0.npz 置信度(pTM、ipTM、pLDDT、PAE)
# 读取置信度
import numpy as np
scores = np.load("results/scores.model_idx_0.npz")
print("aggregate_score:", scores["aggregate_score"])
print("ptm:", scores["ptm"])
print("iptm:", scores["iptm"])
无 MSA 模式的意义
- 做法:用 ESM 蛋白语言模型的表示替代 MSA(原理见 116《ESMFold 论文精读》);
- 速度优势:省去 MSA 搜索这个最耗时的步骤,从数十分钟压缩到秒级;
- 准确度代价:对有深 MSA 的蛋白,无 MSA 模式的准确度明显下降;
- 适用场景:
- 批量筛选,需要极高吞吐;
- 序列敏感,不能发送到外部 MSA 服务器;
- 孤儿蛋白或人工设计蛋白,本来就没有 MSA;
- 快速迭代阶段,先粗看再精算。
- 建议:关键预测仍应用 MSA 模式,无 MSA 模式用于粗筛。
许可:需要仔细核对
# Chai-1 的许可情况比 Boltz 复杂
#
# 代码:Apache 2.0
# 权重:有单独的许可条款
#
# 关键点:
# - 学术与研究用途明确允许
# - 【商业用途需要核对具体条款】
# 不同版本的条款可能不同
# - 部分版本要求商用需联系 Chai Discovery
#
# 对比:
# Boltz-1/2: MIT,商用无任何限制(见 120、121)
# Chai-1: 需核对当前条款
# AlphaFold3: 明确禁止商业用途(见 113)
#
# 实践建议:
# 1) 在企业环境中使用前,让法务审阅当前的许可文本
# 2) 许可条款可能随版本变化 —— 每次升级都要重新确认
# 3) 如果只想避免这类不确定性,直接用 Boltz-2
#
# 这不是技术问题,但在产业环境中是实际的决策因素
Boltz 与 Chai 的选择
| 考量 | Boltz-2 | Chai-1 |
|---|---|---|
| 商用许可 | MIT,最省心 | 需核对条款 |
| 亲和力预测 | 有 | 无 |
| 约束灵活性 | 口袋 + 共价键 | 接触约束更灵活 |
| 无 MSA 模式 | 需自行处理 | 原生支持 |
| 输入格式 | YAML(结构化) | FASTA(简单) |
| 结构准确度 | 两者接近,各基准互有胜负 | |
实用建议:两个都装上,对关键体系都跑一遍。它们训练细节不同,结果一致时可信度显著提高;结果分歧时说明该体系本身难预测——这个交叉验证的价值超过纠结选哪一个。
使用中的共同注意事项
- 多次采样看一致性:单次预测不足以判断可靠性;
- 物理有效性检查:PoseBusters 必做(见 096《Binding Pose》);
- 与传统对接交叉验证:原理不同,一致性有判别价值;
- 置信度指标的正确解读:ipTM 看界面,pLDDT 看局部,PAE 看相对位置;
- 不预测亲和力(Chai-1):需要亲和力时用 Boltz-2 或 FEP。
关键要点
- 约束机制是它的差异化优势——能把突变实验、交联质谱等已知信息注入预测;
- 无 MSA 模式(用 ESM 表示)大幅提速,适合粗筛与敏感序列;
- 商用许可需要核对具体条款,且可能随版本变化;想省心用 Boltz-2;
- 最佳做法是两个都跑,用一致性判断可靠性。
延伸资源
- Boltz-1:120《Boltz-1 技术报告精读》;Boltz-2:121《Boltz-2 技术报告精读》;AlphaFold3:113《AlphaFold3 论文精读》;
- ESMFold:116《ESMFold 论文精读》;方法对比:346《比较 DiffDock、Vina、GNINA》。