TPDdb 靶向蛋白降解数据库 — 六类分子两万八千条,三元结构只占零头

2.8 万降解剂 · 2.7 万活性 · 580 靶点:专利撑起来的降解证据库

来源 https://idrblab.org/TPDdb/发布时间: 2026-10-26最后更新: 2026-10-26 阅读 16
TPDdb 靶向蛋白降解数据库 — 六类分子两万八千条,三元结构只占零头

信息速览

数据集名称TPDdb 靶向蛋白降解数据库 — 六类分子两万八千条,三元结构只占零头
数据类型文献引用,本体映射,元数据
规模不适用(分子与蛋白层级数据,无个体受试者)
接入方式https://idrblab.org/TPDdb/
AI 就绪度

TPDdb 是一个把靶向蛋白降解剂收进同一张表的专业库,2026 年 1 月发表在《核酸研究》的数据库专刊。它的规模由专利撑起:两万八千余个分子里,PROTAC 一类的绝大部分来自授权专利而非论文,这让它和以文献为主的同类资源在化学空间上几乎不重叠。

它要解决的不是「哪里能找到降解剂」,而是「降解剂这个新模态的数据该长什么样」。传统小分子的数据核心是结合亲和力,降解剂的数据核心是三元复合物能否形成、形成后能降多少、以及降解是不是真的走了泛素—蛋白酶体这条路。这三件事对应三类完全不同的测量,混在一张表里是灾难,分开存才有用。

本篇会先说清楚它给不了什么,再拆字段与取数路径,最后落到一个绕不开的问题:这个库没有把「降解证据有多硬」做成一个可机器判定的字段,而这个分级恰恰是它最有价值也最容易丢的东西。一屏速览见下表。

维度 内容
官方名称 TPDdb — Targeted Protein Degradation database
中文常用名 靶向蛋白降解数据库
建设方 浙江大学药学院 Zhu Feng 课题组牵头,多单位协作
首次发表 Nucleic Acids Research,2026 年 1 月,数据库专刊
DOI 10.1093/nar/gkaf996
官方入口 https://idrblab.org/TPDdb/
分子规模 两万八千余个,六类模态
活性测量 两万七千余条,覆盖 201 个细胞系
目标蛋白 580 个,标准化到 UniProtKB
疾病覆盖 274 种,标准化到 ICD-11
模态覆盖 分子胶、PROTAC、LYTAC、ATTEC、AUTAC、AUTOTAC
数据来源 同行评议文献 + 授权专利(USPTO/WIPO/EPO/JPO/CNIPA)
策展方式 领域专家人工策展
三元复合物 仅收实验解析结构,不收计算预测
访问方式 免登录浏览、检索、下载
许可 论文 CC BY-NC 4.0;站点条款未单独声明
适合 新模态立项调研、专利化学空间探索、跨模态对比

§1 它要解决的具体麻烦

1.1 降解剂的数据问题不是「少」,是「错位」

药物化学熟悉的数据表结构是围绕「一个分子对一个靶点一个活性值」设计的。这套结构在抑制剂时代几乎万能:分子占住活性口袋,IC50 越低说明占得越牢。降解剂把它从根上拆了。

PROTAC 是一根两头带钩的绳子:一头钩住目标蛋白,一头钩住 E3 连接酶,靠连接链的长度与刚度把两者拉近,让泛素转到目标蛋白上,再被蛋白酶体销毁。分子本身不参与销毁,只促成一次「相遇」,事成后还能再来一次,这就是催化式机制。分子胶更极端,它没有两头,只是一颗小分子卡在两个蛋白之间,造出原本不存在的结合面。

直接后果是:分子对目标蛋白的亲和力与最终降解效率可以完全脱钩。微摩尔量级的分子可能是极好的降解剂,因为限速步骤是三元的协同性而非二元结合;纳摩尔级的强结合分子也可能完全不降解,因为它把口袋占死了,反而挡住泛素化。

TPDdb 想做的不是「多收分子」,而是「换一套表结构」:活性拆成降解、结合、细胞毒三类并列,E3 连接酶升格为与目标蛋白平级,三元复合物结构单独留位。这三处取舍比分子数更能说明它服务谁。

1.2 三条常见的错误期待

第一条,把它当成 ChEMBL 的降解剂切片。这条会落空:ChEMBL 以结合类活性为主,降解剂在里面只有零散记录;TPDdb 反过来,先把降解剂圈成封闭集合再填活性。两者补集远大于交集,取 ChEMBL 子集得不到近似版本。

第二条,把它当成随手可训练的干净监督集。错在两处:活性类型混放,没有公认规则说哪些算降解证据;阴性结果缺失,模型只见正例,判别边界是虚的。§7 展开。

第三条,认为记录数可换算成可用样本量。两万八千余个分子听起来充裕,但若任务要求三元结构、同细胞系可比 DC50、通路对照实验,子集会缩到很小的角落。§4.3 的案例走一遍这个缩水过程。

1.3 它能给到的与给不到的

这张表按需求列,不按字段列。左列是脑子里冒出来的一个念头,中间是库能不能接住,右列是够不够用。

你的需求 它给的 够不够
查某个靶点有哪些降解剂 按目标蛋白筛选,返回跨模态全列表 够,且比文献检索快得多
查某个分子有没有人做过降解 分子层级页面,含活性明细与实验上下文 够,但要看活性类型是不是降解类
找 PROTAC 的连接链设计范式 有分子结构,但连接链未做分段拆解 不够,PROTAC-DB 更合适
判断一个分子的降解证据有多硬 三类活性并列,无证据分级字段 不够,需自己按规则重建分级
要三元复合物结构做对接 实验解析结构收录,数量有限 部分够,先确认靶点是否命中
要预测未见分子的 DC50 有结构-活性对,可做相似性检索 勉强够,见 §5 的建模纪律
要阴性样本做对比学习 无系统收录的失败案例 不够,这是结构性缺口
要疾病或适应症布局分析 274 种疾病,ICD-11 标准化 够,但疾病是映射推得的
要 linker 化学与降解效率的定量关系 需要自己从 SMILES 里切分 不够,得先做结构解析
要临床试验阶段与在研状态 仅在引言提到 3 个获批、30 余个在研 不够,需另找临床库
要批量的稳定 API 网页检索可用,批量端点未公开 不够,需自建抓取并注意条款
要可商用的数据 论文 CC BY-NC,站点无单独开源声明 视用途而定,商用须先确认

「判断证据有多硬」这一行最值得强调:三类活性同表并列,却没有一个字段说「这条记录的降解是否被证实」。这个判断得按外部规则重建,重建规则的好坏直接决定后面所有结论的质量。

1.4 你的处境与它能帮到的事

下面这张表按处境列,左列写的是你此刻的处境,不是库的特性。

你的处境 它能帮你什么 下一步该做什么
立项会上被问到「这个靶点有没有降解剂先例」 按目标蛋白一筛,十分钟内出跨模态清单 拿到清单后回查原始专利,确认权利状态
手上有一个新骨架,想知道有没有人做过类似的 结构相似性检索,Tanimoto 排序返回类似物 用返回的类似物反查专利族,判断规避空间
要写一篇降解剂领域的综述,需要量化描述 580 个靶点与 274 种疾病可做覆盖度描述 叠加 PROTAC-DB 再统计,避免专利偏置
要训练一个降解活性预测模型 有两万七千余条带细胞系的活性值 先做活性类型拆分与分组切分,见 §5.4
要解释某分子为什么降解效率低 有三元复合物结构可看界面与构象 未命中需回 PDB 自行检索
要从抑制剂转做降解剂,缺 E3 配体知识 每一类分子都标注了所用 E3 连接酶 E3 分布极不均衡,见 §3.3
要评估某个适应症赛道的拥挤度 疾病关联可做分布观察 疾病为映射所得,需人工抽查确认
要做分子胶与 PROTAC 的跨模态对比 六类模态在同一张表里,字段同构 这是它相对同类库最独特的优势

第八行是典型价值点:跨模态比较在只收 PROTAC 的库和泛化学库里都做不到,因为后者不区分模态。

1.5 一句话判断

如果你的问题是「这类分子该怎么设计、化学空间长什么样、跨模态有没有共同规律」,TPDdb 是目前最省事的一站式入口;如果你的问题是「这条数据可不可信」,那么它只提供原料,分级要你自己砌。

这句判断可以直接当成选型的第一道筛子:它定位成一个覆盖面极宽的原料库,而不是已经做完质量分层的成品。

1.6 不适合谁:四条边界

