课前准备--蛋白建模AlphaFold 2与AlphaFold 3

作者,Evil Genius
接下来为我们的生化小课,CADD计算机辅助药物设计分子对接/分子动力学做好准备,今天我们来学习一下最好的AI蛋白建模工具--AlphaFold 2与AlphaFold 3。
AlphaFold经历了三个版本,基本上大课题组做蛋白预测都用的这个。
至于蛋白结构预测为什么如此重要,这个我相信大家比我更清楚。
我们先来看看AlphaFold 2

可以把 AlphaFold 2(AF2) 理解成蛋白质结构预测领域一个非常重要的分水岭。它真正厉害的地方并不是简单地"输入氨基酸序列 → 输出三维结构",而是把**进化信息(MSA)+ 残基对关系(pair representation)+ 深度注意力网络(Evoformer)+ 几何约束(Invariant Point Attention)+ 迭代优化(recycling)**整合成了一个端到端结构预测系统。

AlphaFold 2 的核心论文发表于 2021 年 Nature,在 CASP14 中表现接近实验结构精度。

下面按照**"生物学问题 → 输入 → 网络 → Evoformer → Structure Module → Loss → Recycling → 输出 → 实际使用"**的顺序详细讲。


一、首先搞清楚:AlphaFold 2到底解决什么问题?

传统蛋白质结构预测的问题是:

已知氨基酸序列,如何预测蛋白质最终折叠成什么三维结构?

例如:

复制代码
MKTIIALSYIFCLVFADYKDDDDK...

AlphaFold 2希望得到:

复制代码
Residue 1  → x1,y1,z1
Residue 2  → x2,y2,z2
Residue 3  → x3,y3,z3
...
Residue N  → xN,yN,zN

最终形成:

复制代码
       α-helix
      /------\
     /        \
----/          \____
                 \
                  β-sheet

但这里有一个非常重要的概念:

AlphaFold 2不是通过物理模拟把蛋白质"折叠出来"的。

它不是:

复制代码
氨基酸
 ↓
分子动力学
 ↓
物理能量最低状态
 ↓
蛋白结构

而更接近:

复制代码
氨基酸序列
      +
进化信息
      ↓
深度神经网络
      ↓
残基之间应该是什么空间关系
      ↓
三维几何结构
      ↓
不断修正
      ↓
最终结构

这就是 AlphaFold 2 和传统 molecular dynamics / protein folding 方法最根本的区别。


二、AlphaFold 2最核心的思想:进化告诉"谁和谁应该靠近"

这是理解 AlphaFold 2 的第一关键。

假设一个蛋白质有:

复制代码
A B C D E F G H I J

如果在很多物种中发现:

复制代码
A ↔ G

这两个位置经常共同发生突变。

例如:

复制代码
物种1: A.....G
物种2: V.....D
物种3: I.....E
物种4: L.....K

说明:

A 和 G 可能存在结构上的相互作用。

因为如果两个残基在三维空间中接触,一个位置发生变化后,另一个位置可能也必须发生变化,以维持蛋白质结构稳定。

这就是:

co-evolution(协同进化)

因此:

复制代码
MSA
 ↓
co-evolution
 ↓
哪些 residue 可能互相接触
 ↓
空间结构约束

AlphaFold 2 最大的突破之一,就是让神经网络直接学习这种复杂关系,而不是人工计算一个简单的 covariance/contact map。论文明确指出,AlphaFold 2 将 MSA 和 pairwise features 联合编码,并通过 Evoformer 在两种表示之间反复交换信息。


三、AlphaFold 2整体架构

可以先记住这一张"总地图":

复制代码
                 Protein sequence
                       │
                       ↓
                ┌──────────────┐
                │   MSA搜索     │
                │ homologous    │
                │ sequences     │
                └──────┬───────┘
                       │
                       ↓
                ┌──────────────┐
                │ Template     │
                │ information   │
                └──────┬───────┘
                       │
                       ↓
          ┌─────────────────────────┐
          │       Input features    │
          └────────────┬────────────┘
                       │
                       ↓
             ┌──────────────────┐
             │    Evoformer     │
             │                  │
             │ MSA representation
             │        ↕         │
             │ Pair representation
             └────────┬─────────┘
                      │
                      ↓
             ┌──────────────────┐
             │ Structure Module │
             │                  │
             │ Invariant Point  │
             │ Attention (IPA)  │
             └────────┬─────────┘
                      │
                      ↓
             3D protein structure
                      │
                      ↓
                  Recycling
                      │
                      └──────→ 再进入网络

AlphaFold 2官方代码目前仍然提供完整的 inference pipeline,包括 monomer、Multimer 以及 v2.3.0 的实现。


四、第一步:输入到底是什么?

很多人以为:

AlphaFold 2输入就是 FASTA。

实际上真正进入神经网络的信息比 FASTA 丰富很多。

主要包括:

1. Protein sequence

例如:

复制代码
MKTIIALSYIFCLVFAD

长度:

复制代码
N_res = 17

2. MSA

例如:

复制代码
Query      MKTIIALSYIFCLVFAD
Species1   MKTIIALSYIFCLVFAD
Species2   MKTI--LSYIFCLIFAD
Species3   MKTIIAL-YIFCLVFAD
Species4   MKTVIALSYIFCLVFAD
...

可以表示成:

复制代码
N_seq × N_res

例如:

复制代码
5000 × 300

3. Template

如果数据库中存在结构相似的蛋白:

复制代码
PDB structure
      ↓
template
      ↓
提供:
距离
角度
残基对应关系
结构信息

但是非常重要:

AlphaFold 2并不依赖必须存在一个高度相似的 template。

这也是它相比传统 homology modeling 的重要优势之一。CASP14 中很多没有近似实验结构模板的蛋白仍然能获得很高质量预测。


五、MSA到底是什么?

MSA:

Multiple Sequence Alignment

假设你有一个蛋白:

复制代码
Protein A
M K T I I A L S Y I F C L V F A D

然后搜索数据库,发现很多同源蛋白:

复制代码
A  M K T I I A L S Y I F C L V F A D
B  M K T I I A L S Y I F C L V F A D
C  M K T V I A L S Y I F C L V F A D
D  M K T I I A L S Y I F C L I F A D
E  M K T I I A L S Y I F C L V F A E

于是形成:

复制代码
                 residue
                   ↓

       1 2 3 4 5 6 7 8 9...
       ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

seq1   M K T I I A L S Y
seq2   M K T I I A L S Y
seq3   M K T V I A L S Y
seq4   M K T I I A L S Y
seq5   M K T I I A L S Y

神经网络从这里面寻找:

复制代码
哪些位置保守?
哪些位置共同变化?
哪些位置可能空间接触?

六、AlphaFold 2的第一个核心:MSA Representation

AlphaFold 2会把 MSA 转化为一个高维 embedding。

假设:

复制代码
N_seq = 512
N_res = 300
c_m = 256

那么:

复制代码
MSA representation

512 × 300 × 256

可以理解成:

对每一个"序列 × residue"建立一个高维向量。

例如:

复制代码
MSA[sequence 20][residue 153]

→

[0.31, -0.72, 0.18, ...]

这些数字不具有简单的生物学解释,但网络会利用它们表示:

  • residue identity

  • conservation

  • evolutionary relationship

  • mutation patterns

  • sequence context


七、第二个核心:Pair Representation

这是 AlphaFold 2 最重要、也是最容易被初学者忽略的概念之一。

假设蛋白有:

复制代码
N = 300 residues

那么任意两个残基:

复制代码
(i,j)

都可以建立一个 pair。

例如:

复制代码
residue 10
     ↕
residue 200

因此有:

