蛋白质结构预测与 AlphaFold 应用

系统讲解蛋白质结构预测与 AlphaFold 应用:从结构预测的历史与意义、经典方法、AlphaFold2 的注意力机制与 MSA 突破、本地运行与 ColabFold、pLDDT 与 PAE 结果评估、AlphaFold-Multimer 多聚体预测,到结构分析工具与药物设计应用,并剖析其局限性与错误使用场景。

引言

「蛋白质的功能由其三维结构决定」——这是结构生物学的中心命题。一个蛋白质的氨基酸序列决定它如何折叠成特定的三维形状,而这个形状决定了它能结合什么、催化什么反应、参与什么通路。因此,从序列预测结构,是生物学最核心的问题之一,也是半个世纪以来最大的挑战。

这个挑战被称为「蛋白质折叠问题」,曾被列为生物学最重要的未解难题。实验方法(X 射线晶体学、冷冻电镜、NMR)测定结构耗时耗力(一个结构可能几个月到几年),而已知的蛋白序列有数亿条,实验测定的结构只有约 20 万个——巨大的鸿沟。AlphaFold2 在 2020 年 CASP14 竞赛中把预测精度推到接近实验水平,被视为结构生物学的「游戏规则改变者」。

但 AlphaFold 不是「银弹」。它预测的是「单一构象」(通常是能量最低的),而蛋白质在生理条件下是动态的,存在多种构象;它对「内在无序蛋白」(没有固定结构)无能为力;它预测的是「结构」不是「功能」,从结构到功能的解读仍需要生物学知识。工程上,如何正确运行、正确解读、避免过度信任,是应用 AlphaFold 的关键。

本文按「历史 → 经典方法 → AlphaFold 原理 → 运行 → 评估 → 多聚体 → 下游分析 → 局限」的顺序展开。目标是让你既能跑通 AlphaFold,又能判断「这个预测结果能不能信、能信到什么程度」。

目录

  1. 结构预测的历史与意义
  2. 从序列到结构的经典方法
  3. AlphaFold2 的原理与突破
  4. AlphaFold 的输入输出与本地运行
  5. AlphaFold DB 与 ColabFold
  6. 结果评估:pLDDT 与 PAE
  7. 多聚体预测:AlphaFold-Multimer
  8. 结构分析与下游应用
  9. 局限性、错误使用与药物设计

1. 结构预测的历史与意义

蛋白质结构预测的意义可以从三个层面理解:

科学层面:理解生命活动的分子机制。酶如何催化反应、受体如何识别配体、抗体如何结合抗原——这些都要看结构。

应用层面:药物设计。绝大多数药物是「小分子结合到蛋白的特定口袋」,知道结构才能设计或筛选药物。结构预测能大幅加速靶点识别与先导化合物发现。

工程层面:填补序列与结构之间的鸿沟。已知序列数亿条,实验结构 20 万条,比例不到千分之一。结构预测让「每一条序列都有结构可看」成为可能。

结构预测方法的历史演进:

时期方法精度(CASP GDT-TS)
1990s同源建模依赖模板,无模板时很差
2000s穿线法(threading)稍好,仍受限
2010s协同进化 + 接触预测有进展,仍不够
2020AlphaFold2接近实验精度(GDT-TS ~90)
2022AlphaFold-Multimer扩展到多聚体
2024+AlphaFold3扩展到蛋白-配体-核酸复合物

CASP(Critical Assessment of protein Structure Prediction)是每两年一次的「结构预测奥林匹克」,用实验测定但未发表的结构做盲测。AlphaFold2 在 CASP14 的表现是「断层领先」——它把很多目标预测到了实验精度,评委一度怀疑是不是作弊(实际没有)。

2. 从序列到结构的经典方法

在 AlphaFold 之前,结构预测有三条经典路线:

同源建模(homology modeling):如果目标蛋白有一个已知结构的「同源蛋白」(序列相似度 > 30%),可以用同源结构做模板,把目标序列「套」上去。工具:MODELLER、SWISS-MODEL。局限:没有同源模板时失效。