第一条,不适合把降解证据当既成事实引用的人。库不提供证据分级,两万七千余条活性里既有确证的降解实验,也有只测了细胞活力的记录。对外发布候选清单这类对假阳性敏感的任务,直接取库会把未经证实的分子混进去。

第二条,不适合需要完整阴性对照集的人。失败案例基本不会出现,需要正负对比的任务必须另找来源补负例,否则模型学到的只是「什么样的分子容易被写进专利」。

第三条,不适合需要商用授权的人。论文 CC BY-NC,站点没有可商用的开源声明。企业内训、对外产品里用派生数据,都要先与作者确认。

第四条,不适合需要原生实验记录的人。人工策展是加工,会丢失上下文,比如完整剂量曲线的形状、重复实验的离散度、抗体货号。库里只有摘要式数值,要追这些必须回原文。

§2 数据构成与规格

2.1 六类模态是怎么分出来的

TPDdb 把降解剂分成两大类、六个组。第一大类劫持泛素—蛋白酶体通路,包含分子胶与 PROTAC;第二大类劫持自噬—溶酶体通路,包含 LYTAC、ATTEC、AUTAC、AUTOTAC。这个二分法的依据是「目标蛋白最终被谁销毁」,不是「分子长什么样」。

这个依据决定了字段组织方式。同样是双功能分子,走蛋白酶体路线的标注 E3 连接酶,走溶酶体路线的标注穿梭受体(如 M6PR 或 ASGPR)。前者是泛素转移的催化端,后者是内吞后送货进溶酶体的搬运工,混填会让字段语义崩掉。

类别 通路 结合方式 关键标注对象 分子量级
分子胶 泛素—蛋白酶体 诱导新结合面,无需连接链 E3 连接酶与新生底物 六千余
PROTAC 泛素—蛋白酶体 双功能,两端分别结合 E3 配体与连接链 两万二千余
LYTAC 自噬—溶酶体 双功能,一端结合溶酶体受体 穿梭受体(M6PR/ASGPR) 二百余
ATTEC 自噬—溶酶体 把目标与自噬体拴在一起 自噬相关蛋白 一百六十余
AUTAC 自噬—溶酶体 双功能,带降解标签 标签与自噬通路 二十余
AUTOTAC 自噬—溶酶体 靶向自噬受体 自噬受体 二十余

六类之间差了两个数量级。PROTAC 与分子胶占绝大多数,溶酶体四类合计不到五百个。这不是设计出来的,而是领域真实状态:溶酶体降解剂起步晚。做跨模态对比时要意识到后四类统计量很薄,结论容易是噪声。

2.2 字段与记录的完整字典

字段按三个粒度切开:分子粒度回答「这是什么」,活性粒度回答「测出了什么」,关联粒度回答「连到哪里去了」。

字段组 字段 含义 取值形态 层级 使用注意
身份 分子名 常用名或代号 自由文本 分子 同类名可能对应不同盐型
身份 同义名 别名与专利编号 列表 分子 跨源去重的主要依据
身份 分子式 元素组成 标准字符串 分子 可用于粗筛
身份 规范 SMILES 分子结构 字符串 分子 结构检索与建模的入口
理化 分子量 相对分子质量 数值 分子 分子胶偏小,PROTAC 常超 700
理化 logP 脂水分配系数 数值 分子 有来源差异,见 §2.5
理化 氢键供受体数 描述符 数值 分子 用于成药性粗判
靶点 目标蛋白 被降解的蛋白 UniProtKB 标识 分子 已标准化,可直接连外部库
靶点 目标蛋白序列 氨基酸序列 序列 分子 取自 UniProtKB
靶点 目标蛋白结构 单体三维结构 PDB 标识 分子 取自 PDB
机制 E3 连接酶 泛素转移催化端 UniProtKB 标识 分子 溶酶体类填受体而非 E3
机制 作用注释 降解/抑制/稳定 枚举 分子 分子胶字段,非全库通用
机制 三元复合物 实验解析结构 PDB 标识 分子 仅实验结构,缺者为空
连接 连接链 PROTAC 中间段 结构片段 分子 未单独拆解,需自切
活性 活性类型 IC50/DC50/Dmax 等 枚举 活性 必须拆开,是全库最关键的字段
活性 活性值 测量值 数值 活性 需与单位同读
活性 单位 浓度或其他单位 字符串 活性 归一化前不可比较
活性 细胞系 实验所用细胞 Cellosaurus 标识 活性 跨细胞系不可合并
活性 实验条件 处理时间等 自由文本 活性 时间是 DC50 的必要上下文
活性 检测方法 定量手段 文本 活性 方法差异会改变绝对值
关联 疾病 适应症关联 ICD-11 编码 关联 映射推得,非原始标注
关联 文献来源 出处 文献标识 关联 可回溯
关联 专利来源 出处 专利号 关联 专利化学空间的主要证据

最需要盯住的是「活性类型」这一行:它是全库唯一能把降解证据与结合证据区分开的字段,抹掉它,整个库的语义就失效了。

2.3 一条记录的完整解剖

下面用一个分子层级的记录形态说明。这是按论文描述还原的字段排布,不是抓取得到的原始记录,数值仅为示意。

分子层级记录(示意)
{
  "tpd_type": "PROTAC",
  "name": "<分子代号>",
  "synonyms": ["<专利中的编号>", "<文献中的代号>"],
  "formula": "<分子式>",
  "smiles": "<规范 SMILES>",
  "properties": {"mw": 0.0, "logp": 0.0, "hbd": 0, "hba": 0},
  "poi": {"uniprot": "<UniProtKB 标识>", "name": "<目标蛋白名>"},
  "e3_ligase": {"uniprot": "<UniProtKB 标识>", "name": "<连接酶名>"},
  "ternary_structure": "<PDB 标识或空>",
  "source": {"type": "patent", "id": "<专利号>"}
}

一条活性格记录则是另一种形态,它挂在分子下面,一个分子可以有多条。

活性格记录(示意)
{
  "molecule": "<分子代号>",
  "activity_type": "DC50",
  "value": 0.0,
  "unit": "nM",
  "cell_line": "<Cellosaurus 标识>",
  "assay_method": "<检测方法>",
  "treatment_hours": 0,
  "source": {"type": "literature", "id": "<文献标识>"}
}

关键点是:证据强度不在任何单个字段里,而是多个字段的组合推论。判断某分子在某细胞里是否真被降解,至少要同时满足活性类型为降解类、检测为蛋白水平定量、处理时间足够长、细胞系确实表达该靶点。四项分散在不同字段,没有一处合成布尔值。

2.4 六类模态的规模分布

把记录数、通路、E3 依赖并列,能看出库的重心。

模态 记录量级 通路 是否依赖 E3 是否依赖连接链 结构复杂度
PROTAC 两万余 泛素—蛋白酶体 是 是 高,三部分需解析
分子胶 六千余 泛素—蛋白酶体 是 否 低,单体
LYTAC 二百余 自噬—溶酶体 否 是 高
ATTEC 一百六十余 自噬—溶酶体 否 视设计 中
AUTAC 二十余 自噬—溶酶体 否 是 高
AUTOTAC 二十余 自噬—溶酶体 否 视设计 中

隐藏含义是:E3 连接酶字段在溶酶体四类里为空或不适用。把 E3 当作全库必填字段的下游表会在这些记录上出错,正确做法是把它理解为泛素类专属字段,溶酶体类改用受体字段。

2.5 与同类资源的字段差异

论文表 1 做了六库对比,下面转成中文并补上使用视角。

资源 定位 覆盖模态 数据来源 策展方式 三元结构 检索方式
TPDdb 降解剂专业库 六类全覆盖 文献 + 专利 专家人工 实验结构 文本、结构、模态、靶点
PROTAC-DB PROTAC 专业库 仅 PROTAC 仅文献 人工 实验 + 预测 文本、结构、靶点
PubChem 通用化学库 不区分 文献 + 专利 自动 + 提交 无 通用文本与结构
ChEMBL 通用活性库 不区分 文献 + 专利 自动 + 提交 无 通用文本与结构
TTD 药物靶点库 不区分 文献 + 专利 自动 + 人工 无 通用文本
DrugBank 药物知识库 不区分 文献 + 专利 自动 + 人工 无 通用文本

最值得注意的一格是「三元结构」:PROTAC-DB 兼收实验与预测结构,TPDdb 只收实验结构。这是两种取向——前者要多覆盖,接受不确定性;后者要每条可引用,接受低覆盖。做结构类研究时,这个差异决定你能不能把结构当标签用。

另一格是「数据来源」。五个专利局的覆盖带来一个副作用:同一专利族在不同国家的版本可能被重复采集。做专利族分析要先按结构去重再按专利号统计,顺序反了会高估。

