信息速览
ChEMBL — 生物活性数据库 AI-Ready Wikipedia
INFOBOX
| 属性 | 内容 |
|---|---|
| 全称 | ChEMBL(ChEMBLdb;EMBL-EBI 化学基因组学知识库) |
| 发布方 | European Bioinformatics Institute(EMBL-EBI),Wellcome Genome Campus,英国 |
| 首发/现行 | 2009 首发(Wellcome Trust 资助,承继 StARlite);现行 ChEMBL 36(2025-09) |
| 核心规模 | 约 280 万化合物 / 超 2,400 万活性测量 / 17,803 靶点 / 约 160 万 assays(v36) |
| 药物口径 | 上市药 + 临床候选约 1.75 万(v35;max_phase 0-4 分级) |
| 数据来源 | 40+ 年药物化学文献(v35 口径约 9 万篇)+ 监管机构 + 临床候选源(USAN/INN/CT.gov) |
| 标准化 | pChEMBL 值(-log10 摩尔活性)+ assay confidence score(0-9)+ 母体-盐型层级 |
| 访问 | 网页 + REST API + Python 客户端(免注册);全库 SQL dump/SDF/FASTA(FTP)——完全开放 |
| 许可 | CC-BY-SA 3.0(可商用、可再分发、署名同源) |
| 版本节奏 | 大版本约每年 1-2 个;v35(2024)→ v36(2025-09) |
| 姊妹资源 | UniChem(跨库 ID 映射)、SureChEMBL(专利)、ChEMBL-NTD(热带病)、ChEBI(实体词典) |
| 本库关联 | D(热带病)、ChEBI(实体词典) |
| 本库关联 | drugbank(成药语义对照)、PDBbind(结构结合)、Molecul(成药语义对照)、) |
| 本库关联 | drugbank(成药语义对照)、PDBbind(结构结合)、MoleculeNet(基准)、drugcom(结构结合)、rugbank(成药语义对照)、PDBbind(结构结合)、MoleculeNet(基准)、drugcomb(组合用药) |
§0 E(基准)、PDBbind(结构结合)、MoleculeNet(基准)、drugcomb(组合用药) |
§0 E-E-A-T 信任声明与免(组合用药) |
§0 E-E-A-T 信任声明与免责声明
本页所有规模数字、版本信息与许可表述均核实自一手来源:EMBL 官方 ChEMBL 36 发布通告(2025-09)、ChEMBL 官方博客(chembl.blogspot.com)、ChEMBL 界面文档(chembl.gitbook.io)、四篇 NAR 主论文(Gaulton 2012、Bento 2014、Mendez 2019、Zdrazil 2024),以及 EBI 官网。检索核实时间为 2026-09-19。
ChEMBL 的数字随大版本滚动(v35 与 v36 口径并存),本页在各处显式标注版本;「化合物数/活性数」均为官方口径,第三方转引常有旧版残留。本页为技术参考文档,不构成药物研发决策依据——活性数据是文献策展而非统一实验协议产物,虚拟筛选命中与 QSAR 结论必须经实验验证(§5)。
关于数据偏倚:文献来源使 ChEMBL 的活性数据天然带「阳性结果主导」的选择偏倚——本页在 §6.4 与 §7.4 讨论其对 AI 建模的影响与应对。
§1 数据集概览
§1.0 📌 30 秒速览
- 是什么:药物发现的「活性数据公共底座」——40 年文献里的 IC50/Ki/EC50 全部策展成结构化表:哪个分子对哪个靶点多强。
- 体量:280 万化合物 / 2,400 万活性 / 17,803 靶点 / 160 万 assays(v36)。
- 许可:完全开放(CC-BY-SA 3.0)——免注册 API + 全库 SQL dump 下载,可商用可再分发。
- 杀手锏:pChEMBL 标准化 + confidence score + 文献溯源——「跨 assay 可比」的活性数据只有这里成规模。
- 适用:QSAR/活性预测、虚拟筛选参考库、kinome 选择性、ADMET 建模、分子生成评估。
- 不适用:成药语义(批准状态/适应症/DDI 用 DrugBank)、结构解析基准(用 PDBbind)、患者级药物暴露。
§1.1 摘要
药物化学的核心数据是「这个分子对这个靶点有多强」——IC50、Ki、EC50 这些数字散落在 40 多年的期刊论文里,格式各异、单位混乱、上下文缺失。2009 年,EMBL-EBI 在 Wellcome Trust 资助下把 Inpharmatica 公司的 StARlite 数据库开源化,从此 ChEMBL 成为把碎片活性文献变成结构化公共资产的持续工程:到 ChEMBL 36(2025-09),它收录约 280 万化合物、超 2,400 万条活性测量、17,803 个靶点,全部带文献溯源与置信分级。
对 AI 团队,ChEMBL 的价值在三个维度:
- QSAR 的最大公共监督源:2,400 万条「分子-靶点-活性」三元组,带 pChEMBL 标准化值——活性预测、分子性质回归、分子生成评估的标配训练集;MoleculeNet 等基准的很多子集都源自 ChEMBL。
- FAIR 的教科书实现:每个活性值可溯源到文献(doc_id + 期刊 + 年份)、assay 有类型与 confidence score、化合物有母体-盐型层级——「数据质量分层」在 schema 层就设计好了,这对「脏数据里做干净模型」至关重要。
- 开放许可的规模上限:CC-BY-SA——数据可商用、可再分发、可进产品;与 DrugBank 的许可制形成两极,是「公开基准」的天然选择。
数据的第一性事实:ChEMBL 的活性值是文献的策展映射而非统一实验协议——同靶点不同 assay 的数值不可直接比较(assay 泥潭,§6.4);建模的第一课不是模型选择而是 confidence 过滤与切分纪律。
§1.2 战略价值
- AI 制药的公共地基:几乎所有分子 ML 论文(从头生成、性质预测、DTI 回归)的实验底座——用它意味着可复现、可比较、可发表。
- 虚拟筛选的参考面:已知活性分子集合 + 结构空间覆盖——虚拟筛选的「去重库」(筛掉已知物)与「富集评估」(DUD-E 类基准的对照面)。
- 靶点生物学接口:靶点-UniProt 链接使活性数据可叠加表达/结构/通路信息——「化学→生物学」的翻译层。
- 监管语义的轻量层:max_phase(0-4)+ 适应症 + 机制 + 警示——虽不及 DrugBank 深,但「哪些分子走到临床几期」的快速口径够用且开放。
§1.3 同类数据集横向对比
| 资源 | 定位 | 规模量级 | 与 ChEMBL 的关系 |
|---|---|---|---|
| ChEMBL | 文献策展活性 + 药物状态 | 280 万化合物 / 2,400 万活性 | — |
| 280 万化合物 / 2,400 万活性 | — | ||
| BindingDB | 结合亲和力(文献+专利) | 百万级亲和力值 | 专利 |
| PubChem BioAssay | 原始筛选 deposited | 亿级化合物 / 千万级 assay 结果 | 大而噪——ChEMBL 策展度高但规模小 |
| PDBbind | 结构复合物结合常数 | 数万条 | 结构验证层(有晶体结构的子集) |
| DrugBank | 成药知识(许可制) | 1.2 万药 | 活性浅但语义深;ChEMBL 活性深但语义轻 |
| DUD-E | 虚拟筛选基准 | 102 靶点基准集 | 基于 ChEMBL/文献构建的评估协议 |
| ChEBI | 化学实体词典 | ~6 万实体 | 分类词典(同 EBI 家族) |
| SureChEMBL | 专利化合物 | 千万级 | 专利空间扩展(去重与新颖性检查) |
§1.4 版本时间轴
2009 ChEMBL 首发(Wellcome Trust 资助;StARlite 开源化)
2012 NAR 首篇主论文(Gaulton;NAR 40:D1100)
2014 Bento NAR(NAR 42:D1083;chemogenomics 框架)
2019 Mendez NAR(NAR 47:D930;直接活性沉积机制)
2022 新 Web Resources 界面 + API 现代化
2024 ChEMBL 35 + Zdrazil NAR(NAR 52:D1180;2.5M 化合物 / 20M 活性)
2025 ChEMBL 36(280 万化合物 / 24M 活性 / 17,803 靶点;化学探针 + EFO 映射 + BindingDB 专利 assays 3 倍)
§1.5 应用场景矩阵
- QSAR/活性回归:靶点子集 + pChEMBL + confidence ≥ 门槛 → 训练活性预测器。
- 虚拟筛选:靶点已知活性库 → 相似度/对接筛选 + 富集评估。
- kinome/家族选择性:激酶家族活性谱 → 选择性指数建模。
- ADMET/毒性预测:hERG/肝毒性等 toxicity assays 子集。
- 分子生成评估:生成模型的「合理性检验」(与已知活性空间的重叠/新颖性)。
- 药物状态研究:max_phase 演进、first-in-class、孤儿药标注的管线分析。
§1.6 组件全景
ChEMBL 的七个数据层:
- molecule 层:280 万化合物——结构(SMILES/InChIKey)、计算理化(logP/TPSA/HBD/HBA/分子量)、母体-盐型层级、max_phase/治疗标注。
- target 层:17,803 靶点——target_type 分型(单蛋白/复合物/家族/PPI/细胞系/组织/生物体/ADME)+ UniProt 链接。
- assay 层:160 万 assays——类型(B 结合/A 功能/ADME/T 毒性/P 理化)、描述、confidence score(0-9)、来源文献。
- activity 层:2,400 万活性——standard_type/units/value + pChEMBL + 数据可靠性标记。
- drug/candidate 层:1.75 万药与临床候选——适应症、机制(带 refs)、警示(黑框)、first-in-class、孤儿药、给药途径。
- 文献层:9 万篇 doc——期刊/年份/DOI 溯源。
- 衍生资源层:UniChem(跨库 ID)、SureChEMBL(专利)、ChEMBL-NTD、web 资源(API/客户端)。
§1.7 开放许可的经济学
ChEMBL 是「公共资助 → 公共资产」的正例账本:
- 资助结构:Wellcome Trust(起源)+ EMBL 成员国会费 + 项目资助——运营成本公共化,数据完全开放。
- 开放的网络效应:CC-BY-SA 使 ChEMBL 进教科书、进基准、进产品——引用与生态位因此固化(「AI 制药默认数据底座」的位置无可替代)。
- 与许可制的对照:DrugBank 用许可收入养人工策展,ChEMBL 用公共资助养策展——两条路线都能持续,但只有开放路线能成为「社区基准」(无许可摩擦 → 无参与门槛)。
- 使用者的隐性成本:数据免费但「用好」有成本——confidence 过滤、assay 归一、scaffold 切分的方法学投入是真实工作量(§5)。
§1.8 ChEMBL 在药物研发流程中的定位
靶点发现 → 命中发现 → 先导优化 → 候选确认 → 临床 I-III → 上市
│ │ │ │
│ ├─ ChEMBL:已知活性空间(命中去重 + 富集评估参考面)
│ ├─ ChEMBL:SAR 数据底座(先导期的活性-结构关系证据)
│ ├─ ChEMBL:选择性谱(kinome/off-target 的历史数据)
│ └─ ChEMBL:max_phase 口径(竞争管线与同类药速查)
└─ Open Targets / EFO(靶点-疾病关联;v36 EFO 映射后语义对齐成本大降)
| 研发阶段 | ChEMBL 角色 | 典型用法 | 验收标准 |
|---|---|---|---|
| 靶点发现 | 活性密度画像 | 该靶点已知化学起点有多少(活性条数/化学型数) | 化学可开采性评估有数 |
| 命中发现 | 参考面 + 去重库 | 虚拟筛选前剔除已知物 / DUD-E 式富集评估 | EF1% 相对基线提升 |
| 先导优化 | SAR 证据库 | 同系列活性-结构关系检索(文献溯源) | 每条结论可回指 doc_id |
| 安全药理 | hERG/CYP 子集 | off-target 活性谱预警(assay_type=ADME/T) | 与治疗靶点分库建模 |
| 立项与竞争分析 | max_phase + 机制 | 同靶点管线速查(哪些已到临床几期) | 引用锁版本日期 |
定位纪律:ChEMBL 覆盖「临床前化学证据」最厚,「临床语义」最薄——立项叙事与 DDI/标签细节交给 DrugBank(§2.6),别让一个库背两个角色。
§2 医学与科学背景
§2.1 活性数据为什么难:assay 泥潭
「同一对分子-靶点的 IC50」在不同论文里可差 10-100 倍——原因不是造假而是实验语境:
- assay 形式差异:放射配基结合 vs 荧光偏振 vs 功能细胞实验——测的不是同一物理量(Ki vs IC50 vs EC50)。
- 条件差异:温度、pH、底物浓度、孵育时间——酶动力学直接依赖这些参数。
- 化合物形态:盐型/游离碱/水合物——有效浓度口径不同。
- ChEMBL 的应对:① 活性值标准化(standard_type/units/value);② pChEMBL 只对可解释的浓度型活性计算;③ confidence score 0-9 分级(9 = 专家确信的直接靶点测定);④ 每条记录挂文献与 assay 描述——「数字 + 语境」打包发布。
建模铁律:先按 confidence 与 assay 类型过滤,再谈模型——直接全量回归等于把泥潭端进训练集。
§2.2 pChEMBL:跨 assay 可比的代价与收益
- 定义:pChEMBL = -log10(摩尔单位的标准化活性值)——IC50 10nM → 8.0;使「活性强度」跨类型(Ki/IC50/Kd/EC50)与跨数量级可比。
- 收益:回归目标统一;跨靶点/跨文献合并成为可能——QSAR 数据集的标准构造块。
- 代价:不同 standard_type 折进同一刻度有语义损耗(Ki 与 EC50 的生物学含义不同);pChEMBL 只在 confidence 与类型满足条件时计算——缺值不是缺数据,是「不宜标准化」的信号。
§2.3 靶点分型:target_type 的语义
- 单蛋白(SINGLE PROTEIN):QSAR 的理想粒度——活性直接归因。
- 蛋白复合物/家族:活性是群体效应(如 GABA 受体亚型组合)——建模要保留复合物组成信息。
- 细胞系/组织/生物体:表型读出——「细胞活性」不是「靶点结合」,混用是药效学错误。
- ADME 类「靶点」:CYP 抑制/hERG——安全药理数据,与治疗靶点分开建库。
§2.4 母体-盐型层级
- 层级语义:母体分子(parent)—盐型/酯—多组分——同一母体的盐型活性记录应折叠到母体层统计。
- 重复计数的代价:不去重时化合物多样性虚高、切分泄漏(同一母体的盐型分进训练与测试)。
- 工程键:InChIKey 前段(骨架)+ molecule_hierarchy 表——跨库对齐与去重的标准动作。
§2.5 文献偏倚的量化面
- 阳性主导:论文偏好报告强活性——弱/无活性数据稀少,SAR 的「负空间」缺失。
- 热门靶点富集:kinase/GPCR 的活性密度远高于「难成药」靶点——模型对热门靶点过拟合、冷门靶点欠数据。
- 年代效应:assay 技术 40 年演进——老文献的数值系统性偏松(假阳性率更高),年代协变量值得进特征。
- 应对范式:负例不造(用对照库)、分靶点建模、assay/年代/来源协变量、审稿时声明偏倚——§7.4 展开。
§2.6 与监管/药物语义的边界
ChEMBL 的 max_phase/适应症/机制字段来自监管与候选信息源——但语义深度(标签原文、DDI、警示全文)不及 DrugBank:活性研究用 ChEMBL,成药叙事用 DrugBank,两库经 UniChem/InChIKey 桥接。
§2.7 AI 视角的科学定位
对医疗 AI,ChEMBL 是「化学空间的经验密度图」:哪里有活性、多强、什么条件——分子生成模型的先验、QSAR 的监督源、虚拟筛选的对照面。它的短板(assay 偏差、阴性缺失、靶点覆盖不均)都是「文献策展」的固有代价——用它的方法论核心是「带语境用数据」,模型外的数据工程占项目工作量的大头。
§2.8 选择性指数与 kinome 谱
- 选择性指数(SI)的定义:同一分子对脱靶靶点与目标靶点的活性比值(如 IC50_offtarget / IC50_target)——SI 越大选择性越好;ChEMBL 是计算 SI 的少数公共数据源(同分子跨靶点活性在库内成对出现)。
- kinome 谱数据最厚:激酶家族是文献策展密度最高的家族——数百个激酶 × 数千抑制剂的活性矩阵可直接拼出;GPCR/离子通道次之;「难成药」靶点(转录因子、无活性位点的 PPI)数据稀疏——建模前先画「靶点 × 化学型」覆盖热图。
- 工程纪律:① SI 计算只用同 assay 平台/同类型的活性对(跨平台比值是泥潭²);② off-target 数据同样过 confidence 门槛;③ 负空间注意——「没测过」≠「不抑制」。
- 化学探针的衔接:v36 新增的化学探针数据正是「高选择性工具分子」的策展集合——为 SI 建模提供已验证的高质量正例(探针的文献口径通常带选择性声明)。
§2.9 活性数据的年代地层学
把 ChEMBL 按文献年份分层,会看到明显的「技术地层」——每层有自己的系统偏差:
- 1990s-2000s 层(放射配基/手工测定):数值系统性偏松(假阳性率高)、重复少——但覆盖了如今冷门的靶点(数据无可替代);年代协变量必进特征。
- 2005-2015 层(高通量/自动化):assay 描述开始标准化、confidence 结构出现——kinome 热潮让激酶数据密度激增(热门偏倚的成型期)。
- 2015-今 层(直接沉积 + 开放科学):Mendez(2019)机制后作者自沉积增多——语境更全、数值更可信,但「阳性主导」依旧(阴性结果仍难发表)。
- 工程含义:① 时间切分(train ≤2015 / test >2015)测的是「跨地层泛化」——比 scaffold split 更接近真实使用(未来文献 = 新地层);② 老数据不要按「数据质量差」一删了之——冷门靶点的唯一覆盖就在老层,删层等于删靶点;③ 复现实验中报告训练集的年代分布直方图,是审稿人判断偏倚控制的最快证据。
§3 数据集规格
§3.1 规格总表
| 维度 | 规格(v36 口径,另注明 v35) |
|---|---|
| 当前版本 | ChEMBL 36(2025-09) |
| 化合物 | 约 280 万(v35:~250 万) |
| 活性测量 | 超 2,400 万(v35:>2,000 万) |
| 靶点 | 17,803(v35:~16,000) |
| assays | 约 160 万(v35 口径;v36 并入 BindingDB 专利 assays 1.38 万) |
| 文献来源 | ~9 万篇(v35 口径;覆盖 40+ 年) |
| 药物/候选 | ~1.75 万(v35;max_phase 0-4 + 适应症/机制/警示) |
| 发布形态 | SQL dump(PG/MySQL/Oracle)+ SDF + FASTA + REST API + Python 客户端 |
| 许可 | CC-BY-SA 3.0 |
| 版本节奏 | 大版本约每年 1-2 个 |
| 新增亮点(v36) | 化学探针数据(NLP+人工)、疾病术语映射 EFO、农药分类更新 |
§3.2 v36 相对 v35 的增量地图
| 维度 | ChEMBL 35(2024) | ChEMBL 36(2025-09) | 含义 |
|---|---|---|---|
| 化合物 | ~250 万 | ~280 万 | 常规累积 +12% |
| 活性 | >2,000 万 | >2,400 万 | 文献抽取持续 |
| 靶点 | ~16,000 | 17,803 | 新靶点类(含农药抗性) |
| 专利 assays | BindingDB 4,117 | 13,847(3 倍) | 专利空间纳入加速 |
| 探针数据 | — | 新增(NLP 抽取) | 化学生物学工具分子 |
| 疾病术语 | 自由文本为主 | 映射 EFO | 适应症语义标准化 |
解读:v36 的主题是「语义与专利空间」——不只是数量增长,而是把「疾病术语统一(EFO)」与「专利化合物纳入」两个长期短板补齐。
§3.3 DAIMS 数据AI就绪度评估
| 维度 D | 数据完整性 | 评分 | 说明 |
|---|---|---|---|
| D1 | 化合物覆盖 | 9/10 | 280 万 + 层级去重键齐全 |
| D2 | 活性深度 | 9/10 | 2,400 万 + 标准化 + 置信分级 |
| D3 | 靶点覆盖 | 8/10 | 17,803 但分布偏热门靶点 |
| D4 | 语境元数据 | 9/10 | assay/文献/条件全溯源——FAIR 教科书 |
| A1 | 机器可读 | 10/10 | SQL dump + API + Python 客户端三通道 |
| A2 | 文档完备 | 9/10 | gitbook + schema 文档 + 博客 |
| A3 | 接入成本 | 10/10 | 免注册免费用——零门槛 |
| A4 | 更新机制 | 8/10 | 年度 1-2 版 + schema 演进文档化 |
| I1 | 指标标准化 | 9/10 | pChEMBL + confidence score |
| I2 | 可复现性 | 10/10 | 版本 dump 固定 + 引用锁版本 |
| M1 | 多模态对齐 | 8/10 | 结构-活性-靶点-文献四模态对齐 |
| M2 | 时间序列 | 7/10 | 年份/年代可析;历史版本不回溯发布 |
| S1 | 数据安全 | 10/10 | 无个体数据 |
| S2 | 合规负担 | 10/10 | CC-BY-SA——署名同源即可 |
总分:A 级(全库 AI 就绪度最高档——开放度、标准化、溯源三全;唯一扣分项是数据分布偏倚这一固有属性)
§3.4 存储与计算需求
| 数据件 | 体量 | 最小分析环境 |
|---|---|---|
| PostgreSQL dump | 数十 GB | 单机 PG + 32GB 内存 |
| SDF 全量 | 数 GB | RDKit 单机 |
| API 抽取子集 | 按需 | 笔记本即可 |
| 活性全表内存化 | ~10 GB | 单机 pandas 可行 |
| 大规模 QSAR(全库) | 集群训练 | GPU 单卡-多卡 |
ChEMBL 同样是「单机友好」资源——工程重心在 SQL 与 RDKit,不在算力。
§3.5 获取通道
- 网页:www.ebi.ac.uk/chembl——检索/结构搜索/靶点浏览(人类友好)。
- REST API:/chembl/api/data——molecule/activity/target/assay/doc 全实体;分页/过滤/JSON。
- Python 客户端:
chembl_webresource_client——链式查询 + 本地缓存。 - 全库下载:FTP 的 SQL dump(PG/MySQL/Oracle)+ SDF + FASTA——严肃分析的首选(版本固定)。
- 衍生资源:UniChem(ID 映射服务 + 下载)、SureChEMBL(专利)。
§3.6 口径对齐表
| 数字 | 出处口径 | 澄清 |
|---|---|---|
| ~280 万化合物 | ChEMBL 36(2025-09,EMBL 官宣) | distinct compounds |
| >2,400 万活性 | ChEMBL 36(macinchem/官方博客) | bioactivity measurements |
| 17,803 靶点 | ChEMBL 36(EMBL 官宣) | drug targets 总数 |
| ~250 万 / >2,000 万 / ~16,000 | ChEMBL 35(2024,NAR 论文) | 旧版口径——引用要注版本 |
| ~160 万 assays | v35 NAR 口径 | v36 继续增长 |
| ~9 万文献 | v35 NAR 口径 | 覆盖 40+ 年 |
| 1.75 万药/候选 | v35(综述转述) | 含临床候选;母体 ~1.55 万 |
§3.7 版本选择纪律
- 版本锁定:SQL dump 下载即锁定——论文写「ChEMBL 36(2025-09)」。
- schema 演进:表结构随版本微调(v36 的 assay_parameters 变化)——升级读 release notes,别假设表名稳定。
- 基准时效:MoleculeNet 等基准有内部快照版本——与最新 ChEMBL 混用要声明(同一分子的活性值可能被重新策展)。
§3.8 confidence score 分级详表
assay confidence score 是 ChEMBL 数据质量分层的核心机制(0-9,挂在 assays 表)——工程上按分值带建协议:
| 分值带 | 语义 | 典型情形 | 使用建议 |
|---|---|---|---|
| 9 | 专家确信:直接靶点测定 | 文献明确写「该化合物抑制该靶点」且 assay 直接测它 | QSAR 金标准 |
| 8 | 直接靶点(高可信) | 单蛋白靶点 + 测定对象就是靶点本身 | QSAR 默认门槛(≥8) |
| 7 | 靶点归因较可信 | 靶点明确但 assay 为间接/衍生读出 | 虚拟筛选参考可用(≥7) |
| 5-6 | 同源/直系同源推断 | 靶点由物种同源或家族推断而来 | 探索性分析;必须分层标记 |
| 3-4 | 靶点为复合物组成/关联 | 多靶点复合物中的一员、或通路级关联 | 只做族级分析,不归因单靶点 |
| 0-2 | 未指定/极低可信 | 表型读出、靶点不明 | 除表型研究外一律剔除 |
- 缺值 ≠ 随机缺失:confidence 缺失或低分意味着「策展团队无法确认靶点归因」——不是可以插补的随机空洞,是应被建模协议排除的证据。
- 门槛敏感性:门槛从 ≥8 放宽到 ≥7 通常扩容 20-50% 数据但引入归因噪声——严谨做法是双门槛消融都报(§5.6)。
- 与 target_type 联用:confidence ≥ 8 × SINGLE PROTEIN 是单靶点 QSAR 的标准交集;细胞系/组织类 assay 即使高 confidence 也是表型层(§2.3),分开建库。
§4 数据结构
§4.1 SQL dump 核心表结构
ChEMBL PostgreSQL 核心表(v36 schema 摘要)
├── molecule_dictionary # 化合物主表(chembl_id, molregno, max_phase, ...)
├── compound_structures # canonical_smiles, standard_inchi, inchi_key
├── molecule_hierarchy # 母体-盐型层级(parent_molregno)
├── target_dictionary # 靶点主表(tid, target_type, tax_id, pref_name)
├── target_components # 靶点-蛋白组件(→ component_sequences → UniProt)
├── assays # assay 主表(assay_id, assay_type, confidence_score, doc_id)
├── activities # 活性表(activity_id, molregno, assay_id,
│ # standard_type/units/value, pchembl_value)
├── docs # 文献(doc_id, journal, year, doi)
├── drug_indication # 药物适应症(带 indication_refs)
├── drug_mechanism # 作用机制(带 mechanism_refs)
├── drug_warning # 监管警示(黑框等)
└── compound_properties # 计算理化(alogp, psa, hbd, hba, mw)
关系链:activities → assays(assay_id)→ target_components → UniProt;activities → molecule_dictionary(molregno)→ compound_structures。SQL 里 join 五跳拿到「分子-活性-靶点-文献」全语境——这是 ChEMBL 的标准取数模式。
§4.2 活性数据 SQL 抽取
-- 目标:EGFR(UniProt P00533)的高置信活性数据(v36 dump)
SELECT
md.chembl_id,
cs.canonical_smiles,
a.standard_type,
a.standard_value,
a.standard_units,
a.pchembl_value,
asy.confidence_score,
d.year,
d.journal
FROM activities a
JOIN assays asy ON a.assay_id = asy.assay_id
JOIN target_dictionary td ON asy.tid = td.tid
JOIN target_components tc ON td.tid = tc.tid
JOIN component_sequences csq ON tc.component_id = csq.component_id
JOIN molecule_dictionary md ON a.molregno = md.molregno
JOIN compound_structures cs ON md.molregno = cs.molregno
JOIN docs d ON asy.doc_id = d.doc_id
WHERE csq.accession = 'P00533' -- EGFR UniProt
AND asy.confidence_score >= 8 -- 高置信
AND a.pchembl_value IS NOT NULL
AND md.max_phase >= 0
ORDER BY a.pchembl_value DESC;
§4.3 REST API 批量抽取
#!/usr/bin/env python3
"""ChEMBL REST API 抽取:某靶点的活性页批量拉取(免注册)。"""
import requests
import pandas as pd
BASE = "https://www.ebi.ac.uk/chembl/api/data"
def fetch_target_activities(chembl_tid: str, limit: int = 1000) -> pd.DataFrame:
"""按靶点 ChEMBL ID 分页拉取活性(JSON)。"""
rows, offset = [], 0
while True:
r = requests.get(
f"{BASE}/activity.json",
params={"target_chembl_id": chembl_tid,
"limit": limit, "offset": offset},
headers={"Accept": "application/json"}, timeout=60,
)
r.raise_for_status()
page = r.json()["activities"]
if not page:
break
rows.extend(page)
offset += limit
return pd.DataFrame(rows)
if __name__ == "__main__":
df = fetch_target_activities("CHEMBL203") # EGFR
keep = ["molecule_chembl_id", "standard_type", "standard_value",
"standard_units", "pchembl_value", "assay_chembl_id",
"document_chembl_id", "document_year"]
df[keep].drop_duplicates().to_csv("chembl_egfr_activities.tsv", sep="\t", index=False)
print(len(df), "activities saved")
§4.4 scaffold 切分代码
#!/usr/bin/env python3
"""Bemis-Murcko scaffold 切分——QSAR 数据集防泄漏的标准切分。"""
import pandas as pd
from rdkit import Chem
from rdkit.Chem.Scaffolds import MurckoScaffold
from sklearn.model_selection import GroupShuffleSplit
def murcko_scaffold(smiles: str) -> str:
mol = Chem.MolFromSmiles(smiles or "")
if mol is None:
return ""
return MurckoScaffold.MurckoScaffoldSmiles(mol=mol, includeChirality=False)
df = pd.read_csv("chembl_egfr_activities.tsv", sep="\t")
df = df.dropna(subset=["pchembl_value"])
df["scaffold"] = df.molecule_chembl_id.map(
lambda cid: murcko_scaffold(smiles_map.get(cid, ""))) # smiles_map: ID→SMILES
gss = GroupShuffleSplit(n_splits=1, test_size=0.2, random_state=0)
train_idx, test_idx = next(gss.split(df, groups=df.scaffold))
df.loc[train_idx, "split"] = "train"
df.loc[test_idx, "split"] = "test"
df.to_csv("chembl_egfr_scaffold_split.tsv", sep="\t", index=False)
print(df.split.value_counts().to_dict(),
"| scaffolds:", df.scaffold.nunique())
(random split 与 scaffold split 的性能差距本身就是「模型是记忆还是泛化」的诊断——论文两者都要报。)
§4.5 UniChem 跨库对齐
#!/usr/bin/env python3
"""UniChem REST:ChEMBL ID ↔ 其他库(PubChem/DrugBank/PDB 配体)交叉映射。"""
import requests
def unichem_map(src_id: str, src_db: int = 1, to_db: int = 2) -> list:
"""src_db: 1=ChEMBL;to_db: 2=DrugBank(编号表见 UniChem 文档)。"""
r = requests.get(
f"https://www.ebi.ac.uk/unichem/rest/srccompounds/{src_db}/{src_id}",
timeout=30)
r.raise_for_status()
return [x["src_compound_id"] for x in r.json() if x["src_id"] == str(to_db)]
print(unichem_map("CHEMBL25")) # aspirin → DrugBank ID(DB09299 等)
§4.6 元数据与版本指纹
- 版本字符串:dump 文件名(chembl_36_postgresql.tar.gz)+ release notes 链接——方法段双写。
- schema 快照:表结构导出(pg_dump --schema-only)进复现包。
- 策展时点:同版本内策展仍在滚动(网页数据微新于 dump)——复现包以 dump 为准并注明下载日期。
§4.7 完整性清单
- [ ] 版本 + dump 下载日期双戳
- [ ] confidence score 门槛(≥8?≥7?)声明
- [ ] pChEMBL 可用性过滤(IS NOT NULL)
- [ ] 母体层级去重(molecule_hierarchy)
- [ ] target_type 过滤(SINGLE PROTEIN vs 细胞/表型分开)
- [ ] standard_type 口径(浓度型 vs 注释型分开)
- [ ] scaffold/random 双切分报告
- [ ] 文献年代分布(年代协变量)
- [ ] 与基准快照(MoleculeNet 等)的版本关系声明
§4.8 数据血缘
药物化学期刊/专利/监管标签(40+ 年)
→ 策展管线(人工抽取 + 半自动解析 + 冲突讨论)
→ 结构标准化(SMILES/InChI/母体层级)
→ 活性标准化(standard_type/units/value → pChEMBL)
→ assay 分级(类型 + confidence score 0-9)
→ 靶点对齐(target_components → UniProt)
→ 发布(SQL dump / SDF / API / 网页)
策展冲突的解决机制(人员讨论 + 决策记录)写入 refs 表——「每个数字都有出处与裁决史」是 ChEMBL 与爬虫聚合库的本质区别。
§4.9 本地 PostgreSQL 建库
#!/usr/bin/env bash
# ChEMBL 36 PostgreSQL dump 下载与本地恢复(磁盘预留 ~100GB,32GB 内存单机可行)
set -euo pipefail
# 1) 下载(以官方 downloads 页给出的 FTP 路径为准;此处为 v36 的目录形态)
BASE="https://ftp.ebi.ac.uk/pub/databases/chembl/ChEMBLdb/releases/chembl_36"
wget -c "${BASE}/chembl_36_postgresql.tar.gz"
tar -xzf chembl_36_postgresql.tar.gz
# 2) 建库与恢复(dump 内含建表语句;pg 版本 ≥ 12)
createdb chembl_36
psql -d chembl_36 -v ON_ERROR_STOP=1 -f chembl_36/chembl_36.dmp
# 3) 统计信息刷新(分析查询的执行计划依赖它,别跳过)
psql -d chembl_36 -c "ANALYZE;"
# 4) 常用过滤索引(按需;activities 是最大的表)
psql -d chembl_36 -c "
CREATE INDEX IF NOT EXISTS idx_act_assay ON activities(assay_id);
CREATE INDEX IF NOT EXISTS idx_act_mol ON activities(molregno);
CREATE INDEX IF NOT EXISTS idx_assay_tid ON assays(tid);
"
# 5) 抽查:aspirin 的 ChEMBL ID 与活性条数
psql -d chembl_36 -c "
SELECT md.chembl_id, count(a.activity_id) AS n_activities
FROM molecule_dictionary md
JOIN activities a ON a.molregno = md.molregno
WHERE md.chembl_id = 'CHEMBL25'
GROUP BY 1;"
- 恢复纪律:
ON_ERROR_STOP=1保证半途失败不留残库;恢复完成后跑一次抽查 SQL(aspirin 有活性、EGFR CHEMBL203 靶点存在)再开始分析。 - 版本隔离:一个版本一个库(chembl_35/chembl_36)——升版本重建新库而不是原地改,方便双版本对照与回滚。
- 体量预期:activities 表千万行级、compound_structures 含文本索引——查询慢先查统计信息与索引,别急着加机器。
§4.10 Python 客户端链式查询
#!/usr/bin/env python3
"""chembl_webresource_client:链式查询 + 本地缓存(适合子集探索,非批量抽取)。
pip install chembl_webresource_client"""
from chembl_webresource_client.new_client import new_client
molecule = new_client.molecule
activity = new_client.activity
target = new_client.target
# 1) 实体直查:aspirin 的卡片(分子式/口径/母体信息)
asp = molecule.filter(chembl_id="CHEMBL25")[0]
print(asp["pref_name"], "| max_phase:", asp.get("max_phase"))
# 2) 结构相似检索:以 aspirin 为种子找相似分子(相似度阈值 70%)
similars = molecule.filter(similarity="CC(=O)Oc1ccccc1C(=O)O 70")
print("similar molecules:", len(similars))
# 3) 靶点 → 高置信活性:EGFR(CHEMBL203)的 pChEMBL 非空记录
egfr = [t for t in target.filter(chembl_id="CHEMBL203")][0]
acts = activity.filter(target_chembl_id=egfr["target_chembl_id"],
pchembl_value__isnull=False)
subset = acts[:200] # 客户端自动分页;范围对象惰性拉取
print("fetched:", len(subset), "| first pChEMBL:", subset[0]["pchembl_value"])
- 适用边界:客户端有本地缓存与自动分页,探索/原型极快;万级以上批量仍走 SQL dump(§3.4)——API 拉全库既慢也不礼貌。
- 惰性求值:filter 返回的是查询对象不是数据——切片/迭代时才发请求;调试时小心「同一查询被重复执行」。
- 字段对齐:客户端字段名与 REST API/数据库表不完全一致(如 activity 记录里的 molecule_chembl_id)——正式管线以 SQL dump schema 为准,客户端只做子集探索。
§4.11 数据体检 SQL:接入后第一批查询
本地库恢复后、任何建模之前的「体检三查」——输出直接贴进复现包:
-- 体检 1:规模与版本指纹(预期量级:~280 万分子 / ~2400 万活性)
SELECT (SELECT count(*) FROM molecule_dictionary) AS molecules,
(SELECT count(*) FROM activities) AS activities,
(SELECT count(*) FROM target_dictionary) AS targets,
(SELECT count(*) FROM assays) AS assays;
-- 体检 2:置信分层分布——confidence >= 8 的活性占比决定干净核心大小
SELECT a.confidence_score, count(*) AS n,
round(100.0 * count(*) / sum(count(*)) OVER (), 1) AS pct
FROM activities act
JOIN assays a ON act.assay_id = a.assay_id
GROUP BY a.confidence_score ORDER BY a.confidence_score DESC;
-- 体检 3:pChEMBL 覆盖率与浓度型占比(缺失率是「不宜标准化」层的大小)
SELECT count(*) FILTER (WHERE pchembl_value IS NOT NULL) AS with_pchembl,
count(*) FILTER (WHERE standard_units = 'nM') AS nm_type,
count(*) AS total
FROM activities;
- 读数基准:confidence ≥ 8 通常占活性总量的少数但集中在单蛋白靶点——若占比异常低,先查 join 是否把复合物靶点重复计数。
- pChEMBL 覆盖率的意义:这个数决定 QSAR 可用样本上限——它远小于活性总量是设计使然(§2.2),不是数据质量问题。
§5 下游分析协议
§5.1 任务×资源速查表
| 任务 | 用哪些表 | 关键过滤 | 陷阱 |
|---|---|---|---|
| 活性回归(QSAR) | activities+assays+structures | confidence≥8、pChEMBL 非空、单蛋白 | random split 泄漏 |
| 虚拟筛选参考 | compound_structures+activities | 活性阈值(pChEMBL≥6) | 忘记去盐型重复 |
| 选择性建模 | 同靶点家族 activities | 同 assay 平台优先 | 跨 assay 直接比较 |
| hERG/ADMET | toxicity/ADME assays | assay_type=T/ADME | 与治疗靶点混库 |
| 生成模型评估 | 全库结构 + 活性阈值 | 母体层去重 | 「新颖性」重复计数 |
| 药物状态分析 | drug_indication/mechanism | 版本锁 max_phase | 与 DrugBank 口径混用 |
| 专利空间分析 | SureChEMBL/BindingDB 部分 | 专利 vs 文献分开 | 专利数据质量参差 |
§5.2 QSAR 数据集构造协议
- 靶点选择:单蛋白 + confidence ≥ 8 + pChEMBL 非空 + 母体去重——四道过滤器后剩「干净核心」。
- 阈值设计:回归用 pChEMBL 连续值;分类用 pChEMBL ≥ 6(~1μM)为活性——阈值敏感性分析(5.5/6/6.5)必备。
- 切分:scaffold split 主协议 + random split 对照 + 时间 split(≥2020 文献为测试)三件套——只报 random split 的 QSAR 论文过不了懂行审稿。
- 基线:相似度 kNN + 随机森林(ECFP 指纹)打底——深度模型的增量必须打过这两条线。
- 评估:RMSE/MAE(回归)+ ROC-AUC/PR-AUC(分类)+ 按 scaffold 簇分层误差——热点 scaffold 的局部失效要暴露。
§5.3 虚拟筛选协议
- 参考库构造:靶点已知活性(pChEMBL ≥ 6)+ 结构近邻——「已 explored 空间」。
- 去重过滤:候选库 vs 参考库 ECFP 相似度(Tanimoto > 0.85 剔除)——筛「真新颖」。
- 富集评估:DUD-E 协议——已知 actives/decoys 混合,评价方法早期富集(EF1%)。
- 输出分级:对接打分 + QSAR 预测 + 新颖性三列——人工复核队列。
§5.4 成本模型
| 场景 | 技术路线 | 成本量级 |
|---|---|---|
| 单靶点子集 | API/客户端 | 零;分钟级 |
| 靶点家族 QSAR | SQL dump + RDKit | 单机;人力 3-5 天 |
| 全库结构搜索 | SDF + RDKit/PGChem | 单机 16GB;数小时 |
| 生成模型评估 | 全库指纹库 | GPU 单卡;1-2 天 |
| 生产级虚拟筛选 | 自建管线 + 对接集群 | 数百-数千美元计算 |
§5.5 失败模式清单
- random split 泄漏:近邻 analogs 分进训练/测试——QSAR 性能虚高 10-20%;scaffold split 是主协议。
- assay 泥潭直灌:不按 confidence/类型过滤全量回归——「模型」只是 assay 偏差的平均器。
- 注释型活性数值化:standard_type 是 “Activity”/“Potency” 等注释型时直接当浓度——单位灾难。
- 盐型重复:同母体多盐型分进两桶——切分泄漏 + 多样性虚高。
- 表型读出当靶点结合:细胞系 assay 的活性归因给单靶点——药效学错误。
- 阈值拍脑袋:分类阈值 6 不做敏感性——结论随阈值漂移。
- 版本混拼:dump 与网页 API 混拉——策展时点不同数据不一致。
- 与基准快照混用:MoleculeNet 快照 + 最新 dump 同库训练——重复计数。
§5.6 校准与验证协议
文献策展数据的「验证」要比常规 ML 多两层——数据层的回放验证与科学层的实验衔接:
| 验证层 | 数据源 | 指标 | 通过线(参考) |
|---|---|---|---|
| L1 切分内验证 | 测试集(scaffold split) | RMSE/ROC-AUC | 与 random split 差值须解释 |
| L2 分层回放 | 按 scaffold 簇/年代/assay 平台切片 | 分层误差极差 | 无单簇灾难性失效 |
| L3 外部库交叉 | BindingDB 同靶点子集 | RMSE(InChIKey 对齐后) | 显著优于均值基线 |
| L4 时间外推 | 晚于训练截止年的文献 | RMSE/排序质量 | 无系统性漂移报警 |
| L5 不确定性校准 | 测试集 | 共形覆盖率/校准曲线 | 名义 90% 区间实测 ≥85% |
| L6 前瞻衔接 | 自建/合作实验复核 | Top-N 命中率 | 与模型排序正相关 |
- L3 的工程细节:BindingDB 与 ChEMBL 经 InChIKey 对齐后要剔除「同源记录」(同一文献的同一测定在两库都在)——只保留 ChEMBL 未收录的文献来源,交叉才是独立的。
- L5 的价值:虚拟筛选的实际用法是「按预测 + 不确定性排序取 Top-N 送实验」——校准差的模型排序再准也白搭;共形回归(split conformal)一行代码级成本。
- L6 的最小闭环:不必自建湿实验——与综述文献的「已知选择性指纹」对照(如某激酶抑制剂的已知 off-target 谱)也算半前瞻验证,审稿认可度高于纯回放。
§6 实证结果与方法学分析
§6.1 v36 发布的核心信号(2025-09)
- 规模稳增:280 万化合物 / 24M 活性 / 17,803 靶点——文献策展管线的持续产出。
- 专利空间加速:BindingDB 专利 assays 4,117 → 13,847(3 倍)——「专利先于论文」的新颖性信号被纳入主库。
- 语义标准化:疾病术语映射 EFO——适应症分析从自由文本进入本体层,跨库(与 Open Targets 等)对齐成本大降。
- 化学探针入库:NLP+人工抽取——化学生物学工具分子(选择性探针)成为新实体类。
§6.2 QSAR 实证的系统教训
ChEMBL 上十年 QSAR 研究沉淀的可复用结论:
- 切分决定叙事:random split 的 R² 普遍 0.8+、scaffold split 掉到 0.4-0.6——「模型泛化 vs 记忆」的诊断比模型本身重要。
- 指纹基线强韧:ECFP + RF/LightGBM 在多数靶点上仍是打不过的基线——深度模型增量常 <5%。
- 不确定性估计被低估:ensemble/共形预测给出可信区间——虚拟筛选的实用价值 > 点估计排序。
- 多靶点联合建模(multi-task)在数据共享结构强的家族(kinase)有效——冷门靶点靠迁移。
§6.3 方法学三层框架(gsm)
- G(Ground layer):结构化事实——分子结构、assay 描述、文献出处(低争议)。
- S(Synthesis layer):标准化产物——pChEMBL、confidence score、EFO 映射(模型推断层,有定义依赖)。
- M(Medical layer):药物状态——max_phase/适应症/机制(临床语义层,随监管演进)。
越层引用是常见错误:用 S 层的 pChEMBL 说「临床药效」(M 层)或用 G 层文献活性做「疗效声明」——审稿按层问责。
§6.4 接力实验设计
- ChEMBL → PDBbind:QSAR 命中 → 有结构复合物的子集做对接复核。
- ChEMBL → DrugBank:候选 → 成药语义核对(批准/适应症/DDI 负担)。
- ChEMBL → DrugCentral:开源交叉验证(关系数据稳健性)。
- ChEMBL → Open Targets/EFO:靶点-疾病关联的整体证据链。
§6.5 八个真实坑点
- 坑点 1:random split 当默认——近邻泄漏使性能虚高;scaffold split 是主协议、random 只是对照。
- 坑点 2:confidence 忽视——低置信(<7)混入——「靶点归因错误」的活性是噪声主力。
- 坑点 3:注释型活性数值化——“Active”/“Potency” 类 standard_type 直接进回归——单位灾难;浓度型才可数值化。
- 坑点 4:盐型/层级不去重——多样性虚高 + 切分泄漏;molecule_hierarchy 必查。
- 坑点 5:assay 跨比较——不同 assay 的 IC50 直接排序——先同平台/同类型分组。
- 坑点 6:pChEMBL 缺失硬插补——缺失是「不宜标准化」信号不是随机缺值;中位数插补会稀释毒性端。
- 坑点 7:与基准快照混用——版本不一致的重复计数;全链锁单一 dump。
- 坑点 8:偏倚不声明——阳性主导/热门富集不进 limitation——审稿必问;§2.5 的量化面要写。
§6.6 审稿人自查清单
- [ ] ChEMBL 版本 + dump 日期写进方法段?
- [ ] confidence/assay 类型/pChEMBL 过滤门槛声明?
- [ ] 切分策略(scaffold 主 + random/时间对照)报告?
- [ ] 阈值敏感性分析?
- [ ] 母体去重与 target_type 过滤说明?
- [ ] 与已发表基准的版本关系?
- [ ] 文献偏倚的 limitation 段落?
- [ ] 复现包含 dump 指纹与 schema 快照?
§6.7 版本演进的方法学含义
ChEMBL 十七年演进的四个节点各有方法学后果——理解它们才能理解「为什么老论文的做法现在不可照抄」:
- schema 的长期稳定(v1 → v36):核心表名(molecule_dictionary/assays/activities/target_dictionary)十五年基本未变——这是公共策展库给可复现性的隐含红利:老脚本跨版本大多能跑。但微调存在(如 v36 的 assay_parameters),升级仍要读 release notes。
- 直接沉积机制(2019,Mendez):作者自沉积活性与文献抽取活性的误差特征不同(前者无转录错误但可能缺语境)——2019 前后发布的数据在「同一靶点」上有微妙的分布差,时间切分建模会把这条缝放大。
- 语义层升级(v36 的 EFO 映射):适应症从自由文本进本体——历史 dump 不会回填映射,跨版本做疾病分析时新旧口径不对齐,要么全部重映射(用 v36)、要么全部声明旧口径(用 v35)。
- 专利空间扩容(v36 的 BindingDB 专利 assays 3 倍):任何「新颖性计算」(生成模型评估、虚拟筛选去重)的基线都依赖「已知空间」的覆盖——v35 与 v36 的新颖性分数不可比,切换版本要重新校准。
工程结论:版本不只是数字快照,是数据生成过程的快照——跨版本比较任何结论(模型性能、新颖性、疾病覆盖)前,先回答「这个版本间的数据生成过程变了什么」。
§7 AI 就绪指南与应用场景
§7.1 ChEMBL 在医疗 AI 中的四种喂法
- 监督回归喂法:pChEMBL 作目标——QSAR/性质预测的经典监督源(confidence 过滤后)。
- 结构先验喂法:280 万结构做分子生成的「经验合理性」检验(GAN/扩散模型的评估域)。
- 关系图喂法:分子-靶点-活性三元组构建异质图——图神经网络的化学生物学语料。
- 负空间工程喂法:虚拟筛选去重库 + decoy 协议——「什么已被试过」的知识面。
四种喂法与 §6.5 坑点的对应:喂法 1 踩坑 1(切分)与坑 3(注释型);喂法 2 踩坑 4(去重);喂法 3 踩坑 2(confidence)与坑 5(assay);喂法 4 踩坑 7(版本)——建模前回读对号。
§7.2 活性预测管线实操配方
#!/usr/bin/env python3
"""ChEMBL 活性预测端到端:SQL 子集 → ECFP 特征 → LightGBM(含消融切分)。"""
import numpy as np
import pandas as pd
from rdkit import Chem
from rdkit.Chem import AllChem
from lightgbm import LGBMRegressor
from sklearn.metrics import mean_squared_error, r2_score
df = pd.read_csv("chembl_egfr_scaffold_split.tsv", sep="\t") # §4.4 产物
def ecfp(smiles: str, radius=2, n_bits=2048):
mol = Chem.MolFromSmiles(smiles or "")
return (list(AllChem.GetMorganFingerprintAsBitVect(mol, radius, nBits=n_bits))
if mol else [0] * n_bits)
X = np.vstack([ecfp(s) for s in df.canonical_smiles])
y = df.pchembl_value.to_numpy(float)
model = LGBMRegressor(n_estimators=600, learning_rate=0.05, random_state=0)
model.fit(X[df.split == "train"], y[df.split == "train"])
for part in ["train", "test"]:
m = df.split == part
pred = model.predict(X[m])
print(part, "RMSE:", round(mean_squared_error(y[m], pred) ** 0.5, 3),
"R2:", round(r2_score(y[m], pred), 3))
(同代码换 GroupShuffleSplit 的 groups 即 random 对照——两个数字一起报。)
§7.3 模型选型与迁移决策
- 中等数据(<5 万活性):ECFP + LightGBM/RF——小数据王道;GNN 增量要在 scaffold split 下证明。
- 大数据/家族建模:GNN(消息传递/图 Transformer)+ 多任务头——kinase 等结构共享家族收益最大。
- 预训练分子模型:MolBERT/GraphMVP/3D 预训练——用 ChEMBL 子集微调,预训练权重许可见 §8。
- 不确定性:深度集成或共形回归——虚拟筛选排序的必备配件。
- 生成评估:活性预测器 + 合成可及性(SAS)+ 新颖性(vs ChEMBL 指纹库)三维打分——单指标会被玩坏。
§7.4 公平性:文献偏倚的工程应对
- 靶点分层报告:热门靶点(>1 万活性)与冷门靶点(<500)分开报性能——平均数掩盖冷靶失效。
- 年代敏感性:训练集截断年代做消融——老数据的技术偏差可量化。
- assay 协变量:assay 类型/平台 one-hot 进特征或分层归一。
- 阴性空间声明:无活性数据不等于阴性——limitation 段的固定条款。
§7.5 任务×资源速查表
| AI 任务 | ChEMBL 数据 | 输出形态 | 验收 |
|---|---|---|---|
| 活性回归 | activities + structures | 回归器 | scaffold/random 双报告 |
| 多任务家族模型 | 家族活性矩阵 | 多头模型 | 冷靶迁移增益 |
| hERG/ADMET | toxicity assays | 分类器 | 外部验证集(公开毒性基准) |
| 分子生成评估 | 结构库 + 活性阈值 | 评估协议 | 新颖性/活性/可合成三维 |
| DTI 图模型 | 三元组 + UniProt | 链接预测 | 与 DrugBank 正例交叉 |
| 专利新颖性 | SureChEMBL/BindingDB 层 | 去重/评分 | 专利-文献重叠率报告 |
§7.6 端到端案例:EGFR 抑制剂活性预测
- 取数:UniProt P00533 → SQL 子集(confidence ≥ 8、pChEMBL 非空、母体去重)→ 约 6-8 千条(v36 典型量级)。
- 清洗:注释型剔除、盐型折叠、重复(同分子同 assay)取中位。
- 切分:Murcko scaffold split(80/20)+ random 对照 + 时间 split(2020+ 为时序测试)。
- 模型:ECFP+LightGBM 基线 → Chemprop(MPNN)对比 → 不确定性(5 折集成)。
- 评估:RMSE/R² 双切分报告 + scaffold 簇误差分布 + Top-50 富集模拟。
- 报告:版本/dump 日期 + 过滤漏斗(每步剩多少)+ 偏倚声明——三件套齐。
§7.7 报告模板:方法学段落骨架
活性数据来自 ChEMBL 36(2025-09 发布的 PostgreSQL dump,下载日期 2026-XX-XX;Zdrazil et al., NAR 52:D1180-D1192, 2024)。分析限定单蛋白靶点(target_type = SINGLE PROTEIN)、assay confidence score ≥ 8、pchembl_value 非空且 standard_type 为浓度型(IC50/Ki/Kd/EC50);化合物经 molecule_hierarchy 折叠至母体层级并以 InChIKey 去重。数据集采用 Bemis-Murcko scaffold 切分(80/20)为主协议,随机切分与时间切分(2020 年后文献)作对照。模型为 ECFP4 指纹 + LightGBM 与消息传递神经网络(Chemprop)的对比,不确定性由 5 折深度集成给出。文献策展数据的阳性主导与靶点分布偏倚已在局限中声明;复现包含 dump 校验和与 schema 快照。
§7.8 成本与排期模板
| 阶段 | 内容 | 成本构成 | 周期 |
|---|---|---|---|
| 取数 | dump 下载 / SQL 子集 | 存储 | 1 天 |
| 清洗 | 过滤漏斗 + 去重 | 人力 | 3-5 天 |
| 特征 | 指纹/GNN 图构建 | 单机 | 2-3 天 |
| 建模 | 基线 + 深度对比 | GPU 小额 | 1-2 周 |
| 评估 | 双切分 + 不确定性 | 算力 | 3-5 天 |
| 复现包 | 指纹 + schema + 脚本 | 人力 | 2 天 |
ChEMBL 项目的排期风险不在计算在清洗——「过滤漏斗每步剩多少」的透明度决定复现质量。
§7.9 消融案例:分子生成评估的维度敏感性
生成模型评估是 ChEMBL 「负空间工程」喂法(§7.1 之 4)的典型应用——三维指标(活性/新颖性/可合成性)单看任何一个都会被玩坏,一组典型的消融轨迹:
| 配置 | 评估协议 | 观测结果 | 诊断 |
|---|---|---|---|
| R1 | 仅活性预测器打分(pChEMBL 预测 > 7 为「优」) | 高分样本高度同质——围绕少数高活性骨架复制 | 奖励黑客:模式坍缩 |
| R2 | R1 + 新颖性(vs 280 万指纹库最近邻 Tanimoto < 0.4) | 多样性回升,但合成可及性崩坏(SAS 中位数 > 6) | 新颖性与可合成性负相关被放大 |
| R3 | R2 + SAS 过滤 | 三维平衡;但活性均分回落 | 诚实基线——三维缺一不可 |
| R4 | R3 + 构效约束(同 scaffold 至少 3 个 pChEMBL 梯度成员) | 产量下降但化学家盲评命中最高 | 「有梯度的活性」才是 SAR 级产出 |
- 方法:同一扩散模型(或 GAN)的生成池(1 万分子)分别在 R1-R4 协议下评估;活性预测器用 §7.2 管线(EGFR,scaffold split,RMSE ~1.0 log 单位);新颖性参照用 ChEMBL 36 全库 Morgan 指纹;SAS 用 Ertl 类启发式打分。
- 读数:R1 的「平均 pChEMBL 预测 7.8」看似漂亮,实为过拟合到训练分布的记忆回放——单指标排行榜的生成论文的共同病灶。
- 结论:生成评估协议本身要报告消融——「用了哪些过滤器、每层淘汰多少」与模型架构同等重要;ChEMBL 在此的角色是「已知空间的参照系」而非打分器本身。
§8 伦理、许可与合规
§8.1 许可结构
- 数据 CC-BY-SA 3.0:可商用、可再分发、可修改——义务是署名(引用 ChEMBL 论文 + 链接)与同源共享(衍生物若分发需同许可)。
- 衍生注意:CC-BY-SA 的 share-alike 只约束「数据衍生物」——模型权重通常不算数据衍生物(法域有争议,谨慎起见产品内嵌时注明数据来源)。
- 代码/工具:Python 客户端等各自开源许可——商用前查对应仓库 LICENSE。
§8.2 引用与致谢模板
致谢模板(按需裁剪):
Bioactivity data were obtained from ChEMBL 36 (EMBL-EBI; Zdrazil B, et al.
The ChEMBL Database in 2023: a drug discovery bioactivity resource for the
global community. Nucleic Acids Res 52, D1180-D1192, 2024. DOI
10.1093/nar/gkad1004), distributed under CC-BY-SA 3.0. We thank the ChEMBL
curation team and EMBL-EBI.
§8.3 国内合规路径
- 数据性质:开放文献策展数据——下载与使用无 HGRAC/隐私问题;无个体数据。
- 产品化:CC-BY-SA 允许商用——QSAR/筛选服务内嵌 ChEMBL 数据合法,署名义务与同源条款写进产品文档。
- 红线:学术诚信层——策展数据不可二次售卖冒充「自建数据库」;引用锁版本。
§8.4 商业使用边界
开放许可不等于无义务:商业产品的 attribution 页(版本 + 论文引用 + 许可链接)是标配;把 ChEMBL 数据做成付费 API 转售时 share-alike 条款的适用性建议法务书面确认(数据 vs 服务的分类是关键)。
§8.5 合规台账最小模板
团队接入 ChEMBL 建议维护一页式台账(审计与复用交接都用得上):
| 台账项 | 记录内容 | 示例 |
|---|---|---|
| 数据版本 | dump 文件名 + 发布版 | chembl_36_postgresql.tar.gz(2025-09) |
| 下载日期 | FTP 下载日 + 校验和 | 2026-XX-XX;SHA256 存档 |
| 署名位置 | 产品内 attribution 页 URL + 论文引用 | 「帮助-数据来源」页;Zdrazil 2024 |
| share-alike 评估 | 衍生物形态与分发方式结论 | 内部分析不分发→无 SA 义务;对外发布衍生数据集→同许可 |
| 模型内嵌形态 | 权重是否视为衍生物的内部结论 | 权重+产品内嵌;attribution 保留;法务备忘链接 |
| 版本升级策略 | 升级触发条件与回归测试 | 新大版本发布后 1 个月内评估;QSAR 基线重跑 |
| 复现包存档 | dump 指纹 + schema 快照 + 脚本哈希 | 内部对象存储路径 |
§9 谱系与生态
§9.1 活性数据库时间线
2009 ChEMBL 首发(StARlite 开源化;Wellcome Trust)
2012 NAR 首篇(Gaulton)
2014 Bento NAR;API 生态起步
2019 Mendez NAR;直接沉积机制
2022 Web Resources 现代化(新 API)
2024 ChEMBL 35(NAR Zdrazil;2.5M 化合物)
2025 ChEMBL 36(280 万化合物;EFO 映射 + 专利空间 3 倍)
2026 AI 制药默认底座地位稳固;社区基准事实标准
§9.2 术语表
| 术语 | 定义 |
|---|---|
| ChEMBL ID | 实体主键(CHEMBL25 = aspirin) |
| pChEMBL | -log10 摩尔活性——跨 assay 标准化强度 |
| confidence score | assay 对靶点的置信分级(0-9) |
| assay_type | B 结合 / A 功能 / ADME / T 毒性 / P 理化 |
| standard_type/units/value | 标准化活性类型/单位/值 |
| molecule_hierarchy | 母体-盐型-多组分层级表 |
| Bemis-Murcko scaffold | 骨架去侧链的 scaffold——切分组键 |
| ECFP | 扩展连接指纹(Morgan)——分子 ML 标配特征 |
| max_phase | 最高研发阶段(0-4) |
| UniChem | EBI 的跨库化学 ID 映射服务 |
| SureChEMBL | 专利化合物文本挖掘资源 |
| ChEMBL-NTD | 被忽视热带病专版 |
| decoy | 虚拟筛选的诱饵分子(DUD-E 协议) |
| EF1% | 前 1% 富集因子——虚拟筛选评估指标 |
| FAIR | 可发现/可访问/可互操作/可复用原则 |
| EFO | Experimental Factor Ontology——v36 疾病术语映射目标 |
§9.3 资源选型决策树
你的需求是什么?
├─ 「查一个分子的活性」
│ → 网页/API(分钟级)
├─ 「QSAR/活性预测」
│ → SQL dump + confidence≥8 + scaffold split(§5.2)
├─ 「虚拟筛选」
│ → 活性参考库 + DUD-E 协议 + 去重(§5.3)
├─ 「成药语义(批准/适应症/DDI)」
│ → DrugBank(ChEMBL 只有轻量层)
├─ 「结构结合基准」
│ → PDBbind(ChEMBL 无结构复合物体系)
├─ 「跨库 ID 对齐」
│ → UniChem(InChIKey + 服务)
├─ 「专利化合物空间」
│ → SureChEMBL + BindingDB 层
└─ 「大规模原始筛选数据」
→ PubChem BioAssay(ChEMBL 策展优先但规模小)
§9.4 与本库其他条目的关系
| 条目 | 关系 |
|---|---|
| drugbank | 成药语义层(活性 vs 知识)——DTI 交叉验证 |
| PDBbind | 结构结合层——QSAR 命中的对接复核 |
| drugcomb | 组合用药——协同筛选的活性背景 |
| MoleculeNet | 基准快照——切分协议与版本对齐 |
| drugcentral | 开源药物库——关系数据交叉 |
| clinicaltrials-gov | 试验状态——候选的现实性核查 |
§9.5 组合使用建议
| 研究设计 | 推荐组合 | 分工 |
|---|---|---|
| DTI 全链 | ChEMBL(活性)+ DrugBank(关系语义)+ PDBbind(结构) | 强度 + 关联 + 结构 |
| QSAR 基准 | ChEMBL(源)+ MoleculeNet(协议)+ 外部测试集 | 训练 + 协议 + 泛化 |
| 虚拟筛选 | ChEMBL(参考/去重)+ DUD-E(评估)+ PDBbind(对接) | 参考 + 协议 + 结构 |
| 重定位 | ChEMBL(活性证据)+ DrugBank(语义)+ CT.gov(状态) | 机制 + 语义 + 现实性 |
| 生成模型 | ChEMBL(评估域)+ PubChem(新颖性对照) | 合理性 + 空间覆盖 |
组合纪律:版本快照统一——组合系统里各库各版本,「同一分子不同值」的冲突要先定主源(活性值以 ChEMBL 锁定版本为准)。
§9.6 公共策展库的生态角色
ChEMBL 证明了「文献策展」可以规模化公共供给:40 年文献 × 人工抽取 × schema 稳定 × 完全开放——这四件事同时做到的,全球只有个位数。它的生态位是「化学可复现性的锚」:AI 制药论文的默认底座、监管科学的方法参照、教育领域的标准教材数据。LLM 时代它的价值同样上升——高置信活性事实是化学 LLM 评估的锚点集。
§9.7 开放-许可双轨策展的工程模式
ChEMBL(公共资助 + 开放)与 DrugBank(许可收入 + 人工深策展)是知识库工程的两种可持续模式——工程视角的对照:
| 维度 | ChEMBL 轨道 | DrugBank 轨道 | 工程含义 |
|---|---|---|---|
| 收入来源 | 公共资助(Wellcome/EMBL 会费/项目) | 许可费(学术优惠/商业付费) | 前者接入零摩擦,后者有合同层 |
| 更新节奏 | 年度 1-2 大版本 + 网页滚动 | 商业快照(订阅制) | 前者锁 dump 即稳定;后者要管理订阅时效 |
| API 门槛 | 免注册直连 | 注册 key + 条款约束 | 原型速度差一个数量级 |
| schema 文档 | 全公开(gitbook + SQL 注释) | 随许可包分发 | 开放轨利于社区工具生态 |
| 社区基准参与 | 默认底座(MoleculeNet 等) | 受再分发限制较少进基准 | 开放轨赢得「标准」地位 |
- 组合工程:两轨并用是常态——ChEMBL 提供活性深度与开放底座,DrugBank 提供成药语义;UniChem/InChIKey 桥接,主源纪律见 §9.5。
- 风险对冲:开放轨的策展深度依赖公共投入的持续性(funding 字段如实记录);商业轨的访问依赖合同续约——严肃产品对两者都做「数据快照 + 降级预案」。
§10 资源导航与 FAQ
§10.1 官方资源导航
- 主站 https://www.ebi.ac.uk/chembl/;API 文档 https://www.ebi.ac.uk/chembl/api/data/docs
- 博客 https://chembl.blogspot.com/(release 通告)
- 文档 https://chembl.gitbook.io/chembl-interface-documentation/
- 下载 https://chembl.gitbook.io/chembl-interface-documentation/downloads(FTP dump)
- UniChem https://www.ebi.ac.uk/unichem/;SureChEMBL https://www.surechembl.org/
- Python 客户端:
pip install chembl_webresource_client
上手指引(第一次接入的推荐顺序):
- 网页查 aspirin(CHEMBL25)——读它的活性表与 assay 语境。
- API 拉同靶点活性(§4.3)——感受分页与字段。
- 下载 v36 dump——建本地 PG(§3.5),跑 §4.2 SQL。
- 对一个热门靶点(EGFR)做 §4.4 scaffold split——对比 random。
- 若只用小子集——到此为止;全库分析再谈集群。
§10.2 关键文献
- Gaulton, A. et al. ChEMBL: a large-scale bioactivity database for drug discovery. Nucleic Acids Res 40, D1100-1107 (2012). DOI 10.1093/nar/gkr777
- Bento, A.P. et al. ChEMBL: an effective chemogenomics knowledgebase. Nucleic Acids Res 42, D1083-1090 (2014). DOI 10.1093/nar/gkt1076
- Mendez, D. et al. ChEMBL: towards direct deposition of bioassays. Nucleic Acids Res 47, D930-D940 (2019). DOI 10.1093/nar/gky1075
- Zdrazil, B. et al. The ChEMBL Database in 2023: a drug discovery bioactivity resource for the global community. Nucleic Acids Res 52, D1180-D1192 (2024). DOI 10.1093/nar/gkad1004
§10.3 站内延伸阅读
- DrugBank — 药物知识库:成药语义层(本库姊妹条目)
- PDBbind — 结合亲和力数据库:结构结合验证层
- MoleculeNet — 分子基准套件:切分协议与基准对齐
- DrugComb — 药物组合数据库:组合协同的活性背景
- DrugCentral — 开源药物数据库:关系数据交叉验证
- ClinicalTrials.gov — 临床试验注册库:候选状态核查
§10.4 FAQ
Q1:ChEMBL 完全免费吗?商用也要钱吗?
A:完全免费且可商用(CC-BY-SA 3.0)——义务是署名与衍生物同源共享;无注册门槛。
Q2:280 万化合物和 250 万哪个对?
A:版本不同——250 万是 v35(2024),280 万是 v36(2025-09)。引用写版本。
Q3:pChEMBL 是什么?为什么有的活性没有它?
A:-log10 摩尔活性的标准化值;只有浓度型活性(IC50/Ki/Kd/EC50)且置信满足条件时计算——缺失是「不宜标准化」信号,别硬插补。
Q4:confidence score 怎么用?
A:0-9 分级——9 是专家确信的直接靶点测定。QSAR 建议 ≥8;筛选参考 ≥7;<7 的记录「靶点归因」可疑。
Q5:为什么我的 QSAR 用 random split R²=0.9,scaffold split 只有 0.5?
A:random split 的近邻泄漏(同系列 analogs 分进两桶)——前者是记忆能力、后者才是泛化;论文必须双报告。
Q6:细胞实验的活性能当靶点活性用吗?
A:不能直接归因——target_type 是细胞系/组织的记录是表型读出;QSAR 单靶点建模只取 SINGLE PROTEIN。
Q7:同一分子同一靶点为什么有多条活性?
A:不同文献/assay——正常现象;清洗时同分子同 assay 取中位、跨 assay 保留语境(分层建模)而非平均。
Q8:专利数据可靠吗?
A:专利活性质量参差(无同行评审)——v36 并入的 BindingDB 专利 assays 有独立策展;分析时与文献数据分开标记。
Q9:和 PubChem BioAssay 怎么选?
A:要策展质量与语境选 ChEMBL;要原始规模(工业筛选 deposited)选 PubChem——两者可经 InChIKey 对齐。
Q10:和 BindingDB 怎么选?
A:BindingDB 亲和力专精(含热力学量)且专利覆盖强;ChEMBL 语境更全(assay/药物状态)——结合强度研究两者互补。
Q11:能做「无活性」负例吗?
A:不能把「无记录」当阴性——文献偏倚下无记录 ≠ 无活性;负例构造用 DUD-E decoys 或对照库,并声明假设。
Q12:版本多久更新?
A:大版本约每年 1-2 个(v35 2024 → v36 2025-09);dump 固定版本是复现的最稳做法。
Q13:dump 有多大?本地怎么建库?
A:PostgreSQL dump 数十 GB——32GB 内存单机可建;按 schema 文档 psql 恢复即可。
Q14:API 有配额吗?
A:无硬性配额但请分页节流;万级以上批量直接用 dump——API 适合子集探索。
Q15:MoleculeNet 快照和最新 ChEMBL 有什么区别?
A:基准用固定快照保证可比——与最新 dump 混用会重复计数且结论不可比;基准复现用快照、新研究用最新版并声明。
Q16:max_phase 和 DrugBank 状态为什么对不上?
A:两库更新节奏与口径不同(ChEMBL 年更、DrugBank 商业快照)——成药叙事以 DrugBank 为准并注明来源版本。
Q17:化学探针数据是什么?
A:v36 新增——文献中的选择性工具分子(探针)集合,NLP+人工抽取——化学生物学实验的对照设计用。
Q18:EFO 映射有什么用?
A:适应症/疾病术语统一到本体——跨库(Open Targets 等)疾病对齐从字符串匹配升级为 ID 对齐。
Q19:能和 DeepPurpose/Chemprop 直接配合吗?
A:能——这类工具吃「SMILES-靶点-pChEMBL」表;按 §5.2 过滤后导出即可(工具内置数据集版本不同要重导)。
Q20:文献年代对建模有影响吗?
A:有——assay 技术 40 年演进,老数值系统偏松;时间切分或年代协变量是审稿加分项。
Q21:分子生成模型怎么用 ChEMBL 评估?
A:三维——活性合理性(预测器打分)、新颖性(vs 280 万指纹库最近邻距离)、可合成性(SAS)——单指标可被过拟合。
Q22:能下载 SDF 结构库做分子比对吗?
A:能——全库 SDF 数 GB,RDKit 直接读;注意与 SQL dump 版本对齐。
Q23:本地建库后查询很慢怎么办?
A:先 ANALYZE; 刷新统计信息,再给 activities(assay_id/molregno)、assays(tid) 建索引(§4.9)——activities 是千万行大表,缺统计信息的执行计划会全表扫。
Q24:怎么导出「SMILES-靶点-pChEMBL」通用训练表?
A:§4.2 的 join 模板就是答案——molecule_dictionary → compound_structures 拿 SMILES、activities 拿 pChEMBL、target_components → component_sequences 拿 UniProt;导出 TSV 后按 §4.4 切分。
Q25:ChEMBL-NTD 和主库是什么关系?
A:被忽视热带病专版(同 schema、独立发布)——结核/疟疾等领域的活性数据加厚版;主库也含 NTD 数据,专版是「领域入口」不是另一个 schema。
Q26:怎么跟进新版本发布?
A:官方博客(chembl.blogspot.com)发 release 通告 + gitbook 的 release notes 列 schema 变更 + FTP releases 目录是权威文件源——三处按此顺序核对后再升级本地库。
§10.5 要点回顾
- 完全开放:CC-BY-SA 3.0——免注册、可商用、可再分发(署名同源)。
- 版本即一切:v35/v36 数字并存——引用锁版本 + dump 日期。
- 过滤漏斗前置:confidence ≥ 8 + 浓度型 + pChEMBL 非空 + 母体去重——干净数据的四道闸。
- scaffold split 是主协议:random split 只是对照——两者差值是泄漏诊断。
- assay 泥潭敬畏:跨 assay 不直接比较——同类型/同平台分组。
- 阴性空间诚实:无记录 ≠ 无活性——负例构造与声明是方法论必需。
- 基线打不过再说深度:ECFP+GBDT 是及格线。
- 三维生成评估:活性 + 新颖性 + 可合成性。
- 组合锁主源:多库混用时活性值以 ChEMBL 锁定版本为准。
- 偏倚声明是义务:阳性主导、热门富集、年代效应——limitation 固定条款。
口径存照(数字均注明口径与来源,写入正文前已核对)
- ~280 万化合物(distinct compounds)/ 17,803 靶点 = ChEMBL 36 发布(EMBL 官宣,2025-09)
-
2,400 万活性测量 / 近 300 万分子 = ChEMBL 36(macinchem 转述官方博客口径)
- ~250 万化合物 / >2,000 万活性 / ~16,000 靶点 / ~160 万 assays / ~9 万文献 = ChEMBL 35(2024;NAR 52:D1180-D1192)
- ~1.75 万上市药 + 临床候选(母体 ~1.55 万)= ChEMBL 35(综述转述)
- BindingDB 专利 assays 4,117 → 13,847(3 倍)= ChEMBL 36 发布要点(EMBL 官宣)
- v36 新增:化学探针数据、EFO 疾病术语映射、农药分类更新 = EMBL 官宣
- 许可 CC-BY-SA 3.0;访问免注册(网页/API/dump)= 官方文档(gitbook)
- 四篇 NAR 主论文 DOI 见 §10.2(Gaulton 2012 / Bento 2014 / Mendez 2019 / Zdrazil 2024)
- 首发 2009(Wellcome Trust 资助;承继 Inpharmatica StARlite)= 官方 about/文献综述
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- chembl — 共享标签:药物发现与化学 / 药物-靶点相互作用 / 化学信息学 / 虚拟筛选
- zinc — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
- davis — 共享标签:药物发现与化学 / 药物-靶点相互作用 / 化学信息学
- drugcomb — 共享标签:药物发现与化学 / 药物-靶点相互作用 / 虚拟筛选
- drugcentral — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
- drugbank — 共享标签:药物发现与化学 / 药物-靶点相互作用 / 化学信息学
- drugbank — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
- bindingdb — 共享标签:药物发现与化学 / 药物-靶点相互作用 / 虚拟筛选
- tox21 — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
- iuphar-bps — 共享标签:药物发现与化学 / 药物-靶点相互作用 / 化学信息学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

