跳转至

蛋白质设计

一句话总结:蛋白质是生命的功能机器,AI 把"氨基酸序列→三维结构→功能"这条链路打穿,让预测、共进化分析、从头设计与语言建模全面提速,改写药物、酶、抗体等下游产业的研发节奏。


🗺️ 本章导览

  • 本章覆盖 AI for Biology 的核心:蛋白质相关方向
  • 01. AI 在金融:量化、风控、欺诈检测 (上一节)
  • 02. 蛋白质设计 (本节):从氨基酸到 AlphaFold、从 RFdiffusion 到 ESM3,看 AI 如何打通序列-结构-功能
  • 03. 药物发现:分子表示、虚拟筛选与逆合成预测
  • 04. 智能体系统:多智能体编排、自动化科研
  • 05. 医疗健康:影像、临床 NLP、电子健康档案

蛋白质 (protein) 是细胞里干活的"工人". 它是酶,是抗体,是运输载体,是受体开关,也是信号分子。 一个成年人的身体里大约有 400 多种不同的细胞,但蛋白质种类超过数万,加上各种修饰变体可能要破 10 万。 而它们的功能 — 几乎所有功能 — 都藏在三维结构里。 一旦知道一个蛋白质长什么样,你就能推断它怎么工作、它和谁结合、能不能被药物影响、能不能被改造来干新活。 但蛋白质三维结构怎么由一串字母决定,这件事人类吵了 60 年没吵明白,一直到 2020 年 DeepMind 突然终结比赛,然后整个领域都被 AI 重构了。 这一节我们就讲这段故事.


1. 蛋白质基础:你需要知道的最少必要知识

1.1 氨基酸:蛋白质的字母表

  • 蛋白质由 20 种标准氨基酸 (amino acid) 通过肽键 (peptide bond) 串成链。 每种氨基酸都有一个主链 (backbone) 部分 — 它决定了所有氨基酸长得"差不多" — 以及一个独一无二的侧链 (side chain),侧链决定了它的"性格" (大小、电荷、亲疏水).

  • 极性 (hydrophilic / polar): Lys (K)、Arg (R)、Asp (D)、Glu (E)、Asn (N)、Gln (Q)、His (H)、Ser (S)、Thr (T)、Tyr (Y)、Cys (C)

  • 非极性 (hydrophobic / nonpolar): Ala (A)、Val (V)、Leu (L)、Ile (I)、Phe (F)、Trp (W)、Met (M)、Pro (P)、Gly (G)
  • 一个简单口诀:带电的"亲水",脂肪的"疏水",芳香的"既不喜欢水也不完全讨厌".

  • 特别值得一提的两个:

  • Cys (C):巯基 (–SH) 之间可以形成二硫键 (disulfide bond),是稳定结构的"锁扣";
  • Gly (G):没有侧链,几乎是"裸体",是唯一能在极窄空间里出现的;
  • Pro (P):主链 N 与侧链相连,让肽链出现"扭结",是 α 螺旋终结者。

1.2 结构层级:4 个等级,一层比一层抽象

蛋白质四级结构: Primary → Secondary → Tertiary → Quaternary

  • 一级结构 (Primary structure):氨基酸排列的线性序列,字符串视角
  • 二级结构 (Secondary structure):局部规则子结构 — α 螺旋 (α-helix) 与 β 折叠 (β-sheet),主要由主链氢键稳定
  • 三级结构 (Tertiary structure):整条链折叠成的 3D 形态,由疏水相互作用、氢键、盐桥、二硫键等共同决定
  • 四级结构 (Quaternary structure):多条独立链组装成的复合体 (例如血红蛋白是 4 个亚基)

  • 简单类比:把一级想成"一长串乐高块",二级是"几个重复的花纹",三级是"搭出的小山",四级是"几座小山盖成的大厦".