§3 谁做的,凭什么可信

3.1 建设方与谱系

TPDdb 出自浙江大学药学院,通讯作者为 Zhu Feng,作者共十四人,另有西安交通大学-利物浦大学智慧湖畔药学院与系统生物学方向的研究者参与。团队所在的 IDRB Lab 长期维护多批药物—靶点数据库,方法论积累成熟。

这对使用策略有实际意义:可信度不只取决于这一版的质量,还取决于它会不会被维护。成熟团队按年更新的库可以长期追踪;一次性产物必须拿到那天就固化快照。

发表渠道同样是信号:《核酸研究》数据库专刊要求库必须免登录开放,这解释了数据可用性声明为何写得如此直白。

3.2 策展流程的三道筛

这三道筛决定了库里有什么、没什么。

第一道是定义筛:只有符合各类降解剂既定定义、且化学结构与连接链、结合端、靶向端都能明确确定的分子才纳入。它筛掉的是专利里只给通式、没有实例的分子。专利写作中「权利要求覆盖一大类、实施例只给几个」是常态,只存在于马库什通式里的结构进不了库。

第二道是证据筛:原始文献或专利没有提供直接实验证据支持预定功能(降解或稳定)的记录被排除。这至少做了证据存在性检查,但筛的是「有没有证据」而非「证据有多强」——只做了细胞活力检测却声称降解的专利,只要写了降解就有资格入库。

第三道是结构筛:结构常以图片或非标准格式给出,需重绘为规范形式,模糊到无法唯一确定连接位点的被筛掉。这是最费人力的一环,也是结构检索能成立的前提。

筛 筛掉什么 留下的保证 留下的盲区
定义筛 只有通式没有实例的分子 每条记录结构明确 覆盖不到权利要求层面的化学空间
证据筛 没有任何功能实验的分子 每条记录有实验支撑 不区分实验强度
结构筛 结构无法唯一确定的分子 结构可计算、可检索 可能丢掉部分真实分子

三道筛保证「每条记录都真实存在、结构清楚、且有人声称它能降解」。但三条都停在存在性层面,没有一条承诺质量。这是 §7 要处理的坑,也是 §4.3 的案例要演示的地方。

3.3 E3 连接酶的分布与真实瓶颈

论文在描述靶点图景时点出了几个被反复攻击的蛋白:GSPT1、IKZF 家族、CK1α、各类 CDK、雄激素受体、KRAS。这些名字背后是同一个现象:可降解的蛋白很多,但能用的 E3 配体极少。

人类基因组编码的 E3 连接酶有六百余个,真正用于双功能降解剂设计的长期集中在 CRBN、VHL、IAP、MDM2 几个上。这是配体可得性、表达丰度、组织分布三个约束共同造成的:CRBN 因沙利度胺类的历史积累而配体易得,VHL 因结构清晰成为另一主力。

瓶颈在库里的表现是 E3 字段取值高度集中。做「新 E3 拓展」分析必须先意识到:库里的 E3 多样性反映配体可得性,不是生物学上的可降解潜力。

E3 连接酶 配体成熟度 组织表达特点 在库中出现的可能形态 拓展难点
CRBN 高,历史配体丰富 广泛表达 分子胶与 PROTAC 双线出现 底物谱窄,脱靶降解风险
VHL 高,结构清晰 广泛表达 PROTAC 主力 配体多为肽模拟物,透膜受限
IAP 中 广泛 PROTAC 有分布 配体本身有促凋亡活性
MDM2 中 广泛 少量出现 配体同时影响 p53 通路
其他 低 各异 极稀疏 缺配体,需从头发现

3.4 三元复合物:收集了什么,没收集什么

论文明确写了三元复合物只收实验解析结构,且与分子、靶点、连接酶三方关联。这是有意为之的取舍。

预测结构的价值在覆盖率,局限在不确定性。三元构象高度依赖分子与两个蛋白的相对取向,对接或深度学习预测出的结构在界面细节上误差大,而这些细节恰恰是解释「为什么这个分子降解效率高」的关键。混入预测结构而不加区分,机制分析会被误导。

所以「只收实验结构」这个决定,把可靠性抬高了一档,代价是覆盖率下降。使用时的正确姿势是把它当作一个小而精的结构集,样本量按结构记录数计,不能按分子数计。

另一个没说的是结构的解析质量。实验结构的分辨率跨度可以从一点几埃到四埃以上,低分辨率结构的侧链取向不可靠。库没有给出分辨率字段,做精细界面分析时还得回 PDB 逐个核对。

3.5 与库内其他化学资源的层次关系

TPDdb 在库内不属影像或临床数据,而是分子层级的化学与生物活性数据,与 ChEMBL、DrugBank 同处一个生态位,但服务的问题不同。

层级 代表资源 回答的问题 与 TPDdb 的关系
通用分子层 PubChem 这个结构有没有人合成过 提供结构查询的下游兜底
通用活性层 ChEMBL 这个分子对靶点的结合有多强 提供非降解活性的对照
上市药物层 DrugBank 这个分子是不是药、怎么用 提供临床端的确认
降解剂专层 TPDdb 这个分子能不能把蛋白清掉 本层
PROTAC 专层 PROTAC-DB 文献里报告过哪些 PROTAC 互补,来源侧不同

层次关系决定查证路径:遇到陌生分子,先在 TPDdb 看是不是降解剂,再去 ChEMBL 看是不是抑制剂,最后到 PubChem 看存不存在。

§4 证据质量与特色

4.1 三类活性为什么必须分开存

降解剂的活性测量可以粗略分成三类,各自的生物学含义完全不同。

第一类是结合类:IC50、Kd、Ki,测的是分子与某个蛋白(往往是目标蛋白或 E3 连接酶)的结合强度。无论生化体系还是细胞体系,测的都是「结合」,不是「降解」。

第二类是降解类:DC50 是让目标蛋白丰度下降一半所需浓度,Dmax 是饱和浓度下的最大降解幅度。两者都以蛋白丰度定量为基础,通常用免疫印迹、流式或质谱读出,这才是真正的降解证据。

第三类是表型类:细胞活力、凋亡率、增殖抑制,测的是细胞状态而非某个蛋白的丰度。一个分子让细胞死掉,可能因为降解了关键蛋白,也可能因为本身有毒或代谢产物有毒,单看这类数据无法区分。

活性类别 典型指标 测量对象 能证明降解 典型混杂
结合类 IC50、Kd、Ki 分子与蛋白的结合 不能 结合不等于降解
降解类 DC50、Dmax 目标蛋白丰度 能 需确认通路依赖性
表型类 细胞活力、凋亡率 细胞状态 不能 脱靶毒性无法排除
结构类 三元复合物结构 复合物构象 间接支持 体外构象不等于细胞内行为
机制类 通路抑制对照 泛素—蛋白酶体依赖 能,且最强 需原始实验设计支持

论文把降解活性、结合亲和力、细胞毒并列存放,还区分生化与细胞两类实验。这个设计是诚实的,承认三类并列的事实,没替使用者做判断——代价是判断责任落到了使用侧。

4.2 降解证据的六个层级

如果要给这个库补一个证据分级,最自然的做法是按「离降解这一步有多近」来分层。下面这套分层是本篇提出的操作性建议,不是官方字段。

层级 判据 需要的数据 可信度 库里可查性
L0 表型 只有细胞活力或增殖数据 表型值 最低 高,大量存在
L1 结合 仅证明与目标蛋白结合 IC50 或 Kd 低 高
L2 丰度 蛋白水平有下降但无剂量关系 单点蛋白定量 中 中
L3 剂量 有 DC50 或完整剂量曲线 DC50、Dmax 较高 中
L4 通路 有蛋白酶体抑制剂或泛素化对照 对照实验记录 高 低
L5 结构 有三元复合物实验结构 PDB 标识 最高,但覆盖面窄 最低

L4 与 L5 要分开,因为证明的东西不同:L4 证明降解走了泛素—蛋白酶体通路,排除溶酶体或转录抑制等替代解释;L5 证明复合物真能形成并给出构象。满足 L4 未必满足 L5(有对照但没解结构),反之亦然(有结构但没在细胞里验证降解)。

这套分层的用途是给下游任务设门槛。比如训练「给定分子预测能否降解」的二分类器,正例应取 L3 及以上,负例另找来源。门槛若放到 L0,模型学到的其实是「什么分子会让细胞死」,那是个已被研究得很透的另一个问题。

4.3 案例:KRAS G12C 降解剂的三元结构覆盖率

