跳转至

AlphaFold 蛋白质结构预测实战

1. 一句话说明

AlphaFold 是 Google DeepMind 开发的 AI 蛋白质结构预测系统,能从氨基酸序列直接预测蛋白质 3D 结构,准确度媲美实验方法(X射线晶体学/冷冻电镜),本教程教你用 ColabFold/ESMFold 零成本实操蛋白质结构预测。


2. 为什么要学

蛋白质结构预测的意义

蛋白质是生命的"工人"——催化化学反应、传递信号、构成细胞骨架。但蛋白质的功能取决于它的 3D 形状(就像钥匙的齿纹决定它能开哪把锁)。

过去要知道一个蛋白质长什么样,只能做实验: - X射线晶体学:把蛋白质结晶,用X射线照射看衍射花纹 → 耗时数月到数年 - 冷冻电镜(Cryo-EM):冷冻蛋白质后用电子束成像 → 设备昂贵 - 核磁共振(NMR):只适用于小蛋白质

截至2026年,实验解出的蛋白质结构约 20 万个(PDB数据库),但自然界已知蛋白质超过 2.3 亿个。靠实验全部解完?不可能。

AlphaFold 的革命性突破

2020年12月,AlphaFold 2 在 CASP14 竞赛中以碾压性优势获胜——预测精度几乎等同于实验方法。这被《Science》评为年度十大突破之首。

白话理解:

以前要花几个月、花几十万做实验才能看到蛋白质长什么样。现在 AI 几分钟就能预测出来,而且预测得跟实验结果几乎一样准。这就像从"手工测量每座山的高度"变成"用卫星一次性扫描全球地形"。

对你的面试价值

  • 热门话题:AlphaFold 是生信面试必问的"AI+生物"代表案例
  • 项目关联:你做肠道菌群研究,菌群产生的关键蛋白(如毒力因子、代谢酶)可以用 AlphaFold 预测结构
  • 能力展示:会用 ColabFold 说明你具备 AI 工具实操能力,不只停留在理论

3. 核心概念白话版

3.1 蛋白质结构层级

蛋白质结构分四个层级,从简单到复杂:

层级英文白话解释类比
一级结构Primary氨基酸的排列顺序(像一串珠子的颜色顺序)项链上珠子的排列 MKTLLIFLAG...
二级结构Secondary局部折叠模式:α螺旋(像弹簧卷起来)和β折叠(像手风琴的褶皱)绳子局部卷成弹簧或叠成波浪
三级结构Tertiary整条链的完整3D折叠形状整根绳子揉成一个团,有特定形状
四级结构Quaternary多条蛋白质链组装在一起多个团组装成一个更大的机器

AlphaFold 做的事:从一级结构(氨基酸序列)直接预测三级/四级结构(3D形状)。这个从序列到结构的问题就是蛋白质折叠问题(protein folding problem),困扰了生物学家50多年。

3.2 同源建模 vs AI预测

对比同源建模(传统方法)AI预测(AlphaFold)
原理找一个已知结构的"亲戚"蛋白作模板,按模板搭建从海量序列和结构数据中学习规律,直接预测
白话照着哥哥的毕业照P自己的毕业照AI看了100万张毕业照,学会了直接生成你的照片
依赖模板?必须有同源蛋白模板(序列相似度>30%才靠谱)不强依赖模板,没有近缘同源蛋白也能预测
代表工具SWISS-MODEL, MODELLERAlphaFold, ESMFold, RoseTTAFold

3.3 MSA(多序列比对)

MSA = Multiple Sequence Alignment(多序列比对)

白话解释:

把你要预测的蛋白质序列和它在不同物种中的"远亲近亲"排列整齐对比。哪些位置在所有物种中都不变(保守位置),说明这些位置对蛋白质功能/结构至关重要。AlphaFold 通过分析 MSA 中的共进化信号(co-evolution)——如果 A 位置变了,B 位置也跟着变——来推断这两个位置在3D空间中靠近。

打比方:

就像考古学家比较不同版本的古籍,找出哪些字从来没变过(核心内容),哪些字总是一起变(可能有关联),从而推断原文的结构。