复制代码
300 × 300

个 residue pair。

Pair representation:

复制代码
N_res × N_res × c_z

例如:

复制代码
300 × 300 × 128

八、Pair representation代表什么?

可以把:

复制代码
Pair[i,j]

粗略理解为:

residue i 和 residue j 之间存在什么样的空间/进化关系?

例如:

复制代码
Pair[10,200]

可能逐渐学到:

复制代码
distance ≈ 8 Å

或者:

复制代码
可能接触

或者:

复制代码
orientation relationship

或者:

复制代码
β-sheet pairing

注意:

Pair representation不是简单的距离矩阵。

它是一个高维 latent representation。

最终网络可能从中预测:

复制代码
distance distribution

例如:

复制代码
distance between i,j

0-4 Å     0.02
4-6 Å     0.18
6-8 Å     0.53
8-10 Å    0.21
10-12 Å   0.05
>12 Å     0.01

九、为什么要同时存在 MSA 和 Pair?

这是 AlphaFold 2 的核心设计。

可以把:

MSA

理解为:

"从进化角度,这些残基之间有什么关系?"

而:

Pair

理解为:

"从结构角度,这两个残基之间应该有什么关系?"

二者互相帮助:

复制代码
MSA
 ↓
发现 co-evolution
 ↓
Pair
 ↓
发现空间关系
 ↓
反过来帮助 MSA理解
 ↓
进一步更新 Pair
 ↓
......

所以不是:

复制代码
MSA → Pair → structure

而是:

复制代码
MSA ⇄ Pair

不断交换信息。

这个过程就是:

Evoformer


十、Evoformer到底是什么?

Evoformer 是 AlphaFold 2 的核心 backbone。

可以简单理解成:

一个专门为"蛋白质进化信息 + 空间关系推理"设计的 Transformer。

论文中,AlphaFold 2 的 trunk 通过重复 Evoformer block,将 MSA representation 和 pair representation 不断更新。原始模型包含 48 个 Evoformer blocks。(Nature)


十一、Evoformer最重要的几个操作

理解 AlphaFold 2,至少要掌握:

  1. MSA attention

  2. Pair-biased attention

  3. Outer Product Mean

  4. Triangle Multiplicative Update

  5. Triangle Attention

其中:

Triangle Update 是 AlphaFold 2 非常关键的创新。


十二、为什么需要 Triangle Update?

假设:

复制代码
A
|\
| \
|  \
B---C

三个 residue:

复制代码
A
B
C

如果:

复制代码
A-B
B-C

的空间关系已经比较明确,那么:

复制代码
A-C

也不能随便。

这就是三角形约束。

蛋白质三维空间中的 pair relationships 必须相互一致。

例如:

复制代码
distance(A,B) = 5 Å
distance(B,C) = 5 Å

那么:

复制代码
distance(A,C)

不能是:

复制代码
100 Å

因此 AlphaFold 2 不只是看:

复制代码
Pair(A,B)

而是让:

复制代码
Pair(A,B)
Pair(B,C)
Pair(A,C)

互相约束。


十三、Triangle Multiplicative Update

假设:

复制代码
Z_ij

表示 residue i 和 j 的 pair representation。

网络可以利用:

复制代码
Z_ik
Z_kj

去更新:

复制代码
Z_ij

也就是:

复制代码
i -------- j
 \        /
  \      /
   \    /
      k

因此:

复制代码
i-k
+
k-j
↓
i-j

这就是 triangle multiplicative update 的核心思想。

它本质上在学习:

三个 residue 之间的几何一致性。

论文中明确将 triangle multiplicative update 和 triangle attention 作为 Evoformer 中 pair representation 的关键更新机制。


十四、Triangle Attention

另一类操作是:

复制代码
Triangle attention

可以理解成:

在考虑 residue pair 时,不只考虑 i 和 j,而是让第三个 residue k 参与判断。

因此:

复制代码
Pair(i,j)

的更新依赖:

复制代码
Pair(i,k)
Pair(k,j)

这使网络可以逐渐构建一个全局一致的三维结构。


十五、Outer Product Mean

这是:

复制代码
MSA → Pair

非常重要的一条信息通路。

MSA 中两个位置:

复制代码
i
j

在不同序列中共同发生变化。

网络通过 outer product 等操作把这种信息汇总:

复制代码
MSA information
       ↓
co-evolution information
       ↓
Pair representation

所以:

复制代码
MSA
 ↓
Outer Product Mean
 ↓
Pair

这就是把进化信息转换成结构信息的重要机制之一。


十六、Evoformer最终得到什么?

经过很多 Evoformer blocks 后:

复制代码
MSA representation
        +
Pair representation
        ↓
更加成熟的结构信息

然后进入:

Structure Module


十七、Structure Module是什么?

Evoformer主要解决:

"这个蛋白应该长什么样?"

Structure Module负责:

"把这个抽象的结构信息真正变成三维坐标。"

这是从:

复制代码
latent representation

到:

复制代码
3D coordinates

的关键一步。


十八、AlphaFold 2为什么不用直接预测xyz坐标?

这是一个非常重要的深度学习设计。

假设直接预测:

复制代码
Cα1 = (x1,y1,z1)
Cα2 = (x2,y2,z2)
...

存在一个问题:

如果把整个蛋白旋转:

复制代码
旋转前:

   protein
     ↓

旋转后:

      /
     /

蛋白质本身没有变化。

但是:

复制代码
x,y,z

全部变化。

因此神经网络如果直接预测绝对坐标,会遇到:

rotation / translation dependence


十九、AlphaFold 2采用Residue Frame

AlphaFold 2给每一个 residue 建立一个局部坐标系。

可以理解为:

复制代码
Residue i

        C
       /
      CA -------- N

每个 residue 有:

复制代码
Rotation R_i
Translation t_i

也就是一个刚体 frame:

复制代码
Frame_i = (R_i,t_i)

因此:

复制代码
residue
↓
local coordinate system

这样可以更加自然地描述蛋白质几何。


二十、Invariant Point Attention(IPA)

这是 AlphaFold 2 Structure Module 最关键的创新之一。

IPA:

Invariant Point Attention

它不是普通 Transformer attention。

普通 attention:

复制代码
Q · K

而 IPA 同时考虑:

复制代码
sequence features
+
pair features
+
3D geometric points

可以理解成:

复制代码
                    residue i
                       │
             ┌─────────┴─────────┐
             ↓                   ↓
       sequence information   3D geometry
             │                   │
             └─────────┬─────────┘
                       ↓
                     IPA
                       ↓
                更新 residue
                的空间位置

关键是:

无论你把整个蛋白质整体旋转还是平移,IPA得到的结果应该保持一致。

这叫:

invariance / equivariance

论文中指出,IPA通过在 residue local frame 中生成 query/key/value points,并通过坐标变换保证对全局旋转和平移的不变性。


二十一、为什么"几何等变"这么重要?

假设真实蛋白:

复制代码
        A
       /
      B
     /
    C

你把它旋转:

复制代码
        C
         \
          B
           \
            A

这两个结构其实完全一样。

所以神经网络应该知道:

复制代码
Structure 1
=
Structure 2

而不是认为:

复制代码
Structure 1 ≠ Structure 2

这就是几何深度学习里面非常重要的:

SE(3) invariance/equivariance

AlphaFold 2 的 Structure Module 正是利用这种思想处理三维结构。


二十二、Structure Module如何逐渐产生结构?

可以把它理解成:

复制代码
初始:

所有 residue
都没有明确位置

      ↓

Iteration 1

粗略形成:
α-helix
β-sheet
loop

      ↓

Iteration 2

调整:
residue-residue distance

      ↓