穿线法(threading/fold recognition):把目标序列「穿」到已知的折叠库中,找最匹配的折叠。比同源建模能处理更远的关系,但精度有限。

从头预测(ab initio):不依赖模板,从物理/统计能量函数出发搜索构象空间。经典工具 Rosetta。计算量巨大(构象空间天文数字),且对大于 100 个残基的蛋白基本失效。

这些方法的核心瓶颈是「构象空间太大」和「能量函数不精确」。AlphaFold 的突破在于绕过了这两个瓶颈:它不搜索构象空间,而是用深度学习「直接预测」残基间的距离与角度,再用这些约束「组装」出结构。

协同进化(co-evolution)信号 是 AlphaFold 的关键输入来源。原理:如果两个残基在三维空间中接触,它们在进化中会「协同变异」——一个突变,另一个也跟着变以维持相互作用。通过分析大量同源序列的比对(MSA),可以推断哪些残基对接触。这个思路早在 AlphaFold 之前就存在(如 Direct Coupling Analysis),但精度不足以确定结构。AlphaFold 把「接触预测」的噪声信号通过注意力机制整合成了精确结构。

3. AlphaFold2 的原理与突破

AlphaFold2 的核心是一个「端到端」的深度学习模型,输入是 MSA(多序列比对)与残基对,输出是每个残基的三维坐标与置信度。

架构的关键组件:

  1. Evoformer:处理 MSA 与残基对表示,用注意力机制(attention)在两者间反复交换信息。这是 AlphaFold 的核心创新——MSA 的进化信息与残基对的空间约束互相迭代精炼。
  2. 结构模块(Structure Module):把精炼后的表示「翻译」成三维坐标,用「不变点注意力」(IPA)保证输出的旋转平移不变性。
  3. 端到端训练:整个模型用已知结构(PDB)训练,直接优化「预测结构与真实结构的差异」。

为什么需要 MSA? MSA 提供了「进化信息」——同源序列在哪些位置保守、哪些位置共变。这个信息是「无模板」预测能成功的关键。如果 MSA 很浅(同源序列少),预测质量会下降(这正是孤儿蛋白预测难的原因)。

AlphaFold2 信息流:
  序列 → 搜索同源 → MSA(进化信息)
                    ↓
              Evoformer(48 层)
               ↕ 注意力交换
              残基对表示(空间约束)
                    ↓
           Structure Module → 3D 坐标 + pLDDT

AlphaFold 的「突破」本质是「用深度学习替代了手工设计的能量函数与搜索算法」。它把「结构预测」变成了「序列到结构的映射学习」,而这个映射可以从海量 PDB 结构中学到。这符合近年 AI for Science 的范式——用数据驱动替代物理建模。

需要说明的是,AlphaFold2 是开源的(DeepMind 公开了代码与权重),这催生了大量衍生工具与优化实现。而 AlphaFold3 转向了「非开源权重、仅限学术使用的服务器」,引发了一些争议。

4. AlphaFold 的输入输出与本地运行

本地运行 AlphaFold2 需要:GPU(推荐 A100/V100,至少 16 GB 显存)、大量磁盘(数据库约 2.5 TB)、以及较长的运行时间。

# 使用官方 Docker 镜像运行(需要先下载数据库)
docker run --gpus all \
  -v $PWD:/data \
  -v /path/to/databases:/databases \
  alphafold --fasta_paths=/data/protein.fasta \
  --output_dir=/data/output \
  --data_dir=/databases \
  --model_preset=monomer \
  --max_template_date=2024-01-01 \
  --db_preset=full_dbs \
  --use_gpu_relax=true

关键参数:

参数作用
--model_presetmonomer(单体)/ multimer(多聚体)
--db_presetfull_dbs(全库,准)/ reduced_dbs(精简,快)
--max_template_date模板截止日期(用于「公平」评估,实际预测可设为今天)
--use_gpu_relax用 GPU 做结构精修(快)
--num_multimer_predictions_per_model多聚体预测数