3.4 pLDDT 置信度分数

pLDDT = predicted Local Distance Difference Test(预测局部距离差异测试)

白话解释:

这是 AlphaFold 对自己预测的每个氨基酸位置"有多确定"的打分,范围 0-100。

分数范围含义白话颜色(默认配色)
90-100非常高置信度AI说"这个位置我很确定"深蓝色
70-90高置信度AI说"差不多就这样"浅蓝色
50-70低置信度AI说"有点拿不准"黄色
<50非常低置信度AI说"这里我瞎猜的"橙色

关键认知:pLDDT < 50 的区域通常是内在无序区(IDR, Intrinsically Disordered Region)——这些区域本身就没有固定结构,不是 AlphaFold 预测错了,而是这些区域"天生就没有固定形状"。

3.5 PAE 图(Predicted Aligned Error)

PAE = 预测对齐误差

白话解释:

PAE 图是一张热力图,告诉你"蛋白质中任意两个位置的相对位置关系是否可靠"。如果 (i, j) 处颜色深(误差小),说明第 i 个和第 j 个氨基酸的相对位置预测很准。

什么时候看 PAE? - 单体蛋白:看哪些域(domain)之间的相对位置确定 - 复合物预测:看两条链之间是否真的有可靠的互作界面(如果链间 PAE 很高,说明这两条链可能不真正结合)


4. AlphaFold 发展史

4.1 AlphaFold 1(2018,CASP13)

  • 突破:首次用深度学习做蛋白质结构预测,在 CASP13 排名第一
  • 方法:预测氨基酸之间的距离矩阵,再用梯度下降优化3D坐标
  • 局限:精度还不够媲美实验方法

4.2 AlphaFold 2(2020,CASP14)

  • 突破:精度媲美实验方法,GDT-TS 中位数达到 92.4(满分100)
  • 核心架构
  • Evoformer 模块:处理 MSA 和配对表示(pair representation),捕捉序列中的共进化信号
  • Structure Module:从 Evoformer 输出的特征生成3D坐标
  • 循环迭代:结构预测结果反馈回去,再次精化(recycling)
  • 影响:开源代码 + 发布 AlphaFold 数据库(AFDB),预测了超过 2 亿个蛋白质结构
  • 论文:Jumper et al. Nature 596, 583-589 (2021)

4.3 AlphaFold 3(2024,Nature)

  • 突破:从"只预测蛋白质"扩展到统一预测所有生物分子的复合物结构
  • 能预测什么
  • 蛋白质 + 蛋白质
  • 蛋白质 + DNA/RNA
  • 蛋白质 + 小分子药物
  • 蛋白质 + 离子
  • 蛋白质 + 修饰残基(如磷酸化)
  • 核心变化
  • 引入扩散模型(Diffusion Module)替代原来的 Structure Module
  • 白话:从"直接算坐标"变成"从一团噪声慢慢去噪生成结构"(类似 Stable Diffusion 生成图片的原理)
  • 性能:蛋白质-配体对接准确度超过传统的 AutoDock Vina
  • 开放性
  • AlphaFold Server(alphafoldserver.com)提供免费在线预测(有使用限制)
  • 2024年11月代码开源(限非商业用途)
  • AlphaFold 数据库 2026年3月更新,新增数百万蛋白质复合物结构预测
  • 论文:Abramson et al. Nature 630, 493-500 (2024)

发展时间线

2018 ──── AlphaFold 1 ──── CASP13第一名,AI进入蛋白质结构预测
2020 ──── AlphaFold 2 ──── CASP14碾压级表现,蛋白质折叠问题"解决"
2021 ──── AFDB v1 ──────── 发布36万个蛋白质结构预测
2022 ──── AFDB v2 ──────── 扩展到2亿+蛋白质,覆盖UniProt
2024.05 ── AlphaFold 3 ──── 统一预测蛋白质/核酸/小分子复合物
2024.10 ── 诺贝尔化学奖 ── 颁发给 Demis Hassabis 和 John Jumper
2024.11 ── AF3 开源 ──── 代码开放(非商业用途)
2026.03 ── AFDB 更新 ──── 新增数百万复合物结构预测