Iteration 3

调整:
backbone orientation

      ↓

Iteration 4

调整:
side-chain geometry

      ↓

最终结构

也就是说:

不是一步预测完成,而是不断 refinement。


二十三、Recycling:AlphaFold 2非常重要的机制

这是 AlphaFold 2 另一个关键创新。

普通网络:

复制代码
Input
 ↓
Network
 ↓
Output

AlphaFold 2:

复制代码
Input
 ↓
Evoformer
 ↓
Structure Module
 ↓
Structure
 ↓
再次进入网络
 ↓
进一步修正
 ↓
Structure
 ↓
再次进入
 ↓
...

这个过程叫:

Recycling


二十四、为什么 Recycling有效?

因为第一次预测可能是:

复制代码
大致正确

但是:

复制代码
helix A
helix B
loop C

之间的相对位置可能不正确。

第二轮可以根据第一次的结构:

复制代码
发现:
A-B距离不合理

↓
修正

B-C角度不合理

↓
修正

整体domain orientation不合理

↓
修正

最终:

复制代码
粗结构
 ↓
精结构
 ↓
更精细结构

AlphaFold 2 论文显示 recycling 对准确率有显著贡献,而且额外训练成本相对较小。


二十五、AlphaFold 2到底预测什么?

最终主要得到:

1. Backbone

复制代码
N
CA
C
O

2. Side chain

例如:

复制代码
ARG
LYS
ASP
GLU
TRP
TYR

每个 residue 的 side-chain χ angles。


3. 3D coordinates

最终输出类似:

复制代码
ATOM      1  N   ALA A   1 ...
ATOM      2  CA  ALA A   1 ...
ATOM      3  C   ALA A   1 ...
ATOM      4  O   ALA A   1 ...

最终可以生成:

复制代码
PDB

或者:

复制代码
mmCIF

二十六、AlphaFold 2如何判断自己预测得准不准?

这是实际科研中非常重要的问题。

AlphaFold 2不会只给你:

复制代码
structure.pdb

还会给:

复制代码
pLDDT
pTM
PAE

二十七、pLDDT

全称:

predicted Local Distance Difference Test

它衡量:

局部结构预测有多可靠。

通常可以粗略理解:

pLDDT 含义
>90 非常高
70--90 比较可靠
50--70 低可信
<50 很不可靠

例如:

复制代码
Residue

1    96
2    95
3    94
...
80   92
81   45
82   32
83   28

那么:

复制代码
1--80

可能是稳定结构域。

而:

复制代码
81--83

可能是:

复制代码
disordered region

二十八、pLDDT为什么重要?

例如你做:

复制代码
Molecular docking

发现 ligand docking site:

复制代码
pLDDT = 96

这是比较好的。

但是如果:

复制代码
binding site pLDDT = 42

那么直接拿这个结构做 docking 就需要非常谨慎。

因为:

AlphaFold 可能根本没有准确预测这个区域。

这和你之前问的 Vina → PyRosetta → MD 工作流非常相关。


二十九、PAE是什么?

PAE:

Predicted Aligned Error

它和 pLDDT 不一样。

pLDDT:

某一个 residue 本身准不准?

PAE:

两个区域之间的相对位置准不准?

例如一个蛋白:

复制代码
Domain A

Domain B

可能:

复制代码
Domain A内部:
pLDDT = 95

Domain B内部:
pLDDT = 93

但是:

复制代码
A ↔ B

相对位置不确定。

那么:

复制代码
PAE(A,B)

可能很高。


三十、这对于多结构域蛋白特别重要

例如:

复制代码
      Domain 1
   ┌───────────┐
   │           │
   └───────────┘
          \
           \
        linker
             \
        ┌───────────┐
        │ Domain 2  │
        └───────────┘

可能:

复制代码
Domain 1:高置信度
Domain 2:高置信度

Domain 1 ↔ Domain 2:
低置信度

这并不代表:

Domain 1 和 Domain 2 本身预测错了。

而可能代表:

两个 domain 的相对 orientation 不确定。

这是分析 AlphaFold 结构时非常容易误判的地方。


三十一、AlphaFold 2的Loss是什么?

如果想真正理解 AlphaFold 2 的深度学习机制,需要理解 loss。

最核心的结构损失之一:

FAPE

Frame Aligned Point Error

它不是简单:

复制代码
predicted xyz
-
true xyz

而是:

复制代码
预测结构
      ↓
在 residue local frame 下
      ↓
与真实结构比较

因此:

复制代码
整体旋转
整体平移

不会影响结构误差。


三十二、FAPE可以怎么理解?

假设:

复制代码
Predicted:

      A
     /
    B

真实:

复制代码
      A
     /
    B

即使整体旋转:

复制代码
Predicted:

A
 \
  B

从全局 xyz 看:

复制代码
xyz完全不同

但从 residue local frame 看:

复制代码
relative geometry

仍然可能完全正确。

因此 FAPE 更符合蛋白质结构的几何本质。

将 FAPE 作为主要结构训练损失之一,并通过多个 residue frames 对预测原子位置进行比较。


三十三、AlphaFold 2还使用哪些Loss?

不是只有 FAPE。

还包括:

Distogram loss

预测:

复制代码
residue i ↔ residue j

的距离分布。


MSA masked loss

类似 BERT:

复制代码
M K T I [MASK] A L

预测:

复制代码
I

帮助模型学习进化关系。


lDDT loss

预测局部结构准确度。


Side-chain loss

帮助预测:

复制代码
χ1
χ2
χ3
χ4

Structure violation loss

惩罚:

复制代码
bond length violation
bond angle violation
steric clash

等等。


三十四、AlphaFold 2为什么需要"自蒸馏"?

这是另一个很漂亮的设计。

PDB:

复制代码
有结构

但是:

复制代码
蛋白质序列数量
≫
实验结构数量

所以 DeepMind 先训练一个模型:

复制代码
PDB
 ↓
AlphaFold
 ↓
预测 350,000+ sequences

得到:

复制代码
sequence
+
predicted structure

然后筛选高置信度结构,用于再次训练。

也就是:

复制代码
实验结构
 ↓
初始AlphaFold
 ↓
大量预测结构
 ↓
高置信预测
 ↓
pseudo-label
 ↓
重新训练AlphaFold

这就是:

Self-distillation

论文报道这一过程可以显著提升模型性能。


三十五、AlphaFold 2的完整工作流

现在把整个系统串起来:

复制代码
             FASTA
               │
               ↓
       ┌────────────────┐
       │ MSA Search     │
       │ UniRef/BFD/... │
       └───────┬────────┘
               │
               ↓
              MSA
               │
               ├───────────────┐
               │               │
               ↓               ↓
        MSA representation   Templates
               │               │
               └───────┬───────┘
                       ↓
                 Evoformer
                       │
             ┌─────────┴─────────┐
             ↓                   ↓
          MSA repr             Pair repr
             ↑                   ↑
             └───────互相更新─────┘
                       │
                       ↓
                Structure Module
                       │
                       ↓
                  IPA + frames
                       │
                       ↓
                  3D structure
                       │
                       ↓
                   Recycling
                       │
                       └─────────────┐
                                     ↓
                                  Evoformer
                                     ↓
                                  Refinement
                                     ↓
                                  Structure

三十六、AlphaFold 2真正的"灵魂"是什么?

如果把整个 AlphaFold 2 压缩成几个核心概念,我认为最重要的是:

① MSA

告诉模型:

进化上哪些 residue 是相关的。

② Pair representation

告诉模型:

哪些 residue 可能存在空间关系。

③ Evoformer

解决:

如何让进化信息和空间信息相互推理。