数据库是最大的门槛。AlphaFold 需要几个数据库:UniRef90、MGnify、BFD、PDB、PDB70 等,总共约 2.5 TB。下载与解压需要数天。这是本地部署的主要障碍,也是 ColabFold 流行的原因。

运行时间:单体蛋白几分钟到几小时(取决于序列长度与 MSA 深度);多聚体更久。这是计算密集型任务,GPU 利用率高,适合放在有 GPU 的集群上。参见 AI 与 HPC 融合 。

输出文件:

protein/
  ranked_0.pdb          ← 最优预测结构(5 个模型按置信度排序)
  ranked_1.pdb ...      ← 其他候选
  ranking_debug.json    ← 各模型评分
  relaxed_model_1.pdb   ← 物理精修后的结构
  result_model_1.pkl    ← 原始输出(含 pLDDT、PAE 等)
  msas/                 ← 使用的 MSA
  features.pkl          ← 输入特征

5. AlphaFold DB 与 ColabFold

AlphaFold DB 是 DeepMind 与 EMBL-EBI 合作发布的「预计算结构数据库」,覆盖了几乎所有已知蛋白(超过 2 亿个结构)。如果你要预测的蛋白在数据库里,直接下载即可,无需本地运行:

# 从 AlphaFold DB 下载(按 UniProt ID)
wget <alphafold-db>/files/AF-P00533-F1-model_v4.pdb

# 或用 API
curl "<alphafold-db-api>/prediction/P00533"

AlphaFold DB 的价值是「零成本获取结构」。对于模式生物(人类、小鼠、大肠杆菌等)的蛋白,几乎都能查到。局限:只覆盖「单体」(不包含多聚体复合物)、只覆盖已知序列的蛋白。

ColabFold 是本地运行的「轻量替代」,用 MMseqs2 加速 MSA 搜索(几秒而非几小时),大大降低了运行门槛:

# ColabFold 命令行
colabfold_batch input.fasta output_dir \
  --num-recycle 3 \
  --model-type alphafold2_ptm \
  --templates

# 或用 Colab notebook(免费 GPU,适合小规模)

ColabFold 的优势:

  • MSA 搜索快:用 MMseqs2 替代 JackHMMER/HHblits,快 100 倍以上;
  • 数据库小:用 ColabFold 的服务器搜索 MSA,本地只需装模型;
  • 支持多聚体与复合物:--model-type alphafold2_multimer_v3;
  • 免费额度:Colab notebook 提供免费 GPU(有使用限制)。

对于大多数用户,ColabFold 是比官方 AlphaFold 更实用的选择——牺牲一点点精度,换来极大的便利。只有当需要极致精度或处理敏感数据(不能上传到服务器)时,才需要本地全量部署。

6. 结果评估:pLDDT 与 PAE

AlphaFold 的输出不只是结构,还有两个关键的置信度指标:

pLDDT(predicted Local Distance Difference Test):每个残基的局部置信度,范围 0-100:

pLDDT含义可信度
> 90非常高侧链位置都可信
70-90高主链可信
50-70低只有大致折叠可信
< 50非常低可能无序或错误

pLDDT 保存在 PDB 文件的 B-factor 列(可直接用 PyMOL 按 pLDDT 着色)。低 pLDDT 区域往往对应内在无序区(IDR)——这些区域在生理条件下没有固定结构,AlphaFold 预测的「结构」不可信。

PAE(Predicted Aligned Error):预测两个残基之间的「相对位置误差」,用于评估「结构域之间的相对朝向」是否可信:

PAE 矩阵解读:
  · 对角块内低 PAE → 该结构域内部可信
  · 结构域之间高 PAE → 结构域的相对朝向不可信
  · 多聚体预测中,链间 PAE 低 → 相互作用可信