5. 实操教程

5.1 ColabFold —— 最简单的免费方案

ColabFold 是社区开发的 AlphaFold 封装工具(当前版本 v1.6.1),通过 Google Colab 提供免费 GPU,用 MMseqs2 替代 jackhmmer 做 MSA 搜索(速度快40倍)。

第一步:打开 Colab Notebook

浏览器访问:

https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/AlphaFold2.ipynb

第二步:输入序列

query_sequence 框中粘贴你的蛋白质氨基酸序列(单字母格式):

# 示例:人胰岛素B链(30个氨基酸)
# 格式:纯字母,不要有空格和换行
FVNQHLCGSHLVEALYLVCGERGFFYTPKT

第三步:设置参数

# ===== 关键参数说明 =====

# jobname:给你的任务起个名字,结果文件会以此命名
jobname = "T2D_insulin_B"  # 白话:文件名前缀

# num_relax:是否用 AMBER 力场做能量最小化(relaxation)
# 0 = 不做(速度快,pLDDT分数不变)
# 1 = 只对最佳模型做(推荐)
# 5 = 所有模型都做(最慢)
num_relax = 1  # 白话:给预测的结构"按摩"一下,消除物理上不合理的原子碰撞

# template_mode:是否使用已知结构作模板
# "none" = 纯AI预测,不用模板
# "pdb70" = 从PDB数据库找模板辅助预测
template_mode = "none"  # 白话:不抄作业,让AI自己从头预测

# num_models:用几个模型预测(AlphaFold有5个训练好的模型参数)
# 选5个效果最好但最慢;选1个最快
num_models = 5  # 白话:让5个"专家"各自独立预测,取最好的

# num_recycles:循环迭代次数
# 3次是默认值,复杂蛋白可以加到6-12次
num_recycles = 3  # 白话:反复检查、修改预测结果的次数

第四步:运行

  1. 点击菜单 RuntimeRun all(运行所有单元格)
  2. 等待 MSA 搜索(约1-5分钟)
  3. 等待结构预测(约5-30分钟,取决于序列长度和GPU类型)
  4. 结果自动下载为 .zip 文件

第五步:理解输出文件

T2D_insulin_B/
├── T2D_insulin_B_unrelaxed_rank_001_*.pdb   # 排名第1的预测结构(PDB格式)
├── T2D_insulin_B_unrelaxed_rank_002_*.pdb   # 排名第2的预测结构
├── ...
├── T2D_insulin_B_relaxed_rank_001_*.pdb     # 经过能量最小化的最佳结构
├── T2D_insulin_B_coverage.png               # MSA覆盖度图(每个位置有多少同源序列覆盖)
├── T2D_insulin_B_plddt.png                  # pLDDT置信度图(每个残基的预测置信度)
├── T2D_insulin_B_pae.png                    # PAE图(残基间相对位置误差)
├── T2D_insulin_B_predicted_aligned_error_v1.json  # PAE原始数据
├── config.json                              # 运行参数记录
└── log.txt                                  # 运行日志

预测复合物(多条链)

如果要预测两个蛋白质的复合物结构,用 : 分隔序列:

# 两条链用冒号分隔
# 链A:链B
query_sequence = "MKTLLIFALG:FVNQHLCGSHLVEALYLVCGERGFFYTPKT"
# 白话:告诉AI"这两条链会结合在一起,请预测它们的组装方式"

5.2 ESMFold —— 单序列极速预测

ESMFold 是 Meta(Facebook AI)开发的蛋白质结构预测工具,不需要 MSA,直接从单条序列预测结构,速度比 AlphaFold 快约 60 倍。

在线使用(ESM Metagenomic Atlas)

https://esmatlas.com/resources?action=fold

粘贴序列 → 点击 Predict → 几秒钟出结果。

ColabFold 中使用 ESMFold

https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/ESMFold.ipynb

核心原理

# ESMFold 的核心是 ESM-2 蛋白质语言模型
# 白话:Meta用30亿条蛋白质序列训练了一个"蛋白质版ChatGPT"
# 这个模型读一条氨基酸序列,就像ChatGPT读一段文字
# 它理解了氨基酸之间的"语义关系"——哪些氨基酸喜欢靠在一起
# 然后从这个"理解"直接生成3D结构