用 KRAS 走一遍,能看到证据层级的具体缩水。论文把 KRAS 列为库内重点攻击的靶点之一,按目标蛋白筛它会返回一个不小的列表。

第一步按靶点筛出全部 KRAS 降解剂,这一步会返回跨模态的记录。第二步拆活性类型,只留 DC50 与 Dmax——大量专利只报了细胞活力或结合数据,没做丰度定量,这一步砍掉相当一部分。第三步按细胞系分层:同一个分子在结直肠癌与肺癌细胞系里的 DC50 可能差一个数量级,因为靶点周转速率、E3 表达、外排能力都随细胞类型变化,要跨分子比较必须锁定细胞系。第四步筛有三元结构的分子,KRAS 与 CRBN 的复合物在 PDB 里有,但覆盖不到大部分分子。第五步筛有通路对照的,要求原始实验做过蛋白酶体抑制剂的回复实验或泛素化检测,成本高,通常只在少数候选分子上做。

步骤 操作 剩余量级 主要损失
起点 按目标蛋白筛 KRAS 数百 无
拆活性类型 只留 DC50/Dmax 数十到百余 只有活力或结合数据的记录
锁细胞系 取单一细胞系 数十 跨细胞系不可比
筛三元结构 要求实验结构 个位数 结构解析覆盖率低
筛通路对照 要求回复实验 个位数或更少 对照实验成本高

这条路径解释了为什么不能用记录数当样本量:记录数是「被记录过多少分子」,可用样本量是「在统一条件下被验证过多少分子」,两者差一到两个数量级。

4.4 Dmax 这个指标为什么常被忽略

Dmax 与 DC50 并列,讨论热度却远低于后者,这个不对称有代价。

DC50 是浓度尺度的指标,回答「要多浓才降一半」,直观、好比较、易与药代对接;Dmax 是效率尺度的指标,回答「最多能降多少」,反映降解的饱和上限。

两者描述不同的失败模式:DC50 差说明效力不足,Dmax 低说明无论加多少都降不下去,问题在机制。一个 Dmax 只有三四成的分子,即使 DC50 漂亮,治疗上也有天花板——清不掉大部分目标蛋白,下游效应就达不到。

忽略 Dmax 的后果在做化合物排序时最明显:按 DC50 选出的头部化合物,可能清一色是 Dmax 只有五六成的分子,体外看着很强,体内蛋白残留始终下不去。

情形 DC50 Dmax 机制解读 开发建议
理想 低 高 高效且彻底 优先推进
有限清除 低 低 催化效率受限于某一步 查三元协同性与泛素化效率
弱效 高 高 需要高暴露但能清干净 优化理化性质与暴露
双重失败 高 低 机制层面不通 换 E3 或换靶点结合端
数据不足 有 无 未测饱和 补做剂量曲线

把两个指标做成四象限,落在低 DC50、高 Dmax 那格才是第一梯队;只用 DC50 排序等于把四象限压成一维。

4.5 跨模态对比:这个库真正独特的地方

只收 PROTAC 的库做不了跨模态对比,泛化学库不区分模态也做不了。TPDdb 把六类放进同一张表、字段同构,因此能回答一类只有它能回答的问题。

一类问题是:分子胶与 PROTAC 在靶点选择上有没有系统差异?分子胶依赖 E3 表面的天然可塑性,倾向攻击能被 CRBN 识别的底物;PROTAC 依赖两端配体,几乎任何有配体的蛋白都能被拉过去。若差异真实存在,库里的表现应是分子胶靶点更集中、PROTAC 更分散。

另一类是:溶酶体降解剂的靶点谱与蛋白酶体降解剂是否互补?前者能降解蛋白聚集体与细胞器这类大底物,后者进不去。

这两个问题在没有统一表结构时根本提不出来,因为得先在两套格式之间对齐,而对齐时引入的假设会污染结论。TPDdb 把对齐做在了上游,这是它最不容易被替代的地方。

对比维度 分子胶 PROTAC 可观察结论
靶点集中度 高,依赖 CRBN 表面 低,依赖配体可得性 靶点谱宽度差异
分子量 小,类药性好 大,常超常规上限 理化空间差异
连接链 无 有,长度影响协同 结构设计复杂度差异
透膜性 通常较好 常受限制 给药路径差异
发现方式 多靠表型筛选 多靠理性设计 发现范式差异

§5 怎么拿到数据

5.1 访问形态与边界

官方入口是 Web 应用,提供文本检索、结构检索、模态筛选、靶点筛选。论文声明所有数据可查看、可访问、可下载,无需登录。

必须诚实交代一个情况:抓取该入口时返回的是需要等待脚本加载的空壳页面,本身不带数据。它不是静态导出站,数据由前端脚本从后端接口拉取。影响有两层:无法用命令行工具直接下载全量包;批量获取需先找到后端接口或借浏览器渲染。

论文没有公布稳定、有文档的批量端点,这一点按「未核实」处理。若流程必须脚本化批量获取,最稳妥的路径是联系作者说明用途并索取数据包,而不是逆向接口。

获取方式 可用性 适用场景 风险
网页文本检索 确认可用 查单个分子或靶点 需人工操作
网页结构检索 确认可用 找类似物 需 JSME 或 SDF 上传
网页模态筛选 确认可用 按类别浏览 只适合少量浏览
全量数据包 未核实 批量建模 端点未公开
后端接口 未核实 自动化管线 无文档,可能变动
联系作者索取 可行 正式研究 需等待回复

5.2 结构检索的机制

结构检索用分子指纹加 Tanimoto 系数。输入可以是在线绘制、SDF 或 SMILES,后端把查询分子转成指纹、与库内全部分子比对后按相似度排序。

两个注意点。一是相似度依赖指纹类型,论文未说明用的是哪一种,这影响可复现性:同一对分子在不同指纹下相似度可能差很多,大分子量 PROTAC 尤其明显,常规指纹的分辨力会下降。二是阈值,零点七这个经验门槛来自小分子筛选,对大而柔的 PROTAC 未必合适,更稳妥的做法是取前若干名再人工看结构。

#-- 用 RDKit 在本地复现类似的结构相似性检索,不依赖站点接口
#-- 前置:pip install rdkit
from rdkit import Chem, DataStructs
from rdkit.Chem import AllChem
import json

#-- 读取本地整理好的 SMILES 列表(需自行从站点整理或向作者索取)
with open("tpddb_smiles.json", encoding="utf-8") as f:
    records = json.load(f)

def morgan_fp(smiles: str):
    mol = Chem.MolFromSmiles(smiles)
    if mol is None:
        return None
    return AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=2048)

query_smiles = "CC1=C(C=C(C=C1)C2=NC=CC(=N2)N3CCN(CC3)C)NC(=O)C4=CC=CC=C4"
query_fp = morgan_fp(query_smiles)
if query_fp is None:
    raise ValueError("查询结构无法解析,请检查 SMILES 合法性")

hits = []
for rec in records:
    fp = morgan_fp(rec.get("smiles", ""))
    if fp is None:
        continue
    sim = DataStructs.TanimotoSimilarity(query_fp, fp)
    hits.append((rec.get("name", ""), round(sim, 3)))

hits.sort(key=lambda x: -x[1])
for name, sim in hits[:20]:
    print(f"{sim:.3f}\t{name}")

这段代码让结构检索脱离站点也可复现,指纹半径与位数换一组,结果就会变,可借此评估结论对指纹选择的敏感度。

5.3 分子层与活性层的关联

第一件事是建立分子与活性的关联键。库是分子一层、活性一层,活性挂在分子下。最容易出的错是把分子名当主键,而分子名在同义名、盐型、专利代号之间并不唯一。

正确做法:规范 SMILES 作结构层键,来源标识作记录层键,中间用内部标识串联。这样同结构不同名能识别为同一化合物,同一化合物在文献与专利的两条记录也都保留。

#-- 把分子表与活性表按内部标识对齐,并按结构去重统计真实化合物数
import json
from collections import defaultdict

with open("tpddb_molecules.json", encoding="utf-8") as f:
    molecules = json.load(f)
with open("tpddb_activities.json", encoding="utf-8") as f:
    activities = json.load(f)

mol_by_id = {m["molecule_id"]: m for m in molecules}

#-- 活性表可能引用了不存在的分子标识,先做完整性检查
orphan = [a for a in activities if a["molecule_id"] not in mol_by_id]
print(f"孤儿活性行 {len(orphan)} 条")

#-- 按规范 SMILES 归并,得到真实化合物数(去盐型、去重复专利族)
by_smiles = defaultdict(list)
for m in molecules:
    by_smiles[m.get("smiles", "")].append(m["molecule_id"])
