122

Chai-1 技术报告精读:多分子复合物预测的新路线

Chai-1 是另一条开放权重的 AF3 级路线。这篇讲清它的特点、约束功能与许可细节。

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;
  • 最佳做法是两个都跑,用一致性判断可靠性

延伸资源