④ Triangle update

解决:

三维空间中的几何一致性。

⑤ Structure Module

解决:

如何把抽象 representation 变成真正的 3D structure。

⑥ IPA

解决:

如何在三维空间中进行具有几何不变性的 attention。

⑦ Recycling

解决:

如何不断修正已经预测出来的结构。


三十七、AlphaFold 2和传统同源建模有什么区别?

可以这样比较:

方法 核心思想
Homology modeling 找相似结构模板
Threading 把序列套到已有 fold
Rosetta 搜索/优化构象
MD 根据物理力场模拟
AlphaFold 1 深度学习 + distance/contact
AlphaFold 2 MSA + Evoformer + geometric deep learning + end-to-end structure prediction

AlphaFold 2最大的突破就是:

不再把结构预测拆成很多人工步骤,而是让网络端到端学习从进化信息到三维结构之间的映射。


三十八、AlphaFold 2和Vina有什么关系?

这个非常值得掌握。

复制代码
PyRosetta
AutoDock Vina
GROMACS

可以把它们放在一个结构生物学工作流里:

复制代码
             Protein sequence
                    │
                    ↓
               AlphaFold 2
                    │
                    ↓
              Protein structure
                    │
             ┌──────┴───────┐
             ↓              ↓
        PyRosetta          Vina
             │              │
       structure       ligand docking
        refinement          │
             │              ↓
             └────────→ binding pose
                            │
                            ↓
                         MD
                       GROMACS
                            │
                            ↓
                 protein-ligand dynamics
                            │
                            ↓
                  MM/PBSA / interaction

所以:

AlphaFold 2负责"蛋白长什么样"。

Vina负责"配体可能怎么进去"。

PyRosetta可以做局部构象优化/结构设计。

GROMACS负责"这个复合物在动力学上是否稳定"。

这几个工具实际上是互补的。


三十九、但AlphaFold 2不是"万能结构预测器"

这一点尤其重要。

AlphaFold 2最擅长的是:

单个蛋白质相对稳定的天然结构。

但是它存在明显局限。

1. Intrinsically disordered regions

例如:

复制代码
p53

中的一些 intrinsically disordered region。

可能:

复制代码
pLDDT ↓

2. Domain orientation

两个 domain:

复制代码
Domain A
+
Domain B

可能分别预测很好,但:

复制代码
A-B相对位置

不确定。


3. Protein dynamics

AlphaFold主要预测:

一个代表性结构。

而不是完整的:

复制代码
conformational ensemble

也就是说:

复制代码
apo
active
inactive
intermediate

这些不同状态并不一定都能正确获得。


4. Ligand binding

经典 AlphaFold 2:

复制代码
主要针对 protein structure

并不是专门的:

复制代码
protein-ligand complex prediction

这也是后来 AlphaFold 3 非常重要的升级方向。


5. Protein-protein interaction

AlphaFold-Multimer可以做,但其稳定性和准确性与单体 AlphaFold 2 不完全相同。官方仓库也明确说明 Multimer 的实现与 monomer 系统存在稳定性差异。


四十、AlphaFold 2和AlphaFold 3最本质的区别

你之前已经开始学习 AlphaFold 3,这里正好串起来。

AlphaFold 2:

主要是:

复制代码
Protein
 ↓
Protein structure

核心:

复制代码
MSA
Evoformer
Structure Module
IPA

AlphaFold 3:

思路进一步扩展:

复制代码
Protein
DNA
RNA
Ligand
Ion
Modified residue
        ↓
Complex structure

因此:

复制代码
AF2
=
protein structure prediction

AF3
=
biomolecular complex structure prediction

这也是为什么 AlphaFold 3 不再简单沿用 AlphaFold 2 的结构模块,而采用了更加统一的 diffusion-based architecture。你前面看的 AlphaFold 3 论文中提到的 diffusion-based architecture,就是理解 AF3 的关键。


四十一、如果你要真正"学懂"AlphaFold 2,建议分成四个层次

考虑到你目前已经在学习:

复制代码
Python
PyRosetta
AutoDock Vina
GROMACS

我不建议你一开始就直接读 AlphaFold 2 全部源码。

应该这样学:

Level 1:生物学

先掌握:

复制代码
Protein sequence
↓
secondary structure
↓
tertiary structure
↓
domain
↓
protein folding

然后理解:

复制代码
MSA
homology
conservation
co-evolution
contact
distance

Level 2:深度学习

掌握:

复制代码
Transformer
Attention
Self-attention
Embedding
Encoder
Residual connection
LayerNorm

尤其是:

复制代码
Q
K
V

一定要彻底搞懂。


Level 3:结构生物学 + 几何深度学习

重点学习:

复制代码
Rotation
Translation
Rigid body
Coordinate system
Frame
SE(3)
Invariant
Equivariant
Quaternion
Rotation matrix

然后理解:

复制代码
IPA
FAPE

Level 4:AlphaFold源码

最后再进入:

复制代码
alphafold/
├── data/
├── model/
├── common/
├── protein/
├── residue_constants.py
├── run_alphafold.py
└── ...

官方仓库提供了 AlphaFold 2 inference pipeline 和相关模型实现。(GitHub)

AlphaFold 2 官方 GitHub 源码


四十二、真正需要记住的一张图

如果以后要向别人解释 AlphaFold 2,可以直接画:

复制代码
                    FASTA
                      │
                      ↓
              Homologous sequences
                      │
                      ↓
                     MSA
                      │
                      ↓
        ┌─────────────────────────┐
        │       Evoformer         │
        │                         │
        │   MSA representation    │
        │          ↕              │
        │   Pair representation   │
        │                         │
        │  Attention              │
        │  Outer Product          │
        │  Triangle Update        │
        │  Triangle Attention     │
        └────────────┬────────────┘
                     │
                     ↓
             Structure Module
                     │
                     ↓
          Invariant Point Attention
                     │
                     ↓
            Residue rigid frames
                     │
                     ↓
              3D coordinates
                     │
                     ↓
                  FAPE
                     │
                     ↓
                 Recycling
                     │
                     └──────→ 再预测

                     ↓
              Final structure
                     │
          ┌──────────┼──────────┐
          ↓          ↓          ↓
       pLDDT        PAE        pTM

一句话总结 AlphaFold 2:

AlphaFold 2不是简单地从氨基酸序列"猜"三维结构,而是首先利用MSA中的进化信息建立残基之间的关系,再通过Evoformer反复推理MSA与pair关系,利用Triangle Update建立三维几何一致性,最后通过具有几何等变性的Structure Module/IPA生成三维坐标,并通过recycling反复修正结构。 )

接下来真正进入 "AlphaFold 2源码级理解" ,最值得继续深入的是 Evoformer 的每一个模块到底怎么计算(MSA Row Attention、MSA Column Attention、Outer Product Mean、Triangle Multiplication、Triangle Attention)以及 Structure Module 中 IPA、FAPE、rigid frame 的数学公式。这部分弄懂之后,AlphaFold 2 的核心算法基本就真正吃透了(当然我是不行了)。

接下来我们看看AlphaFold 3

前面已经把 AlphaFold 2 的 MSA → Evoformer → Structure Module → IPA → Recycling 这条路线理解了一遍,所以这次讲 AlphaFold 3,重点放在:

AF3 相比 AF2 到底改了什么?为什么要改?Diffusion 是怎么工作的?Pairformer 是什么?为什么 AF3 能处理蛋白质--小分子、蛋白质--DNA/RNA、离子、修饰残基?

这也是理解 AF3 的关键。