# 优势:
# 1. 不需要搜索MSA(省掉最耗时的步骤)
# 2. 预测速度极快(几秒到几十秒)
# 3. 适合大规模批量预测(比如预测肠道菌群的所有蛋白)

# 劣势:
# 1. 精度比 AlphaFold 略低(尤其是复杂蛋白)
# 2. 对于MSA信息丰富的蛋白,放弃MSA是一种浪费
# 3. 不支持复合物预测

Python 代码调用 ESMFold API

# ===== ESMFold API调用示例 =====
# 适合在本地Python环境中快速获取结构预测

import requests  # 用于发送HTTP请求的库

# 你要预测的蛋白质序列
sequence = "MKTLLIFALGLLAAQPAMA"  # 示例:一段信号肽序列

# 调用ESM Atlas的免费API
response = requests.post(
    "https://api.esmatlas.com/foldSequence/v1/pdb/",  # API地址
    data=sequence,                                     # 直接传序列
    headers={"Content-Type": "text/plain"}             # 告诉服务器传的是纯文本
)

# 检查请求是否成功
if response.status_code == 200:  # 200表示成功
    # 把返回的PDB内容保存到文件
    with open("predicted_structure.pdb", "w") as f:
        f.write(response.text)  # response.text就是PDB格式的结构文件
    print("结构预测成功!已保存为 predicted_structure.pdb")
else:
    print(f"预测失败,状态码: {response.status_code}")
    print(response.text)  # 打印错误信息

5.3 AlphaFold DB 数据库查询 —— 直接下载已有预测结果

如果你要查的蛋白质已经在 AlphaFold 数据库中,根本不需要自己跑预测,直接下载即可。

网页查询

https://alphafold.ebi.ac.uk/

搜索方式: 1. UniProt ID:如 P01308(人胰岛素) 2. 蛋白质名称:如 Insulin 3. 物种名:如 Escherichia coli 4. 基因名:如 INS

API 批量下载

# ===== 通过API批量下载AlphaFold预测结构 =====

import requests  # HTTP请求库
import os         # 文件操作库

# 要下载的UniProt ID列表
# 这些可以是你在肠道菌群研究中感兴趣的蛋白质
uniprot_ids = [
    "P01308",  # 人胰岛素(Human Insulin)
    "P0DTC2",  # SARS-CoV-2刺突蛋白
    "Q9I1F6",  # 示例蛋白
]

# 创建保存目录
os.makedirs("alphafold_structures", exist_ok=True)  # exist_ok=True:目录已存在也不报错

for uid in uniprot_ids:
    # AlphaFold DB的API地址格式
    # v4是当前版本号
    url = f"https://alphafold.ebi.ac.uk/files/AF-{uid}-F1-model_v4.pdb"

    response = requests.get(url)  # 发送GET请求下载文件

    if response.status_code == 200:
        # 保存PDB文件
        filepath = f"alphafold_structures/AF-{uid}-F1-model_v4.pdb"
        with open(filepath, "w") as f:
            f.write(response.text)
        print(f"下载成功: {uid} -> {filepath}")
    else:
        print(f"下载失败: {uid} (状态码: {response.status_code})")
        # 可能原因:UniProt ID不在数据库中,或版本号不对
# ===== 用命令行直接下载(更简单) =====

# 下载单个蛋白质的PDB文件
# wget 是Linux下载工具,-O 指定保存文件名
wget https://alphafold.ebi.ac.uk/files/AF-P01308-F1-model_v4.pdb \
    -O insulin_alphafold.pdb

# 下载CIF格式(mmCIF,比PDB格式信息更丰富)
wget https://alphafold.ebi.ac.uk/files/AF-P01308-F1-model_v4.cif \
    -O insulin_alphafold.cif

# 下载PAE数据(JSON格式)
wget https://alphafold.ebi.ac.uk/files/AF-P01308-F1-predicted_aligned_error_v4.json \
    -O insulin_pae.json

5.4 结果解读

PDB 文件结构