print(f"记录 {len(molecules)} 个,去重后结构 {len(by_smiles)} 个")

#-- 统计每个化合物有多少类降解活性
deg_types = {"DC50", "Dmax"}
per_mol = defaultdict(set)
for a in activities:
    if a.get("activity_type") in deg_types:
        per_mol[a["molecule_id"]].add(a["activity_type"])
n_with_deg = len(per_mol)
print(f"有降解类活性的分子 {n_with_deg} 个,占比 {n_with_deg / max(len(molecules), 1):.1%}")

跑完会得到两个关键数:去重后的真实化合物数,和有降解类活性的分子数。后者往往远小于前者,前者往往小于记录数,这两个数才是规划下游任务的起点。

5.4 建模前的切分纪律

拿它做机器学习,切分方式比模型选择更重要,因为库里同时存在结构泄漏与细胞系泄漏。

结构泄漏来自专利:同族实施例常是同一骨架换取代基,随机切分会让测试集分子与训练集高度相似,模型只要学会「这个骨架大概率有活性」就能拿高分,但没有泛化意义。

细胞系泄漏来自测量条件:同一分子在多个细胞系有值,按记录随机切分会把同一分子拆到两边,模型学到的是「这个分子」而非「这个结构」。

正确的做法是两层切分:先按骨架或指纹聚类做分组切分,保证同一簇的分子不跨集;再在同一组内按细胞系锁定,保证可比。切完之后通常会得到一个让人清醒的结果——分数比随机切分低很多,但那个低分才是真实的。

#-- 按骨架分组切分,防止专利同族分子跨训练/测试集泄漏
from rdkit import Chem
from rdkit.Chem.Scaffolds import MurckoScaffold
import random

def scaffold_of(smiles: str) -> str:
    mol = Chem.MolFromSmiles(smiles)
    if mol is None:
        return ""
    return MurckoScaffold.MurckoScaffoldSmiles(mol=mol, includeChirality=False)

groups = {}
for rec in records:
    sc = scaffold_of(rec.get("smiles", ""))
    groups.setdefault(sc, []).append(rec)

keys = list(groups.keys())
random.Random(42).shuffle(keys)

n_total = len(records)
target_test = int(n_total * 0.2)
test, train = [], []
for k in keys:
    if len(test) < target_test:
        test.extend(groups[k])
    else:
        train.extend(groups[k])

print(f"训练 {len(train)} / 测试 {len(test)},骨架组数 {len(keys)}")

骨架切分不是万能的。PROTAC 的 Murcko 骨架往往只剩连接链的核心环系,两端配体被剥掉,分组效果会比小分子弱。如果要做更严格的切分,应该按两端配体的组合做分组,这需要先做结构分段,见 §5.5。

5.5 从 SMILES 切出 linker 与两端配体

TPDdb 没有把 PROTAC 拆成分段字段,这是相对 PROTAC-DB 的明显缺口。做「连接链长度与降解效率」分析必须自己切。

自动切分没有唯一解,「哪里算连接链」取决于化学家判断。工程上常用做法是先识别两端结合基团(通常是有明确药效团的环系),剩下的链状部分算连接链。这做法在规整分子上可行,复杂分子上会错,切完必须抽样人工核对。

#-- 用可断裂键把分子切成片段,粗略估计连接链长度
from rdkit import Chem

def cleave_linker(smiles: str):
    mol = Chem.MolFromSmiles(smiles)
    if mol is None:
        return None
    #-- 酰胺键与酯键是双功能分子里最常见的连接位点
    patterns = ["[CX3](=O)[NX3]", "[CX3](=O)[OX2]"]
    frags = []
    for smarts in patterns:
        patt = Chem.MolFromSmarts(smarts)
        frags.extend(mol.GetSubstructMatches(patt))
    #-- 只报告命中数,作为连接链复杂度的粗指标
    return {"n_amide_or_ester": len(frags), "n_heavy": mol.GetNumHeavyAtoms()}

for rec in records[:5]:
    print(rec.get("name", ""), cleave_linker(rec.get("smiles", "")))

这段代码只给粗指标。务实的顺序是先用粗指标看趋势,确认有信号再投入人力精细切分;反过来先精细切分,时间很容易在切分这一步就花光。

5.6 用靶点与疾病维度做布局分析

除了分子层面,它还适合做布局观察:580 个靶点与 274 种疾病配上 ICD-11 标准化,可直接描述赛道拥挤度与疾病覆盖。

做这类分析有三个纪律。一是要用去重后的结构数而不是记录数,否则专利同族会把某个靶点的热度虚高。二是要把肿瘤与非肿瘤分开看,论文提到疾病类型里肿瘤一百一十二种、非肿瘤一百六十二种,非肿瘤占比不小,但成药进展远慢于肿瘤。三是要注意疾病关联是映射推得的,一条「某分子关联某疾病」的记录,实际含义是「该分子在来源于该疾病的细胞系里被测过活性」,不是「该分子在该疾病里被验证有效」。

#-- 按靶点统计去重后的化合物数,识别拥挤靶点
from collections import defaultdict

target_to_smiles = defaultdict(set)
for m in molecules:
    poi = m.get("poi", {}).get("uniprot", "")
    sm = m.get("smiles", "")
    if poi and sm:
        target_to_smiles[poi].add(sm)

ranked = sorted(target_to_smiles.items(), key=lambda x: -len(x[1]))
print(f"覆盖靶点 {len(ranked)} 个")
for poi, smis in ranked[:15]:
    print(f"{poi}\t{len(smis)} 个不重复结构")

输出会显示靶点的严重不均衡:少数靶点聚集大量化合物,长尾只有个位数。这个形态在做竞争情报时比任何综述都直观。

§6 与库内记录的关系

6.1 关系图谱

TPDdb 在库内并非孤立,它与已有的化学与药物库构成从「通用」到「专用」的收敛结构。

库内记录 关系类型 互补点 冲突点
chembl 上游通用活性源 提供非降解活性的对照与背景 活性类型口径不同,不可直接拼接
drugbank 上市药物确认 确认某分子是否已成为药物 覆盖范围是药物不是降解剂
binding-moad 结合数据方法层 提供结合亲和力建模的思路 面向蛋白—配体,非三元体系
gaitpdb 无关 名称相似,实质无关 需在检索时避免混淆

gaitpdb 这一行值得单列,因为它是库内唯一的名称混淆风险点。TPD 与 gait 这两个缩写在某些检索里会出现相近的字符串匹配结果,站内搜索时要看全名而不是缩写。

6.2 检索路径

入口不同,路径也不同。下面按常见入口给出最短路径。

你的入口 最短路径 大概步数 常见卡点
知道分子名 首页搜索框直接输入 一步 别名可能搜不到,需换成规范名
知道靶点名 按目标蛋白筛选 两步 靶点名要能对上 UniProtKB
知道结构 结构检索上传或粘贴 SMILES 两步 大分子指纹区分度下降
只知道疾病 按疾病筛选 两步 疾病是映射所得,可能有遗漏
想找某类分子 按模态筛选后浏览 两步 记录太多时排序方式影响判断
想找类似物 结构检索取排名靠前者 三步 阈值需人工判断

§7 质量评估与局限性

7.0 阅读本节前的一个前置校正

在打分之前,必须先纠正一个认知错位:不要按通用化学库的标准来评价这个库。

通用库的标准侧重覆盖与自动化:记录越多越好,去重越彻底越好,字段越全越好。按这套标准,TPDdb 在许多地方失分——自动化不如 ChEMBL,去重没做到结构级,疾病字段是推得的。

但它的目标不是覆盖,而是把降解机制的数据结构表达出来。按这个标准重看,失分处多是有意取舍:专利来源导致记录数虚高,因为专利本就是化学空间的真实所在;疾病用映射生成,因为原始实验根本没有疾病标注这一栏;三元结构只收实验的,因为预测结构会污染机制解释。

前置校正的核心是:评价这个库,要看它有没有把「降解证据的层次」表达清楚。它表达了一半——把三类活性并列了,但没有给出分级字段。这一半的表达,是它最大的优点,也是它最大的缺口。下面所有评分都以此为基准,凡是把它的缺口服当成误判,都会得到错误结论。

7.1 五维评分

评分采用十分制,五个维度分别衡量不同侧面。

维度 分数 主要依据 扣分原因
覆盖广度 9 六类模态全覆盖,专利化学空间为同类最广 溶酶体四类数量很薄
结构表达力 8 分子层与活性层分离,E3 升格为一等字段 无 linker 分段,无证据分级
数据可追溯 8 每条有文献或专利来源,靶点与疾病有外部标识 追踪粒度停在摘要层
接入便利 6 免登录、有结构检索、可下载 批量端点未公开,页面需 JS 渲染
许可清晰度 5 论文明确 CC BY-NC 站点无独立开源许可声明