AlphaFold 3 于 2024 年发表在 Nature 。它最大的变化不是简单地"AF2升级版",而是把预测目标从以蛋白质结构为中心,扩展到整个生物分子复合物,并把最终三维结构生成机制从 AF2 的 Structure Module 改成了 diffusion-based generative model


一、先用一句话理解 AlphaFold 3

如果 AlphaFold 2 可以概括为:

"根据蛋白质序列和进化信息,预测蛋白质三维结构。"

那么 AlphaFold 3 更接近:

"根据蛋白质、DNA、RNA、小分子、离子和修饰残基等输入,直接生成整个生物分子复合物的三维原子结构。"

也就是:

复制代码
AlphaFold 2

Protein sequence
       ↓
MSA
       ↓
Evoformer
       ↓
Structure Module
       ↓
Protein structure

而:

复制代码
AlphaFold 3

Protein
DNA
RNA
Ligand
Ion
Modified residue
       ↓
统一的分子表示
       ↓
Pairformer
       ↓
Diffusion module
       ↓
所有原子的3D坐标
       ↓
Biomolecular complex

这是 AF3 最重要的思想转变。论文明确指出,AF3 可以联合预测包含蛋白质、核酸、小分子、离子和修饰残基的复合物结构。


二、为什么 AlphaFold 2 不够?

这其实是理解 AF3 为什么出现的关键。

AF2 最擅长的是:

复制代码
Protein
   ↓
Protein structure

后来可以通过 AlphaFold-Multimer 做:

复制代码
Protein A
Protein B
   ↓
Protein-protein complex

但是生命体系远远不只有蛋白质。

例如:

蛋白质 + DNA

复制代码
Transcription factor
       +
       DNA

蛋白质 + RNA

复制代码
RNA-binding protein
       +
       RNA

蛋白质 + 小分子

复制代码
Protein
   +
ATP

或者:

复制代码
Kinase
 +
small molecule inhibitor

蛋白质 + 金属离子

复制代码
Protein
  +
Zn2+

抗体 + 抗原

复制代码
Antibody
   +
Antigen

糖基化蛋白

复制代码
Protein
  +
Glycan

这些都属于:

biomolecular interactions

而不是单纯的 protein folding。

所以 AF3 的目标发生了变化:

复制代码
AF2

Protein structure prediction
             ↓
       protein-centric

AF3

Biomolecular structure prediction
             ↓
       complex-centric

三、AF3到底能预测哪些东西?

AF3 的输入可以包括:

分子类型 AF3
Protein
DNA
RNA
Small molecule
Ion
Modified residue
Covalent modification 部分支持
Protein-protein
Protein-DNA
Protein-RNA
Protein-ligand
Antibody-antigen

论文报道 AF3 在 protein--ligand、protein--nucleic acid 和 antibody--antigen 等任务上,相比此前专门方法取得明显提升。


四、AF3最重要的变化:从"预测蛋白结构"变成"生成原子坐标"

这是 AF2 和 AF3 最本质的区别之一。

AF2 Structure Module 的思路是:

复制代码
residue representation
        ↓
residue frame
        ↓
side-chain torsion
        ↓
atom coordinates

也就是说 AF2 对蛋白质的表示高度依赖:

复制代码
amino acid
   ↓
backbone frame
   ↓
side-chain torsion

这对于蛋白质非常自然。

但如果你现在突然加入:

复制代码
ATP
DNA
RNA
Zn2+
small molecule
glycan

问题就来了。

这些分子没有统一的:

复制代码
protein residue frame
+
χ angles

所以 AF3 选择了一个非常大胆的方案:

不再专门为蛋白质设计坐标生成机制,而是直接预测整个体系的原子坐标。

论文明确指出,AF3 用 diffusion module 直接预测 raw atom coordinates,取代了 AF2 中基于 amino-acid-specific frames 和 side-chain torsion angles 的 Structure Module。


五、这就是 Diffusion 的核心作用

你可以先把 AF3 的 diffusion 理解成:

从一团随机噪声开始,逐渐把它"去噪"成一个合理的生物分子三维结构。

比如最终结构:

复制代码
Protein + Ligand

     Protein
   ███████████
  █████████████
       ●
       │
     Ligand

AF3 不直接:

复制代码
sequence
 ↓
xyz

而是:

复制代码
sequence + molecular information
          ↓
       structural representation
          ↓
   random 3D coordinates
          ↓
       denoising
          ↓
       denoising
          ↓
       denoising
          ↓
     final structure

这就是:

Diffusion-based structure generation


六、什么是Diffusion?

如果之前接触过 Stable Diffusion、图像生成,那么思想其实非常类似。

图像 diffusion:

复制代码
真实图片
  ↓
不断加噪
  ↓
纯噪声

训练网络学习:

复制代码
纯噪声
  ↓
去噪
  ↓
图片

AF3:

复制代码
真实蛋白质复合物结构
        ↓
      加噪声
        ↓
随机原子坐标

训练:

复制代码
带噪结构
   ↓
Diffusion network
   ↓
真实结构

推理时反过来:

复制代码
Random noise
     ↓
Denoising
     ↓
Denoising
     ↓
Denoising
     ↓
Denoising
     ↓
3D biomolecular complex

论文明确描述了这一过程:训练时给模型加入噪声的原子坐标,让模型预测真实坐标;推理时从随机噪声开始递归去噪得到最终结构。


七、为什么Diffusion特别适合AF3?

这里是一个非常深的原因。

假设:

复制代码
Protein + ligand

配体可能有很多合理构象:

复制代码
Pose 1
Pose 2
Pose 3
Pose 4

蛋白质也可能存在:

复制代码
Conformation A
Conformation B
Conformation C

所以真实问题并不是:

"唯一正确答案是什么?"

而是:

"给定这些分子,哪些三维结构是合理的?"

这本质上是一个:

多模态分布

问题。

Diffusion model 天然适合:

复制代码
P(structure | input)

也就是:

给定输入分子,生成可能的结构分布。

因此 AF3 可以通过不同 random seed 得到多个结构样本。


八、AF3的整体架构

可以先记住这一张图:

复制代码
                    Input
                      │
        ┌─────────────┼─────────────┐
        ↓             ↓             ↓
     Protein         DNA           RNA
        ↓             ↓             ↓
     MSA/template   sequence      sequence

        ┌─────────────┼─────────────┐
        ↓             ↓             ↓
      Ligand         Ion        Modification
        └─────────────┬─────────────┘
                      ↓
             Input representations
                      │
                      ↓
               Pairformer
                      │
             ┌────────┴────────┐
             ↓                 ↓
       Single representation  Pair representation
             │                 │
             └────────┬────────┘
                      ↓
             Diffusion Module
                      ↑
                noisy coordinates
                      │
              iterative denoising
                      │
                      ↓
              all-atom coordinates
                      │
                      ↓
             Biomolecular complex

AF3 的 Pairformer 有 48 个 block;论文给出的 pair representation channel 为 128、single representation channel 为 384。


九、AF3第一阶段:Input representation

AF3首先需要把各种分子统一转换成机器学习能够处理的 representation。

例如:

复制代码
Protein
DNA
RNA
Ligand
Ion

它们本身完全不同:

复制代码
Protein → amino acids

DNA → nucleotides

RNA → nucleotides

Ligand → arbitrary chemical graph

Ion → atom

AF3的一个重要思想就是:

把不同类型的生物分子放到统一的结构建模框架中。


十、Token:AF3非常重要的概念

AF3不像 AF2 那样简单地把:

复制代码
1 amino acid = 1 residue token

作为唯一核心。

AF3的 token 可以对应:

复制代码
protein residue
nucleotide
ligand atom

因此一个复杂体系可能:

复制代码
Protein
300 residues

DNA
30 nucleotides