# PDB文件是纯文本,每行一条记录
# 最关键的是 ATOM 记录:

ATOM      1  N   MET A   1      -5.432  10.123   8.456  1.00 85.20           N
│         │  │   │   │   │       │       │       │      │    │               │
│         │  │   │   │   │       X坐标   Y坐标   Z坐标   占有率 B因子          元素
│         │  │   │   │   └─ 残基序号(第1个氨基酸)
│         │  │   │   └──── 链标识符(A链)
│         │  │   └─────── 残基名(MET = 甲硫氨酸)
│         │  └────────── 原子名(N = 氮原子/骨架氮)
│         └───────────── 原子序号
└──────────────────────── 记录类型(ATOM = 标准氨基酸的原子)

# 在AlphaFold输出中,B因子列(通常存温度因子)被替换为 pLDDT 分数
# 85.20 表示这个原子位置的预测置信度为 85.20(高置信度)

PyMOL 可视化

# ===== PyMOL 可视化AlphaFold预测结构 =====
# 在PyMOL命令行中输入以下命令

# 1. 加载结构文件
load predicted_structure.pdb, my_protein
# 白话:把文件加载进来,起名叫 my_protein

# 2. 按pLDDT着色(AlphaFold官方配色方案)
# 先定义4种颜色
set_color af_blue, [0.051, 0.341, 0.827]    # 深蓝:pLDDT > 90,非常可靠
set_color af_cyan, [0.416, 0.796, 0.945]    # 浅蓝:pLDDT 70-90,可靠
set_color af_yellow, [0.996, 0.851, 0.212]  # 黄色:pLDDT 50-70,不太确定
set_color af_orange, [0.992, 0.490, 0.302]  # 橙色:pLDDT < 50,不可靠

# 按pLDDT分段上色(B因子列存的就是pLDDT)
# 注意:按从低到高的顺序涂色,后涂的覆盖前涂的
color af_orange             # 先全部涂橙色(pLDDT < 50 的底色)
color af_yellow, b > 50     # pLDDT > 50 覆盖为黄色
color af_cyan, b > 70       # pLDDT > 70 覆盖为浅蓝
color af_blue, b > 90       # pLDDT > 90 覆盖为深蓝

# 3. 或者用连续色谱着色(更简单,一行搞定)
spectrum b, red_yellow_green_cyan_blue, minimum=50, maximum=90
# 白话:按B因子(pLDDT)从低到高用红→黄→绿→蓝着色

# 4. 显示为卡通模式(看二级结构最清晰)
show cartoon
hide lines
# 白话:用"卡通"模式显示螺旋和折叠

# 5. 设置背景为白色(出图更清晰)
bg_color white

# 6. 保存高分辨率图片
ray 2400, 2400        # 设置渲染分辨率
png my_structure.png  # 保存为PNG图片

# 7. 查看残基级别pLDDT
# 选择低置信度区域
select low_conf, b < 50
# 白话:选出所有pLDDT低于50的残基,这些通常是无序区或柔性loop

ChimeraX 可视化(替代方案)

# 用UCSF ChimeraX打开(另一个免费的分子可视化软件)
# 安装:https://www.cgl.ucsf.edu/chimerax/

# 命令行打开文件
chimerax predicted_structure.pdb

# ChimeraX内置了AlphaFold pLDDT着色命令
# 在ChimeraX命令行输入:
color bfactor palette alphafold
# 白话:一键按AlphaFold标准配色着色

6. AlphaFold vs ESMFold vs RoseTTAFold 对比

特性AlphaFold 2/3ESMFoldRoseTTAFold
开发方Google DeepMindMeta AIDavid Baker实验室(华盛顿大学)
需要MSA?需要(核心输入)不需要(单序列)需要
预测速度慢(MSA搜索+推理,几分钟到1小时)快(几秒到几十秒)中等
单体蛋白精度最高略低(短蛋白差距小,长蛋白差距大)接近AF2
复合物预测AF2-Multimer/AF3 支持不支持RoseTTAFold2 支持
非蛋白分子AF3 支持(DNA/RNA/小分子/离子)不支持不支持
开源AF2完全开源;AF3非商业开源完全开源完全开源
免费在线使用ColabFold/AlphaFold ServerESM AtlasColabFold
适用场景精确预测单个重要蛋白快速批量筛选大量蛋白科研替代方案
本地部署难度高(需要大量数据库+GPU)低(单GPU即可)中等
核心架构Evoformer + Structure/Diffusion ModuleESM-2语言模型 + Folding TrunkThree-track Network

