引言
「蛋白质的功能由其三维结构决定」——这是结构生物学的中心命题。一个蛋白质的氨基酸序列决定它如何折叠成特定的三维形状,而这个形状决定了它能结合什么、催化什么反应、参与什么通路。因此,从序列预测结构,是生物学最核心的问题之一,也是半个世纪以来最大的挑战。
这个挑战被称为「蛋白质折叠问题」,曾被列为生物学最重要的未解难题。实验方法(X 射线晶体学、冷冻电镜、NMR)测定结构耗时耗力(一个结构可能几个月到几年),而已知的蛋白序列有数亿条,实验测定的结构只有约 20 万个——巨大的鸿沟。AlphaFold2 在 2020 年 CASP14 竞赛中把预测精度推到接近实验水平,被视为结构生物学的「游戏规则改变者」。
但 AlphaFold 不是「银弹」。它预测的是「单一构象」(通常是能量最低的),而蛋白质在生理条件下是动态的,存在多种构象;它对「内在无序蛋白」(没有固定结构)无能为力;它预测的是「结构」不是「功能」,从结构到功能的解读仍需要生物学知识。工程上,如何正确运行、正确解读、避免过度信任,是应用 AlphaFold 的关键。
本文按「历史 → 经典方法 → AlphaFold 原理 → 运行 → 评估 → 多聚体 → 下游分析 → 局限」的顺序展开。目标是让你既能跑通 AlphaFold,又能判断「这个预测结果能不能信、能信到什么程度」。
目录
- 结构预测的历史与意义
- 从序列到结构的经典方法
- AlphaFold2 的原理与突破
- AlphaFold 的输入输出与本地运行
- AlphaFold DB 与 ColabFold
- 结果评估:pLDDT 与 PAE
- 多聚体预测:AlphaFold-Multimer
- 结构分析与下游应用
- 局限性、错误使用与药物设计
1. 结构预测的历史与意义
蛋白质结构预测的意义可以从三个层面理解:
科学层面:理解生命活动的分子机制。酶如何催化反应、受体如何识别配体、抗体如何结合抗原——这些都要看结构。
应用层面:药物设计。绝大多数药物是「小分子结合到蛋白的特定口袋」,知道结构才能设计或筛选药物。结构预测能大幅加速靶点识别与先导化合物发现。
工程层面:填补序列与结构之间的鸿沟。已知序列数亿条,实验结构 20 万条,比例不到千分之一。结构预测让「每一条序列都有结构可看」成为可能。
结构预测方法的历史演进:
| 时期 | 方法 | 精度(CASP GDT-TS) |
|---|---|---|
| 1990s | 同源建模 | 依赖模板,无模板时很差 |
| 2000s | 穿线法(threading) | 稍好,仍受限 |
| 2010s | 协同进化 + 接触预测 | 有进展,仍不够 |
| 2020 | AlphaFold2 | 接近实验精度(GDT-TS ~90) |
| 2022 | AlphaFold-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(多序列比对)与残基对,输出是每个残基的三维坐标与置信度。
架构的关键组件:
- Evoformer:处理 MSA 与残基对表示,用注意力机制(attention)在两者间反复交换信息。这是 AlphaFold 的核心创新——MSA 的进化信息与残基对的空间约束互相迭代精炼。
- 结构模块(Structure Module):把精炼后的表示「翻译」成三维坐标,用「不变点注意力」(IPA)保证输出的旋转平移不变性。
- 端到端训练:整个模型用已知结构(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_preset | monomer(单体)/ multimer(多聚体) |
--db_preset | full_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 # 交互式
下游应用的典型场景:
- 功能注释:预测的蛋白如果与某已知结构高度相似(TM-score > 0.5),可能具有相似功能;
- 突变影响分析:致病突变是否落在结构关键位置(活性位点、结合界面、稳定核心);
- 药物设计:识别结合口袋,做虚拟筛选或从头设计;
- 抗体设计:预测抗体-抗原复合物,优化结合亲和力。
突变分析 是 AlphaFold 的常见应用:把致病突变映射到结构上,看它是否影响蛋白稳定性或功能。工具如 FoldX、Rosetta ddG 能计算突变的能量效应。但要注意:AlphaFold 预测的是「野生型结构」,用它分析突变效应是「间接推断」,精度有限。
9. 局限性、错误使用与药物设计
AlphaFold 的局限性必须清楚,否则会误用:
| 局限 | 表现 | 应对 |
|---|---|---|
| 单一构象 | 只给一个结构,忽略动态 | 用 MD 模拟探索构象 |
| 内在无序蛋白 | 预测「假结构」 | 看 pLDDT,低分区域视为无序 |
| 配体/辅因子 | 不含小分子、金属离子 | 用 AlphaFold3 或对接工具 |
| 点突变效应 | 野生型结构不变 | 用专门工具(FoldX) |
| 多聚体界面 | 可能假阳性 | 看 ipTM/PAE,实验验证 |
| 膜蛋白 | 预测的是「脱离膜」的构象 | 谨慎解读跨膜区 |
错误使用的典型:
- 把低 pLDDT 区域当真:低分区域是「无序」,强行分析其「结构」无意义;
- 忽视构象动态:AlphaFold 给的是一个「快照」,蛋白质实际在多个构象间切换(酶催化、信号转导依赖构象变化);
- 把预测当实验结构:发表时应说明「这是预测结构」,精度评估(pLDDT/PAE)必须报告;
- 用于配体结合预测: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 或专门工具 |
常见坑清单
- 只看结构不看 pLDDT:漂亮的结构可能有大量低分区域;必须按 pLDDT 着色评估。
- 把无序区当真结构:低 pLDDT 区域是无序,强行解读无意义;视为无序处理。
- 忽视构象动态:AlphaFold 只给一个快照;功能相关的构象变化需 MD 补充。
- 多聚体界面不验证:假阳性界面导致错误结论;看 ipTM/PAE 并实验验证。
- 本地部署忽略数据库:2.5 TB 数据库是主要门槛;或用 ColabFold 规避。
- MSA 太浅仍信任结果:孤儿蛋白 MSA 浅,精度下降;检查 MSA 深度。
- 模板日期设置错误:评估时用
max_template_date限制,实际预测设今天。 - 用预测结构做精确对接:侧链精度不足影响虚拟筛选;关键靶点用实验结构。
- 忽视膜蛋白环境:预测的是水溶液构象;跨膜区需谨慎解读。
- 发表不标注预测:把预测结构当实验结构;必须说明并报告精度指标。
小结
AlphaFold 是结构生物学的一次范式转变:它用深度学习把「结构预测」从「依赖模板与物理模拟」变成「数据驱动的映射学习」,并把精度推到了接近实验的水平。理解它的原理(Evoformer、MSA、注意力)、输出(pLDDT、PAE)与局限(单构象、无序蛋白、无配体),是正确应用的前提。
工程上,AlphaFold 最该建立的认知是「置信度驱动解读」。不要问「这个结构对不对」,而要问「这个结构的哪些部分可信」——pLDDT 和 PAE 就是回答这个问题的工具。另一个要点是「预测不是实验」:AlphaFold 的输出是「最可能的推断」,用于假设生成与筛选,关键结论仍需实验验证。把预测结构与实验数据(如突变实验、结合实验)结合,才能得到可靠的生物学结论。
下一步可以看 系统发育与进化分析 了解从序列到进化关系的推断,或 变异检测与 VCF 处理 了解如何找到影响蛋白功能的变异。如果你要用 AlphaFold 做药物设计,先确认靶点结构的关键区域 pLDDT 是否足够高,再考虑下游的对接与筛选。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。