Ligand
25 atoms

形成一个统一 token 序列。

可以粗略表示:

复制代码
P1 P2 P3 ... P300
D1 D2 ... D30
L1 L2 ... L25

所以:

复制代码
N_tokens

是 AF3 一个非常重要的计算规模指标。


十一、为什么Ligand需要特殊处理?

蛋白质的化学组成相对规则:

复制代码
20 amino acids

RNA:

复制代码
A U G C

DNA:

复制代码
A T G C

但是小分子:

复制代码
Ligand A
Ligand B
Ligand C
...

化学空间极其巨大。

例如:

复制代码
benzene
ATP
NAD
drug
cofactor
lipid
sugar

每个分子的:

复制代码
bond
atom type
charge
stereochemistry
ring
functional group

都可能不同。

所以 AF3 需要一个能够处理:

arbitrary chemical components

的结构生成框架。

这也是 diffusion 直接预测原子坐标非常重要的原因。论文特别强调这种设计能够更自然地处理复杂的 ligand 和其他化学组分。


十二、AF3的Pair Representation

这一点和 AF2 是有继承关系的。

AF2:

复制代码
residue i
    ↕
residue j

Pair(i,j)

AF3:

复制代码
token i
    ↕
token j

Pair(i,j)

所以 AF3 可以表达:

复制代码
Protein residue
      ↕
Ligand atom

也可以:

复制代码
DNA nucleotide
      ↕
Protein residue

甚至:

复制代码
Ligand atom
      ↕
Ligand atom

因此 AF3 的 pair representation 从:

residue-residue relationship

扩展成:

general molecular token-token relationship

这是非常重要的升级。


十三、AF3为什么叫Pairformer?

AF2:

复制代码
Evoformer

AF3:

复制代码
Pairformer

这是一个非常值得注意的变化。

AF2的核心是:

复制代码
MSA
  ↕
Pair

因此叫:

Evoformer

因为:

Evolutionary information + Transformer

而 AF3 的结构推理不再以 AF2 那种 MSA representation ↔ pair representation 的形式为核心。

它更强调:

复制代码
Single representation
        +
Pair representation

的迭代更新。

因此:

Pairformer

成为 AF3 的主要 trunk。


十四、AF2 vs AF3的一个核心变化

可以直接记:

复制代码
AF2

MSA
 ↓
Evoformer
 ↓
Pair
 ↓
Structure Module

而:

复制代码
AF3

Input features
 ↓
Pairformer
 ↓
Single + Pair
 ↓
Diffusion
 ↓
Atomic coordinates

也就是说:

AF3不是简单地把 AF2 的 Structure Module 换成 diffusion,而是整个结构表示和生成范式都发生了变化。


十五、AF3的Pairformer具体做什么?

Pairformer继续学习:

复制代码
token i
↔
token j

之间的关系。

例如:

复制代码
Protein residue 45
      ↕
Ligand atom 7

网络需要学习:

复制代码
是否接触?
距离可能是多少?
方向如何?
化学环境如何?

类似地:

复制代码
Protein residue 120
      ↕
DNA nucleotide 8

需要学习:

复制代码
是否形成 interface?
是否存在氢键?
空间关系?

所以 Pairformer 本质上是在建立:

整个复合物的关系图。


十六、可以把Pairformer理解成"分子关系推理器"

例如:

复制代码
             Protein
         /      |       \
        /       |        \
      DNA     Ligand     RNA
       \        |        /
        \       |       /
              Ion

Pairformer学习:

复制代码
Protein ↔ DNA
Protein ↔ Ligand
Protein ↔ RNA
Protein ↔ Ion
DNA ↔ RNA
Ligand ↔ Ion
...

最终得到一个:

复制代码
N × N

的关系矩阵。

因此 AF3 不再只是:

"蛋白质自己折叠成什么样?"

而是:

"整个分子系统中所有组成部分如何组织在一起?"


十七、AF3真正的核心:Diffusion Module

这是 AF3 最值得深入理解的地方。

Pairformer输出:

复制代码
single representation
+
pair representation

然后进入 diffusion。

同时:

复制代码
random/noisy coordinates

也输入 diffusion network。

于是:

复制代码
              Pairformer
                  │
          ┌───────┴───────┐
          ↓               ↓
       features      noisy coordinates
          │               │
          └───────┬───────┘
                  ↓
             Diffusion
                  ↓
            denoised coords
                  ↓
            denoised coords
                  ↓
            final coordinates

十八、Diffusion实际上在学习什么?

可以用一个数学表达:

复制代码
N个原子
每个原子3D坐标

也就是:

训练的时候给它加入噪声:

X_t

于是:

复制代码
真实结构 X0
    ↓
加噪声
    ↓
Xt

网络学习:

即:

根据当前 noisy structure + 分子信息,预测真实结构。


十九、为什么要从"噪声"开始?

因为这样模型就可以学习:

复制代码
什么结构是合理的

而不是死记:

复制代码
sequence → 唯一坐标

例如一个 ligand:

复制代码
      O
      |
C --- C --- N
    /
   C

可能存在多个合理构象。

Diffusion可以:

复制代码
seed 1
 ↓
pose A

seed 2
 ↓
pose B

seed 3
 ↓
pose C

因此:

AF3本质上具有生成模型属性。

论文也明确强调,diffusion训练过程能够产生结构分布,因此在模型不确定时可以产生不同答案。


二十、AF3的"多尺度"非常重要

这是论文中一个很漂亮的观点。

Diffusion中的不同噪声水平对应不同尺度的结构问题。


高噪声

结构非常乱:

复制代码
●     ●

   ●

       ●

模型主要需要学习:

复制代码
整体domain arrangement
protein-protein orientation
protein-ligand placement

也就是:

Global structure


低噪声

已经非常接近真实结构:

复制代码
Protein
████████
   ● ligand

此时需要修正:

复制代码
bond geometry
side-chain
local stereochemistry

即:

Local structure

论文明确指出,高噪声阶段更强调大尺度结构,低噪声阶段则更强调局部结构和立体化学。


二十一、这是AF3为什么能处理小分子的关键之一

传统蛋白结构预测可以使用:

复制代码
residue frame
+
torsion angle

但 ligand:

复制代码
C
C
N
O
S
P
...

化学结构非常复杂。

如果强行建立:

复制代码
ligand-specific torsion system

会非常麻烦。

AF3直接:

复制代码
atom 1 → xyz
atom 2 → xyz
atom 3 → xyz
...

然后通过 diffusion 学习合理的几何结构。

因此:

复制代码
Protein
DNA
RNA
Ligand
Ion
Glycan

都可以进入同一个坐标生成框架。


二十二、AF3为什么不再像AF2一样强调IPA?

这是一个非常重要的区别。

AF2:

复制代码
Structure Module
        ↓
IPA
        ↓
rigid frames
        ↓
coordinates

AF3:

复制代码
Pairformer
        ↓
Diffusion
        ↓
atomic coordinates

论文特别指出,AF3的 diffusion 架构不需要 AF2 那种针对全局旋转和平移的特殊 invariance/equivariance 设计,因此省去了相应架构复杂性。

这是一个很大的架构变化。


二十三、为什么AF3可以去掉很多structure violation loss?

AF2需要专门处理:

复制代码
bond length
bond angle
steric clash
chirality

因此有:

复制代码
violation loss

帮助网络产生化学合理的蛋白结构。

AF3 diffusion:

复制代码
high noise
 ↓
global structure
 ↓
low noise
 ↓
local geometry

模型在低噪声阶段直接学习:

复制代码
bond geometry
stereochemistry
local structure