怎么选?

决策树:

你有已知的UniProt ID吗?
├── 是 → 先去AlphaFold DB查,可能已经有预测结果了(免费、即时)
└── 没有 / DB中没有 →
    ├── 需要最高精度? → ColabFold跑AlphaFold2(免费GPU)
    ├── 需要预测复合物(蛋白+DNA/药物)? → AlphaFold Server(AF3)
    ├── 需要批量预测几百上千个蛋白? → ESMFold(速度快60倍)
    └── 想对比多种方法? → ColabFold同时跑AF2和ESMFold

7. 实际应用场景

以"2型糖尿病肠道菌群分析"研究项目为例,以下是 AlphaFold 可以与该项目衔接的几个点:

7.1 关键菌群蛋白结构预测

# 场景:你用随机森林筛出了几个跟T2D高度相关的菌属
# 下一步可以预测这些菌产生的关键蛋白的结构

# 例1:Faecalibacterium prausnitzii 的丁酸辅酶A转移酶
# 丁酸(butyrate)是"有益"短链脂肪酸,T2D患者中这个菌通常减少
# 预测这个酶的结构,可以帮助理解其催化机制

# 例2:致病菌的毒力因子(virulence factor)
# 比如某些菌产生的内毒素蛋白、粘附蛋白
# 预测结构可以帮助理解其致病机制

# 例3:与人体受体互作的菌群蛋白
# 用AlphaFold 3预测菌群蛋白和人体受体的复合物结构
# 了解菌群如何"对话"宿主

7.2 面试怎么说

"在该 T2D肠道菌群项目中,随机森林筛选出了几个关键菌属。如果要深入研究这些菌影响代谢的具体机制,下一步可以用AlphaFold预测它们产生的关键代谢酶和毒力因子的3D结构。比如丁酸生成相关的酶,预测其结构可以帮助理解为什么T2D患者中这些酶的活性可能改变。我已经尝试用ColabFold跑过简单的蛋白质结构预测。"


8. 常见问题与解决

Q1:ColabFold 一直报 GPU 不可用怎么办?

原因:Google Colab 的免费 GPU 配额用完了(Colab 限制免费用户每天约12小时GPU)。

解决: 1. 换一个 Google 账号试试 2. 等几个小时再跑(GPU配额会恢复) 3. 选择 RuntimeChange runtime type → 确认选了 T4 GPU 4. 考虑使用 Colab Pro(约10美元/月,GPU更稳定) 5. 用 LocalColabFold 在自己电脑/服务器上跑

Q2:序列太长,内存不够(OOM, Out of Memory)怎么办?

解决: 1. 免费 Colab GPU 约16GB显存,最长约 2000 个氨基酸 2. 如果超过这个长度,可以切成域(domain)分别预测 3. 使用 ESMFold(内存占用更少) 4. 减少 num_models 从5降到1 5. 减少 num_recycles 从3降到1

Q3:pLDDT 分数很低(大面积橙色/黄色),是预测失败了吗?

不一定! 需要区分两种情况: 1. 内在无序区(IDR):这些区域本身就没有稳定结构,pLDDT低是正确的 2. 预测确实不准:如果MSA覆盖度(coverage图中看到)很低,说明缺乏同源序列信息,预测可能不可靠

怎么判断:看MSA coverage图,如果某段序列MSA深度很浅(几乎没有同源序列覆盖),那这段的低pLDDT更可能是信息不足。如果MSA深度够但pLDDT仍低,大概率是无序区。

Q4:AlphaFold 预测的结构能直接发论文吗?