综合下来,这是一个在专业深度上明显强于通用库、在工程质量上弱于顶级基础设施的资源。它的强项恰好是别人补不上的,弱项恰好是别人做得更好的,所以它更像一个专用组件,而不是一个通用底座。

7.2 DAIMS 数据 AI 就绪度

维度 D 检查项 评分 说明
D1 数据完整性 8/10 六类模态字段同构,但不同类的必填字段不同
D2 标注质量 6/10 专家人工策展,但无标注一致性报告
D3 来源可溯 8/10 文献与专利双源,逐条可回溯
A1 机器可读 6/10 网页为主,批量格式未公开
A2 文档完备 6/10 论文有方法描述,无独立字段文档
A3 接入成本 6/10 免登录但需自行解决批量获取
A4 更新机制 5/10 首版发布,更新频率未公布
I1 指标标准化 8/10 UniProtKB、ICD-11、Cellosaurus 三重对齐
I2 可复现性 6/10 无版本号与快照机制,复现需固化副本
I3 语义互操作 7/10 外部标识齐全,缺降解剂专有本体
M1 多模态对齐 7/10 结构、活性、疾病三模态同卡对齐
M2 阴性覆盖 2/10 系统性缺失,是最严重的单点失分
S1 数据安全 9/10 无患者数据,隐私面为零
S2 合规负担 6/10 CC BY-NC 限制商用,需逐案确认

总分落在中间偏上。真正拉低分数的只有两项:阴性覆盖与更新机制。前者是领域共性难题,后者是首版资源的常态,两者都不构成「不该用」的理由,但都构成「用之前要补」的理由。

7.3 已知的、可枚举的偏差

这里的偏差取严格的统计学含义:系统性偏离真实分布的方向。

第一条是专利偏差。库里的 PROTAC 绝大多数来自授权专利,而专利的写作动机是保护化学空间,不是报告完整构效关系。结果是分子偏向「结构多样、取代基丰富」而非「活性最优」,用它估计平均活性水平会偏低。

第二条是发表偏差。文献侧同样只报成功案例:一个课题组做了三十个分子只写三个最好的,是常态,库收的是那三个。

第三条是细胞系偏差。201 个细胞系分布极不均匀,常见癌细胞系占绝大部分记录,原代细胞、干细胞、体内模型几乎不存在,结论很难外推到生理相关场景。

第四条是模态偏差。PROTAC 与分子胶的数据密度远高于其余四类,跨模态统计不做样本量校正,就会把「数据多的类」误判为「更常见的类」。

偏差 方向 影响 缓解办法
专利偏差 偏向结构多样而非活性最优 低估平均效力 与文献源合并后重估
发表偏差 只收成功案例 阳性率虚高 另找失败案例补负例
细胞系偏差 偏癌细胞系 外推性差 按细胞类型分层报告
模态偏差 偏 PROTAC 与分子胶 跨类比较失真 做样本量校正
来源地理偏差 专利局覆盖影响分布 区域创新被过度或不足代表 按专利局拆开看

7.4 外部验证矩阵

要判断它说了算不算数,得拿外部参照来对。三列分别是库内说法、外部对照点、对照结论。

库内陈述 外部参照 对照结论
两万八千余个分子为同类最大 PROTAC-DB 文献分子六千余个 数量优势主要来自专利,成立但需注明来源
覆盖六类模态 多数同类库只覆盖一类 跨模态覆盖成立
三元结构仅收实验解析 PROTAC-DB 兼收预测结构 可靠性更高、覆盖率更低,取舍成立
疾病 274 种经 ICD-11 标准化 原始文献少有疾病标注 映射成立,但含义是细胞系来源疾病
580 个靶点经 UniProtKB 标准化 UniProtKB 为权威蛋白标识源 标识层面成立
专家人工策展 论文宣称,无一致性指标 无法外部验证,只能采信

最后一行要单独说:人工策展的质量通常用双人独立标注加 Kappa 系数证明,论文没给这类指标,因此策展质量只能作为假设接受,不能当作已验证事实引用。

7.5 它为何能持续:专利化学空间的独占性

这类库能活下去,靠的不是比谁收得多,而是占住了一块别人不愿意做的地。

文献策展有明确的学术回报:读论文、抽数据、发文章。专利策展没有这个回报——费力、枯燥、法律语言晦涩、还要处理马库什通式。但恰恰是这块地藏着降解剂化学空间的绝大部分,谁翻过一遍,谁就有别人短期内无法复制的位置。

这就是它的生存逻辑:文献侧的库会不断被新库追平,因为读论文这件事门槛在下降;专利侧的库会被时间加固,因为每多翻一年专利,复利的优势就多一层。加之团队本身有维护多个数据库的工程能力,更新是可预期的。

反过来说,这也意味着它的风险点很明确:一旦专利检索与解析的自动化程度大幅提升,这块独占性会被稀释。到那时,它的护城河就要从「谁翻了专利」转向「谁把证据分得更细」。

§8 生态位与历史

8.1 历史沿革

降解剂的历史比直觉要长。二十年前学界已提出「把目标蛋白送进蛋白酶体」,早期工作用肽段做 E3 识别元件,分子量大、透膜差,只能算概念验证。

转折发生在小分子 E3 配体普及之后:CRBN 与 VHL 配体易得,双功能分子的设计门槛骤降,PROTAC 从精巧想法变成了可高通量探索的化学问题。分子胶的复兴是另一条线索,来那度胺这类老药的新机制被阐明后,「不设计连接链也能降解」这条路一下子打开了。

数据库的出现晚于这两条线索——领域要先积累到数据散落在几百篇论文和上千件专利里,才值得建库。TPDdb 出现在 2026 年,正对应这个时点。

阶段 时间感 主要形态 数据状态
概念期 二十年前 肽段类双功能分子 零星个案
配体成熟期 十余年前 小分子 E3 配体普及 文献快速增长
分子胶复兴期 近年 单体诱导降解 与 PROTAC 并行
溶酶体拓展期 近年 LYTAC 等新通路 数量少但增速快
建库期 当前 跨模态统一表结构 本库所处的阶段

8.2 在同类资源里的位置

同类资源可以按「覆盖模态」与「数据来源」两个轴排布。TPDdb 落在「全模态 × 文献加专利」这个角上,这个角目前是空的。

资源 模态覆盖 来源 角落
TPDdb 六类 文献 + 专利 全模态 × 双源
PROTAC-DB 一类 文献 单模态 × 单源
ChEMBL 不区分 文献 + 专利 泛化 × 双源
PubChem 不区分 文献 + 专利 泛化 × 双源
TTD 不区分 文献 + 专利 泛化 × 双源

这个位置的优势是稀缺,劣势是没有参照:找不到可直接对标的同类,只能拆成多个维度分别比。

8.3 与临床进展的距离

论文引言提到,目前有三个降解剂被美国食品药品监督管理局批准,三十余个在临床试验中。这两个数字与库里的两万八千余个分子之间,隔着一条极长的死亡谷。

这个距离意味着库里的绝大多数分子永远不会进入临床,它们的存在意义是化学空间探索与构效关系归纳。把库当候选池用,会严重高估领域成熟度。

层级 数量级 数据可用性 本库覆盖
已上市 个位数 高 部分覆盖
临床在研 数十 中 部分覆盖
临床前候选 数百 低 部分覆盖
专利与文献分子 数万 本库主要覆盖 主体
未发表的失败分子 未知 无 未覆盖

表的最下面一行是全库最大的空洞:真实的化学空间里,做过但失败的分子远超成功分子,而它们在公开渠道几乎不存在。

8.4 生态影响与衍生用途

专业库的影响往往不在它自己,而在它被谁拿去做了什么。

第一类是基准集。比较两个降解活性预测模型需要一个公认测试集,本库的专利化学空间天然提供了「训练集在文献、测试集在专利」的划分,比随机划分更接近真实场景。

第二类是靶点可降解性研究。580 个靶点及其化合物数量可支撑「哪些蛋白容易被降解」的统计,进而提出可降解蛋白组的假设。

第三类是专利情报。按专利局拆分统计,能看出不同区域的研发重心差异。

§9 使用指引

9.1 三种角色的路径

角色不同,最短路径差别很大,硬套一套流程反而低效。