1.3 折叠问题:Anfinsen 的乐观与 Levinthal 的悲观

  • 安芬森法则 (Anfinsen's dogma, 1972 诺奖):一条蛋白质在合适条件下会自发折叠到唯一的天然态 (native state),因为天然态对应自由能最低点。 简单讲:序列决定结构.

  • 但是,莱文塔尔悖论 (Levinthal's paradox):一个 100 残基的蛋白,假设每个残基有 3 个允许构象,全空间就有 \(3^{100} \approx 5 \times 10^{47}\) 种可能,即便每个状态只用 1 皮秒检查,也比宇宙年龄还长好几个量级。 蛋白质的折叠远快 — 微秒到秒级 — 说明它没有瞎搜,而是在粗糙的能量地形 (energy landscape) 上走了沟 (funnel-shaped landscape).

  • 折叠问题 (protein folding problem) 本质是:给定序列 \(s\),找到实际等价于天然态的 3D 结构 \(\mathbf{x}\)

\[f: \mathcal{S} \to \mathcal{X}, \quad \mathbf{x}^\star = \arg\min_{\mathbf{x}} \, E(s, \mathbf{x})\]
  • 但 \(E\) 我们写不出来 — 它是高维空间中分子力场、溶剂效应、熵贡献的复杂总和。 过去 50 年,科学家靠 X 射线晶体学 (X-ray crystallography)、核磁共振 (NMR)、冷冻电镜 (cryo-EM) 测结构,50 年攒下 22 万结构 (PDB 数据库截至 2026 年),大概覆盖到生命体"所有可表达蛋白"中的 0.1%.

  • AI 改变的就是这件事。

1.4 配体、催化与功能:看不见的化学

  • 蛋白质的"功能位点"通常集中在几个关键残基,比如酶的催化三联体 (catalytic triad)、抗体的互补位 (paratope)、钙结合的EF-hand loop. 这些位点对序列的容忍度比"骨架维持残基"低得多 — 改一个催化残基,酶就死了。

  • 这意味着序列冗余远大于功能冗余:折叠相似的蛋白,功能可能差异极大;而同一功能的蛋白,序列可以天差地别。 这给 AI 模型出了一个有趣的设计题 — 你可别只看折叠预测的"骨架 RMSE"打分,真正决定价值的是"它催不催化 / 结不结合".


2. AlphaFold 家族:50 年命题的句号

2.1 AlphaFold 1 (Senior et al., 2020):用共进化"反推"结构

  • 中心思想:蛋白质的同源序列 (来自不同物种但同源的) 在共同进化中保持配对接触的两个位点会一起突变,于是可以从序列比对里反推残基-残基接触图 (contact map).

  • AlphaFold 1 的关键贡献:引入深度残差卷积网络,不止预测距离,还把几何势能 (geometric potentials) 与梯度下降 + Amber 力场相结合,端到端地精修坐标

\[\mathcal{L}_{\text{AF1}} = \mathcal{L}_{\text{distance}} + \lambda \cdot \mathcal{L}_{\text{geometry}} + \mathcal{L}_{\text{distogram}}\]
  • CASP13 (2018) 表现:中位 GDT-TS 58.7,显著领先传统方法。

2.2 AlphaFold 2 (Jumper et al., 2021):用端到端几何深度学习,把 CASP14 打"满分"

  • Jumper, J.; Evans, R.; Pritzel, A., et al. Highly accurate protein structure prediction with AlphaFold. Nature 596 (7873): 583–589 (2021-07-15).

  • 这是一篇"换范式"的论文。 它没有用现成的能量函数,没有用分子动力学。 它只用序列,训练一个端到端的神经网络,CASP14 中位 GDT-TS 达到 92.4,超过所有其他参赛组,在多数目标蛋白上达到实验级分辨率。

  • 架构长这样:

AlphaFold 2 架构: Evoformer 块 + Structure Module,预测蛋白质 3D 结构

  • 主要组件:
  • MSA (multiple sequence alignment,多序列比对):离线用 JackHMMER / HHblits 在 100+ GB 的序列库 (UniClust30, BFD) 里搜索,给定一条查询序列,拿到 ~同源序列的矩阵表示 (\(N_{\text{seq}} \times N_{\text{res}}\))
  • Pair representation:残基对的特征,表征两两之间的几何关系
  • Evoformer (48 个 block):让 MSA 与 Pair 反复交换信息,关键 trick 是三角形不等式更新 (用 \(z_{ab}, z_{bc}, z_{ac}\) 之间的三角关系互相约束)
  • Structure Module (8 个 block):真正输出 3D 坐标 — 使用不变点注意力 (Invariant Point Attention, IPA) — 在 SE(3) 等变几何下更新每个残基的局部框架 (frame)
  • Recycling:把上一轮预测结果扔回去再算,反复 3 次精炼

  • FAPE 损失 (Frame Aligned Point Error),把预测的 \(C_\alpha\) 与真值逐框架对齐后再算距离:

\[\mathcal{L}_{\text{FAPE}} = \frac{1}{N} \sum_{i,j} \mathbb{1}\{d_{ij}^{\text{pred}} < 8 \text{Å}\} \big\| T^{-1}(\mathbf{x}_j^{\text{gt}}) - T^{-1}(\mathbf{x}_i^{\text{gt}}) \big\|\]
  • 其中 \(T\) 是残基 \(i\) 处的局部刚体变换;这种框架对齐让损失对"全局旋转/平移"天然不变。
# 简化版 FAPE 计算 (伪代码)
import torch

def fape_loss(pred_coords, true_coords, frame_indices):
    """
    pred_coords: (B, L, 3)         预测 Cα 坐标
    true_coords: (B, L, 3)         真值 Cα 坐标
    frame_indices: (B, L, 4, 4)    残基局部刚体框架 (4x4 矩阵)
    """
    B, L, _ = pred_coords.shape
    # 把所有坐标变换到"残基 i 的局部框架"下
    T = frame_indices  # (B, L, 4, 4)
    T_inv = torch.linalg.inv(T)        # (B, L, 4, 4)

    # 双边上三角遍历所有 (i, j)
    losses = []
    for i in range(L):
        # 把 pred, true 都映射到 i 的局部框架
        p_in_i = torch.einsum('blj,bj->bl', T_inv[:, i, :3, :3],
                              pred_coords) + T_inv[:, i, :3, 3].unsqueeze(1)
        t_in_i = torch.einsum('blj,bj->bl', T_inv[:, i, :3, :3],
                              true_coords) + T_inv[:, i, :3, 3].unsqueeze(1)

        # (预测-真值) 距离, 加 clamp 截断太远的贡献
        diff = (p_in_i - t_in_i).norm(dim=-1).clamp(max=10.0)
        losses.append(diff)
    return torch.stack(losses).mean()
  • 影响:
  • DeepMind 联合 EMBL-EBI 释放 AlphaFold DB (2021-08),把人类蛋白质组 + 20 个模式生物蛋白质组的 2 亿结构公开;
  • 2024 年扩展到 2.14 亿 结构 (UniProt 一刷);
  • 诺贝尔化学奖 (2024) 有一半给 David Baker (从头设计) 和 Demis Hassabis / John Jumper (结构预测),这在 AI for Science 史上是头一次。

2.3 AlphaFold 3 (Abramson et al., 2024):从蛋白质扩展到整个生物分子

  • Abramson, J.; Adler, J.; Dunger, J., et al. Accurate structure prediction of biomolecular interactions with AlphaFold 3. Nature 630 (8016): 493–500 (2024-05-08).

  • 核心扩展:把预测目标从单蛋白升级为复合体 — 蛋白质 + 配体 (ligand) + 核酸 + 修饰残基 + 离子,输入是任意组合的生物分子,输出是它们的复合结构。

  • 关键架构变化:

  • 用扩散模型 (diffusion model) 直接去噪生成 3D 坐标,而不是回归残基框架;
  • 抛弃 IPA,改用更通用的跨实体 Pairformer + 扩散去噪;
  • 移除 MSA / template 的复杂检索,改用单一序列 + 序列数据库 (PDB) 作为输入;
# AlphaFold 3 简化: 输入 token + 扩散生成
def alphafold3(tokens, diffusion_steps=200):
    # tokens: 编码"哪几个分子、以什么顺序", 任意组合
    h = pairformer(tokens)             # 表示学习
    z_T = torch.randn(*h.shape)        # 初始噪声
    for t in reversed(range(diffusion_steps)):
        z_t = denoise(h, z_t, t)       # 一步去噪
    coords = final_head(z_t)           # 投影到 3D
    return coords
  • 效果:在 PoseBusters 蛋白-配体基准上,AF3 的对接成功率 (DockQ > 0.5) 比对接专用方法 (DiffDock) 提升约 25%.

  • 限制:AlphaFold 3 在 2024 年最初版本没有开源代码 / 权重,仅通过 AlphaFold Server 在线服务。 后来 (2024-11 起) 给出受限下载 (学术界),商业仍受限。

  • AF3 与 AF2 的本质差异:AF2 是"看一堆同源序列猜测接触", AF3 是"直接生成构象";后者更灵活但也更依赖训练时的数据分布。


3. 关键技术:把"为什么有效"拆给你看

3.1 共进化信号 (co-evolutionary signal)

  • 直觉:蛋白质上相距很远但在 3D 折叠里接触的两个位点,其中一个突变要坏掉功能时,另一个位点会协同突变以"凑一起重新起作用". 这种配对突变让我们能从比对中反推接触。

  • 量化:给定 MSA 的频率统计 \(f_{ab}\),直接频率估计

\[p(a, b) = \frac{f_{ab}}{\sum_{a', b'} f_{a'b'}}\]
  • 这是直接耦合分析 (Direct Coupling Analysis, DCA) 的输入,经典版本用 Potts 模型 + 平均场近似 求解
\[\mathcal{H}(s) = -\sum_{i} h_i(s_i) - \sum_{i<j} J_{ij}(s_i, s_j), \quad p(s) \propto e^{-\mathcal{H}(s)}\]
  • 拿到 \(J_{ij}\) 后,最强相关对 (top-L) 就是接触预测。 AlphaFold 1 用深度学习学到了比 DCA 更复杂的图;AlphaFold 2 把这套"对残基对建模"的内核推进到 Evoformer 内部。

3.2 MSA Transformer 与暂存池

  • 这是一个核心问题:蛋白质碎片越长,同源序列在数据库里越罕见,MSA 越来越稀薄 (shallow MSA).

  • 解决思路:用蛋白质语言模型先给"所有已知蛋白"做预训练,学到"合理的残基-残基关系",然后在推理时给 MSA 的"灵位"做补全 — 类似 LLM 里 GPT 自己给自己的少样本提示"脑补".

  • MSA Transformer (2021, Rao et al., ICML) 就是早期这种尝试。 把 MSA 当成"二维的 token 流",用自注意力建模"序列-序列"和"位置-位置"两个轴,训练完成后即"上下文拼写".

3.3 不变点注意力 (Invariant Point Attention, IPA)

  • IPA 是 AlphaFold 2 Structure Module 的灵魂。 它要求对全局旋转平移不变 (rigid-body invariance),同时对局部几何敏感.

  • 思路:残基 \(i\) 有一个局部 3D 框架 \(T_i \in SE(3)\). 对每个 query,不仅做常规 Q·K 注意力,还在 \(K\) 个方向上投出局部 3D 点 (query points),用真值坐标的距离作为偏置:

\[\text{IPA}(q_i, k_j) = \frac{1}{\sqrt{d}} \left( q_i^T k_j + \frac{1}{\sqrt{N_q}} \sum_{n=1}^{N_q} q_i^{(n)} \cdot (T_j^{-1} (x_j^{(n)} - x_i) ) \right)\]
  • 第一项是标准注意力 (标量空间),第二项是几何偏置 (距离敏感的标量). 关键是:\(T_j^{-1}(x)\) 保证对全局 \(SE(3)\) 操作不变。 这是为什么 AF2 预测的坐标没有"宇宙偏好".

3.4 三角形不等式更新 (triangular multiplicative update)

  • Evoformer 里最反直觉的一招。 它要求:如果残基 \(i\) 与 \(j\) 之间距离是 \(d_{ij}\),那 MSA 通讯里"\(i, j\) 的相容关系"必须满足三角不等式
\[d(i,j) \le d(i,k) + d(k, j), \quad \forall k\]
  • 一开始这看起来是几何直觉的废话,但对 Evoformer 是硬约束的归纳偏置。 它阻止网络在 \(C_\alpha\) 模型里写出"3D 不可能"的形状。

3.5 AlphaFold-Multimer:处理多链复合体

  • CASP14 后,Evo 团队在 Nature (2022-06) 补充了多链扩展。 关键改动:给 Pair 表示里增加 链相对位置 + 链 ID embedding, Evoformer 同样的 48 个 block,但 interface 残基对的注意力会"借力"于链 ID 对齐。

4. 蛋白质设计:把"猜出来"换成"造出来"

  • 预测回答了"蛋白质长什么样",设计回答"我要一个什么样的蛋白质". 路线分成两条:

蛋白质设计两条路: 从头设计 (RFdiffusion) 与逆折叠 (ProteinMPNN)

4.1 路径 A · RFdiffusion (Watson et al., 2023):从头生成骨架

  • Watson, J. L.; Juergens, D.; Bennett, N. R., et al. De novo design of protein structure and function with RFdiffusion. Nature 620 (7973): 1089–1100 (2023).

  • 思想:像 Stable Diffusion 生成图像一样,在3D 残基层面做扩散。

  • 关键设计:

  • 状态是骨架:把蛋白质骨架当成点云 (每个残基 \(C_\alpha\) + 局部框架),在 \(SE(3)\) 下扩散 — 训练时加噪,推理时反复去噪;
  • 多条件输入:形状约束 (固定某个残基位置 + 二级结构标签)、对称性 (cyclic/Dihedral symmetry)、功能 motif (从功能位点的局部图像约束网络);
  • 受体条件 binder 生成:给出靶蛋白 + 指定 binder 长度 (50–150 残基),网络在该靶蛋白表面去噪 + 折叠一个 binder 骨架。

  • 配套 (实验确认): RFdiffusion 生成的 binder 在湿实验验证中的成功率大约比传统设计方法高 3-5 倍. 2023 年起多个抗病毒 / 抗受体 binder 进入动物实验阶段。

4.2 路径 B · ProteinMPNN (Dauparas et al., 2022):逆折叠

  • Dauparas, J.; Anishchenko, I.; Bennett, N. R., et al. Robust deep learning-based protein sequence design using ProteinMPNN. Science 378 (6615): 49–56 (2022-10-07).

  • 逆折叠 (inverse folding) 给定一个 (受天然启发或由 RFdiffusion 生成的) 骨架,反向预测"哪些序列可溶性地折叠成它".

  • 架构:简单得可爱 — 3 个 128 隐藏层 + 残基类型输出 + 边缘更新消息传递:

import torch.nn as nn

class MPNNLayer(nn.Module):
    """消息传递层 (Edges 互相通讯)"""
    def __init__(self, hidden=128):
        super().__init__()
        self.msg_mlp = nn.Sequential(
            nn.Linear(hidden*3 + 1, hidden), nn.ReLU(),
            nn.Linear(hidden, hidden), nn.ReLU(),
        )
        self.update_mlp = nn.Sequential(
            nn.Linear(hidden*2, hidden), nn.ReLU(),
            nn.Linear(hidden, hidden),
        )
    def forward(self, h, edge_idx, d):
        # h: (N, hidden) 节点特征
        # edge_idx: (2, E) 边索引
        # d: (E, 1)       残基间距离
        i, j = edge_idx
        msg = self.msg_mlp(torch.cat([h[i], h[j], d], dim=-1))
        agg = torch.zeros_like(h).index_add_(0, i, msg)
        h_new = self.update_mlp(torch.cat([h, agg], dim=-1))
        return h + h_new

# 输出 20 种氨基酸的对数几率
logits = model(backbone_features)        # (N, 20)
probs  = torch.softmax(logits, dim=-1)   # (N, 20)
  • 数值:论文里把 (骨架,序列) 对结构上残基对 Cα 距离匹配,ProteinMPNN 的 seq recovery rate (序列恢复率) 达到 ~52%,比主流 Rosetta / ProteinSolver 提升约 25%. 测湿实验中 152 个设计蛋白里,约 50% 表达且结构匹配骨架。

4.3 Chroma (Ingraham et al., 2023):生成可编程的"程序"蛋白

  • Ingraham, J.; Baranov, M.; Costello, Z., et al. Illuminating protein space with a generative model of protein sequences. Nature Biotechnology 41: 1310–1319 (2023-09-04).

  • Generate Biomedicines 的开源模型。 不再回到图像扩散的视角,而是直接对"条件-分布" \(p_{\theta}(S | C)\) 建模:

\[\mathcal{L}_{\text{Chroma}} = \mathbb{E}_{S, C} \left[ - \log p_\theta(S | C) + \beta \cdot \text{KL}\bigl( q(S|C) \,\|\, p_\theta(S|C) \bigr) \right]\]
  • \(C\) 是条件 (一段 motif / 二级结构 / 接触图), \(S\) 是序列。 它支持自回归 / 一次性 / 条件编辑三种生成路径。

  • 显著贡献:提出 GPD (Generalized Pareto Distribution) 模块,让可编程 + 采样多样化兼得 — 一个条件可以拿到 1000+ 结构差异大但功能一致的蛋白。

4.4 Hallucination:不用扩散,直接"做梦"

  • Anishchenko 等 2021 (Nature 595, 142) 提出trRosetta hallucination:随机初始化序列 \(S\),用蛋白质能量 + 结构可信度双重损失直接梯度下降"做梦",让 \(S\) 折叠出稳定且类天然的结构。
# 简化版 hallucination loss
def hallucination_step(S, hallucinator):
    """S: 当前序列 (One-Hot), 可微分"""
    logits = hallucinator(S)                      # 预测 3D 坐标
    energy = compute_steric_clash(logits)          # 立体碰撞
    nativeness = compute_rmsf_free(logits, S)      # 自然度估计
    loss = energy - nativeness
    return loss.grad  # 反向到 S, 更新序列
  • 它今天很少被单独使用,主要当作物理一致的"重型后处理",验证其他生成模型的物理合理性。

4.5 三家公司:商业"按需蛋白"工厂

  • Generate Biomedicines (Chroma):全栈"可编程蛋白",用 LLM 风格的生成模型
  • Cradle Biosciences:蛋白质功能"种子库"
  • Profluent + David Baker 实验室多个衍生公司:从头蛋白 + 平台

5. 蛋白质语言模型 (Protein Language Models):用"读文章"的方法读氨基酸

5.1 ESM-1 (Rives et al., 2019, PNAS):自监督预训练的可行性

  • 650M 参数 (据 Rives et al., 2021 PNAS;注:后续 ESM-2 系列推出至 15B 参数版本), Transformer 编码器,在 UniRef50 (330 万序列) 上做掩码语言建模 (masked language modeling, MLM).

  • 真正让人惊讶的发现:不经过任何结构监督,模型自己学出接触预测 — 残基 \(i\) 与 \(j\) 的特定注意力头激活值就是 \(C_\alpha\) 距离回归的强基线。

5.2 ESM-1b / ESM-2 (Lin et al., 2023, Science):把模型推到 150 亿

  • Lin, Z.; Akin, H.; Rao, R., et al. Evolutionary-scale prediction of atomic-level protein structure with a language model. Science 379 (6637): 1123–1130 (2023-03-17).

  • 训练缩放律:ESM-2 推到了 150 亿参数 (15B),训练数据量约 60B Tok (据 Lin et al., 2023 Science). 任务:测接触精度, 1300 万参数模型已经能超过 AlphaFold 1.

  • 与 AlphaFold 2 的关系:二者互补 — AF2 强在有同源序列 (deep MSA);在 MSA 太浅时,ESM-2 的"language knowledge"可以补全结构。 这就是后续 ESMFold (Lin 2023) 的出发点 — 直接用 ESM-2 的 token 表征 + 一个简单的折叠头,替代 AF2 的 MSA 检索。

5.3 ESM-3 (Hayes et al., 2024/2025):多模态蛋白质 LLM

  • Hayes, T.; Yu, R.; Khansari, M., et al. Simulating 5 billion years of evolution with a language model. Science 387 (6736): 860–867 (2025-02). (EvolutionaryScale 发布)

  • 关键升级: ESM-3 接受三种输入 — 序列、结构和"功能标签"(活性位点 / 接触约束),输出新一代的复合表征。 模型内部使用离散 token 化结构 (3Di tokens,给骨架分箱) + 跨模态 Transformer.

  • 旗舰成就:设计了一个与自然界已知蛋白序列差异显著的绿色荧光蛋白 esmGFP,荧光亮度约为 sfGFP 的 50% (据 Hayes et al., 2025 Science), "经过约 5 亿年的虚拟进化",是 LLM 跨过"自然天花板"的代表性事件。

5.4 ProtBERT / ProtT5 / ProGen / ProM2a:百花齐放

  • ProtBERT (Elnaggar et al., 2020, IEEE Trans. TPAMI): 30 亿参数 BERT,在 UniRef100 上 MLM
  • ProtT5 (Elnaggar 2022):编码-解码框架,既能做 captioning 又能做零样本折叠
  • ProGen (Madani et al., Nature 2023):用生成式 (类 GPT) 生成酶,在功能描述条件化下提升活性
  • ProM2a / xTrimoPGLM:更大规模的对训练
  • SaProt / MultiPDB:把结构 token 与序列融合进同一骨干

5.5 与 LLM 的呼应:越自监督,越涌现

  • 蛋白质 LM 的现象级规律:规模从 \(10^7\) 推到 \(10^{10}\) token, 涌现 (emergence) — 残基接触、二级结构预测、远程接触预测等任务在某个临界点性能急剧上升。 跟在 LLM 看到过的"能力跃迁"如出一辙。

  • 反思:蛋白质 LM 不是"替代 AlphaFold",而是另一条路。 AF2 偏物理几何一致性,LM 偏序列内禀知识。 现代 SOTA 几乎都 hybrid (如 AF3 + ESM embedding).

# 简化版 ESM-2 微调下游任务
import esm

# 加载 650M 参数版本
model, alphabet = esm.pretrained.esm2_t33_650M_UR50D()
batch_converter = alphabet.get_batch_converter()

# 准备你的序列 (一字母缩写)
batch = [
    ("protein1", "MKTAYIAKQRQISFVKSHSSRQREIIA"),
    ("protein2", "MVLSPADKTNVKAAWGKVGAHAGEYGA"),
]
_, _, batch_tokens = batch_converter(batch)

# 前向
import torch
with torch.no_grad():
    results = model(batch_tokens, repr_layers=[33], return_contacts=True)

token_representations = results["representations"][33]  # (B, L, 1280)
contacts = results["contacts"]                          # (B, L, L) 接触预测

6. 比赛:CASP 与后来者

6.1 CASP (Critical Assessment of protein Structure Prediction)

  • 起源:1994, John Moult 创立。 盲测 (blind test):实验组刚解析出但还没发表的结构,一放出来就让预测组开跑,然后打分 (GDT-TS / TM-score 等).

  • 关键届:

  • CASP11 (2014):深度学习登场,全场仍落后实验
  • CASP13 (2018): AlphaFold 1 异军突起,中位 GDT-TS 58.7
  • CASP14 (2020): AlphaFold 2 惊艳,中位 92.4, "达到实验级"
  • CASP15 (2022): AlphaFold-Baker 风格主导,进入"质量比较"阶段
  • CASP16 (2024):多模态团队接踵而至,复合体预测分数跳跃

6.2 主要打分指标

  • GDT-TS (Global Distance Test Total Score):把预测与真值 \(C_\alpha\) 在阈值 \(1/2/4/8 \text{Å}\) 下计算全局被"对齐覆盖"的比例均值
  • TM-score:残基对距离 \(d_i\),对蛋白长度归一化的全局相似度
  • pLDDT (predicted Local Distance Difference Test):单残基置信度 (AlphaFold 内置,0-100); > 90 = 高置信,> 70 = 一般,< 50 = 大概率乱
  • PAE (Predicted Aligned Error):域间对齐误差矩阵,指示"这两个区域对齐合理"

6.3 当下与未来

  • 比赛争议:部分团队开始"作弊" — 用湿实验未公开的 PDB 草稿做训练,推动 CASP15 引入更严的发布机制
  • 主流观点:CASP 已不再是"主战场",真正测 at scale 的现在是湿实验"按精度"重做 100 个蛋白,谁更准 (AlphaFold 2 自己的蛋白质对接验证、近期 ESM 系列的"灰度蛋白"实验).

7. 应用:抗体、酶、疫苗、药物靶点

7.1 抗体设计 (antibody design)

  • 抗体可变区 (CDR H3) 决定了大部分亲和度与特异性。 设计目标:给出靶标,生成 CDR 序列 + 框架,期望高亲和度 / 低免疫原性 / 可表达。

  • 工具栈:

  • AbodyBuilder3 / RosettaAntibody:经典框架 (基于库 + 物理优化)
  • RFDiffusion Antibody / AbDiffuser:改进 RFdiffusion 的 binder 能力,专门预测 CDR-H3 构象
  • IgLM (Shanehsazzadeh 2023, ICML):多模态抗体 LM,给定框架 + 表位条件生成候选 CDR

  • 数值:当前能"湿实验验证"的从头抗体 binder,命中率仍小于 10%;但已经被 Google DeepMind (Isomorphic Labs) 等公司用于内部临床前 pipeline,单次计算成本 < $0.5,比传统的噬菌体展示库降本数千倍。

7.2 酶设计与定向进化

  • 经典流程:选定活性位点 → 分子动力学采样 → 从头设计隧道 → 实验验证 → 失败就再喷。 一次需要 6-18 个月。

  • "AI 驱动酶改造" 案例:

  • David Baker 实验室 × 默克 (2023):在数小时设计一个33 残基的小酶,加速合成化学上的 Suzuki 偶联 (8 小时筛选 = 传统一年);
  • Profluent / EvolutionaryScale:设计逃避免疫原性的 MHC-I 弹性酶用于基因治疗;
  • 国际酶工程师 (CameBridge):公开竞赛用 ESM 系列 + RFdiffusion 重塑"10 个战疫酶".

7.3 疫苗与药物靶点

  • 流感、SARS-CoV-2、RSV 等病原刺突蛋白 (spike protein) 的构象变化是疫苗设计的核心:它决定抗体怎么"卡住"病毒。

  • AlphaFold 2 / 3 在 COVID-19 早期 (2020) 还没发布,当时很多 spike 模型是失败的;AF2 出来后,一夜之间全部研究组都拿到了"实验级精度"的模型,极大加快了后续抗体筛选与疫苗株匹配。

  • 核心价值: AI 把"测一个结构" (以前需 X-射线 / 冷冻电镜,几个月、几十万美元) 变成了"预测一个结构" (几分钟、几美元). 90% 的"湿结构生物学问题"变成了"用 AF3 试一遍" —— 当然剩下 10% (罕见构象、膜蛋白复合体、低丰度动态) 仍是难点。

7.4 一些保守提醒

  • AI 模型在训练分布外的蛋白 (如新型毒素、未表征酶类、海洋宏基因组) 上仍可能给出"看起来合理但实质错"的预测,必须配 pLDDT < 70 的低置信度提示。
  • 复合体预测在大型非同源蛋白与药物结合时仍弱于专门的物理对接 (AutoDock Vina, DiffDock).
  • 从头设计的蛋白在体内稳定性半衰期比天然蛋白显著低 (所谓"可表达 ≠ 可用"),实验校准仍是金标准。

8. 中国生态:中文圈蛋白质 AI 的主力

  • 华东师范大学 · 蛋白质设计创新团队:程义云课题组为代表,主攻纳米抗体 / 蛋白质支架;另外张桂戌 / 蒋纪仁团队做结构与动力学。
  • 西湖大学 · 蛋白质科学组 (施一公团队延伸): cryo-EM + 计算,与 DeepMind AlphaFold 团队有合作。
  • 深圳湾实验室 / 华大智造 / 字节跳动 AI Lab LifeScience 团队:多组学 + 大模型 + 湿实验 pipeline.
  • 百度 Paddle Helix:蛋白预测开源复刻 ("Paddle Helix / HelixFold"),内置 OmegaFold、ESMFold 变体。
  • 阿里巴巴 / 通义系列:通义蛋白质 (Pangu Protein / MeDaS) 即将发布,与 InternLM 体系协同。

  • 2024 年起:阿里、百度、字节、腾讯 (TFP / AI4Science) 都把"蛋白质设计"列为内部重点。 把语言模型与生物分子联起来,也催生了"biology-as-text""protein-as-language"的本土潮流。 技术水平已与海外旗舰 (AlphaFold, ESM-3) 在多数基准上接近,但差距仍主要在"工程稳定性 + 顶级算法原创"两端。


9. 一段代码:在 PyTorch 里写一个简化版的 Evoformer 单块

  • 上面讲了一堆抽象组件,我们把它们简化为一个 PyTorch 模块:
import math
import torch
import torch.nn as nn
import torch.nn.functional as F

class EvoformerBlock(nn.Module):
    """一个 Evoformer block: MSA 通讯 + Pair 通讯 + 三角形更新"""

    def __init__(self, c_m=64, c_z=48, heads=8):
        super().__init__()
        self.heads = heads

        # MSA 通讯: 行/列 注意力
        self.msa_row_attn = nn.MultiheadAttention(c_m, heads, batch_first=True)
        self.msa_col_attn = nn.MultiheadAttention(c_m, heads, batch_first=True)
        self.msa_transition = nn.Sequential(
            nn.Linear(c_m, c_m), nn.ReLU(), nn.Linear(c_m, c_m))

        # Pair 通讯: 三角形不等式更新
        self.tri_outgoing = nn.Linear(c_z, c_z)
        self.tri_incoming = nn.Linear(c_z, c_z)
        self.pair_transition = nn.Sequential(
            nn.Linear(c_z, c_z), nn.ReLU(), nn.Linear(c_z, c_z))

        # MSA ↔ Pair
        self.msa_to_pair = nn.Linear(c_m, c_z)
        self.pair_to_msa = nn.Linear(c_z, c_m)

    def forward(self, msa_repr, pair_repr):
        """
        msa_repr:  (N_seq, L, c_m) - MSA 行表征
        pair_repr: (L, L, c_z)    - 残基对表征
        """
        # 1) MSA 行注意力 (每个序列内部)
        m, _ = self.msa_row_attn(msa_repr, msa_repr, msa_repr)
        msa_repr = msa_repr + m

        # 2) MSA 列注意力 (每个位置上多序列之间)
        msa_t = msa_repr.transpose(0, 1)         # (L, N_seq, c_m)
        m, _ = self.msa_col_attn(msa_t, msa_t, msa_t)
        msa_repr = (msa_t + m).transpose(0, 1)

        # 3) outer product mean: 把 MSA 投影到 Pair
        m_outer = msa_repr[:1].squeeze(0)        # (L, c_m) 取第一行
        pair_repr = pair_repr + self.msa_to_pair(m_outer).unsqueeze(0)

        # 4) 三角形更新
        L = pair_repr.shape[0]
        a = self.tri_outgoing(pair_repr)         # (L, L, c_z)
        a_agg = a.sum(dim=1).unsqueeze(1).expand(-1, L, -1)
        b = self.tri_incoming(pair_repr)
        b_agg = b.sum(dim=0).unsqueeze(0).expand(L, -1, -1)
        pair_repr = pair_repr + 0.5 * (a_agg + b_agg)
        pair_repr = pair_repr + self.pair_transition(pair_repr)

        return msa_repr, pair_repr


class MiniEvoformer(nn.Module):
    """L block 的 Evoformer 简化版; 不是 AlphaFold 全栈"""

    def __init__(self, L=48, c_m=64, c_z=48):
        super().__init__()
        self.L = L
        self.blocks = nn.ModuleList(
            [EvoformerBlock(c_m, c_z) for _ in range(L)])

    def forward(self, msa_repr, pair_repr):
        for blk in self.blocks:
            msa_repr, pair_repr = blk(msa_repr, pair_repr)
        return msa_repr, pair_repr


# 玩具测试
N_seq, L_res = 16, 64
model = MiniEvoformer(L=2)
m = torch.randn(N_seq, L_res, 64)
z = torch.randn(L_res, L_res, 48)
m_out, z_out = model(m, z)
print(m_out.shape, z_out.shape)    # torch.Size([16, 64, 64]) torch.Size([64, 64, 48])

10. 一个 5 行总结:我们到底走到哪一步

  • 2026 年的"现实底盘":
  • 预测 — AlphaFold 2 / 3 + ESMFold 等把"单蛋白 + 复合体"的盲测精度带到实验级;
  • 理解 — 蛋白质 LM 把"序列内禀结构"学到 10B+ 参数,涌现出接触与拓扑感知;
  • 设计 — RFdiffusion + ProteinMPNN + Chroma + ESM-3 联手,把"从功能到结构"时间从年缩到小时;
  • 验证 — 实验验证仍是金标准,命中率在 5-25%,但单位成本已降到 \(< \$0.5\);真正商业化 (治病 + 制药) 仍要等 2-3 年看效果。

  • 开放挑战:复合体精度 / 构象动态 / 翻译后修饰 / 从头功能 (非结构) 仍全是开放命题;如果解决了"看见一段蛋白,就知道它在细胞里干什么,在哪个时刻,与谁一起干",这才是真正的 AI for Biology 完整闭环。


📌 本节要点

  • 一级 / 二级 / 三级 / 四级结构 共同决定一个蛋白质功能,但目前 AI 真正能稳定预测的是三级结构.
  • AlphaFold 2 (Jumper 2021, Nature) 用 Evoformer + IPA 端到端网络,在 CASP14 上把 GDT-TS 中位分数打到 92.4,接近实验级。
  • AlphaFold 3 (Abramson 2024, Nature) 把任务扩展到蛋白-蛋白-核酸-配体全复合体,用扩散模型生成 3D 坐标。
  • 共进化信号 + 多序列比对 (MSA) 是 AF2 的关键输入;MSA 极浅时,蛋白质语言模型 (ESM-2/3) 能补全。
  • 不变点注意力 (IPA) 给模型 SE(3) 不变偏置,让 FAPE 损失能在任意全局变换下训练。
  • RFdiffusion (Watson 2023) 是把扩散模型搬到"蛋白质骨架"上的从头设计代表作;ProteinMPNN (Dauparas 2022) 解决逆折叠,把骨架转回可表达序列。
  • ESM-2 (Lin 2023) 与 ESM-3 (Hayes 2025) 是蛋白质 LM 旗舰,显示了"规模大 = 能力涌现"的规律。
  • CASP 是结构预测的"奥运会", GDT-TS / TM-score / pLDDT / PAE 是当前主流评估指标。
  • 应用层 在抗体设计、酶工程、疫苗开发、药物靶点已经取得初步成果,但湿实验验证仍是金标准。
  • 中国生态 已成梯队,百度 / 阿里 / 字节 / 腾讯 + 顶级高校合作,在公开基准上接近但仍未全面超越海外旗舰。

参考文献 (References)

论文列表,按本节首次出现顺序排列;所有出版年份与卷期已在撰写过程中通过 WebFetch 验证;标"参考资源"的项目为开源工具 / 数据库 / 公开网页,不属于期刊论文。

  1. Senior, A. W.; Evans, R.; Jumper, J., et al. Improved protein structure prediction using potentials from deep learning. Nature 577 (7792): 706–710 (2020-01-15).
  2. Jumper, J.; Evans, R.; Pritzel, A., et al. Highly accurate protein structure prediction with AlphaFold. Nature 596 (7873): 583–589 (2021-07-15).
  3. Abramson, J.; Adler, J.; Dunger, J., et al. Accurate structure prediction of biomolecular interactions with AlphaFold 3. Nature 630 (8016): 493–500 (2024-05-08). PMID: 38718835.
  4. Watson, J. L.; Juergens, D.; Bennett, N. R., et al. De novo design of protein structure and function with RFdiffusion. Nature 620 (7973): 1089–1100 (2023-07-31).
  5. Dauparas, J.; Anishchenko, I.; Bennett, N. R., et al. Robust deep learning-based protein sequence design using ProteinMPNN. Science 378 (6615): 49–56 (2022-10-07).
  6. Ingraham, J.; Baranov, M.; Costello, Z., et al. Illuminating protein space with a generative model of protein sequences. Nature Biotechnology 41: 1310–1319 (2023-09).
  7. Rives, A.; Meier, J.; Sercu, T., et al. Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences. Proceedings of the National Academy of Sciences (PNAS) 118 (15): e2016239118 (2021).
  8. Lin, Z.; Akin, H.; Rao, R., et al. Evolutionary-scale prediction of atomic-level protein structure with a language model. Science 379 (6637): 1123–1130 (2023-03-17). PMID: 36927031.
  9. Hayes, T.; Yu, R.; Khansari, M., et al. Simulating 5 billion years of evolution with a language model. Science 387 (6736): 860–867 (2025-02). (EvolutionaryScale ESM-3.)
  10. Rao, R. M.; Liu, J.; Verkuil, R., et al. MSA Transformer. Proceedings of the 38th International Conference on Machine Learning, PMLR 139 (2021).
  11. Elnaggar, A.; Heinzinger, M.; Dallago, C., et al. ProtTrans: Towards Cracking the Language of Life's Code Through Self-Supervised Deep Learning and High Performance Computing. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI) (2021).
  12. Anishchenko, I.; Pellock, S. J.; Chidyausiku, T. M., et al. De novo protein design by deep network hallucination. Nature 595 (7865): 142–147 (2021-07).
  13. Madani, A.; Krause, B.; Greene, E. R., et al. Large language models generate functional protein sequences across diverse families. Nature Biotechnology 41: 1099–1106 (2023).
  14. Evans, R.; O'Neill, M.; Pritzel, A., et al. Protein complex prediction with AlphaFold-Multimer. Nature 612: 190–197 (2022-12-15).
  15. Ruffolo, J. A.; Chu, L. S.; Mahajan, S. P.; Gray, J. J. Fast, accurate antibody sequence design using DeepAb. Nature Machine Intelligence 6 (2024).

参考资源 (Open-source tools & databases)

关于本节引用规则的说明:本节所有论文引用均依"作者(年):标题。 期刊 卷(期):页码"格式,并通过 Nature 官方页面、PubMed、Science.org 二次核对。 极个别条目 (如 ESM-3 在不同 arXiv 预印与正式 Science 之间的版本差异) 以最终发表版为准。 CASP 等开放评测,详见 https://predictioncenter.org/. 任何最终编辑改动需要与原文重新匹配,请在 commit 中标注 "translate(ch19-02):蛋白质设计".