CrossDocked2020(Koes 组)是为训练深度学习模型而专门构建的对接姿势数据集。它的核心思路是交叉对接:把同一口袋家族里的配体互相对接到彼此的受体结构上,产生大量「非原生」的姿势。这解决了一个关键问题——训练打分模型时,光有正确姿势不够,还需要大量质量各异的错误姿势作为负样本。
怎么构建的
- 从 PDB 中按口袋相似性把结构聚成约 2,900 个口袋簇;
- 簇内每个配体与每个受体结构两两交叉对接(用 smina);
- 保留生成的姿势及其与原生姿势的 RMSD;
- 最终得到约 2,250 万个姿势,覆盖 18,450 个复合物。
每个姿势都标注了 RMSD(与该配体在其原生受体中的晶体姿势相比),这让它能同时训练姿势质量判别和亲和力预测两类任务。
两类主要用途
| 用途 | 怎么用 | 代表工作 |
|---|---|---|
| 训练打分/重打分模型 | 用 RMSD 作标签,学习区分好坏姿势 | GNINA 的 CNN 打分(见 183《GNINA》) |
| 基于结构的分子生成 | 以口袋为条件生成配体 | Pocket2Mol、TargetDiff、3DSBDD 等 |
基于口袋的三维分子生成近年是热点方向,绝大多数这类工作都用 CrossDocked2020 做训练与评测——所以理解它的偏差,对判断这些工作的可信度很重要。
正确的划分方式
# 数据集自带的划分方案基于口袋相似性
# types 文件格式:label affinity rmsd receptor_path ligand_path
# 关键:必须用口袋序列相似性划分,不能随机划分
# 官方提供 30% 序列相似性阈值的划分方案
# 随机划分会让同一口袋的不同姿势跨越训练/测试集,指标严重虚高
- 用官方的 clustered split(按口袋相似性),不要自己随机切;
- 注意区分
it0、it1、it2等不同迭代的子集; - 报告结果时说明用了哪个划分与哪个子集,否则不可比。
已知偏差:解读结果时必须知道
- 姿势由 smina 生成:所有非原生姿势都来自同一个对接程序,因此带有 smina 的搜索偏好。在其上训练的模型可能过度适应这种姿势分布,面对其他来源的姿势时表现下降。
- 「好姿势」的定义偏窄:以 RMSD ≤ 2 Å 为正样本,但 RMSD 不总是衡量结合模式正确性的最佳指标(对称分子、部分正确的姿势都会被误判)。
- 生成模型评测的连锁问题:用 CrossDocked 训练的生成模型,评测时又用 Vina 打分——相当于用同一套物理近似既做训练标签又做评价标准,容易得出乐观但站不住的结论。多项独立分析指出,这类模型生成的分子在合成可及性、物理合理性上问题不少。
- 口袋覆盖不均:某些蛋白家族(如激酶)严重过度代表。
实践建议
- 用它做预训练,再在自家数据上微调,比直接用其上的模型更实际;
- 评测基于结构的生成模型时,不要只报 Vina 分数,同时看合成可及性(SA score)、物理有效性(PoseBusters)、以及与已知活性分子的相似性;
- 关注模型是否只是在「记住这个口袋对应哪类配体」——加入口袋序列相似性划分的对照实验可以检验这一点;
- 结合真实筛选基准(如 LIT-PCBA,见 242《LIT-PCBA》)交叉验证。
上手提示
- 它的价值是提供带 RMSD 标注的海量非原生姿势,用于训练姿势判别;
- 必须用官方的口袋相似性划分,随机划分指标严重虚高;
- 姿势全部由 smina 生成,模型会继承其搜索偏好;
- 评测生成模型别只看 Vina 分数,那是用训练标签当评价标准。
延伸资源
- 对照数据集:238《PDBbind》、239《Binding MOAD》;打分模型:183《GNINA》;
- 筛选基准:241《DUD-E》、242《LIT-PCBA》;
- 生成模型评测:222《GuacaMol》、223《MOSES》。