角色 首要问题 第一站 最短路径 时间感
药物化学家 这个骨架有没有人做过 结构检索 上传 SDF 看相似物,再按靶点核实 十分钟级
计算化学家 能不能拿到干净训练集 数据获取 先解决批量获取,再做活性拆分与分组切分 天级
立项与情报 这个赛道挤不挤 靶点筛选 按靶点数去重结构,看长尾与头部 小时级
生物学家 这个分子的降解靠不靠得住 分子页 看活性类型与是否有通路对照 小时级
专利分析 哪些专利族覆盖了关键化合物 来源字段 按专利号聚合,再做结构去重 天级

9.2 一条最短的可用流程

从零到能用,最短的流程是四步:拿到数据、拆开活性类型、重建证据层级、做分组切分。下面把四步压成一段代码,可以直接改路径运行。

#-- 从整理好的本地数据出发,产出可分层的训练集
import json
from collections import defaultdict

DEGRADATION = {"DC50", "Dmax"}
BINDING = {"IC50", "Kd", "Ki"}
PHENOTYPE_HINT = ("viab", "cytotox", "prolif", "apopt")

def classify(activity_type: str) -> str:
    t = (activity_type or "").strip()
    if t in DEGRADATION:
        return "L3_degradation"
    if t in BINDING:
        return "L1_binding"
    if any(k in t.lower() for k in PHENOTYPE_HINT):
        return "L0_phenotype"
    return "L2_other"

with open("tpddb_activities.json", encoding="utf-8") as f:
    acts = json.load(f)

buckets = defaultdict(list)
for a in acts:
    buckets[classify(a.get("activity_type", ""))].append(a)

for k in sorted(buckets):
    print(f"{k}: {len(buckets[k])} 条")

#-- 只保留降解类,且要求有明确细胞系(无细胞系的记录无法做分组)
usable = [a for a in buckets["L3_degradation"] if a.get("cell_line")]
by_cell = defaultdict(int)
for a in usable:
    by_cell[a["cell_line"]] += 1
top_cells = sorted(by_cell.items(), key=lambda x: -x[1])[:10]
print("可用记录最多细胞系:", top_cells)

#-- 锁定单一细胞系做可比子集,这是建模的起点
anchor_cell = top_cells[0][0] if top_cells else None
anchor = [a for a in usable if a.get("cell_line") == anchor_cell]
print(f"锁定 {anchor_cell} 后可用记录 {len(anchor)} 条,涉及分子 {len({a['molecule_id'] for a in anchor})} 个")

跑完会得到一个明确的数字:单一细胞系条件下可用的降解活性记录有多少。它通常比直觉小得多,而这才是应该拿来规划的基数。

9.3 引用方式

引用这个库要落到两处:论文与站点。论文是学术引用的正式来源,站点是数据访问的正式来源,缺一个都不完整。

Qin X, Zhang Y, Wang Y, et al. TPDdb: the comprehensive database of
targeted protein degrader. Nucleic Acids Research. 2026;54(D1).
doi:10.1093/nar/gkaf996

数据访问:TPDdb, https://idrblab.org/TPDdb/ (访问日期:YYYY-MM-DD)

访问日期必须写,因为库没有版本号。没有版本号的数据集,锁定复现的唯一手段就是访问日期加一份本地快照。

§10 AI 使用声明

项目 说明
写作方式 由 AI 辅助起草,人工按编辑纪律校订
事实来源 论文全文(Europe PMC 开放版本)与官方站点入口
规模数字 全部取自论文摘要与引言原文,未做二次统计
结构描述 取自论文方法节与图表说明,未逐页核对站点
分级建议 §4.2 的六级分层与 §7.1 的五维评分为编者提出的操作性建议,非官方字段
案例数据 §4.3 的缩水量级为基于论文陈述的推理,非逐条统计结果
未核实项 批量下载端点、站点条款、结构检索所用指纹类型
更新状态 首版,截至访问日期未见新版本发布

常见误读(避坑清单)

常见说法 实际 证据
IC50 低就说明这个分子能降解 IC50 测结合或抑制,不测蛋白丰度,两者可以完全脱钩 论文把结合亲和力与降解活性列为并列的两类活性
细胞活力下降说明降解成功 活力下降可能来自脱靶毒性,单一表型无法区分 论文单列细胞毒活性,与降解活性分栏
库里的记录数就是可用样本数 按证据层级与细胞系收敛后会缩一到两个数量级 §4.3 的案例展示了逐层筛除的过程
有两万八千个分子,三元结构也差不多 三元结构只收实验解析的,且明确不收预测结构 论文方法节的采集说明与表 1 的对照
DC50 越小分子越好 还要看 Dmax,低 DC50 配低 Dmax 意味着清不干净 论文把 DC50 与 Dmax 并列为活性指标
疾病标签说明分子对该病有效 疾病由细胞系来源与基因—疾病关联映射推得,非疗效验证 论文方法节的双源映射策略
人工策展意味着数据一定准确 人工策展保证结构明确与证据存在,不保证证据强度 三道筛的判据均停在存在性层面
可以和 PROTAC-DB 直接拼接去重 两者来源侧不同,重叠部分需按结构而非名称去重 论文指出文献侧与专利侧的互补关系
免登录就等于可以商用 论文为 CC BY-NC,站点未声明独立开源许可 论文许可为 CC BY-NC
溶酶体类与泛素类字段一致可以直接合并 溶酶体类不填 E3 连接酶,填的是穿梭受体 论文对两类通路的分别描述

FAQ

Q1:TPDdb 和 PROTAC-DB 到底是什么关系?
互补而非替代:TPDdb 的主体是专利化学空间,PROTAC-DB 的主体是文献。最常见的做法是两个都拿,按结构去重后合并,再用各自的来源字段溯源。

Q2:为什么说三元复合物是这个库最有价值的部分?
因为它是唯一能直接解释「为什么能降解」的结构证据。DC50 与 Dmax 告诉你降了多少,三元结构告诉你靠什么降的。没有结构,构效关系只能统计归纳;有结构,才能做基于机制的改造。

Q3:库里有没有负面结果?
没有系统性的负面结果。文献与专利都不报失败案例,这是领域报告习惯而非采集疏漏,需要负例的任务必须另找来源。

Q4:疾病字段能直接当适应症标签用吗?
不能当疗效标签。它的生成路径是「细胞系 → 来源疾病」加「基因 → 疾病关联」两路映射,含义只是「这个分子在来源于该疾病的细胞里被测过」。

Q5:为什么论文里的分子数这么大,真正能用的却这么少?
因为分子数统计「被记录过的化合物」,可用性统计「在统一条件下被验证过的化合物」,中间隔着活性类型、细胞系、通路对照三道筛。

Q6:能不能用它做虚拟筛选的靶点?
可作先验知识,不能当筛选引擎。它告诉你哪些靶点被攻击过、用的什么 E3、有哪些已知活性分子,但不做对接也不打分。

Q7:分子胶的数据为什么值得单独看?
因为两者发现范式完全不同:PROTAC 靠理性设计,分子胶多靠表型筛选与偶然发现。库里的表现是分子胶靶点更集中、分子量更小、透膜性更好,§4.5 给了对比维度。

Q8:怎么判断一个分子在库里是不是真的被测过降解?
看活性类型字段:DC50 与 Dmax 是降解类,IC50 与 Kd 是结合类,细胞活力与凋亡是表型类。只有降解类能直接支持「该分子造成蛋白减少」。

Q9:站点的结构检索可靠吗?
可以用于找类似物,但要注意两点:大分子量的 PROTAC 在常规指纹下区分度会下降;相似度阈值需要自己按场景调,不能照搬小分子的经验值。

Q10:这个库会不会更新?
首版 2026 年发表,更新频率未公布。团队有长期维护多库的记录,预期会更新;但在机制确定前,每次使用都应固化快照并记录访问日期。

Q11:做可复现研究,最少要保存什么?
三样:数据副本、访问日期、重建的证据分级规则。第三样最易被忽略也最重要——同一份数据在不同规则下会得出不同的可用样本量。

Q12:它适合教学吗?
很适合讲「新模态为什么需要新数据表结构」:分子胶与 PROTAC 的机制差异、三类活性区分、证据层级构建都能直接拿它做例子。但别把库里的数据当已验证结论直接讲。

术语表