正确的解读方法:不要只看「结构好不好看」,要看 pLDDT 与 PAE。一个漂亮的结构可能有大量低 pLDDT 区域(不可信)。多聚体预测尤其要看 PAE——如果链间 PAE 高,说明模型对「两条链如何结合」没有把握,预测的界面不可信。

一个实用判据:pLDDT > 70 且 PAE 低 的区域,可以用于下游分析(如结合位点分析);pLDDT < 50 的区域应视为「无序」,不要强行解读。

7. 多聚体预测:AlphaFold-Multimer

很多蛋白的功能以「复合物」形式实现(如二聚体酶、抗体-抗原、受体-配体)。AlphaFold2 最初只预测单体,AlphaFold-Multimer 扩展到了多聚体:

# 多聚体预测(输入多条链,用 : 分隔)
# input.fasta:
# >chainA
# MKTAYIAKQR...
# >chainB
# GSHMKTAYI...

colabfold_batch multimer.fasta out_dir \
  --model-type alphafold2_multimer_v3 \
  --num-recycle 6

多聚体预测的要点:

  • 需要链间 MSA:模型需要看到「链 A 和链 B 的同源序列如何共同进化」,才能预测界面;
  • PAE 是关键指标:链间 PAE 低说明界面可信;
  • 评分指标:ipTM(界面预测 TM-score)与 pTM,ipTM > 0.8 通常认为界面可信;
  • 计算量更大:链越多、组合越多,计算量指数上升。

多聚体预测的一个常见问题是「假阳性界面」:模型可能预测出两个蛋白「结合」,但实际上它们不结合。判据是 ipTM 与链间 PAE——高 ipTM 且低 PAE 才可信。对于「预测两个蛋白是否相互作用」这类问题,AlphaFold 的输出需要谨慎解读,最好结合实验验证。

8. 结构分析与下游应用

得到结构后,下游分析工具:

# 结构比对(找相似结构)
TM-align model.pdb reference.pdb          # 输出 TM-score
FoldSeek model.pdb database               # 快速结构搜索

# 结构域识别
hmmscan Pfam-A.hmm model.pdb              # 序列层面
# 或用结构域数据库(CATH、SCOP)

# 结合口袋检测
fpocket -f model.pdb                       # 检测可能的配体结合口袋

# 结构可视化
pymol model.pdb                            # 交互式

下游应用的典型场景:

  1. 功能注释:预测的蛋白如果与某已知结构高度相似(TM-score > 0.5),可能具有相似功能;
  2. 突变影响分析:致病突变是否落在结构关键位置(活性位点、结合界面、稳定核心);
  3. 药物设计:识别结合口袋,做虚拟筛选或从头设计;
  4. 抗体设计:预测抗体-抗原复合物,优化结合亲和力。

突变分析 是 AlphaFold 的常见应用:把致病突变映射到结构上,看它是否影响蛋白稳定性或功能。工具如 FoldX、Rosetta ddG 能计算突变的能量效应。但要注意:AlphaFold 预测的是「野生型结构」,用它分析突变效应是「间接推断」,精度有限。

9. 局限性、错误使用与药物设计

AlphaFold 的局限性必须清楚,否则会误用:

局限表现应对
单一构象只给一个结构,忽略动态用 MD 模拟探索构象
内在无序蛋白预测「假结构」看 pLDDT,低分区域视为无序
配体/辅因子不含小分子、金属离子用 AlphaFold3 或对接工具
点突变效应野生型结构不变用专门工具(FoldX)
多聚体界面可能假阳性看 ipTM/PAE,实验验证
膜蛋白预测的是「脱离膜」的构象谨慎解读跨膜区

错误使用的典型:

  1. 把低 pLDDT 区域当真:低分区域是「无序」,强行分析其「结构」无意义;
  2. 忽视构象动态:AlphaFold 给的是一个「快照」,蛋白质实际在多个构象间切换(酶催化、信号转导依赖构象变化);
  3. 把预测当实验结构:发表时应说明「这是预测结构」,精度评估(pLDDT/PAE)必须报告;
  4. 用于配体结合预测:AlphaFold2 不含配体,结合位点可能因配体诱导的构象变化而不同。