可以,但有注意事项: 1. 必须注明是"predicted structure by AlphaFold",不能说成实验结构 2. 要报告 pLDDT 分数和 PAE 3. 低置信度区域的分析结论要谨慎(不要基于 pLDDT < 70 的区域做功能推断) 4. 如果是关键发现,最好有实验验证(湿实验) 5. 引用 AlphaFold 论文和数据库论文

Q5:AlphaFold Server(AF3在线版)和 ColabFold 有什么区别?

对比AlphaFold ServerColabFold
底层模型AlphaFold 3AlphaFold 2
能预测复合物?蛋白质+DNA/RNA/小分子/离子蛋白质+蛋白质(Multimer)
每天限额有限制(约10次/天)无限制(但受GPU配额限制)
结果可商用?仅限非商业研究AF2模型权重:Apache 2.0可商用
网址alphafoldserver.comcolab.research.google.com

Q6:我想在自己的Linux服务器上装AlphaFold,需要什么配置?

# AlphaFold 2 本地部署最低要求:
# - GPU:NVIDIA GPU,至少 16GB 显存(推荐 A100 40GB/80GB)
# - RAM:至少 64GB 内存(推荐 128GB+)
# - 硬盘:约 2.5 TB(数据库:UniRef90, MGnify, BFD, PDB70等)
# - CUDA:11.1+
# - Python:3.8+

# 更推荐用 LocalColabFold(轻量版,不需要下载全部数据库):
# https://github.com/YoshitakaMo/localcolabfold
# 用 MMseqs2 在线服务器做 MSA,本地只需要 GPU 做推理

# 安装 LocalColabFold(一键安装脚本)
wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh
bash install_colabbatch_linux.sh

# 或用conda安装(推荐)
conda create -n colabfold -c conda-forge -c bioconda \
    python=3.10 kalign2 hhsuite mmseqs2
conda activate colabfold
pip install "colabfold[alphafold]"
# GPU 支持需额外安装 jax GPU 版本,参考 LocalColabFold 文档

# 运行预测
colabfold_batch input.fasta output_dir/
# input.fasta:包含蛋白质序列的FASTA文件
# output_dir/:结果输出目录

Q7:怎么用 AlphaFold 数据库的 API 做批量查询?

# ===== AlphaFold DB REST API 使用示例 =====

import requests  # HTTP请求库
import json      # JSON解析库

# 方式1:通过UniProt ID获取结构信息
uniprot_id = "P01308"  # 人胰岛素
api_url = f"https://alphafold.ebi.ac.uk/api/prediction/{uniprot_id}"

response = requests.get(api_url)  # 发送GET请求
if response.status_code == 200:
    data = response.json()  # 把返回的JSON解析成Python字典
    # data 是一个列表,每个元素是一个预测条目
    for entry in data:
        print(f"UniProt ID: {entry['uniprotAccession']}")
        print(f"物种: {entry['organismScientificName']}")
        print(f"PDB文件: {entry['pdbUrl']}")      # PDB格式下载链接
        print(f"CIF文件: {entry['cifUrl']}")      # mmCIF格式下载链接
        print(f"PAE图: {entry['paeImageUrl']}")   # PAE热力图链接
        print(f"模型置信度: {entry['globalMetricType']} = {entry['globalMetricValue']}")
else:
    print(f"查询失败: {response.status_code}")

9. 速查表

工具速查

需求工具操作
查已有预测结构AlphaFold DBalphafold.ebi.ac.uk → 搜索 UniProt ID
免费在线预测(AF2)ColabFoldColab Notebook → 粘贴序列 → Run all
免费在线预测(AF3)AlphaFold Serveralphafoldserver.com → 输入序列
极速单序列预测ESMFoldesmatlas.com → Fold Sequence
本地批量预测LocalColabFoldcolabfold_batch input.fasta output/
可视化PDBPyMOL / ChimeraXload xxx.pdbspectrum b
批量下载API/wgetwget alphafold.ebi.ac.uk/files/AF-{ID}-F1-model_v4.pdb

pLDDT 速查

分数置信度颜色含义
>90非常高深蓝结构可靠,可用于功能分析
70-90浅蓝骨架可靠,侧链方向可能有误差
50-70黄色结构可能有较大误差
<50很低橙色可能是无序区,结构不可靠