术语 英文 含义
靶向蛋白降解 Targeted Protein Degradation 用分子把目标蛋白送去销毁,而非抑制其功能
降解剂 Targeted Protein Degrader 执行上述过程的分子总称
PROTAC Proteolysis-Targeting Chimera 双功能分子,两端分别结合目标蛋白与 E3 连接酶
分子胶 Molecular Glue 单体小分子,诱导两个蛋白之间形成新结合面
LYTAC Lysosome-Targeting Chimera 把目标蛋白送往溶酶体降解的双功能分子
ATTEC Autophagosome-Tethering Compound 把目标与自噬体拴在一起的化合物
AUTAC Autophagy-Targeting Chimera 带降解标签的自噬靶向降解分子
AUTOTAC Autophagy-Targeting Compound 靶向自噬受体的降解分子
三元复合物 Ternary Complex 目标蛋白、降解剂、E3 连接酶三者形成的复合物
E3 连接酶 E3 Ligase 负责把泛素转移到目标蛋白上的酶
CRBN Cereblon 最常用的 E3 连接酶之一,沙利度胺类药物的靶点
VHL von Hippel-Lindau 另一个常用 E3 连接酶,结构清晰
DC50 Half-degradation Concentration 使目标蛋白丰度下降一半所需的浓度
Dmax Maximum Degradation 饱和条件下能达到的最大降解幅度
泛素—蛋白酶体通路 Ubiquitin-Proteasome System 目标蛋白被泛素标记后送进蛋白酶体销毁的通路
自噬—溶酶体通路 Autophagy-Lysosome Pathway 目标蛋白经自噬送入溶酶体销毁的通路
Tanimoto 系数 Tanimoto Coefficient 分子指纹相似度的常用度量
分子指纹 Molecular Fingerprint 把分子结构编码成比特向量的方法
骨架 Murcko Scaffold 去掉侧链后的分子核心结构
分组切分 Group Split 按结构聚类切分数据集,防止相似分子跨集泄漏
ICD-11 International Classification of Diseases 11th 世界卫生组织的疾病分类标准
UniProtKB UniProt Knowledgebase 蛋白序列与功能的权威标识库
Cellosaurus Cellosaurus 细胞系的权威标识与注释库
马库什通式 Markush Structure 专利里用通式覆盖一大类结构的写法
阴性结果 Negative Result 做了实验但未观察到预期效应的结果
催化式机制 Catalytic Mechanism 分子促成反应后自身不被消耗,可循环使用

附录 A:核心数字核对表

项 值 来源 来源层级
分子胶数量 六千零二个 论文摘要与引言 论文摘要
PROTAC 数量 两万二千一百八十三个 论文摘要与引言 论文摘要
LYTAC 数量 二百四十九个 论文摘要 论文摘要
ATTEC 数量 一百六十九个 论文摘要 论文摘要
AUTOTAC 数量 二十九个 论文摘要 论文摘要
AUTAC 数量 二十三个 论文摘要 论文摘要
目标蛋白数 五百八十个 论文摘要 论文摘要
疾病数 二百七十四种 论文摘要 论文摘要
肿瘤类疾病数 一百一十二种 论文引言 论文正文
非肿瘤类疾病数 一百六十二种 论文引言 论文正文
活性测量数 两万七千七百九十六条 论文摘要 论文摘要
细胞系覆盖 二百零一个 论文摘要 论文摘要
疾病关联总数 九万八千六百八十条 论文方法节 论文正文
节点药物数 三个已获批 论文引言 论文正文
临床在研数 三十余个 论文引言 论文正文
论文授权 CC BY-NC Europe PMC 元数据 论文摘要

附录 B:数字的来源分层

第一层,论文摘要与正文。 六类模态的分子数、580 个靶点、274 种疾病、两万七千余条活性、201 个细胞系、疾病关联九万八千余条,均可直接引用。

第二层,论文间接陈述。 三个获批、三十余个在研、肿瘤与非肿瘤拆分、专利局覆盖范围,适合做背景,不适合精确统计。

第三层,未核实。 批量下载端点的形式、三元复合物的准确记录数、结构检索所用指纹、站点独立许可条款、更新频率。这些论文未明确交代,一律标注未核实。

第四层,编者推理。 §4.3 的缩水量级、§7.1 的五维评分、§4.2 的六级分层,均为操作性建议,不是官方数据。

附录 C:完整参考文献

编号 文献或资源 标识
1 Qin X, Zhang Y, Wang Y, et al. TPDdb: the comprehensive database of targeted protein degrader. Nucleic Acids Research, 2026, 54(D1) doi:10.1093/nar/gkaf996
2 Europe PMC 开放全文版本 PMC12807599
3 TPDdb 官方入口 https://idrblab.org/TPDdb/
4 PROTAC-DB(文中对比参照) https://protacdb.unibo.it/
5 UniProtKB 蛋白标识库 https://www.uniprot.org/
6 Cellosaurus 细胞系库 https://www.cellosaurus.org/
7 世界卫生组织 ICD-11 https://icd.who.int/
8 PubChem 化合物库 https://pubchem.ncbi.nlm.nih.gov/
9 Protein Data Bank 结构库 https://www.rcsb.org/
10 ChEMBL 生物活性库 https://www.ebi.ac.uk/chembl/

附录 D:证据分级对照代码

不想从零搭分级逻辑,可以直接用下面这份实现:把每条活性记录映射到一个层级,并输出判据说明。

#-- 把活性记录映射到 §4.2 定义的证据层级,并输出层级分布
import json
from collections import Counter

LEVEL_RULES = {
    "L0_phenotype": "仅有细胞活力或增殖数据,无法区分降解与毒性",
    "L1_binding": "仅有结合类测量,结合不等于降解",
    "L2_abundance": "有蛋白丰度下降但缺剂量关系",
    "L3_degradation": "有 DC50 或 Dmax,可证明剂量依赖的降解",
    "L4_pathway": "有通路对照,证明降解依赖泛素—蛋白酶体",
}

def level_of(rec: dict) -> str:
    t = (rec.get("activity_type") or "").lower()
    if t in ("dc50", "dmax"):
        return "L3_degradation"
    if t in ("ic50", "kd", "ki"):
        return "L1_binding"
    if "abundance" in t or "remaining" in t:
        return "L2_abundance"
    if "viab" in t or "cytotox" in t or "prolif" in t:
        return "L0_phenotype"
    if "pathway" in t or "ubiquitin" in t:
        return "L4_pathway"
    return "L1_binding"

with open("tpddb_activities.json", encoding="utf-8") as f:
    acts = json.load(f)

dist = Counter(level_of(a) for a in acts)
total = sum(dist.values()) or 1
for lv in sorted(dist):
    print(f"{lv}\t{dist[lv]}\t{dist[lv] / total:.1%}\t{LEVEL_RULES[lv]}")

跑完最该看 L4 那一行。若它接近零,说明库内几乎没有通路对照层面的证据,涉及降解机制的陈述都必须回原文确认。

附录 E:如果只记五件事

第一,主体是专利化学空间,不是文献;它与 PROTAC-DB 互补远大于重叠,两个都拿才完整。

第二,三类活性必须分开看:IC50 与细胞活力都不是降解证据,只有 DC50 与 Dmax 才是。

第三,没有官方证据分级字段,分级要自己砌,规则直接决定可用样本量,差一到两个数量级。

第四,阴性结果系统性缺失,需要负例必须另找来源。

第五,论文是 CC BY-NC,商用须单独确认。


编辑说明

核验时间为 2026 年 10 月 26 日。核验方式:以 Europe PMC REST 检索定位到论文记录(PMID 41091922 / PMC12807599),取开放全文 XML 与 DOI 落地页正文;官方入口 idrblab.org/TPDdb/ 多次请求返回前端加载占位页,未取到静态内容,故站点层面的字段与下载细节按「未核实」处理,正文中所有规模与结构描述均以论文为依据。

未覆盖内容:三元复合物结构的准确记录数、站点独立许可条款、批量下载端点的存在性与形式、结构检索所用指纹类型、更新频率与版本号机制。上述五项如需引用,建议直接联系通讯作者确认,不宜由第三方推测。

本篇中属于编者分析而非原始事实的部分:§4.2 的六级证据分层、§4.3 案例的缩水量级估计、§7.1 的五维评分与 §7.2 的 DAIMS 评分、附录 D 的分级实现。这些内容可用于工程实现,但对外引用时应标注为分析性建议,不构成对原库的评价结论。

文中出现的对比性判断(如与 PROTAC-DB 的取舍)均基于论文表 1 的公开信息,不涉及对任何资源的优劣定性。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • davis — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • drugbank — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • npass — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • chembl — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • drugtargetcommons — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • iuphar-bps — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • hetionet — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • chembl — 共享标签:药物发现与化学 / 化学信息学 / 药物-靶点相互作用
  • zinc — 共享标签:药物发现与化学 / 化学信息学
  • pdbbind — 共享标签:药物发现与化学 / 化学信息学

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集