AlphaFold Server 提供了 AlphaFold3 能力的网页界面:无需安装、无需 GPU、粘贴序列即可预测蛋白、复合物、核酸与配体的结构。它是最快获得结构假设的途径——但许可限制与结果判读需要特别注意。
能做什么
| 类型 | 支持 | 说明 |
|---|---|---|
| 单链蛋白 | 是 | 基础功能 |
| 蛋白复合物 | 是 | 多条链 |
| DNA / RNA | 是 | 核酸结合蛋白 |
| 小分子配体 | 有限 | 只能从预定义列表中选 |
| 离子 | 是 | 常见的金属离子 |
| 翻译后修饰 | 部分 | 磷酸化、糖基化等 |
「配体只能从预定义列表选」是最大的功能限制:不能输入任意 SMILES——这意味着它无法用于自己设计的化合物的结合模式预测。需要任意配体时,应该用 Boltz 或 Chai-1(见 020《Boltz 教程》、021《Chai-1 教程》)。
使用流程
# 1) 访问 alphafoldserver.com,用 Google 账号登录
#
# 2) 新建任务,添加实体:
# - Protein: 粘贴氨基酸序列(单字母)
# - DNA/RNA: 粘贴核酸序列
# - Ligand: 从下拉列表选择(如 ATP、NAD、血红素)
# - Ion: 选择离子类型
#
# 3) 设置拷贝数(同源多聚体时)
#
# 4) 提交,等待(通常几分钟到几十分钟)
#
# 5) 下载结果:
# - .cif 结构文件(含 pLDDT 在 B 因子列)
# - 置信度 JSON(pTM、ipTM、PAE)
#
# 【使用限制】:
# - 每日提交次数有限
# - 【仅限非商业用途】
# - 序列会上传到 Google 的服务器
# → 【专有序列应谨慎】
# ---- 读取结果 ----
import json
import numpy as np
from Bio.PDB import MMCIFParser
# 置信度
with open("fold_xxx_full_data_0.json") as f:
data = json.load(f)
print("pTM:", data.get("ptm"))
print("ipTM:", data.get("iptm"))
pae = np.array(data["pae"])
# 结构与 pLDDT
structure = MMCIFParser(QUIET=True).get_structure("pred", "model_0.cif")
plddt = np.array([a.get_bfactor() for a in structure.get_atoms()
if a.get_id() == "CA"])
print(f"平均 pLDDT: {plddt.mean():.1f}")
print(f"高置信度残基比例: {(plddt > 90).mean():.1%}")
print(f"可能无序的比例: {(plddt < 50).mean():.1%}")
结果判读:三个指标
# ---- pLDDT(逐残基置信度,0~100)----
# > 90 很高,主链与侧链都可靠
# 70 ~ 90 可信的主链
# 50 ~ 70 低,谨慎
# < 50 【很可能是无序区,而非「预测错了」】
#
# 【重要区分】:
# 低 pLDDT 常常是【有信息的】——
# 它提示该区域本身就没有固定结构
# 不要试图「修复」这些区域
# ---- PAE(预测的对齐误差矩阵)----
# 读法:以残基 i 对齐时,残基 j 的位置误差
#
# 【最重要的用途】:判断结构域之间的相对取向
# - 两个域各自 pLDDT 很高
# - 但域间 PAE 很大
# → 【各域的结构可信,但它们的相对摆放不可信】
# → 【这是最常被忽略的判读】
#
# 对多链复合物:
# 链间 PAE 是判断界面可信度的核心
def analyze_pae(pae, domain_boundaries):
"""分析域内与域间的 PAE"""
for i, (s1, e1) in enumerate(domain_boundaries):
intra = pae[s1:e1, s1:e1].mean()
print(f"域 {i+1} 内部平均 PAE: {intra:.1f} Å")
for j, (s2, e2) in enumerate(domain_boundaries):
if j <= i:
continue
inter = pae[s1:e1, s2:e2].mean()
print(f" 域 {i+1} - 域 {j+1} 间 PAE: {inter:.1f} Å "
f"{'【相对取向不可信】' if inter > 15 else ''}")
# ---- ipTM(界面置信度)----
# > 0.8 界面很可能正确
# 0.6~0.8 不确定
# < 0.6 【界面预测不可靠】
#
# 多链预测的核心指标
用于药物发现时的注意事项
- 预测的是 apo 样构象:配体诱导形成的口袋可能看不到(见 112《AlphaFold2 论文精读》);
- 侧链取向不可靠:即使 pLDDT > 90,结合位点侧链的具体朝向可能与配体结合态不同——而对接对侧链位置极其敏感;
- 直接用于对接需谨慎:多项研究发现,用预测结构对接的成功率明显低于用共晶结构;
- 应对措施:
- 优先用实验结构,哪怕是同源蛋白的;
- 用 MD 或侧链采样生成构象集合,做集合对接;
- 验证:能否复现该靶点已知配体的结合模式;
- 用 Boltz-2/Chai-1 直接预测复合物(见 020《Boltz 教程》、021《Chai-1 教程》)。
- 抗体-抗原界面仍是难点:成功率明显低于一般蛋白界面(见 364《抗体结构预测》)。
与其它方案的选择
| 需求 | 推荐 |
|---|---|
| 已知蛋白的结构 | 先查 AlphaFold DB(已有 2 亿+ 预测) |
| 数据库中没有的序列 | ColabFold(见 118《ColabFold》)或 AF Server |
| 蛋白复合物(学术) | AlphaFold Server |
| 任意小分子配体 | Boltz-2 / Chai-1(见 020《Boltz 教程》、021《Chai-1 教程》) |
| 商业用途 | Boltz-2(MIT 许可) |
| 敏感序列 | 本地部署,不要用在线服务 |
| 大批量预测 | 本地 ColabFold 或 ESMFold(见 116《ESMFold 论文精读》) |
提高可靠性的做法
# 1) 【多次预测看一致性】
# 同一序列多次提交(如果配额允许)
# → 结果差异大 = 该体系不可靠
#
# 2) 【与其它方法交叉验证】
# ColabFold(AF2)、ESMFold、Boltz
# → 多个方法一致 = 更可信
#
# 3) 【与实验数据比对】
# - 已知的二级结构(CD 光谱)
# - 交联质谱的距离约束
# - HDX-MS 的溶剂暴露信息
# - 突变实验的功能数据
# → 【任何实验约束都能提高判断的把握】
#
# 4) 【检查同源结构】
# PDB 中有没有近缘蛋白的实验结构?
# → 预测结果应该与之大体一致
#
# 5) 【关注低置信度区域】
# 它们往往是柔性 loop 或无序区
# → 不要基于它们做设计决策
#
# 【核心心态】:
# 预测结构是【高质量的假设】,不是【测定的事实】
# 关键决策仍需实验结构支持
关键要点
- 配体只能从预定义列表选,不能输入任意 SMILES——这是最大的功能限制;
- 域内 pLDDT 高不代表域间相对取向可信——必须看 PAE,这是最常被忽略的判读;
- 预测的是 apo 样构象、侧链取向不可靠,直接用于对接需谨慎验证;
- 仅限非商业用途,且序列会上传外部服务器——专有序列应用本地方案。
延伸资源
- AlphaFold2:112《AlphaFold2 论文精读》;AlphaFold3:113《AlphaFold3 论文精读》;实战:343《用 AlphaFold Server 预测无结构靶点》;
- Boltz 教程:020《Boltz 教程》;Chai-1 教程:021《Chai-1 教程》;ColabFold:118《ColabFold》。