从蛋白质语言模型到 CoFoldArena:如何评价预测结果
上一篇 ESM-2 教程介绍了如何把氨基酸序列转成向量。如果下一步需要预测蛋白质复合物,该怎样评价模型?CoFoldArena提供了一个入口,可以比较抗体与抗原的预测结构。
本文说明蛋白质语言模型与这一任务的联系,带你查看排行榜,并用一段 Python 代码解释评分。网站功能核对于 2026 年 9 月 20 日,发布后排名可能变化。
1. 先区分序列表征与结构预测
ESM-2 提供学习得到的序列表征。ESMFold 在此基础上使用结构预测架构,将 ESM-2 表征转成坐标。这是语言建模与蛋白质折叠之间的一个具体联系,见 ESM 官方项目。
先明确需要什么输出,再选择评价方法:
| 你要回答的问题 | 评价对象 | 有用的证据 |
|---|---|---|
| 序列表征能否帮助分类? | 使用向量得到的预测结果 | 对应任务的留出标签 |
| 蛋白质复合物排列是否正确? | 预测链坐标及相互作用界面 | 与参考结构的一致程度 |
| 候选分子在实验条件下是否结合? | 实验测量结果 | 合适的结合实验 |
这几类问题需要分别验证。共折叠排行榜不能直接评价所有蛋白质语言模型的用途,向量相似度也不能代替结构比较。
2. 设置可比较的 CoFoldArena 视图
查看网站只需浏览器;运行下文示例需要 Python 3,无需下载模型或准备 GPU。
核对时,CoFoldArena提供抗体与抗原评测,可调整抗体 MSA、Fab/VHH 类型及结构发布日期窗口。蛋白质与配体评测标注为即将推出。可以按以下顺序操作:
- 选择与你的任务相关的抗体类型。
- 记录抗体 MSA 设置;MSA 指多序列比对。
- 选择发布日期窗口,记下目标数量。
- 在同一视图中比较明确的模型版本。
同时保存访问日期、筛选条件、模型版本和结果。如果只有分数,没有选中的目标集合,以后很难复核。
方法说明介绍了持续扩展的 PDB 评测集、可下载的预测结构、1,024 token 的目标长度上限和单随机种子推理。页面还指出 Protenix-v1-20250630 存在训练截止日期例外。打开不确定性显示,可以查看 bootstrap 区间与排名范围。
我的解读是:这些结果是在特定条件下取得的证据。仍需单独检查训练日期和近缘序列;结构发布日期较新,本身不足以证明它独立于训练数据。
3. 先读懂 DockQ,再看排名
DockQ比较预测复合物与参考结构,其质量区间如下:
| DockQ | 结构质量分类 |
|---|---|
| 低于 0.23 | 错误 |
| 0.23 至低于 0.49 | 可接受 |
| 0.49 至低于 0.80 | 中等 |
| 0.80 及以上 | 高质量 |
排行榜同时报告平均 DockQ 和达到各阈值的比例。阈值列之间存在包含关系:高质量结果也达到中等和可接受阈值,因此不能把这些百分比直接相加。见 CoFoldArena 排行榜。
平均 DockQ 为 0.50,不代表结合概率为 50%。DockQ 衡量结构一致程度,需要参考结构;对于实验结构未知的新复合物,不能直接计算同样的真实结构对照分数。模型自己的置信度与参考结构对照结果应分开理解。见 DockQ 使用说明。
4. 用 Python 验证均值与成功率的差别
保存为 score_demo.py。这些分数仅为演示计算而编造,并非下载的评测结果,也不对应真实模型。
from statistics import mean
# Invented scores for arithmetic only; these are not CoFoldArena results.
scores = {
"model_a": [0.90, 0.85, 0.10, 0.05],
"model_b": [0.50, 0.50, 0.45, 0.45],
}
print("model mean acceptable medium high")
for model, values in scores.items():
rates = [sum(x >= t for x in values) / len(values)
for t in (0.23, 0.49, 0.80)]
print(f"{model:9} {mean(values):.3f} {rates[0]:9.1%}"
f" {rates[1]:7.1%} {rates[2]:5.1%}")
示例只依赖 Python 标准库:
python3 score_demo.py
预期输出:
model mean acceptable medium high
model_a 0.475 50.0% 50.0% 50.0%
model_b 0.475 100.0% 50.0% 0.0%
两个模型的均值都是 0.475。模型 A 有两个高分和两次失败;模型 B 的四次结果均达到可接受标准,但没有高质量结果。均值隐藏了这一差别。
如果任务需要为大量目标提供可用的起始结构,模型 B 的表现模式可能更合适。如果可以容忍失败,希望得到少数更准确的结构,模型 A 的模式可能更有价值。这只是对演示数据的解读,不是对实时排行榜中任何模型的推荐。
5. 查看具体案例,排查容易误读的结果
方法说明指出,可以在浏览器中查看预测,也可以下载文件。利用这些功能同时检查若干成功与失败案例,避免只挑一张看起来合理的结构图。
做一个小型评测记录时,我会保存目标编号、模型版本、选定设置、分数,以及对界面的简短观察。先比较多个目标,再决定是否调整工作流程。
| 问题 | 下一步怎么做 |
|---|---|
| 筛选后排名变化 | 重新核对目标数量与日期窗口。 |
| 分数接近,却想直接选出赢家 | 查看不确定性和逐目标差异。 |
| 下载文件后算出的 DockQ 不符合预期 | 依据 DockQ 文档,核对参考结构、链映射及评分界面。 |
| 新预测的置信度很高,看起来可信 | 将其作为待验证假设,寻找独立证据。 |
下一步
选择一个 CoFoldArena 视图,保存设置,检查几个目标的具体结果,再挑选值得进一步评价的模型。整个流程中,应始终区分序列表征、结构准确性与实验结合证据。
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/cofoldarena-protein-model-evaluation.html
- 版权声明:本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。