因此不再需要 AF2 那种大量专门的 stereochemical violation handling。论文明确提到这一点。


二十四、AF3和Vina的关系:这对你特别重要

你之前一直在学习:

复制代码
AutoDock Vina
PyRosetta
GROMACS

现在可以看到一个很重要的变化。

传统工作流:

复制代码
Protein structure
       ↓
Vina
       ↓
Ligand docking

也就是:

蛋白质先固定,再寻找 ligand pose。

而 AF3:

复制代码
Protein
+
Ligand
 ↓
Joint structure prediction
 ↓
Protein-ligand complex

也就是说:

蛋白质和 ligand 的空间关系可以联合预测。

论文报告 AF3 在蛋白质--配体相互作用预测上明显优于其比较的传统 docking 方法。


二十五、但是:AF3 ≠ Vina升级版

这个一定不要混淆。

Vina的任务:

复制代码
给定protein
+
给定ligand

搜索binding pose

重点:

复制代码
docking
scoring
binding mode

AF3:

复制代码
protein
+
ligand
+
biomolecular context

→
joint structure generation

重点:

复制代码
structure prediction

因此:

复制代码
AF3
≠
Vina

更合理的理解是:

复制代码
AF3
   ↓
预测可能complex结构
   ↓
Vina/其他docking
   ↓
进一步搜索/验证
   ↓
MD
   ↓
动力学验证

不同任务可以互补。


二十六、AF3为什么在Protein-Ligand上提升这么明显?

可以把原因概括成:

AF2思路

复制代码
protein structure
       ↓
固定protein
       ↓
docking ligand

AF3

复制代码
protein
+
ligand
+
chemical features
       ↓
joint representation
       ↓
joint diffusion
       ↓
protein-ligand complex

也就是说:

ligand不再是"结构预测之后再加进去"的东西,而是整个结构生成过程的一部分。


二十七、Protein-DNA预测也是同样的逻辑

例如:

复制代码
Transcription factor
          +
          DNA

AF3不是:

复制代码
先预测TF
 ↓
再预测DNA
 ↓
再dock

而是:

复制代码
TF
+
DNA
 ↓
Pairformer
 ↓
joint representation
 ↓
Diffusion
 ↓
TF-DNA complex

所以它可以直接学习:

复制代码
protein residue
       ↕
DNA nucleotide

之间的空间关系。


二十八、RNA也是一样

例如:

复制代码
RNA
  +
RNA-binding protein

AF3可以学习:

复制代码
amino acid
     ↕
nucleotide

之间的 interaction。

这对于:

复制代码
RNA-binding proteins
ribosomes
RNA enzymes
RNA therapeutics

等体系非常重要。


二十九、抗体-抗原为什么也很重要?

例如:

复制代码
Antibody
   ↓
CDR loop
   ↓
Antigen

真正的问题不是:

antibody本身是什么结构?

而是:

CDR如何与 antigen epitope 结合?

AF3可以直接预测:

复制代码
Antibody
    +
Antigen
    ↓
complex

论文报告 AF3 的 antibody-antigen 预测准确率高于 AlphaFold-Multimer v2.3。


三十、AF3输出什么?

AF3最终输出:

复制代码
mmCIF

而不是单纯依赖 PDB。

官方 inference pipeline 每个 sample/seed 都会输出:

复制代码
confidence JSON
summary confidence JSON
mmCIF

同时还可以输出 distogram 等中间结果。(GitHub)


三十一、AF3的置信度指标

AF2最熟悉:

复制代码
pLDDT
PAE
pTM

AF3仍然提供结构置信度信息,但对于复合物问题,更需要关注:

复制代码
pLDDT
PAE
pTM/ipTM相关指标
界面置信度

尤其是:

不要只看整体平均 pLDDT。

对于 protein-ligand:

复制代码
Protein内部
pLDDT = 95

Ligand
confidence = 高

但是:
Protein-Ligand interface
confidence = 低

这种情况下:

蛋白质本身预测很好,并不代表 ligand binding pose 可靠。

这是实际做 docking / drug discovery 时非常重要的区别。


三十二、AF3的一个非常重要的能力:生成多个sample

因为 diffusion 是生成模型:

复制代码
random seed 1
     ↓
structure 1

random seed 2
     ↓
structure 2

random seed 3
     ↓
structure 3

因此:

复制代码
Sample 1
Sample 2
Sample 3
...

可以反映模型对于:

复制代码
binding pose
conformation
interaction

的不同可能性。

官方输出目录也按照:

复制代码
seed-<seed>_sample-<sample>

组织结果。


三十三、这和AF2有什么本质区别?

可以用这张表记:

特征 AlphaFold 2 AlphaFold 3
主要目标 Protein structure Biomolecular complex
Protein
DNA 有限/非核心
RNA 有限/非核心
Ligand ❌核心能力
Ion ❌核心能力
Modified residue 有限
核心 trunk Evoformer Pairformer
MSA 核心 仍使用,但角色改变
Structure module IPA Diffusion
坐标生成 residue frame raw atom coordinates
Side-chain torsion 重要 不再作为核心坐标参数化
Diffusion
多结构生成 有限 天然支持
Protein-ligand 不是核心 核心能力
Protein-DNA/RNA 不是核心 核心能力

三十四、AF2 → AF3最重要的技术演化

我建议你把它理解成下面这条路线:

复制代码
                  AlphaFold 2
                      │
                      │
          Protein structure prediction
                      │
          ┌───────────┴───────────┐
          ↓                       ↓
        MSA                    Pair
          └──────────┬────────────┘
                     ↓
                 Evoformer
                     ↓
              Structure Module
                     ↓
                    IPA
                     ↓
             Protein coordinates

                     ↓
                AlphaFold 3
                     │
                     │
          Biomolecular complexes
                     │
        ┌────────────┼────────────┐
        ↓            ↓            ↓
      Protein       DNA/RNA     Ligand
        │            │            │
        └────────────┼────────────┘
                     ↓
               Pairformer
                     ↓
            Single + Pair
                     ↓
               Diffusion
                     ↓
          Raw atomic coordinates
                     ↓
          Complex structure

所以真正的升级不是:

"Evoformer升级了一点。"

而是:

从 protein-centric prediction → general biomolecular structure generation。


三十五、AF3训练阶段到底怎么训练?

可以把训练简化成:

复制代码
实验结构
   ↓
真实complex
   ↓
加入noise
   ↓
X_t
   ↓
Diffusion network
   ↓
预测X_0
   ↓
与真实结构比较
   ↓
loss
   ↓
更新参数

同时输入:

复制代码
sequence
MSA
templates
chemical information

让模型学习:

P(X \\mid S)

其中:

复制代码
X = 3D structure

S = molecular sequence/features

也就是说:

给定分子信息,学习三维结构分布。


三十六、为什么AF3的生成能力非常重要?

假设:

复制代码
Protein + ligand

真实世界可能:

复制代码
Pose A  40%
Pose B  35%
Pose C  15%
Pose D  10%

AF2/Vina很多时候更倾向于:

复制代码
给一个最优pose

而 diffusion 更自然:

复制代码
sample
 ↓
sample
 ↓
sample
 ↓
sample

从而获得:

复制代码
structure ensemble

当然:

不同sample并不等于真实概率分布。

不能简单认为:

复制代码
sample出现4次
=
生物学概率40%

这一点必须谨慎。


三十七、AF3的最大突破可以总结成三个"统一"

第一:统一分子类型

复制代码
Protein
DNA
RNA
Ligand
Ion
Modified residue

统一框架


第二:统一结构表示

不是:

复制代码
Protein → residue frame

Ligand → 特殊处理

而是:

复制代码
general molecular tokens
        ↓
