AlphaFold2 是由 DeepMind 在 2020 年提出的蛋白质结构预测模型,其核心是通过深度学习技术从氨基酸序列预测蛋白质的三维结构,并在 CASP14(Critical Assessment of Structure Prediction)竞赛中实现了接近实验精度的突破。以下从模型构造和关键创新点进行解读。
AlphaFold2 是一个端到端的深度学习模型,结合了进化信息、物理约束和几何建模。具体可将模型分成三个部分:特征提取、Encoder、 Decoder。
一. 输入特征提取
- 多序列比对(MSA):通过搜索同源序列(如 UniRef 数据库)构建 MSA,捕捉进化保守性和协同突变信息。
- 模板信息:使用已知结构的同源蛋白质(如 PDB 数据库)作为模板,提供结构先验。
- 氨基酸序列嵌入:将氨基酸残基的类型、位置和物理化学性质编码为高维向量。
- Pairwise 特征:表征残基对之间的潜在相互作用(如距离、方向等)。
1、多序列比对(MSA)工具
AlphaFold2 通过多序列比对(MSA)捕捉进化信息,使用的工具包括:
-
HHblits(来自 HH-suite):
- 作用:快速搜索大型数据库(如 UniRef30/90)中的同源序列。
- 特点:基于隐马尔可夫模型(HMM),适合高效处理大规模序列数据。
-
输出:生成包含同源序列的 MSA 文件(如
.a3m
格式)。
-
Jackhmmer(来自 HMMER 套件):
- 作用:迭代搜索更广泛的序列数据库(如 UniProt),补充 HHblits 的结果。
- 特点:适用于检测远缘同源序列,但计算成本较高。
-
Kalign:
- 作用:对搜索到的序列进行多序列比对(MSA 对齐)。
- 特点:高效且准确,用于生成最终的 MSA 对齐文件。
-
UniRef 数据库:
- 数据源:UniRef30/90(聚类去冗余的蛋白质序列数据库),用于减少冗余序列的干扰。
2、结构模板搜索工具
AlphaFold2 利用已知结构的蛋白质(PDB 数据库)作为模板,使用以下工具:
-
HHSearch(来自 HH-suite):
- 作用:将目标序列与 PDB 中的结构模板进行比对。
- 特点:基于 HMM-HMM 比对,适合检测远缘结构相似性。
-
PDB70 数据库:
- 数据源:包含 PDB 中代表性蛋白质结构的聚类数据库,用于模板搜索。
-
MMseqs2:
- 作用(在部分流程中替代 HHSearch):快速筛选潜在模板。
- 特点:计算速度快,适合大规模数据处理。
3、Pairwise 特征生成
Pairwise 特征表征残基间的相互作用,生成工具包括:
-
自定义深度学习模型:
- 作用:从 MSA 和模板信息中提取残基对的潜在相互作用(如距离、方向)。
- 工具:基于 TensorFlow 或 JAX 框架开发的内部模型。
-
物理化学性质计算:
- 作用:补充残基对的静电、疏水作用等特征。
- 工具:可能使用开源库(如 BioPython)计算氨基酸的物化属性。
二. Evoformer 模块(核心创新)
Evoformer 的主要任务是通过迭代的信息交换,将 进化信息(MSA) 和 残基相互作用(Pairwise) 统一建模,逐步优化对蛋白质结构的几何约束(如残基间距离、方向等),为后续的结构模块(Structure Module)提供高精度的隐式表征。Evoformer 由48个堆叠的 Evoformer Block 组成,每个 Block 包含以下关键组件:
AlphaFold2 的 Evoformer 模块 是其核心创新之一,负责将多序列比对(MSA)和残基对(Pairwise)特征进行深度融合,通过自注意力机制和几何约束建模,提取蛋白质结构的全局和局部信息。以下是 Evoformer 模块的详细解析:
1、Evoformer 的模块结构
Evoformer 由多个堆叠的 Evoformer Block 组成,每个 Block 包含以下关键组件:
1. MSA 行注意力(Row-wise Attention)
- 作用:在同一 MSA 的不同序列之间交换信息,捕捉跨序列的进化保守性和协同突变模式,这里是加了Pairwise的pair bias的。
-
实现方式:
- 对 MSA 的每一行(即每个同源序列)应用自注意力机制,并且有门控。
- 关注不同序列中同一残基位置的变异模式(例如,哪些残基共同进化)。
- 输出:更新后的 MSA 表征,增强了对全局进化关系的理解。
2. MSA 列注意力(Column-wise Attention)
- 作用:在同一残基位置的不同序列之间交换信息,捕捉该位置的保守性,这里和行的是一样的,除了没加pair bias。
-
实现方式:
- 对 MSA 的每一列(即所有序列中的同一残基位置)应用自注意力机制,并且有门控。
- 识别该位置在不同物种中的保守性(例如,关键功能位点通常高度保守)。
- 输出:更新后的 MSA 表征,增强了对局部残基重要性的建模。
3. MSA transition
- 作用:一个线性层的转换,对MSA信息的提炼。
-
实现方式:
- 将原始长度变成4倍大小,再通过relu及下一个线性层还原成原始长度。
- 输出:更新后的 MSA 表征,增强了MSA结果的理解。
4. 外积融合(Outer Product)
- 作用:将 MSA 信息显式映射到 Pairwise 空间,增强残基对特征的表达能力。
-
实现方式:
- 对 MSA 表征进行外积运算(如两个残基的嵌入向量外积),生成残基对的特征。
- 将外积结果与原有的 Pairwise 特征拼接,输入后续网络层。
- 意义:直接建立 MSA 与 Pairwise 特征的关联,提升对长程相互作用的建模能力。
5. 三角乘法更新( Triangular multiplicative update using “outgoing” edges.)
作用:本来想用跟简单的层代替后面的注意力层,发现单独适应效果不好,所以在两个三角自注意力层前加了两层三角乘法更新。
-
实现方式:
- 输入:来自 MSA 外积融合和模板的 Pairwise 特征矩阵。
- 行更新:沿行方向应用轴向注意力(Axial Attention),生成行敏感特征。
- 列更新:沿列方向应用另一轴向注意力,生成列敏感特征。
- 乘法融合:将行和列更新结果逐元素相乘,增强关键信号。
- 残差连接:与原始 Pairwise 特征相加,保留初始信息。
- 输出:更新后的 Pairwise 特征传递至三角自注意力(Triangular self-attention)。
6. 三角自注意力(Triangular self-attention)
作用:Triangular Self-Attention(三角自注意力) 是一种专门设计的注意力机制,用于处理蛋白质结构中残基对(Pairwise)间的复杂几何关系,尤其是在三维空间中捕捉残基间的距离和方向依赖(和之前的行注意力的模式是非常相似的),先做行的再做列的。
-
实现方式:
- 初始Pairwise特征:来自MSA的外积融合和模板信息。
- 通过轴向分解处理三元组信息,生成几何敏感的注意力权重。
- 更新残基对的相互作用特征(如距离分布、氢键概率)。
- 输出传递:优化后的Pairwise特征输入结构模块(Structure Module),用于生成原子坐标。
三、Evoformer 的关键创新
1. 双向信息传递
-
MSA ↔ Pairwise 的协同更新:
Evoformer 允许 MSA 和 Pairwise 特征在每一层中相互更新。例如:- MSA 的注意力机制可以捕捉残基对的协同进化信号,更新 Pairwise 矩阵。
- Pairwise 的几何约束可以反馈到 MSA 中,修正对齐错误。
- 效果:避免传统方法中 MSA 和结构预测的割裂,实现端到端优化。
2. 几何约束的隐式建模
-
Pairwise 矩阵的物理意义:
Pairwise 矩阵不仅包含统计相关性,还直接编码残基对的几何约束(如距离分布的置信区间)。 - 应用:后续的结构模块(Structure Module)可直接利用这些约束生成三维坐标。
3. 轴向注意力降低复杂度
-
传统注意力的瓶颈:
标准 Transformer 的自注意力复杂度为 (O(N^2))((N) 为序列长度),而 MSA 的维度为 (S \times N)((S) 为同源序列数),直接计算会导致计算量爆炸。 -
轴向注意力的优化:
通过对行和列分别进行注意力计算,将复杂度降至 (O(S \times N + N \times S)),显著提升效率。
三、Structure Module(结构模块)
AlphaFold2的Structure Module(结构模块)是其从进化与几何特征生成蛋白质三维结构的核心组件。该模块通过结合深度学习与几何建模,将Evoformer提取的特征转换为原子坐标。以下是其构造与工作原理的详细分步解释:
输入与输出
-
输入:
-
MSA表征(形状:
):经过Evoformer处理的多序列比对特征。
-
Pairwise表征(形状:
):残基对间的相互作用特征(如距离、方向)。
- 初始结构猜测(可选):若使用模板,可能包含初始Cα坐标。
-
MSA表征(形状:
-
输出:
-
原子坐标:所有重原子(如Cα、C、N、O等)的三维坐标(形状:
)。
- 置信度评分(pLDDT):每个残基的预测局部置信度(范围0-100)。
-
原子坐标:所有重原子(如Cα、C、N、O等)的三维坐标(形状:
1. 不变点注意力(Invariant Point Attention, IPA)
- 目标:在保持旋转和平移不变性的前提下,捕捉残基间的空间依赖关系。
-
实现步骤:
-
局部参考系定义:
- 对每个残基(i),以其Cα原子坐标
为原点。
- 构建局部坐标系:基于主链方向(如Cα到C的向量)和正交化后的基向量。
- 对每个残基(i),以其Cα原子坐标
-
注意力权重计算:
- 将查询(Query)、键(Key)、值(Value)投影到局部坐标系中。
- 计算注意力分数时,结合几何距离与方向:
-
:距离编码函数(如高斯核或MLP)。
-
-
值更新与坐标生成:
- 在局部坐标系下聚合值向量,生成新的残基位置和方向。
- 通过刚体变换(旋转+平移)更新全局坐标。
-
局部参考系定义:
2. 结构更新
- 目标:迭代优化坐标和特征。
-
步骤:
-
IPA输出:通过IPA层生成更新的特征和坐标调整量(
)。
-
坐标更新:应用刚体变换(旋转矩阵
和平移向量
):
- 特征融合:将坐标更新后的特征与原始特征通过残差连接结合。
-
IPA输出:通过IPA层生成更新的特征和坐标调整量(
3. 局部几何约束
- 目标:确保预测的键长、键角符合物理规律。
-
实现:
-
物理化学损失函数:在训练时约束以下项:
- 键长误差(如Cα-C的距离应与实验值接近)。
- 键角误差(如N-Cα-C的夹角)。
- 二面角分布(如主链φ/ψ角)。
-
物理化学损失函数:在训练时约束以下项:
4、工作流程
Structure Module通常由多个重复的块(Block)组成,每个块执行以下步骤:
-
输入处理:
- 接收来自Evoformer的MSA和Pairwise特征。
- 若为首次迭代,初始化Cα坐标为线性链或模板结构。
-
IPA层:
- 计算不变点注意力,生成新的特征和坐标调整量。
- 保持几何不变性,避免整体旋转/平移影响预测。
-
结构更新层:
- 通过全连接层预测刚体变换参数(旋转和平移)。
- 应用变换更新所有残基的坐标。
-
特征传递:
- 将更新后的坐标信息反馈到特征中,供下一层使用。
-
迭代优化:
- 重复上述步骤多次(如4次),逐步细化结构。
5、损失函数
Structure Module的损失函数包含多个部分,共同指导模型生成合理结构:
-
坐标损失:
- 均方根偏差(RMSD):预测坐标与真实坐标的差异。
- 局部坐标系对齐误差:确保刚体变换后的局部几何一致。
-
几何约束损失:
- 键长、键角、二面角:与已知物理化学参数的一致性。
-
置信度损失(pLDDT):
- 预测每个残基的置信度,与真实误差(如实验结构差异)对齐。
6、关键创新
-
不变点注意力(IPA):
- 通过局部参考系实现旋转/平移不变性,解决传统注意力在三维空间中的敏感性问题。
-
端到端几何建模:
- 直接预测刚体变换参数,而非逐步优化坐标,减少误差累积。
-
物理约束融合:
- 在损失函数中显式引入键长、角度等约束,提升结构合理性。
文章正文对模型的描写较少,需要斯克补充文件,为了更好的理解AF3,只能硬着头皮看了,下面会再看一下af2代码层面一些内容。