药物设计应用 是 AlphaFold 最有前景的方向之一。经典流程:结构预测 → 结合口袋识别 → 虚拟筛选(分子对接)→ 先导化合物优化。AlphaFold 让「没有实验结构的靶点」也能做虚拟筛选,大幅扩展了可成药靶点的范围。但要注意:AlphaFold 的结构精度(侧链位置、口袋形状)通常不如实验结构,虚拟筛选的命中率会受影响。对于关键靶点,仍建议用实验结构或用 MD 精修预测结构。

AlphaFold3 是 2024 年的新版本,扩展到「蛋白 + 配体 + 核酸 + 离子」的复合物预测,并采用扩散模型架构。但它没有开源权重(仅限学术通过服务器使用),限制了工业应用。开源社区正在开发替代方案(如 Chai-1、Boltz-1)。

权衡取舍

决策点方案 A方案 B建议
获取结构AlphaFold DB(零成本)本地运行能查库就查库,查不到再运行
运行方式官方 AlphaFold(准)ColabFold(快)常规用 ColabFold,极致精度用官方
模板无模板(从头)有模板有同源结构时用模板提升精度
评估只看结构图pLDDT + PAE必须看置信度指标
多聚体单体分别预测再拼接AlphaFold-Multimer用 Multimer,看 ipTM/PAE
配体AlphaFold2(无配体)AlphaFold3/对接含配体用 AF3 或专门工具

常见坑清单

  1. 只看结构不看 pLDDT:漂亮的结构可能有大量低分区域;必须按 pLDDT 着色评估。
  2. 把无序区当真结构:低 pLDDT 区域是无序,强行解读无意义;视为无序处理。
  3. 忽视构象动态:AlphaFold 只给一个快照;功能相关的构象变化需 MD 补充。
  4. 多聚体界面不验证:假阳性界面导致错误结论;看 ipTM/PAE 并实验验证。
  5. 本地部署忽略数据库:2.5 TB 数据库是主要门槛;或用 ColabFold 规避。
  6. MSA 太浅仍信任结果:孤儿蛋白 MSA 浅,精度下降;检查 MSA 深度。
  7. 模板日期设置错误:评估时用 max_template_date 限制,实际预测设今天。
  8. 用预测结构做精确对接:侧链精度不足影响虚拟筛选;关键靶点用实验结构。
  9. 忽视膜蛋白环境:预测的是水溶液构象;跨膜区需谨慎解读。
  10. 发表不标注预测:把预测结构当实验结构;必须说明并报告精度指标。

小结

AlphaFold 是结构生物学的一次范式转变:它用深度学习把「结构预测」从「依赖模板与物理模拟」变成「数据驱动的映射学习」,并把精度推到了接近实验的水平。理解它的原理(Evoformer、MSA、注意力)、输出(pLDDT、PAE)与局限(单构象、无序蛋白、无配体),是正确应用的前提。

工程上,AlphaFold 最该建立的认知是「置信度驱动解读」。不要问「这个结构对不对」,而要问「这个结构的哪些部分可信」——pLDDT 和 PAE 就是回答这个问题的工具。另一个要点是「预测不是实验」:AlphaFold 的输出是「最可能的推断」,用于假设生成与筛选,关键结论仍需实验验证。把预测结构与实验数据(如突变实验、结合实验)结合,才能得到可靠的生物学结论。

下一步可以看 系统发育与进化分析 了解从序列到进化关系的推断,或 变异检测与 VCF 处理 了解如何找到影响蛋白功能的变异。如果你要用 AlphaFold 做药物设计,先确认靶点结构的关键区域 pLDDT 是否足够高,再考虑下游的对接与筛选。

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「生物信息」更多文章

  1. 多组学整合与批次效应
  2. 蛋白质组学与质谱分析
  3. 变异注释与临床解读