atomic coordinates

第三:统一结构生成

不是:

复制代码
protein folding
+
docking
+
nucleic acid prediction
+
special chemical handling

而是:

复制代码
       Biomolecular system
               ↓
          Pairformer
               ↓
          Diffusion
               ↓
      Joint structure

这就是 AF3 的真正意义。


三十八、AF3目前最大的局限

AF3非常强,但绝对不能理解成:

"输入蛋白+药物,就能得到真实结合模式。"

这是错误的。


① 不代表真实动力学

AF3预测的是:

复制代码
structure

不是:

复制代码
molecular dynamics

它不能直接告诉你:

复制代码
binding kinetics
kon
koff
ΔG
free energy

所以:

复制代码
AF3
↓
结构假设

仍然需要:

复制代码
MD
free-energy calculation
experiment

等验证。


三十九、② 不等于真实binding affinity预测

例如:

复制代码
Ligand A
Ligand B

AF3可能都能生成:

复制代码
合理pose

但这并不意味着:

复制代码
A affinity > B affinity

所以不能直接:

复制代码
AF3 score
=
binding affinity

四十、③ Flexible protein仍然困难

例如:

复制代码
IDR
loop
flexible domain
allosteric region

可能存在:

复制代码
多个构象

AF3可能只给出某一个 plausible structure。


四十一、④ 多状态蛋白依然困难

例如 GPCR:

复制代码
Inactive
   ↕
Intermediate
   ↕
Active

AF3并不意味着:

自动知道你想要哪一种生物学状态。

如果输入信息不足,模型可能得到某个合理但并非实验目标状态的构象。


四十二、⑤ Cofactor / ligand / protonation等问题

对于药物设计:

复制代码
ligand protonation
tautomer
charge
metal coordination
water molecules

这些都可能显著影响结构。

因此:

AF3预测结果仍然需要化学合理性检查。


四十三、AF3和你正在学习的PyRosetta/Vina/GROMACS怎么串起来?

如果你的目标最终是:

蛋白质结构预测 → 小分子结合 → docking → refinement → MD

那么可以建立这个体系:

复制代码
                 Protein sequence
                        │
                        ↓
                   AlphaFold 3
                        │
              Protein + ligand complex
                        │
                        ↓
                Structure analysis
                        │
              ┌─────────┴─────────┐
              ↓                   ↓
          PyRosetta               Vina
              │                   │
       local refinement       docking poses
              │                   │
              └─────────┬─────────┘
                        ↓
                 Best complex
                        │
                        ↓
                    GROMACS
                        │
                        ↓
                   MD simulation
                        │
              ┌─────────┼─────────┐
              ↓         ↓         ↓
             RMSD      RMSF      H-bond
              │
              ↓
         MM/PBSA/GBSA
              │
              ↓
       binding stability

这其实非常适合你现在正在学习的方向。


四十四、如果你做药物研发,AF3最值得用在哪里?

我会把优先级排成:

① Protein-ligand complex prediction

复制代码
Target
+
Drug
↓
AF3
↓
complex

② Protein-protein interaction

复制代码
Protein A
+
Protein B

③ Protein-DNA

复制代码
TF
+
DNA

④ Protein-RNA

复制代码
RBP
+
RNA

⑤ Antibody-antigen

复制代码
Antibody
+
Antigen

⑥ 多组分复合物

复制代码
Protein
+
DNA
+
RNA
+
ligand
+
ion

这正是 AF3 相比 AF2 最有价值的地方。


四十五、AF3本地部署需要什么?

目前 DeepMind 已公开 AF3 inference code,并提供模型参数申请机制;官方仓库说明可以本地运行 inference

官方安装文档目前要求:

复制代码
Linux
NVIDIA GPU
Compute Capability >= 8.0

官方验证过:

复制代码
A100 80GB
H100 80GB

对于最长约 5,120 tokens 的输入,官方说明在单张 A100/H100 80GB 上可以运行;完整数据库需要大量磁盘空间,文档给出的规模最高约 1 TB。

目前官方 GitHub 最新 release 已到 v3.0.3,该版本对代码许可、性能和若干 bug 进行了更新。

AlphaFold 3 官方 GitHub


四十六、最后把AF2和AF3彻底串起来

你现在可以用下面这张图理解整个 AlphaFold 演化:

复制代码
                AlphaFold 1
                     │
          Deep learning + MSA
                     │
                     ↓
              distance/contact
                     │
                     ↓
              protein structure

                     ↓
                AlphaFold 2
                     │
          ┌──────────┴──────────┐
          ↓                     ↓
        MSA                    Pair
          └──────────┬──────────┘
                     ↓
                 Evoformer
                     ↓
              Structure Module
                     ↓
                    IPA
                     ↓
              3D protein structure
                     ↓
                 Recycling

                     ↓
                AlphaFold 3
                     │
       ┌─────────────┼─────────────┐
       ↓             ↓             ↓
    Protein        DNA/RNA       Ligand
       │             │             │
       └─────────────┼─────────────┘
                     ↓
                 Pairformer
                     ↓
            Single + Pair representation
                     ↓
                  Diffusion
                     ↓
            random/noisy coordinates
                     ↓
                iterative denoising
                     ↓
             all-atom coordinates
                     ↓
          Biomolecular complex

最核心的区别只有一句话:

AlphaFold 2解决的是"蛋白质如何折叠";AlphaFold 3进一步解决"整个生物分子体系如何形成三维复合物"。

而从算法角度:

AF2的核心是 MSA + Evoformer + IPA/Structure Module + Recycling;AF3则转向统一的分子表示 + Pairformer + diffusion-based all-atom structure generation。)

对于 AutoDock Vina → PyRosetta → GROMACS ,下一步最值得深入的其实不是再泛泛了解 AF3,而是把 AF3 的 Diffusion Module 从数学和代码层面拆开 :包括 noise schedule、coordinate diffusion、denoising、Pairformer、Diffusion Transformer、为什么它能直接生成 ligand 原子坐标,以及 AF3 输出的 pLDDT / PAE / ipTM / ranking score 到底分别意味着什么。这样就能真正把 AF3 和分子对接、PyRosetta、MD 接起来。

生活很好,有你更好。
相关推荐
躺柒11 小时前
读数据可视化12可视化设计原则
信息可视化·数据分析·可视化·数据可视化·大数据分析
十三画者12 小时前
【文献分享】KCFtools:基于k-mer的无比对基因组变异检测与基因型矩阵构建工具
人工智能·深度学习·数据挖掘·数据分析
今天AI了吗12 小时前
AI Agent 在数据分析领域的落地判断:哪些场景真的需要 Agent
java·数据库·人工智能·python·sql·数据分析·copilot
BYSJMG12 小时前
大数据毕业设计选题方向|【基于大数据的燃油消耗数据可视化与分析】Hadoop+PySpark+FP-Growth
大数据·hadoop·分布式·信息可视化·数据分析·课程设计
数据智研13 小时前
【数据分享】中国农产品价格调查年鉴(2004-2025)
大数据·人工智能·数据分析·可视化·数据可视化
躺柒1 天前
读数据可视化11数据可视化基础
大数据·信息可视化·数据分析·可视化·数据可视化·大数据分析
BYSJMG2 天前
计算机毕业设计选题推荐:基于大数据的心脏病风险数据可视化与分析(Hadoop+Spark+PySpark)
大数据·hadoop·信息可视化·数据分析·spark·课程设计
kaiyou20262 天前
工商管理专业工作后,值得关注的8个职业证书(分梯队解读)
数据分析
2601_960620372 天前
大学生考证和实习哪个更重要?应届生求职优先级清晰指南
数据分析