关键术语速查

术语全称白话
pLDDTpredicted Local Distance Difference Test每个残基的置信度打分(0-100)
PAEPredicted Aligned Error两个残基相对位置的预测误差
MSAMultiple Sequence Alignment把一堆亲戚序列排排坐对齐比较
CASPCritical Assessment of protein Structure Prediction蛋白质结构预测的"奥运会"比赛
EvoformerEvolutionary TransformerAF2核心模块,处理进化信息
Diffusion Module扩散模块AF3核心创新,从噪声去噪生成结构
PDBProtein Data Bank蛋白质结构文件格式 / 全球结构数据库
UniProtUniversal Protein Resource全球蛋白质序列和注释数据库
IDRIntrinsically Disordered Region天生没有固定结构的蛋白质区域
AMBER relax分子动力学能量最小化给预测结构"按摩"消除原子碰撞
GDT-TSGlobal Distance Test - Total Score衡量预测结构和实验结构差多远

面试速记卡

Q: 什么是AlphaFold?
A: Google DeepMind开发的AI蛋白质结构预测系统。
   AF2(2020)解决蛋白质折叠问题,精度媲美实验。
   AF3(2024)扩展到蛋白质/DNA/RNA/小分子复合物预测。
   数据库已包含2亿+蛋白质结构预测。
   2024年诺贝尔化学奖授予AlphaFold创始人。

Q: AlphaFold的核心原理?
A: 输入→氨基酸序列+MSA(多序列比对)
   核心→Evoformer捕捉共进化信号
   输出→3D坐标+pLDDT置信度分数
   AF3创新→用扩散模型生成结构

Q: pLDDT是什么?
A: 每个残基的预测置信度(0-100)。
   >90很可靠(深蓝),70-90可靠(浅蓝),
   50-70不太确定(黄),<50可能无序区(橙)。

Q: 和宏基因组项目的关系?
A: 用RF筛出关键菌属后,可以用AlphaFold预测
   这些菌产生的关键酶(如丁酸合成酶)的3D结构,
   进一步理解菌群影响T2D代谢的分子机制。

10. 延伸学习资源

经典论文

  1. AlphaFold 2:Jumper et al. "Highly accurate protein structure prediction with AlphaFold." Nature 596, 583-589 (2021).
  2. AlphaFold 3:Abramson et al. "Accurate structure prediction of biomolecular interactions with AlphaFold 3." Nature 630, 493-500 (2024).
  3. ColabFold:Mirdita et al. "ColabFold: Making protein folding accessible to all." Nature Methods 19, 679-682 (2022).
  4. ESMFold:Lin et al. "Evolutionary-scale prediction of atomic-level protein structure with a language model." Science 379, 1123-1130 (2023).
  5. RoseTTAFold:Baek et al. "Accurate prediction of protein structures and interactions using a three-track neural network." Science 373, 871-876 (2021).

在线教程

  • EMBL-EBI AlphaFold 官方教程:https://www.ebi.ac.uk/training/online/courses/alphafold/
  • ColabFold GitHub Wiki:https://github.com/sokrypton/ColabFold/wiki
  • AlphaFold DB API 文档:https://alphafold.ebi.ac.uk/api-docs

视频教程

  • DeepMind 官方 AlphaFold 解释视频(YouTube)
  • ColabFold 使用教程(B站搜索"ColabFold 教程")

数据库

  • AlphaFold DB:https://alphafold.ebi.ac.uk/ (2亿+预测结构)
  • PDB:https://www.rcsb.org/ (实验解析的蛋白质结构)
  • UniProt:https://www.uniprot.org/ (蛋白质序列和注释)
  • ESM Atlas:https://esmatlas.com/ (Meta的大规模结构预测)

你之前的知识库关联

  • 本教程是 knowledge_base/20_AI与生信交叉应用.md 中"蛋白质结构预测"部分的实操扩展
  • AlphaFold 的 Transformer 架构与 knowledge_base_2/03_HuggingFace_Transformers入门.md 中的概念相通
  • 本地部署涉及的 Docker/Conda 知识参考 knowledge_base/17_Docker与Conda环境管理.md