信息速览

DGIdb 药物-基因互作库 — 可计算成药基因组 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | DGIdb(药物-基因互作库) |
| 英文全称 | Drug-Gene Interaction Database |
| 别名/简称 | DGIdb、DGIdb 5.0、dgidb.org、DGIdb |
| 疾病分类 | 全疾病谱、以恶性肿瘤为主(ICD-11:2A00-2F9Z 恶性肿瘤章为核心;兼及 5A11 2 型糖尿病等非肿瘤靶点) |
| SNOMED CT | 363346000 Malignant neoplastic disease / 91861009 Acute myeloid leukemia / 254637007 Non-small cell lung cancer / 254837009 Malignant tumor of breast(详见 §2.2) |
| 数据模态 | 药物-基因相互作用主张(claims)、成药基因组类别注解、药物监管批准状态、文献证据链接 |
| AI 任务类型 | 药物-靶点互作(DTI)预测、靶点优先级排序、药物重定位假设生成、基因列表成药性注释、知识图谱补全、弱监督标签源 |
| 样本总数 | 10,000+ 基因 / 20,000+ 药物 / 70,000+ 药物-基因互作 / 40+ 数据来源(截至 2026-09,v.5.0.12) |
| 数据大小 | 文本级轻量文件(四张 TSV);另有 SQL 数据库转储(如 dgidb_2026_06b.sql.gz);本地完整部署建议预留数 GB 磁盘 |
| 数据格式 | TSV(interactions/genes/drugs/categories)/ SQL dump / GraphQL API / DGIpy(Python)与 R-DGIdb(R)客户端 |
| 许可证 | 整体开放获取;逐源许可不同(DrugBank CC BY-NC 4.0、PharmGKB CC BY-SA 4.0、ChEMBL CC BY-SA 3.0、Guide to Pharmacology ODbL 等) |
| 访问级别 | 开放(网页/GraphQL/TSV 免注册直接获取;部分上游源受非商业条款约束) |
| DUO 标签 | NRES(无患者数据、无限制;商用仍须逐源核对上游许可) |
| 语言 | 英文 |
| 首发日期 | 2013-12(Nature Methods 论文发表,v1.0 上线) |
| 最后更新 | 2026-07-15(v.5.0.12;数据快照按月发布,最新为 2026-06b) |
| 发布机构 | 华盛顿大学圣路易斯分校(Griffith Lab)创建;现由华盛顿大学、Nationwide Children’s Hospital(Rasmussen Institute for Genomic Medicine)与俄亥俄州立大学联合维护 |
| 官方主页 | https://dgidb.org/ |
| 下载地址 | http://dgidb.org/downloads |
| DOI | 10.1093/nar/gkad1040(DGIdb 5.0 论文);系列历史论文 DOI 见 §9 |
| 引用次数 | 353+(Europe PMC,截至 2026-08,DGIdb 5.0 论文);4.0 论文 769+(Europe PMC,截至 2026-08) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— GraphQL API、月度 TSV/SQL 快照与官方 Python/R 客户端齐备,文档完善;扣分项:无官方 ML 划分、部分源非商业限制、版本间记录数随归一化策略波动 |
| 页面状态 | published |
§0 E-E-A-T 审核声明
医学审核者:[千方病案医学编辑部] 交叉审核:§2 医学背景(精准肿瘤学靶点谱系、ICD-11 与 SNOMED CT 映射)、§7 偏倚分析。
数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。DGIdb 聚合的 40+ 来源许可条款不一(如 DrugBank 为 CC BY-NC 4.0 非商业许可、PharmGKB 为 CC BY-SA 4.0),商用前须逐源核对官方 Sources 页(dgidb.org)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
DGIdb 是什么? 它是一个开源、免费的网络搜索引擎与知识库,把散落在 DrugBank、PharmGKB、TTD、CIViC、Guide to Pharmacology 等 40 多个专家资源里的"某药物作用于某基因"记录聚合起来,做同义词归一化后统一成一个可查询、可下载的可计算资源。当前版本(v.5.0.12,2026-07-15)收录超过 10,000 个基因、20,000 个药物和 70,000 多条药物-基因互作,尤其聚焦肿瘤精准医学。
为什么重要? 当你对一组肿瘤测序结果拿到 500 个突变基因时,第一个问题往往是"哪些基因能成药?“——DGIdb 正是为回答这个问题而生:它把"可成药基因组”(druggable genome)变成了一张可检索的表,让靶点优先级排序从文献综述级别的手工劳动变成一次 API 调用。
我能用它做什么? 给基因列表批量注释药物靶点、为重定位研究筛选老药新用候选、把互作记录当作 DTI 预测模型的先验标签源、查询药物的 FDA 批准状态注解,或把 70,000+ 互作构建成知识图谱。它是"基因 → 药物"这一步的事实性基础设施之一。
§1.1 摘要
DGIdb 于 2013 年由华盛顿大学圣路易斯分校 Griffith Lab 在 Nature Methods 上首发,此后经历 2.0(2016,引入 REST API 与概念分组)、3.0(2018,扩至 30 来源、56,309 条互作主张)、4.0(2021,整合 Drug Target Commons、Wikidata 等众包来源,共 41 来源)与 5.0(2024,NAR 数据库专刊)五次大版本演进。5.0 版将系统重构为 PostgreSQL + Ruby on Rails 服务端与 React 客户端的前后端分离架构,用 GraphQL API 取代旧 REST 端点,并引入模块化归一化服务(thera-Py 与 VICC gene-normalizer),把药物归一化覆盖率从 68.82% 提升到 88.58%、基因归一化覆盖率从 76.09% 提升到 94.91%。它对每条互作维护"证据分(支持出版物数 + 来源数)× 相对药物特异性 × 相对基因特异性"的 Interaction Score,并按数据版本静态计算。数据获取有四种途径:网页交互、GraphQL 即席查询、按月发布的四张 TSV 快照与 SQL 数据库转储。
§1.2 战略价值分析
靶点翻译基础设施维度:基因组学研究产出的"候选基因列表"与临床可用的"治疗选择"之间存在巨大的语义鸿沟。DGIdb 用统一的归一化概念组(concept groups)把药物别名、基因别名跨库对齐,使研究者可以用一次批量搜索完成"我的基因列表里有多少可成药靶点、分别有哪些药物、哪些是批准药"的完整翻译。这种"把碎片化知识变成单一可计算事实"的定位,使它成为精准肿瘤学流水线(如变异注释-解释-治疗建议链条)中"治疗映射"环节的常用底座。
DTI 预测与弱监督维度:对机器学习者而言,DGIdb 的 70,000+ 条互作是一份免费的、带来源溯源的弱标签库。它提供互作类型(如 inhibitor、activator、antagonist)、方向性注解与分来源的证据追溯,可直接用于构建 DTI 预测基准、知识图谱补全任务,或作为新预测模型的 distant supervision。与 DrugBank 等单源库相比,它的多源聚合使标签噪声与来源偏倚显式可见——这既是优势也是需要谨慎处理的地方(见 §6.5 坑点)。
生态位维度:DGIdb 不是任何一个上游源的替代品,而是它们的"对齐层与访问层"—— DrugBank 提供深度但限制重分发,ChEMBL 提供定量但缺少治疗语义,CIViC 提供临床等级但只覆盖肿瘤;DGIdb 把这些互补资源归一到同一套概念 ID 下,并附带完整的逐源许可说明。这意味着:在数据工程实践中,它最稳妥的角色是枢纽(hub)——所有实体先在 DGIdb 完成对齐,再分流到各专业源取深度属性。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态 | 标注性质 | 核心差异化 |
|---|---|---|---|---|
| DGIdb | 10,000+ 基因 / 20,000+ 药物 / 70,000+ 互作 | 多源聚合互作主张 + 成药类别 | 归一化 claims(40+ 来源,可溯源) | 唯一以"聚合+归一化"为核心定位的开放互作引擎;GraphQL + 月度快照 |
| DrugBank | 约 15,000+ 药物(2026 年前后量级) | 单源深度药物-靶点数据 | 专家策展 | 深度最高但为非商业许可,重分发受限 |
| PharmGKB | 数百药物基因对 | 药物基因组学临床注释 | 专家策展 + 文献 | 聚焦遗传变异-药物反应,非泛互作 |
| TTD | 数千靶点 | 药物-靶点关系 | 学术策展 | 兼收已批准与在研靶点,更新节奏较慢 |
| ChEMBL | 200 万+ 活性记录 | 生物活性定量数据 | 实验测定 | 提供亲和力数值,DGIdb 的归一化锚点之一 |
| Open Targets Platform | 数千靶点 | 靶点-疾病关联评分 | 多源证据整合 | 聚焦"靶点-疾病"而非"药物-基因"互作 |
§1.4 版本时间轴
| 版本 | 发布 | 载体论文 | 关键变化 |
|---|---|---|---|
| v1.0 | 2013-12 | Nature Methods, DOI 10.1038/nmeth.2689 | 首发:聚合药物-基因互作与成药类别,华盛顿大学 Griffith Lab |
| v2.0 | 2016-01 | NAR 44(D1):D1036–D1044, DOI 10.1093/nar/gkv1165 | 引入 REST API、药物概念分组方法 |
| v3.0 | 2018-01 | NAR 46(D1):D1068–D1073, DOI 10.1093/nar/gkx1143 | 扩至 30 来源、56,309 条互作主张;交互分组与搜索过滤 |
| v4.0 | 2021-01 | NAR 49(D1):D1144–D1151, DOI 10.1093/nar/gkaa1084 | 整合 Drug Target Commons、Wikidata、NDEx;来源达 41 个;月度 TSV 发布;Query Score 引入 |
| v5.0 | 2024-01 | NAR 52(D1):D1227–D1235, DOI 10.1093/nar/gkad1040 | 前后端分离重构;GraphQL API 取代 REST;新增 ChemIDplus、HemOnc、NCIt、Drugs@FDA、HGNC、RxNorm 六来源;归一化率大幅提升 |
| v.5.0.12 | 2026-07-15 | 官网 Release Notes | 当前线上版本;数据快照持续按月发布(最新 2026-06b) |
小版本迭代(如 v.5.0.7 → v.5.0.12)主要涉及依赖升级、归一化服务对接修补与界面细节,数据层变化由月度快照承载——这也是本文反复强调"软件版本与快照日期要分开登记"的原因。
§1.5 典型应用场景
- 肿瘤基因面板注释:对 NGS 面板检出的数百个基因做批量成药性注释,输出"基因 → 药物 → 批准状态"三元组,供分子肿瘤 boards 参考。
- 药物重定位假设生成:按"老药-新靶"检索,用低特异性、少互作伙伴的候选药物构建重定位假设。
- DTI 预测模型训练:以互作记录为弱标签,结合 ChEMBL 活性数据构建二分类/排序模型(§6.4 给出完整 DataLoader)。
- 知识图谱构建:把药物、基因、互作类型、来源、文献五层实体导入图数据库,做链接预测或问答。
- 监管批准状态核查:利用 v5 新增的 Drugs@FDA、RxNorm、HemOnc 注解查询药物批准信息,用于治疗建议系统的事实核查。
- 教学与入门:零门槛(免注册、文本格式、轻量)的特性使它成为医学信息学课程讲解"知识聚合 vs 患者数据"差异的理想教具。
§2 医学背景
§2.1 疾病与术语编码映射
DGIdb 本身不使用 ICD-11 编码组织数据,其"疾病维度"以肿瘤为核心的靶点-适应证网络呈现。为便于 AI 系统对齐临床术语,下表给出 DGIdb 高频覆盖治疗领域的标准编码映射。
| 治疗领域(标签) | ICD-11 编码 | ICD-11 中文名 | SNOMED CT | 术语说明 |
|---|---|---|---|---|
| 恶性肿瘤(总体) | 2A00-2F9Z | 恶性肿瘤章 | 363346000 | Malignant neoplastic disease(恶性肿瘤) |
| 急性髓系白血病(FLT3、IDH1/2 等靶点) | 2A00 | 急性髓系白血病 | 91861009 | Acute myeloid leukemia |
| 非小细胞肺癌(EGFR、ALK、ROS1 等靶点) | 2C25 | 支气管或肺恶性肿瘤 | 254637007 | Non-small cell lung cancer |
| 乳腺癌(ERBB2/HER2、BRCA1/2、ESR1 等靶点) | 2C60 | 乳腺恶性肿瘤 | 254837009 | Malignant tumour of breast |
| 2 型糖尿病(PPARG、KCNJ11 等靶点) | 5A11 | 2 型糖尿病 | 44054006 | Diabetes mellitus type 2 |
提示:DGIdb 的疾病粒度停留在"靶点-药物"层,适应证信息主要由上游源(如 My Cancer Genome、OncoKB、JAX-CKB)以自由文本或肿瘤类型标签携带;若下游需要严格的 ICD-11/SNOMED CT 对齐,应在预处理阶段自行挂接术语映射(§6.3)。
§2.2 疾病与靶点简介
DGIdb 的自述定位是"可成药基因组的综合工具,特别聚焦肿瘤"。所谓可成药基因组,指编码产物在理论上可被药物(尤其是靶向药而非广谱细胞毒化疗)作用的人类基因集合——这一概念源自 Hopkins 与 Groom 2002 年在 Nature Reviews Drug Discovery 上对"druggable genome"的经典界定(DOI 10.1038/nrd892)。在肿瘤领域,DGIdb 覆盖的典型靶点家族包括:受体酪氨酸激酶(EGFR、ERBB2、ALK、MET)、胞内激酶(BRAF、MEK1/2MAP2K1/2、FLT3、PIK3CA、mTOR)、激素通路(ESR1、AR)、表观遗传因子(IDH1/2、EZH2)以及抗体可及靶点(CD20、PD-L1/CD274)等。下表给出家族级速查。
| 靶点家族 | 代表基因 | 代表药物类型 | 典型互作方向性 |
|---|---|---|---|
| 受体酪氨酸激酶(RTK) | EGFR、ERBB2、ALK、MET、ROS1 | 小分子 TKI、单抗 | inhibitory |
| 胞内信号激酶 | BRAF、MAP2K1/2、PIK3CA、MTOR、FLT3 | 小分子抑制剂 | inhibitory |
| 核激素受体 | ESR1、AR、NR3C1 | 拮抗剂/激动剂 | inhibitory 或 activating(视药物) |
| 表观遗传调控因子 | IDH1、IDH2、EZH2 | 小分子抑制剂 | inhibitory |
| 细胞表面抗原 | CD20、CD274(PD-L1)、CD19 | 单抗/双抗/偶联药物 | inhibitory |
| DNA 损伤修复 | BRCA1/2、PARP(蛋白) | 合成致死抑制剂 | inhibitory |
| 离子通道与其他 | KCNJ11、SCN5A 等 | 调节剂 | 双向 |
这一构成解释了 DGIdb 互作类型分布为何向 inhibitor 强烈倾斜——肿瘤靶向治疗的药理学主流就是抑制。v4.0 时代的数据显示,48,341 条互作仅由疾病无关来源支持,4,955 条仅由癌症特异来源支持,1,295 条由两类来源共同支持——肿瘤语境的互作密度显著高于平均水平,但 DGIdb 并非肿瘤专用库。
§2.3 临床任务定义
DGIdb 支撑的"临床任务"不是直接的患者分类,而是治疗映射链条中的三个推理步骤:
- 靶点发现(annotation):给定基因/突变列表,标注每个基因是否属于可成药类别(如 kinase、G-protein coupled receptor、tumor suppressor)及证据来源——对应传统流程中的"筛查"。
- 治疗匹配(matching):对感兴趣的靶点检索相互作用药物及其互作类型(inhibitor/activator/antagonist 等)与方向性(抑制/激活)——对应"诊断后的用药候选枚举"。
- 证据分级(prioritization):用 Interaction Score 与 Query Score 对候选排序,并结合药物的批准状态注解区分"已有批准药"与"仅临床前证据"——对应"分级/预后"角色的证据强度评估。
任务与数据角色的映射关系:
| AI/临床任务 | 使用的 DGIdb 数据层 | 关键字段 | 章节指引 |
|---|---|---|---|
| 基因列表成药性注释 | 类别注解层 | categories.tsv 的 category/source | §6.1 |
| 治疗候选枚举 | 互作主张层 | interaction_type、directionality | §6.1 |
| 候选排序 | 互作主张层 | interaction_score、sources | §6.5 坑点 2/3 |
| DTI 模型训练 | 概念组边表 | drug_concept_id × gene_concept_id | §6.4 |
| 批准状态核查 | 药物概念层 | approved、drug_types | §2.5 |
§2.4 数据来源人群与覆盖面
DGIdb 不含患者级数据。其"人群"即上游知识来源的构成,下表描述来源生态(以 v5.0 论文与 GitHub 数据目录为准)。
| 来源类型 | 代表来源 | 角色与特点 |
|---|---|---|
| 综合药物知识库 | DrugBank、ChEMBL、RxNorm、ChemIDplus、Drugs@FDA | 提供药物主张与化学/监管注解;DrugBank 为深度主力但非商业许可 |
| 药物基因组学与药理 | PharmGKB、Guide to Pharmacology | 提供基因-药物反应与配体-靶点关系 |
| 肿瘤临床知识库 | CIViC、OncoKB、My Cancer Genome、JAX-CKB、MSK-Impact、CGI、Clearity Foundation | 癌症特异互作与治疗证据(部分源需注册或协商许可) |
| 学术/文献策展 | TTD、DoCM、TALC、TEND、Hingorani-Casas、Hopkins-Groom、Russ-Lampel | 手工策展的靶点集合与互作主张 |
| 基因参照 | HGNC、Ensembl、Entrez、Gene Ontology、Human Protein Atlas、IDG | 基因身份锚定与成药类别注解 |
| 众包与协调层 | Drug Target Commons、Wikidata、HemOnc、NCIt | 社区贡献互作、术语归一化与化疗方案词表(HemOnc 导入 44,923 条记录) |
| 临床试验与机构内部源 | TDG Clinical Trial、Caris Molecular Intelligence、Foundation One、Tempus、dGene、Oncomine、Bader Lab | 检测机构与临床试验衍生的靶点主张(GitHub claims 目录可见) |
§2.5 临床价值与边界
DGIdb 的官方免责声明明确:该资源仅供研究用途,互作或可成药类别的存在与否都不指示任何药物的疗效或无效,记录也不按预期疗效排序。它的临床价值在于加速假设生成与证据检索——把"这个基因有没有药可治"从数小时的文献检索压缩到数秒的查询;它的边界在于不做疗效判断:所有记录最终需要回到原始文献、临床试验注册与监管文件中核实。AI 系统若要把 DGIdb 输出用于临床决策支持,必须叠加独立的临床验证与监管审批流程(见 §0 免责声明)。
还有一个常被忽略的价值维度:监管批准状态注解。v5 引入 Drugs@FDA、RxNorm、NCIt 与 HemOnc 后,药物记录携带"是否已获批准"的结构化信号,这让"靶点有药"能进一步细分为"有批准药"与"仅临床前/在研证据"——在治疗建议系统的事实核查环节,这一列的工程价值不低于互作本身。
§2.6 标注金标准对照
| 维度 | DGIdb 的实现 | 性质 |
|---|---|---|
| 划分 | 无官方 ML 划分;数据按"药物概念组 × 基因概念组"组织,支持按概念组切分 | 知识库,无 train/test 划分 |
| 标注方式 | 多源 claims 聚合 + 受控词表归一化(thera-Py/VICC gene-normalizer)+ 文本挖掘与专家策展混合 | 弱监督、多源、可溯源 |
| 标注者资质 | 上游来源为专业策展团队(DrugBank 药物信息专家、PharmGKB 策展人、CIViC 社区策展人等) | 专家策展为主,众包(DTC、Wikidata)为辅 |
| 标注质量锚点 | 证据分(支持出版物数 + 来源数)显式记录于每条互作;逐源许可见 Sources 页 | 质量可按来源分层评估 |
| 与影像/文本数据集金标准的关系 | 不构成诊断金标准:互作记录是知识陈述而非测量结果 | 下游用作弱标签或先验,而非 ground truth |
| 可复现性锚点 | 月度快照 + 按版本静态计算的分数 + 官方保留的历史快照序列 | 数据层可完全复现 |
§3 数据集规格
§3.0 版本抉择矩阵
DGIdb 同时提供"滚动线上版"与"固定日期快照",选错形态是新手第一个损失可复现性的地方。
| 你的需求 | 推荐版本/形态 | 大小 | 理由 |
|---|---|---|---|
| 交互式查询与探索 | dgidb.org 网页或 GraphQL API(v.5.0.12) | 无本地存储 | 官方持续维护,含最新月度更新与动态可视化 |
| ML 管线可复现训练 | 固定日期 TSV 快照(如 2024-12 或 2026-06b 目录) | 文本级轻量 | 快照不可变,Interaction Score 按版本静态,避免跨月漂移(坑点 4) |
| 与 DGIdb 5.0 论文对齐复现 | 2023-12 或 2024-06 快照 | 文本级 | 与论文发表时间窗最近的数据状态 |
| 本地完整部署/二次开发 | SQL 转储 dgidb_2026_06b.sql.gz + rake dgidb:load_local |
建议 GB 级磁盘 | 完整 schema 含归一化概念组与全部属性表 |
| 跨版本漂移研究 | 2021-05(v4 末期)、2022-02、2023-12、2024-12 系列快照 | 文本级 | 官方保留的历史快照序列,适合归一化策略对比 |
§3.1 模态详情
DGIdb 的"模态"是结构化知识而非信号或影像,由四类记录构成:
- 互作主张(interaction claims / interactions):形如"药物 X 作用于基因 Y"的记录,携带互作类型(inhibitor、activator、antagonist、agonist、blocker、chaperone 等)、方向性注解(抑制/激活)、证据分、Interaction Score、支持来源与 PMID 列表。每条记录可回溯到上游来源的原始页面(linkouts)。
- 基因主张与概念组(gene claims / genes):上游以各种别名(符号、旧符号、同义词)提交的基因记录,经 VICC gene-normalizer 归一化为概念组,锚定 Entrez/HGNC 标识;附带成药基因组类别注解(如 kinase、tumor suppressor、drug resistance)。
- 药物主张与概念组(drug claims / drugs):经 thera-Py 归一化到 ChEMBL/Wikidata 概念的药物记录,携带概念 ID、批准状态注解(受益于 Drugs@FDA、RxNorm、NCIt、HemOnc 等新源)、药物类型(小分子/抗体等)与别名列表。
- 类别注解(categories):基因的成药性分类记录(来源含 Gene Ontology、IDG、Human Protein Atlas 等),可按"仅癌症特异来源/仅疾病无关来源"过滤检索。
§3.2 记录规模分项
| 记录类型 | 数量(截至 2026-09,官网口径) | 备注 |
|---|---|---|
| 基因 | 10,000+ | v5 起仅保留归一化记录,数量较 v4 有意收缩 |
| 药物 | 20,000+ | v5 因归一化合并与新增 RxNorm/ChemIDplus 源而显著增加 |
| 药物-基因互作 | 70,000+ | 官网称"over 70,000";GitHub README 称"近 70,000",以快照实际行数为准 |
| 数据来源 | 40+(v4 时代 41 个) | v5 新增 6 源并更新 6 源 |
| HemOnc 导入记录 | 44,923 | v5 新源,化疗方案词表 |
| v3 时代互作主张 | 56,309 | 历史对照基线 |
关于 v4 → v5 的数量变化需要一句解释:v5 论文 Figure 3 明确显示药物记录数上升(归一化合并 + 新源注入),而基因与互作记录数有意收缩——只保留归一化记录,剔除无法锚定到有效概念的行。这是"以质换量"的设计决策,不是数据丢失(详见 §6.5 坑点 1)。
§3.3 数据格式明细
| 获取形态 | 格式 | 面向对象 | 说明 |
|---|---|---|---|
| 网页搜索 | HTML(React.js 客户端) | 交互用户 | 按基因/药物/类别三种搜索,支持过滤与可视化 |
| GraphQL API | JSON over HTTPS(https://dgidb.org/api/graphql) | 程序化访问 | 即席查询药物、基因、注解与关联数据;官方提供 GraphQL playground |
| TSV 快照 | interactions.tsv / genes.tsv / drugs.tsv / categories.tsv | 数据工程师 | 按月发布于 Downloads 页;每张表为已映射到有效概念的记录 |
| SQL 转储 | dgidb_YYYY_MM.sql(.gz)(PostgreSQL) | 本地部署者 | 完整关系 schema,官方推荐重度使用者直接用 |
| 客户端库 | DGIpy(Python)、R-DGIdb(R) | 分析师 | 封装 API 调用,降低样板代码成本 |
§3.4 存储与运行开销
TSV 四表为文本级轻量文件,笔记本环境即可加载(pandas 直读);SQL 转储为 gzip 压缩包,本地部署完整栈需要 PostgreSQL(v5 论文使用 Rails 6.1.3 + PostgreSQL)与约 GB 级磁盘余量;官方 rake dgidb:load_local 一条命令可重建本地库。全部形态均无需 GPU。
§3.5 标注方式与质量机制
标注采取"上游策展 + 自动归一化 + 分数加权"三层机制。上游 40+ 来源以人工策展为主(部分含文本挖掘,如文献衍生的互作主张);导入时药物经 thera-Py(VICC therapy-normalization,图导向跨库引用匹配,优先主标签、精确大小写、ChEMBL 优先)、基因经 VICC gene-normalizer 归一化为概念组;归一化后按概念组聚合互作。质量信号包括:每条互作的证据分(支持出版物数 + 来源数)、来源数量上限封顶的特异性惩罚(见 §6.5 坑点 2)、以及逐源许可与链接透明度(v4 起人工核录每个来源的许可描述)。
§3.6 标注者资质与一致性
无单一大规模人工标注队伍可报告:DGIdb 的"标注者"实为上游来源各自的策展团队(商业库如 DrugBank 的药物信息专家、学术库如 CIViC 的社区策展人、临床知识库如 OncoKB/JAX-CKB 的肿瘤学家委员会)。一致性由归一化层保证而非人工双标:v5.0 报告药物归一化覆盖率 88.58%、基因归一化覆盖率 94.91%(v4.0 分别为 68.82% 与 76.09%),未归一化的主张不进入基因/互作检索层(详见坑点 1)。
§3.7 采集与发布周期
v4.0 起建立月度数据发布制度:在线更新器(DelayedJob 调度)按月拉取动态源(CIViC、Guide to Pharmacology、OncoKB、PharmGKB 等)的更新,TSV 快照与 NDEx 网络同步刷新;Downloads 页保留历史快照目录(2021-05、2022-02、2023-12、2024-06、2024-12、2026-06、2026-06b),构成事实上的时间序列档案。软件版本独立演进(当前 v.5.0.12,2026-07-15)。
这一双轨制的含义:软件更新可随时安全升级(schema 兼容由 v5 主版本保证),数据快照必须手动固定(快照间分数重算与记录增删是常态)。两条轨道的版本号要分别登记在实验元数据里,不能只登记其一。
§3.8 地域与监管覆盖
数据源以北美与欧洲的公共/学术知识库为主体;v5 新增的 Drugs@FDA、RxNorm、NCIt 使药物监管批准注解以美国 FDA 体系为锚,HemOnc 补充化疗方案词表。基因身份锚定 HGNC/Entrez 全球统一符号体系。无地理访问限制。
§3.9 深度溯源链
每条互作主张的溯源链为:DGIdb 记录 → 上游来源(source 全名与许可页)→ 来源内原始条目 linkout → 支持 PMID 列表。TSV 的 interactions 表携带 sources 与 publications 列;GraphQL 查询可逐层展开 sources、publications、interactionAttributes 节点。这一设计使"多源一致支持"与"单源孤证"在数据层面显式可分,是下游做证据分级的基础。
以"Gefitinib 作用于 EGFR"为例的完整溯源读法:
DGIdb interactions.tsv 一行
├─ sources: DrugBank;PharmGKB;CIViC;Guide to Pharmacology ← 支持来源清单
│ ├─ DrugBank → 来源原始条目 linkout(DB00317 级别) ← 逐源可点击回溯
│ ├─ PharmGKB → drug.gene 关系页 linkout
│ ├─ CIViC → evidence item linkout(含临床证据等级)
│ └─ GtP → ligand-target 关系 linkout
├─ publications: PMID 列表 ← 文献证据
└─ interactionAttributes: 官方或来源附加的属性键值对
审计建议:对进入模型的每条边保留 sources 列的原样快照;回溯抽查时按"来源数从少到多"排序,优先审计单源记录——它们是错误率最高的部分。
§4 数据结构
§4.0 目录树:TSV 快照解压后预览
dgidb_snapshot_2024-12/ # 以 2024-12 快照为例,从 Downloads 页下载解压
├── interactions.tsv # 互作主表:药物概念 × 基因概念 + 分数 + 来源 + 文献
├── genes.tsv # 归一化基因概念:符号、 Entrez/HGNC 标识、别名
├── drugs.tsv # 归一化药物概念:概念 ID、批准状态、类型、别名
├── categories.tsv # 基因成药性类别注解:基因 × 类别 × 来源
└── README/许可说明 # 见官方 Sources 页逐源许可(部分源限制重分发)
本地 SQL 部署形态则是一套 Rails/PostgreSQL 关系库,核心业务表包括 drugs、genes、interactions、interaction_types、sources、publications、drug_attributes、gene_categories 等,通过 rake dgidb:load_local 从官方 dump 一步重建。
§4.1 DAIMS 字段字典:interactions.tsv 核心 10 列
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差/噪声 | 信息性缺失 | 取值范围 |
|---|---|---|---|---|---|---|---|
| gene_name | string | 归一化基因符号 | EGFR | 实体对齐键 | 符号更新滞后(上游别名残留) | 无缺失 | HGNC 有效符号 |
| drug_name | string | 归一化药物名(概念组代表名) | Gefitinib | 实体对齐键 | 同药多名(未归一化别名残留约 11.42% 之外的边界情形) | 无缺失 | 概念组代表名 |
| interaction_type | string | 互作类型受控词 | inhibitor | 关系分类标签 | 上游用词不统一,类型粒度异质 | 空串表示未注解 | 受控词表(官网 Interaction Types 页) |
| directionality | string | 互作方向性 | inhibitory | 关系极性标签 | 部分类型不直观(chaperone 为 activating) | 空串表示未注解 | inhibitory / activating / n.a. |
| interaction_score | float | 证据分 × 相对药物特异性 × 相对基因特异性 | 12.37 | 证据强度排序(非药效) | 随数据版本重算 | 空值表示证据不足无法计算 | ≥0,长尾分布 |
| score | float(旧称 evidence score) | 支持出版物数 + 来源数 | 5 | 证据广度 | 来源计数口径随版本微调 | 空值表示无证据元数据 | ≥0 整数性质 |
| sources | string(分号分隔) | 支持来源全名列表 | PharmGKB;DrugBank;CIViC | 来源分层/去单源孤证 | 源名随许可变动增减 | 空值罕见 | 40+ 来源名 |
| publications | string(分号分隔 PMID) | 支持文献列表 | 16116439;28179108 | 证据回溯、 distant supervision | 文献去重不保证跨源一致 | 空值表示无链接文献 | 有效 PMID |
| drug_concept_id | string | thera-Py 归一化概念 ID | CHEMBL.CHEMBL941 | 主键连接 drugs.tsv | 未归一化主张无概念 ID | 空值 = 未归一化 | ChEMBL/Wikidata ID |
| gene_concept_id | string | VICC 归一化概念 ID | hgnc:3236 | 主键连接 genes.tsv | 未归一化主张无概念 ID | 空值 = 未归一化 | hgnc: 编码 |
注:不同快照版本的列名可能微调(如 v4→v5 之间列序与新增列),以所下载快照表头为准;上表为 v5 时代结构的代表性描述。
配套三表的字段字典(供连接操作与特征工程使用):
genes.tsv 核心 6 列:
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 |
|---|---|---|---|---|
| gene_name | string | 归一化基因符号 | EGFR | 主键/对齐键 |
| gene_concept_id | string | VICC 归一化概念 ID | hgnc:3236 | 跨表连接键 |
| entrez_id | integer | NCBI Entrez 基因 ID | 1956 | 外部数据库连接 |
| hgnc_id | string | HGNC 委员会 ID | HGNC:3236 | 命名权威引用 |
| aliases | string(分号分隔) | 历史别名与同义词 | ERBB1;HER1 | 检索展开 |
| uniprot_ids | string | UniProt 蛋白标识 | P00533 | 序列特征连接 |
drugs.tsv 核心 6 列:
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 |
|---|---|---|---|---|
| drug_name | string | 概念组代表名 | Gefitinib | 主键/对齐键 |
| drug_concept_id | string | thera-Py 概念 ID | CHEMBL.CHEMBL941 | 跨表连接键 |
| approved | string/boolean | 监管批准状态注解 | true | 批准药过滤器 |
| drug_types | string(分号分隔) | 药物类型分类 | Small Molecule;Kinase Inhibitor | 模态过滤特征 |
| aliases | string(分号分隔) | 别名与商品名 | Iressa;ZD1839 | 检索展开(坑点 6) |
| sources | string(分号分隔) | 提交该药物主张的来源 | RxNorm;DrugBank | 许可分层审计 |
categories.tsv 核心 5 列:
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 |
|---|---|---|---|---|
| gene_name | string | 基因符号 | BRAF | 连接键 |
| category | string | 成药性类别 | KINASE | 分类标签 |
| source | string | 类别注解来源 | Gene Ontology | 来源分层 |
| source_db_version | string | 上游版本 | 最新 | 版本审计 |
| evidence | string | 类别证据描述 | GO:0004713 | 证据追溯 |
interaction_type 受控词表与方向性(完整定义见官方 Interaction Types 页,此处列建模中最常见的 10 类):
| 互作类型 | 方向性 | 建模提示 |
|---|---|---|
| inhibitor | inhibitory | 数量最大;肿瘤靶向药主流 |
| antagonist | inhibitory | 受体阻断语境 |
| blocker | inhibitory | 通道/受体阻断 |
| antibody | inhibitory | 单抗类(多数为阻断型) |
| agonist | activating | 受体激活语境 |
| activator | activating | 直接激活 |
| inducer | activating | 表达诱导(如 CYP 诱导) |
| chaperone | activating | 官方反直觉示例(坑点 7) |
| binder/ligand | n.a. | 结合但不定义方向 |
| n.a./空 | 未定义 | 参与方向敏感任务前需单独处理 |
§4.2 标签分布特征
互作类型呈显著长尾:inhibitor 类记录占据最大份额(肿瘤靶向药以激酶抑制为主),antagonist、agonist、antibody 等依次递减;方向性注解中 inhibitory 远多于 activating。Interaction Score 呈长尾分布——v4 论文明确指出这是"许多高 pan-assay 药物与基因、少数高证据高特异性互作"的典型形态;经典例子:阿霉素(doxorubicin)参与 103 条互作而被特异性惩罚压分,而 Salinomycin 仅 1 条互作即得高分。下游若把 score 当标签用,务必先做对数变换或分层采样。
§4.3 关键统计速查
| 统计项 | 数值 | 说明 |
|---|---|---|
| 归一化药物覆盖率 | 88.58%(v5.0,较 v4 的 68.82% 提升) | thera-Py 图导向归一化 |
| 归一化基因覆盖率 | 94.91%(v5.0,较 v4 的 76.09% 提升) | VICC gene-normalizer |
| 癌症特异源支持互作(仅) | 4,955(v4.0 统计) | 仅癌症特异来源支持 |
| 疾病无关源支持互作(仅) | 48,341(v4.0 统计) | 仅疾病无关来源支持 |
| 双源支持互作 | 1,295(v4.0 统计) | 两类来源共同支持 |
| 互作类型与方向性定义 | 官网 Interaction Types 页逐条给出定义 | 建模前必读 |
| 互作类型种类 | 数十种受控词(inhibitor/antagonist/agonist/activator/binder/chaperone 等) | 长尾分布,罕见类需下游分组(DAIMS 第 7 项) |
§4.4 数据层级
DGIdb 是三层扁平结构而非影像式嵌套:概念层(gene/drug concept groups)→ 主张层(claims,上游来源的一次陈述)→ 证据层(publications/sources linkouts)。概念层由主张层归一化聚合而成,主张层的多对一关系决定了"同一概念对可有多条来源不同的主张"——下游建模时需先决定按主张还是按概念去重(§5.3)。
证据层 publications(PMID) ── sources(40+,逐源许可)
↑ ↑
主张层 interaction claims(每条含类型/方向性/属性/来源链接)
↑ 归一化聚合(thera-Py / VICC gene-normalizer)
概念层 drug concept groups ── interaction edges ── gene concept groups
↑ ↑
drugs.tsv 概念表 genes.tsv 概念表
对外可下载的 TSV 是概念层 + 已归一化主张层的平面投影;证据层细节在 TSV 中以 sources/publications 分号列表退化携带,完整图式需走 GraphQL 或本地 SQL。
§4.5 缺失值与信息性缺失
TSV 表无占位字符串约定,缺失以空单元格呈现:interaction_score 为空通常意味着该记录的证据元数据不足以计算分数;directionality 为空表示该互作类型未定义方向;概念 ID 为空是信息性缺失——它明确标记"该主张未通过归一化",正是坑点 1 与坑点 6 的信号源。用 pandas 读取时应对这三列显式 keep_default_na=False 后再判空,避免空串与 NaN 混淆。
三类缺失的完整语义与应对:
| 缺失列 | 空值含义 | 是否可修复 | 建议应对 |
|---|---|---|---|
| interaction_score / score | 证据元数据不足,无法计算 | 否(等下版重算) | 按"无分"单独分层,勿填 0 混入低分组 |
| directionality | 互作类型未定义方向 | 是(查 Interaction Types 词表) | 归入 n.a. 类,不参与方向敏感排序 |
| drug_concept_id | 药物主张未通过 thera-Py 归一化 | 可离线回补(thera-Py) | 单独审计 → 回补 → 留标记(坑点 6) |
| gene_concept_id | 基因主张未通过 gene-normalizer | 可离线回补(VICC gene-normalizer) | 同上;注意 v5 官方已直接丢弃大部分此类行(坑点 1) |
| publications | 无可链接文献 | 否 | 视为低证据记录,分层评估(§8.3) |
§5 划分与使用建议
§5.1 官方划分
无。DGIdb 是知识库,官方不提供 train/val/test 划分,也不组织排行榜竞赛。任何"官方划分"的说法都不成立。这意味着划分的全部责任在下游:好在知识库没有"官方指标"包袱,下游可以自由选择与业务对齐的切分协议——代价是每次报告结果都必须完整披露划分协议,否则数字毫无可比性(§8.1)。
§5.2 社区惯例与推荐划分
DTI 预测社区在使用 DGIdb/DrugBank 类数据时的主流做法:
- 随机边划分(baseline):把互作边随机切 80/10/10——最容易但泄漏最严重,仅作下限基线。
- 按药物概念组划分:同一药物概念组的全部互作整体进同一折,检验模型对新药物的泛化(cold-drug)。
- 按基因概念组划分:同上,检验 cold-target 场景——这是靶点发现真实场景的近似。
- 双冷启动:药物与基因都不在训练集出现,对应"全新靶点-全新药物"假设,最严苛但最贴近重定位研究。
四种划分的适用性对照:
| 划分方式 | 泄漏风险 | 测量的泛化能力 | 适用任务 | 推荐度 |
|---|---|---|---|---|
| 随机边 80/10/10 | 高(概念组跨折) | 记忆能力(近似内插) | 仅作下限基线 | ⭐ |
| 按药物概念组 | 低 | cold-drug:新药候选筛选 | 药物重定位 | ⭐⭐⭐⭐ |
| 按基因概念组 | 低 | cold-target:新靶点注释 | 靶点优先级排序 | ⭐⭐⭐⭐⭐ |
| 双冷启动 | 最低 | 全新药物-靶点对 | 假设生成类研究 | ⭐⭐⭐(指标会显著下降,属预期) |
§5.3 泄漏风险(重点)
- 别名泄漏:同一药物以别名出现在训练侧与测试侧(未归一化主张或归一化前切分),模型靠记住别名而非学习结构得高分。对策:先归一化(或直接用概念 ID 列)再切分。
- 概念组泄漏:归一化把多条主张聚成一组后,随机切分会让"同药不同源主张"跨折分布——同一证据被两边看到。对策:按概念组 ID 分组切分(GroupShuffleSplit)。
- 特征泄漏:若用 ChEMBL 相似度等外部特征预训练于全量数据(含测试边),再划分训练。对策:任何派生特征的统计量只在训练折内计算。
- 时间泄漏:月度快照混合了不同时期的证据,若构建时序任务须以快照日期为时间轴,用早快照训练、晚快照测试。
§5.4 交叉验证与外部验证建议
推荐 5 折 GroupKFold(组 = 药物或基因概念组)并在报告中同时给随机划分与组划分两组数字——两者的差距本身就是模型"记忆 vs 泛化"的诊断信号。外部验证可用:ChEMBL 定量活性(把"有互作"细化为"活性阈值以下")、CIViC 肿瘤治疗证据(肿瘤语境子集)、或更晚月度快照作时间外推验证(§7.8)。
三条外部验证通道的操作细节:
| 通道 | 验证什么 | 具体做法 | 判读要点 |
|---|---|---|---|
| ChEMBL 活性对齐 | 互作是否对应可测量的结合 | 对 DGIdb 正例边查 ChEMBL pChEMBL 值,按活性阈值算命中率 | 低命中率不代表 DGIdb 错——互作类型含非结合类 |
| CIViC 治疗证据 | 肿瘤语境的临床支撑 | 用 CIViC evidence items 与 DGIdb 肿瘤特异源边求交 | 交集子集适合做高置信微调集 |
| 晚快照时间外推 | 新增知识的预测能力 | 用 2023-12 训练、2024-12 新增边测试 | 只评"净新增边",避免与存量边重叠 |
§6 AI 就绪指南 ⭐
§6.0 云端快速启动
DGIdb 无需申请与凭证,任何能访问 HTTPS 的环境(含 Colab)均可立即开始。最短路径:
# 环境:Python 3.10+;无需 GPU。目录预期:
# ./dgidb_data/ ← 自建数据目录(data_root)
# ├── interactions.tsv ← 下载的互作主表(所有脚本从这里读取)
# ├── genes.tsv
# ├── drugs.tsv
# └── categories.tsv
mkdir -p dgidb_data && cd dgidb_data
# 以 2024-12 快照为例(也可用 latest);路径规则:Downloads 页每行快照对应一个日期目录
curl -fLO "https://dgidb.org/data/interactions_2024-12.tsv" || \
echo "若 404,请到 http://dgidb.org/downloads 页面复制当前实际链接(快照文件名随版本微调)"
§6.1 快速上手:GraphQL 三分钟拿到第一批数据
下面的查询覆盖 80% 的入门需求:给 3 个肿瘤经典靶点拉全部互作,含分数、类型、来源与文献。data_root 拼接关系:本节不落盘,仅演示 API;§6.2 起所有脚本以 DATA_ROOT = Path("dgidb_data") 为根目录,TSV 从 DATA_ROOT / "interactions.tsv" 读取,最小可用子集 = interactions.tsv 单表(其余三表按需连接)。
import json, urllib.request
# 最小可用子集:一个 POST 查询即可获得互作 + 药物 + 来源 + 文献
QUERY = """
query geneInteractions {
genes(names: ["EGFR", "BRAF", "FLT3"]) {
nodes {
name
longName
interactions {
drug { name conceptId approved }
interactionScore
interactionAttributes { name value }
sources { fullName }
publications { pmid title }
}
}
}
}
"""
req = urllib.request.Request(
"https://dgidb.org/api/graphql",
data=json.dumps({"query": QUERY}).encode(),
headers={"Content-Type": "application/json"},
)
with urllib.request.urlopen(req, timeout=60) as r:
payload = json.load(r)
for gene in payload["data"]["genes"]["nodes"]:
for it in gene["interactions"]:
print(gene["name"], it["drug"]["name"],
round(it.get("interactionScore") or 0, 2),
[s["fullName"] for s in it["sources"]])
字段名以官方 API 文档与 playground(dgidb.org/api)为准;若查询报错,先在 playground 里用内省(点击字段自动补全)核对 schema 再回来改代码。
五种最常见的查询模式与对应写法:
| 场景 | 查询入口 | 关键节点/过滤 | 注意事项 |
|---|---|---|---|
| 基因列表注释(最常用) | genes(names: [...]) |
interactions { drug { } interactionScore } |
names 一次传入数十至百个;超过 100 名建议分批 |
| 药物反向查询(老药新用) | drugs(names: [...]) |
interactions { gene { } } |
关注 conceptId 与 approved 字段 |
| 成药类别检索 | 基因类别搜索 | categories + 来源过滤 | 可按"仅癌症特异来源"过滤 |
| 证据溯源 | interaction 节点下 | sources { }、publications { } |
linkout 到来源原始页面 |
| 批量导出 | 改用 TSV 快照 | — | 万级以上实体请勿走 API 轮询(坑点 8 的分页礼貌) |
§6.2 数据获取全表下载
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 打开 http://dgidb.org/downloads | 页面按日期列出全部历史快照 |
| 2 | 选定快照行(推荐 latest 或固定历史日期) | 可复现研究请固定日期,勿用 latest |
| 3 | 下载 interactions.tsv / genes.tsv / drugs.tsv / categories.tsv | 四表对应 §4.0 目录树 |
| 4 | (可选)下载 dgidb_YYYY_MM.sql.gz 做 SQL 分析 | 重度使用官方推荐直接用 API 或 SQL |
| 5 | 记录快照日期到实验配置 | Interaction Score 按版本静态,跨版本不可比(坑点 4) |
| 6 | 在数据目录放一行 notes.txt 记录下载日期与来源 URL | 三个月后"这文件哪来的"的唯一答案 |
| 7 | 团队协作时统一快照选择策略并写入 CONTRIBUTING | 避免"你我用的不是一个 DGIdb"的核对成本 |
from pathlib import Path
import urllib.request
DATA_ROOT = Path("dgidb_data") # ← data_root:所有下载文件落在这里
SNAPSHOT = "2024-12" # ← 固定快照日期,实验配置里登记
FILES = ["interactions.tsv", "genes.tsv", "drugs.tsv", "categories.tsv"]
BASE = "https://dgidb.org/data" # 实际文件名以 Downloads 页链接为准
DATA_ROOT.mkdir(exist_ok=True)
for f in FILES:
dest = DATA_ROOT / f
if not dest.exists():
urllib.request.urlretrieve(f"{BASE}/{f.replace('.tsv', f'_{SNAPSHOT}.tsv')}", dest)
print(dest, dest.stat().st_size, "bytes")
§6.3 预处理全流程:从 TSV 到建模就绪表
三步走:判空与去重 → 概念组级聚合 → 按来源分层。完整脚本(约 30 行,可直接运行):
<details>
<summary>展开完整预处理脚本(data_root 拼接:DATA_ROOT / 快照文件)</summary>
import pandas as pd
from pathlib import Path
DATA_ROOT = Path("dgidb_data") # data_root:§6.2 下载目录
SPLIT_COL_DRUG, SPLIT_COL_GENE = "drug_concept_id", "gene_concept_id"
# 1) 读取:空串不当 NaN,保留"信息性缺失"信号(概念 ID 为空 = 未归一化)
df = pd.read_csv(DATA_ROOT / "interactions.tsv", sep="\t",
dtype=str, keep_default_na=False)
print("原始主张数:", len(df))
# 2) 概念组可用性过滤:无概念 ID 的主张(未归一化)单列统计,勿混入主表
normalized = df[(df[SPLIT_COL_DRUG] != "") & (df[SPLIT_COL_GENE] != "")].copy()
unmapped = len(df) - len(normalized)
print(f"未归一化主张 {unmapped} 条(信息性缺失,单独保存供审计)")
df[df[SPLIT_COL_DRUG] == ""].to_csv(DATA_ROOT / "unmapped_drug_claims.tsv",
sep="\t", index=False)
# 3) 概念组去重:同一(药物概念 × 基因概念)聚合为一条边,来源取并集
grouped = (normalized.groupby([SPLIT_COL_DRUG, SPLIT_COL_GENE])
.agg(gene_name=("gene_name", "first"),
drug_name=("drug_name", "first"),
interaction_types=("interaction_type", lambda s: sorted(set(s))),
sources=("sources", lambda s: sorted(
{x.strip() for row in s for x in str(row).split(";") if x.strip()})),
n_claims=("gene_name", "size"),
max_score=("interaction_score", "max"))
.reset_index())
print("概念组级唯一边数:", len(grouped))
# 4) 分数处理:空分数行单独标记;分数列转数值并做 log1p 备用列
grouped["has_score"] = grouped["max_score"] != ""
grouped["max_score_num"] = pd.to_numeric(
grouped["max_score"].replace("", None), errors="coerce")
grouped["log1p_score"] = grouped["max_score_num"].fillna(0).apply(lambda x: __import__("math").log1p(x))
# 5) 癌症特异源分层(示例规则:按来源名表人工登记 cancer-specific 清单)
CANCER_SOURCES = {"CIViC", "OncoKB", "My Cancer Genome", "JAX-CKB",
"MSK Impact", "Cancer Genome Interpreter"}
grouped["cancer_supported"] = grouped["sources"].apply(
lambda srcs: any(s in CANCER_SOURCES for s in srcs))
grouped.to_csv(DATA_ROOT / "edges_concept_level.tsv", sep="\t", index=False)
print("已输出 edges_concept_level.tsv —— §6.4 DataLoader 直接消费此文件")
</details>
要点:概念 ID 为空的行是信息性缺失而非脏数据,它们审计后可决定是否回补(用名称相似度自行归一化,见坑点 6 的 SOTA 方案)。
§6.4 PyTorch DataLoader:概念组级 DTI 二分类
以"药物概念 × 基因概念"为边、其余概念对为未标注(负采样)的完整可运行示例:
<details>
<summary>展开完整 Dataset + DataLoader 代码(约 40 行)</summary>
import math, random
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader
from pathlib import Path
DATA_ROOT = Path("dgidb_data") # data_root:§6.3 产物所在目录
EDGES = DATA_ROOT / "edges_concept_level.tsv" # 最小可用子集 = 这一个文件
class DTIDataset(Dataset):
"""互作边为正例;每条正例配 NEG_RATIO 条随机未标注对为负例。
泄漏防护:drug_index/gene_index 概念组级建表,切分须用 GroupShuffleSplit(§5.3)。"""
def __init__(self, edges_path: Path, neg_ratio: int = 3, seed: int = 0):
df = pd.read_csv(edges_path, sep="\t")
self.drugs = sorted(df["drug_concept_id"].unique())
self.genes = sorted(df["gene_concept_id"].unique())
self.d2i = {d: i for i, d in enumerate(self.drugs)}
self.g2i = {g: i for i, g in enumerate(self.genes)}
rng = random.Random(seed)
self.pos = list(map(tuple, df[[SPLIT_COLS_D, SPLIT_COLS_G]].fillna("").values)) \
if False else list(zip(df["drug_concept_id"], df["gene_concept_id"]))
pos_set = set(self.pos)
all_pairs = ((d, g) for d in self.drugs for g in self.genes)
self.neg = [p for p in all_pairs if p not in pos_set]
rng.shuffle(self.neg)
self.neg_ratio, self.samples = neg_ratio, []
for i, (d, g) in enumerate(self.pos):
self.samples.append((d, g, 1))
start = (i * neg_ratio) % len(self.neg)
for k in range(neg_ratio):
nd, ng = self.neg[(start + k) % len(self.neg)]
self.samples.append((nd, ng, 0))
def __len__(self):
return len(self.samples)
def __getitem__(self, idx):
d, g, y = self.samples[idx]
return (torch.tensor([self.d2i[d], self.g2i[g]], dtype=torch.long),
torch.tensor(y, dtype=torch.float))
SPLIT_COLS_D = "drug_concept_id" # 与 §6.3 输出列名保持一致
SPLIT_COLS_G = "gene_concept_id"
ds = DTIDataset(EDGES, neg_ratio=3)
loader = DataLoader(ds, batch_size=512, shuffle=True, num_workers=2)
for (pair_ids, y) in loader: # pair_ids: [B, 2] → 嵌入查表后送 MLP/双塔
print(pair_ids.shape, y.shape, y.mean().item()) # 首批检查:正例占比应 ≈ 1/(1+3)
break
</details>
正例占比设计为 1/(1+NEG_RATIO),评估时用 AUROC/AUPR-prime 或按比例校正(§6.9)。生产环境请预生成负样本张量并缓存,避免每次
__init__重算笛卡尔积。
§6.5 坑点 8 个(DGIdb 真实特有失败模式)
⚠️ 坑点 1:v5 丢弃了未归一化基因主张,升级版本后记录数"神秘缩水"(分类:预处理陷阱)
问题:DGIdb 5.0 改用 VICC gene-normalizer 后,凡未能归一化到有效基因概念的 Ensembl 等来源主张被直接剔除——论文明确说明"many existing claims from Ensembl that were not previously searchable have been dropped"。若把 v4 时代的行数预期套在 v5 上,会误判数据丢失或下载残缺。
症状:同一分析脚本在 2022-02 快照与 2024-12 快照上跑出基因数、互作数显著下降;或某来源(如 Ensembl)的记录近乎消失;团队误以为"官方回滚了数据"。
解决:
- 简单方法:切换快照版本前,先在 Downloads 页读对应 Release Notes 与论文 Figure 3(v4 vs v5 记录数对比图),确认"基因/互作减少是设计而非事故"。
- 进阶方法:按 §6.3 脚本对每个快照分别统计"概念 ID 为空"的未归一化主张数并留档;跨版本报告一律用"归一化概念级边数"而非"原始主张行数"作为对齐口径。
- SOTA 方法:对 v5 中消失的关键主张,用名称/别名经 VICC gene-normalizer(开源,github.com/cancervariants/gene-normalization)离线自查;确属旧别名/退出符号的,在下游词表里补挂映射并记录审计日志。
参考:DGIdb 5.0 论文(DOI 10.1093/nar/gkad1040)Normalization updates 一节与 Figure 4;http://dgidb.org/downloads
⚠️ 坑点 2:把 Interaction Score 当成药效/亲和力分数(分类:评估误用)
问题:Interaction Score = 证据分(支持出版物数 + 来源数)× 相对药物特异性 × 相对基因特异性,是知识覆盖度指标;它惩罚"广撒网"药物(如 doxorubicin 参与 103 条互作被压分),与亲和力、疗效无关。误当药效分数会系统性低估多靶点化疗药、高估"孤证"互作。
症状:排序结果里 well-known 宽谱药物沉底、只有单来源文献的小众互作登顶;或用 score 与 ChEMBL 的 Ki/IC50 做相关性分析得到奇怪的低相关——本来就不该相关。
解决:
- 简单方法:把 score 仅用于"证据可信度分层"(高分 = 多源多文献支持),药效排序一律交给 ChEMBL 活性数据或临床试验证据。
- 进阶方法:按"来源数 + 出版物数"分别建模而不是只用乘积分;对长尾分布先 log1p(§6.3 第 4 步)再进入任何统计检验。
- SOTA 方法:构建证据分层标签(multi-source / single-source / text-mining-only),在 DTI 模型评估中分层报告性能;用 v4.0 论文给出的 Query Score 公式(evidence score × 查询集重叠 × 相对特异性)复现自定义排序。
参考:https://dgidb.org/about/overview/interaction-score ;DGIdb 4.0 论文(DOI 10.1093/nar/gkaa1084)Figure 3(doxorubicin 103 互作压分案例)
⚠️ 坑点 3:Query Score 随查询集变化,跨查询缓存比对会"自相矛盾"(分类:评估误用)
问题:Query Score 是相对于本次搜索集合的动态分:查询 MEK1+MEK2 时 Cobimetinib-MEK1 互作得 8.09,把 BRAF、KRAS 加入查询后同一互作升到 16.18。同一互作在不同批次查询中的分数不可直接比较。
症状:两次批量查询的结果表做 join 后,同一条互作出现两个不同分数;下游缓存/物化视图里的 Query Score 与用户复查结果对不上,被当成数据 bug 上报。
解决:
- 简单方法:持久化时只保存静态 Interaction Score 与原始证据计数,Query Score 仅在查询现场即时计算、不落库。
- 进阶方法:确需离线排序时,固定查询集为"全量概念集"近似退化为静态分,并在快照元数据里登记查询集定义。
- SOTA 方法:按 4.0 论文公式自实现 Query Score(evidence score × 查询集内交互药物/基因数 × 相对特异性),把查询集作为显式参数纳入实验配置,使排序可复现。
参考:DGIdb 4.0 论文(DOI 10.1093/nar/gkaa1084)"New Query Score and updated Interaction Score"一节(Cobimetinib 8.09 → 16.18 示例)
⚠️ 坑点 4:月度快照漂移——今天下载的 latest 与上周不可比(分类:工程陷阱)
问题:TSV 按月发布,Interaction Score 与来源计数按版本重算;不加锁使用 latest 会造成"同一实验配置两次跑分不同"的幽灵问题。v4.0 论文明确指出分数会"as sources are updated and new claims are added"而变化。
症状:CI 里的回归测试周期性失败;论文评审被问"你的数据是哪个版本的"答不上来;两篇论文用同名数据集但数字对不上。
解决:
- 简单方法:在实验配置里固定快照日期(如 2024-12),下载链接与校验和写入 requirements 旁的 data.lock 文件。
- 进阶方法:数据加载函数强制接受 snapshot 参数并校验文件头/行数指纹;CI 中钉住历史快照做确定性测试。
- SOTA 方法:镜像官方历史快照(2021-05 起官方保留序列)到内部对象存储,DVC/LakeFS 管理版本,并为每次发布生成"记录数 + 分数分布"的漂移报告(§7.6)。
参考:http://dgidb.org/downloads (历史快照列表);DGIdb 4.0 论文 “Monthly data releases” 一节
⚠️ 坑点 5:DrugBank 主张是 CC BY-NC 4.0,混进开源产品就违法(分类:工程陷阱)
问题:DGIdb 整体开放获取,但其 40+ 来源许可不一:DrugBank 为 CC BY-NC 4.0(非商业),JAX-CKB 限协商许可,OncoKB API 限注册非商业研究,ChemIDplus 受 NLM 版权约束。把含 DrugBank 主张的衍生表随商业产品分发构成许可违约——责任在使用者,不在 DGIdb。
症状:法务/合规在产品上线前审计发现衍生数据表无来源分层;学术成果转化时发现核心训练集含非商业来源,需要重新构造数据。
解决:
- 简单方法:从第一天起按 sources 列分层存储;商用交付前剔除仅非商业源支持的记录(会显著缩表,需提前评估)。
- 进阶方法:构建"许可标签"列(permissive / non-commercial / restricted),在数据流水线出口按用途路由两个视图(research-only / commercial-safe)。
- SOTA 方法:对必用的受限源(如 DrugBank)购买商业许可后重新导出;或以许可宽松源(ChEMBL CC BY-SA 3.0、Guide to Pharmacology ODbL、PharmGKB CC BY-SA 4.0)为主体重建训练集,用 DGIdb 只做归一化与对齐层。
参考:http://dgidb.org/downloads 免责与许可说明;https://dgidb.org Sources 页(逐源许可);DGIdb 4.0 论文 “Improved transparency and details on licensing of sources” 一节
⚠️ 坑点 6:约 11% 药物主张未归一化,同一药物以多个名字漏检(分类:预处理陷阱)
问题:v5.0 药物归一化覆盖率 88.58%——意味着约 11.42% 的药物主张没有 ChEMBL/Wikidata 概念 ID。这些主张保留在数据中但无法参与概念组聚合:按"药物名精确匹配"检索时,同一药物的别名记录会被漏掉;按概念 ID 建模时这些记录直接进不了主表。
症状:某药物明明文献里有新互作,按名检索却查不到(其主张挂在别名下且未归一化);合并自己的药物表时出现一对多/多对一的重复概念。
解决:
- 简单方法:检索前同时用官方别名表(drugs.tsv 的 alias 列)做展开匹配;接受少量漏检并在文档中声明覆盖率上限。
- 进阶方法:对未归一化主张(概念 ID 为空行)跑开源 thera-Py(github.com/cancervariants/therapy-normalization)离线归一化,把成功匹配的主张回补进概念级边表。
- SOTA 方法:构建两级检索:概念级(精确、归一化)+ 名称级(模糊、涵盖未归一化别名,用 normalizer 或 LLM 辅助对齐),对名称级命中结果打"未验证"标记再人工抽检。
参考:DGIdb 5.0 论文(DOI 10.1093/nar/gkad1040)Figure 4(68.82% → 88.58%);VICC thera-py 仓库
⚠️ 坑点 7:方向性标签反直觉——chaperone 标成 activating(分类:标签理解)
问题:v4.0 起每条互作类型带方向性(inhibitory/activating),但方向性是按互作类型整体定义而非按具体药物:activator 是激活,chaperone(分子伴侣)也标 activating。若把"有互作记录"默认理解为"抑制靶点",激活类记录会把治疗假设带向完全相反的方向。
症状:为抑癌基因找抑制剂的任务里混入大量 activator/aggregator 类记录;对"chaperone 型"互作(如某些分子伴侣药物)做抑制性解读的自动摘要输出错误治疗方向。
解决:
- 简单方法:建模前在官网 Interaction Types 页逐条核对每个类型的方向性定义,把 directionality 列并入标签体系而非事后修补。
- 进阶方法:把任务拆成"抑制向"与"激活向"两个子任务分别评估;对 n.a./未定义方向的记录设独立类别,不参与方向敏感的排序。
- SOTA 方法:用互作类型 × 方向性的联合标签(如 inhibitor→inhibitory、chaperone→activating)训练多关系模型,输出"作用方向"预测而非二值互作,与知识图谱补全范式对齐。
参考:DGIdb 4.0 论文 Interaction Types/directionality 一节(chaperone=activating 官方示例);https://dgidb.org/interaction_types
⚠️ 坑点 8:REST 代码/教程已死——v5 全面转向 GraphQL(分类:工程陷阱)
问题:v5.0 用 GraphQL API(https://dgidb.org/api/graphql)取代了旧 REST 端点。2016-2021 年间的博客、教材与 DGIpy 旧示例里的 REST 调用在 v5 上不再可用,旧脚本会 404 或拿到错误端点。
症状:按旧教程写的requests.get(.../api/v1/interactions.json?genes=EGFR)直接失败;团队误判"API 下线";LLM 生成的代码沿用过时 REST 路径。
解决:
- 简单方法:所有程序化访问改走单一 GraphQL 端点(POST JSON 体),用 §6.1 模板起步;交互调试用官方 playground(dgidb.org/api)。
- 进阶方法:把查询封装成版本化模块(queries.py 存 GraphQL 文本),schema 变更时只需在 playground 内省后更新一处;CI 加一条最小查询健康检查。
- SOTA 方法:本地部署 v5 栈(
rake dgidb:load_local+ localhost:3000/api/graphiql)钉住 schema 与数据版本,彻底隔离线上 schema 演进对生产系统的影响。
参考:DGIdb 5.0 论文(DOI 10.1093/nar/gkad1040)GraphQL 一节与 Figure 1;https://dgidb.org/api ;github.com/dgidb/dgidb-v5
§6.6 数据构造:安全与危险操作对照
| 操作 | 判定 | 说明 |
|---|---|---|
| 概念组级边去重、来源并集聚合 | ✅ 安全 | 信息只增不减,可逆 |
| 用 log1p 变换分数列 | ✅ 安全 | 保持单调,建模友好 |
| 按别名展开检索(drugs.tsv alias 列) | ✅ 安全 | 覆盖未归一化主张的正确姿势 |
| 对未归一化主张离线跑 thera-Py 回补 | ✅ 安全 | 与官方同源方法,回补需留审计标记 |
| 把"未标注对"全部当确定负例训练 | ❌ 危险 | 开放世界假设下未标注 ≠ 无互作,会造成假阴性偏置 |
| 用 score 阈值直接生成"高质量/低质量"硬标签并丢弃低分边 | ❌ 危险 | 低分常是 promiscuous 药物被特异性惩罚,删边引入靶点谱偏倚 |
| 跨月快照混拼训练集 | ❌ 危险 | 同一主张的分数/来源随版本变化,制造标签噪声与时间泄漏 |
§6.7 模型推荐
| 任务 | 推荐起点 | 理由 |
|---|---|---|
| DTI 二分类(概念组级) | 双塔嵌入(drug/gene embedding + MLP) | 数据规模适中,快速基线;§6.4 直接可用 |
| DTI 精细预测 | DeepDTA / MolTrans 类(需 SMILES 与序列) | 需从 ChEMBL 补 SMILES、从 UniProt 补序列,DGIdb 提供正例骨架 |
| 知识图谱补全 | TransE/RotatE + 互作类型多关系建模 | DGIdb 的类型化互作天然构成多关系图 |
| 靶点优先级排序 | learning-to-rank + 证据分层特征 | 直接对齐分子肿瘤 boards 的实际工作流 |
| 弱监督预训练 | 用互作主张做 distant supervision,再用 CIViC/OncoKB 微调 | 分层利用噪声大但面广的标签与精标子集 |
| 治疗建议核查 | 规则引擎 + approved 过滤 + score 阈值 | 不必上模型:结构化信号已足够支撑大部分核查 |
模型选择的统一原则:DGIdb 的信号在"关系"(谁与谁、什么类型、多少证据)而不在"数值",因此所有需要数值亲和力的任务都必须外接 ChEMBL 类资源;反之,把 DGIdb 当成带数值的回归数据集是常见的方向性错误。
§6.8 硬件需求
| 阶段 | 配置 | 说明 |
|---|---|---|
| TSV 加载与预处理 | 8 GB 内存普通 CPU | 全量概念级边表 < 100 万行级,pandas 即可 |
| GraphQL 批量拉取 | 无特殊要求 | 注意分页与请求礼貌(批量 genes 查询一次 ≤ 100 名) |
| 双塔/MLP 训练 | 任意入门 GPU 或纯 CPU | 嵌入表 10,000+ 基因 × 20,000+ 药物,显存占用极小 |
| 本地完整部署 | 2 核 4 GB + 数 GB 磁盘(PostgreSQL) | rake dgidb:load_local 一步重建 |
§6.9 评估指标代码
import numpy as np, torch
@torch.no_grad()
def evaluate_auroc_aupr(model, loader, device="cpu"):
"""DTI 二分类双指标:AUROC 看排序整体,AUPRC 对类不平衡敏感(正例稀少时主指标)。
注意负采样比例会影响 AUPRC 绝对值,报告时必须标注 NEG_RATIO(§6.4)。"""
model.eval()
ys, ps = [], []
for pair_ids, y in loader:
pair_ids, y = pair_ids.to(device), y.to(device)
logits = model(pair_ids).squeeze(-1) # 双塔/MLP 打分
ys.append(y.cpu().numpy())
ps.append(torch.sigmoid(logits).cpu().numpy())
y, p = np.concatenate(ys), np.concatenate(ps)
order = np.argsort(-p)
y_sorted = y[order]
tp = np.cumsum(y_sorted); fp = np.cumsum(1 - y_sorted)
tpr = tp / max(y.sum(), 1); fpr = fp / max((1 - y).sum(), 1)
auroc = np.trapezoid(tpr, fpr) # NumPy 2.x 用 trapezoid
precision = tp / np.maximum(tp + fp, 1)
recall = tpr
aupr = -np.sum(np.diff(np.concatenate([[0], recall])) *
precision[:-1]) # step 曲线下面积(保守估计)
return {"AUROC": float(auroc), "AUPRC": float(aupr),
"n_pos": int(y.sum()), "n_total": len(y)}
@torch.no_grad()
def hits_at_k(model, loader, ks=(10, 50, 100), device="cpu"):
"""排序/链接预测场景:每个基因查询其药物 Top-K,看真值药物是否命中。
适用 cold-drug/cold-target 划分(§5.2),随机划分下 Hits@K 无意义。"""
model.eval()
hits = {k: 0 for k in ks}; n_q = 0
for pair_ids, y in loader: # loader 需按查询实体分组构造
scores = torch.sigmoid(model(pair_ids.to(device)).squeeze(-1)).cpu()
rank = scores.argsort(descending=True)
truth = y.bool()
n_q += 1
for k in ks:
if truth[rank[:k]].any():
hits[k] += 1
return {f"Hits@{k}": v / max(n_q, 1) for k, v in hits.items()}
指标选择的对应关系:随机划分 → AUROC/AUPRC;按概念组划分 → AUROC + Hits@K 双报告;排序应用(靶点候选)→ Hits@K + nDCG。
§6.10 MLOps 笔记
- 版本三件套:快照日期(如 2024-12)+ 软件版本(如 v.5.0.12)+ 代码 commit 三者一起登记进实验追踪;缺一不可复现。
- 数据健康检查:CI 中对快照跑"行数指纹 + 分数分布 KS 检验",月度漂移超阈值即告警(对接坑点 4)。
- 许可门禁:导出层自动检查 sources 列,含非商业源的记录禁止进入 commercial-safe 视图(对接坑点 5)。
- schema 监控:GraphQL 查询在 CI 中每周冒烟执行一次,字段失效早于用户发现(对接坑点 8)。
- 再训练节奏:跟随月度快照,而非实时;每次发布生成"新增/删除边"diff 报告供领域专家抽查。
- 归一化对齐监控:内部实体表与 DGIdb 概念 ID 的映射表纳入版本管理;官方归一化策略升级(如 v4→v5)时同步重跑映射并出报告。
- 审计留痕:所有下载的快照保留原始文件与下载日期;derived 边表标注生成脚本 commit 与输入快照日期。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 肿瘤富集偏倚 | 癌症特异源占比高(v4 中 13/41 来源),肿瘤靶点-药物覆盖密度远超其他领域 | 高 | 按 sources 分层分析;非肿瘤课题显式排除癌症特异源(官网支持该过滤) |
| 热门靶点马太效应 | EGFR、BRAF 等明星靶点出版物数远超冷门靶点,证据分进一步放大 | 高 | 用相对特异性而非原始证据分排序;对长尾做 log 变换 |
| promiscuous 药物压分 | 广谱药物(doxorubicin 103 条互作)被特异性惩罚,宽证据低分 | 中 | 理解分数语义(坑点 2);评估分层报告 |
| 上游漂移偏倚 | 来源许可与口径变化(PharmGKB 转 CC BY-SA、DrugBank 转非商业)造成跨版本源集不稳定 | 中 | 固定快照(坑点 4);发布 diff 报告 |
| 归一化残留噪声 | 11.42% 药物主张未归一化(v5),别名级重复 | 中 | 坑点 6 的两级检索与离线归一化 |
| 方向性粒度偏倚 | 方向性按互作类型整体定义而非按具体药物-基因对,类型内异质性被抹平 | 中 | 坑点 7:类型 × 方向性联合标签;关键任务回到文献核实 |
| 文档语言偏倚 | 全部记录与文档为英文,药品含国际非专利名但区域商品名覆盖不均 | 低 | 检索层做商品名 → INN 映射 |
§7.2 标注质量
DGIdb 不做自采人工标注,质量继承自上游:DrugBank/PharmGKB/TTD 属专家策展,CIViC/OncoKB 属带审稿的临床知识库,DTC/Wikidata 属社区贡献。官方给出的质量抓手是逐主张的证据计数与逐源许可透明化(v4 起人工核录每个来源的许可描述)。v5 的归一化覆盖率(药物 88.58%/基因 94.91%)是系统级"标注一致性"的最佳公开代理指标。无跨标注者一致性系数(κ)可报告——这一指标在此范式下不适用。
§7.3 泛化性
| 场景 | 失效风险 | 证据 |
|---|---|---|
| 非肿瘤领域(心血管、代谢、神经) | 覆盖变薄:癌症特异源缺席,仅疾病无关源支持 | v4 统计:48,341 条仅疾病无关源 vs 4,955 条仅癌症特异源 |
| 冷门/孤儿靶点 | 记录稀疏或缺失;未归一化主张占比升高 | v5 基因归一化 94.91%,残余 5% 集中在边缘符号 |
| 新药(上市 < 1 年) | 上游源更新滞后,主张可能未入库 | 月度更新器覆盖动态源,静态源按上游发布节奏 |
| 血液肿瘤 vs 实体瘤 | 血液领域靶点(FLT3、BCR-ABL 等)药物谱更新快、批准药密度高;实体瘤覆盖广但证据分层更粗 | 上游源(My Cancer Genome、OncoKB)的疾病组织方式 |
| 儿科肿瘤 | 成人适应证主导的来源结构,儿科超说明书用药证据覆盖薄 | 来源以成人证据为主体 |
| 中国大陆人群特异靶点/药物 | 源以欧美知识库为主,本土药物覆盖依赖 TTD 等国际源 | 来源地域构成(§3.8) |
| binding affinity/药效预测 | 明确不适用:无定量活性数据 | 官方免责声明:记录不按疗效排序 |
§7.4 伦理考量
DGIdb 不含人类受试者数据,无需 IRB、无需 DUA、无需培训认证。伦理要点集中在使用端:官方免责声明禁止将其作为紧急医疗或专业建议来源;输出若进入临床决策支持链路,须独立临床验证与监管审批(§0)。此外须尊重上游许可(非商业条款)与学术引用规范。
§7.5 公平性
知识库层面的公平性议题体现为疾病领域与人群的覆盖不均:肿瘤(尤其欧美高发癌种)覆盖最厚,罕见病与非欧美人群特异靶点覆盖薄。用 DGIdb 做靶点优先级排序时,排序结果会继承这种"文献马太效应",可能系统性忽视研究不足的人群与疾病——建议在报告中显式声明覆盖缺口而非默认无偏。
§7.6 数据漂移
三类漂移需要监控:内容漂移(月度新增/修订主张,快照间 diff);分数漂移(Interaction Score 随版本重算,同一互作分数变化);架构漂移(v4→v5 级别的大改:REST→GraphQL、归一化策略更换、未归一化主张剔除)。建议以官方保留的历史快照序列(2021-05 起)建立漂移基线,对"记录数、来源数、分数分布"三项指标逐版本出报告。
可操作的漂移监控最小方案:
| 监控项 | 指标 | 频率 | 告警阈值(示例) |
|---|---|---|---|
| 内容 | 边数环比变化率 | 每月 | |
| 分数 | 同边分数变化比例 | 每月 | > 20% 的边分数变化即告警 |
| 来源 | 来源集合 diff | 每月 | 出现来源移除即告警(许可变动信号) |
| 架构 | 快照列名指纹 + API schema 内省 | 每月/每周 | 任何不一致即冻结升级、评估适配 |
§7.7 DAIMS 24 项就绪度评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | TSV 四表即"一行一记录"宽表;pandas 单行 read_csv 可载 |
| 2 | 唯一标识 | ✅ | 药物概念 ID(ChEMBL/Wikidata)、基因概念 ID(hgnc:)+ Entrez/HGNC 锚定 |
| 3 | 特殊字符 | ⚠️ | 药物名含连字符/希腊字母/盐型后缀;TSV 读取需 dtype=str 防止自动类型污染 |
| 4 | 重复行 | ✅ | 概念组级无重复;主张级多行属设计特性(多源各自陈述),去重策略见 §5.3 |
| 5 | 缺失编码 | ⚠️ | 空单元格无统一占位约定;score/directionality/概念 ID 三列各有不同缺失语义 |
| 6 | 标签标识 | ✅ | interaction_type + directionality 双列显式标签;受控词表官方维护 |
| 7 | 罕见类分组 | ⚠️ | 长尾互作类型无官方合并方案,罕见类需下游自行分组或归入 other |
| 8 | 偏倚评估 | ✅ | 肿瘤富集/热门靶点马太效应有 v4 论文统计支撑(§7.1) |
| 9 | 数据字典 | ✅ | 官方 API 文档 + Interaction Types 页逐类型定义;TSV 列语义可由 API 字段反查 |
| 10 | 信息性缺失解释 | ✅ | 概念 ID 为空 = 未归一化,语义明确可操作(§4.5) |
| 11 | 设备记录 | ✅ | 不适用:纯知识库无仪器设备字段,无设备元数据风险 |
| 12 | 共线性 | ✅ | 无特征矩阵形态的共线性问题;别名-概念多对一关系已在归一化层处理 |
| 13 | 编码映射 | ⚠️ | 基因/药物内部映射完备;但 ICD-11/SNOMED CT 疾病映射需下游自建(§2.1) |
| 14 | 时间戳处理 | ⚠️ | TSV 无行级时间戳列;时间维度由快照日期目录承载,行级证据时间需回溯文献 |
| 15 | 划分建议 | ✅ | 本文 §5 给出四种防泄漏划分方案与 GroupKFold 实现 |
| 16 | 泄漏讨论 | ✅ | 别名/概念组/特征/时间四类泄漏有显式对策(§5.3) |
| 17 | 标签分布 | ✅ | 类型与分数分布特征有官方论文描述(长尾、doxorubicin 案例) |
| 18 | 测量偏倚 | ✅ | 无物理测量;"证据偏倚"已由 §7.1 覆盖并量化 |
| 19 | 外部验证建议 | ✅ | ChEMBL 活性、CIViC 临床证据、晚快照时间外推三通道(§7.8) |
| 20 | 版本记录 | ✅ | 月度快照档案 + Release Notes + History 页;v1-v5 论文级版本记录 |
| 21 | 预处理脚本 | ✅ | 官方 DGIpy/R-DGIdb 客户端 + 本文 §6.3/6.4 全流程可运行代码 |
| 22 | 合规要求 | ⚠️ | 免注册即用,但 40+ 源许可异质(DrugBank 非商业等),商用须逐源审计(坑点 5) |
| 23 | 多模态对齐 | ⚠️ | 双实体(药物/基因)+ 类别注解三源需手工连接;无官方跨模态对齐表 |
| 24 | 去标识化 | ✅ | 无患者数据,不适用;rai:personalSensitiveInformation 已声明 |
DAIMS 评分:18.5 / 24
评分解读:扣分集中在三类——数据工程细节(特殊字符 3、缺失编码 5、时间戳 14,各 0.5)、建模适配(罕见类 7、编码映射 13、多模态对齐 23,各 0.5)、以及合规异质性(22,扣 0.5);其余 18 项全绿。作为知识库型数据集,它在"可溯源、版本化、有官方程序化访问"这三个通常最难达成的维度上是教科书级表现。
对你意味着什么:如果你的任务是给基因列表做成药性注释或构建 DTI 弱标签,DGIdb 可以直接进入生产管线——唯一必须先做的事是固定快照日期并按概念 ID 建模(一句话消掉 3、4、14 三项扣分)。如果你要做疾病层对齐或商用分发,需自建 ICD-11/SNOMED 映射(13)并跑一遍逐源许可审计(22)——这两项是额外工程量,不是数据缺陷。罕见类与长尾分数(7、17)建议始终用分层评估报告,避免单一 AUROC 掩盖小类崩坏。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| thera-Py 药物归一化 | VICC(Ohio State/华盛顿大学等) | 药物主张归一化覆盖率 | 68.82% → 88.58%(v4→v5) | +19.76 个百分点 | 图导向跨库引用匹配显著提升概念合并质量(DGIdb 5.0 论文,DOI 10.1093/nar/gkad1040) |
| VICC gene-normalizer | cancervariants 开源社区 | 基因主张归一化覆盖率 | 76.09% → 94.91%(v4→v5) | +18.82 个百分点 | 模块化归一化服务替换后基因层一致性大幅提升(同上) |
| GeneCards | Weizmann 科学研究所 | 基因条目的药物互作数据供给 | 集成验证(无量化指标) | 不适用 | DGIdb 作为 GeneCards 基因-药物互作的正式来源(DGIdb 4.0 论文,DOI 10.1093/nar/gkaa1084) |
| BioGPS | Scripps 研究所 | 基因注释门户插件搜索 | 集成验证(无量化指标) | 不适用 | 官方 DGIdb 插件供门户用户直接检索互作(DGIdb 4.0 论文) |
| NDEx 网络 | UCSD | 互作网络共享与可视化 | 月度自动上传(无量化指标) | 不适用 | DGIdb 互作以网络形式对外发布,供外部工具消费(DGIdb 4.0 论文) |
| 固定历史快照系列 | dgidb 官方 | 时间外推(早快照训练 → 晚快照净新增边测试) | 净新增边命中率 | — | 官方保留快照序列使时间外推可复现(§5.4) |
§8 基准与生态
§8.1 排行榜与代表性下游应用
DGIdb 是知识库而非基准数据集,没有官方排行榜,也没有统一的 SOTA 数字——不同论文的 DTI 性能数字使用了不同的负采样比例与划分方式,不可直接比较。下表列出以 DGIdb 为基础设施的代表性下游集成与应用(皆有同行评审文献或官方文档支撑)。
| 应用/集成 | 机构 | 用途 | 支撑文献/文档 |
|---|---|---|---|
| GeneCards 互作来源 | Weizmann 科学研究所 | 基因百科的药物互作板块 | DGIdb 4.0 论文(DOI 10.1093/nar/gkaa1084) |
| BioGPS 插件 | Scripps 研究所 | 基因注释门户内直接检索 DGIdb | DGIdb 4.0 论文 |
| NDEx 网络发布 | UCSD | 互作网络的共享与再分析 | DGIdb 4.0 论文 |
| CIViC 协同(VICC 联盟) | 多机构 | 共享归一化服务(thera-Py/gene-normalizer) | DGIdb 5.0 论文(DOI 10.1093/nar/gkad1040) |
| DGIpy / R-DGIdb | dgidb 官方 | Python/R 程序化接入 | github.com/dgidb |
§8.2 SOTA 总结与选型建议
在"以 DGIdb 类数据训练 DTI 预测器"这一任务族里,文献共识是:结构感知模型(药物 SMILES + 蛋白序列,DeepDTA/MolTrans 类)优于纯 ID 嵌入,但都高度依赖负采样协议;知识图谱补全路线(RotatE 等)在利用互作类型与方向性上有独特优势。选型建议:先跑 §6.4 的双塔基线拿到可复现下限,再决定是否引入外部序列/结构模态;任何报告性能的论文必须披露负采样比例与划分协议(§5)。
三条务实的选型路径:
- 注释系统类产品(给基因列表打标签):不需要训练模型——直接用 DGIdb 查询 + Interaction Score 排序 + 批准状态过滤即可,工程重点在归一化与许可分层(坑点 5、6)。
- DTI 预测研究:双塔基线 → 结构感知(引入 ChEMBL 活性与 SMILES)→ 图模型;划分协议的严格程度比模型新颖性更影响结论可信度。
- 知识图谱应用:把 DGIdb 作为互作边来源之一与 CIViC/PharmGKB 共同建图,用互作类型做多关系标签,链接预测按药物/基因概念组划分。
§8.3 评测协议建议
- 数据:固定快照日期,概念组级去重(§6.3)。
- 划分:随机 + GroupShuffleSplit(按药物/基因概念组)双报告。
- 负采样:披露 NEG_RATIO 与负例来源(随机未标注对)。
- 指标:AUROC + AUPRC(标注负采样比例)+ Hits@K(排序场景)。
- 分层:按"多源/单源"与"癌症特异/疾病无关"两个轴分层报告。
- 时间外推:早快照训练、晚快照测试。
- 指标:标注 Numpy/PyTorch 版本与随机种子;AUPRC 必须与负采样比例一起解读。
- 审计:随机抽取 50 条测试边人工回溯 sources 与 PMID,报告抽检一致率。
§8.4 相关数据集表
| 数据集 | 关系 | 典型组合用法 |
|---|---|---|
| ChEMBL | 互补:定量活性 | 用活性阈值细化 DGIdb 的二值互作(§6.7) |
| DrugBank | 上游主力源之一 | 单源深挖(注意非商业许可,坑点 5) |
| CIViC | 上游癌症证据源 | 肿瘤语境精标子集做微调 |
| PharmGKB | 上游药物基因组源 | 变异-药物反应层扩展 |
| Open Targets Platform | 平行资源 | 靶点-疾病关联评分互补 DGIdb 的药物-基因轴向 |
| UniProt | 互补:蛋白序列 | 为序列型 DTI 模型补蛋白侧特征 |
§8.5 关键论文 Top 8
- Griffith M. et al. DGIdb: mining the druggable genome. Nature Methods, 10(12):1209-1210, 2013. DOI 10.1038/nmeth.2689 —— 首创"可成药基因组搜索引擎"范式。
- Wagner A.H. et al. DGIdb 2.0: mining clinically relevant drug-gene interactions. NAR, 44(D1):D1036-D1044, 2016. DOI 10.1093/nar/gkv1165 —— 引入 REST API 与药物概念分组。
- Cotto K.C. et al. DGIdb 3.0: a redesign and expansion of the drug-gene interaction database. NAR, 46(D1):D1068-D1073, 2018. DOI 10.1093/nar/gkx1143 —— 扩至 30 来源、56,309 条互作主张。
- Freshour S.L. et al. Integration of the Drug-Gene Interaction Database (DGIdb 4.0) with open crowdsource efforts. NAR, 49(D1):D1144-D1151, 2021. DOI 10.1093/nar/gkaa1084 —— 41 来源、月度发布、Query Score、方向性注解。
- Cannon M. et al. DGIdb 5.0: rebuilding the drug-gene interaction database for precision medicine and drug discovery platforms. NAR, 52(D1):D1227-D1235, 2024. DOI 10.1093/nar/gkad1040 —— 前后端分离、GraphQL、六新源、归一化率跃升。
- Hopkins A.L. & Groom C.R. The druggable genome. Nature Reviews Drug Discovery, 1(9):727-730, 2002. DOI 10.1038/nrd892 —— DGIdb 的概念源头。
- Tang J. et al. Drug Target Commons: a community effort to build a consensus knowledge base for drug-target interactions. Cell Chemical Biology, 25(2):224-234, 2018. DOI 10.1016/j.chembiol.2017.11.009 —— DGIdb 4.0 接入的众包互作源。
- Wilkinson M.D. et al. The FAIR Guiding Principles for scientific data management and stewardship. Scientific Data, 3:160018, 2016. DOI 10.1038/sdata.2016.18 —— DGIdb 5.0 明确对标的数据管理原则。
§8.6 社区活跃度
官方维护通道包括:dgidb/dgidb-v5 GitHub 仓库(问题追踪,README 指引用户在 v5 仓库新建 issue)、官方 Slack(本地部署求助通道)、官网首页的 2 分钟用户调研问卷、以及 NAR 数据库专刊五年一度的重制节奏。版本发布频率(2026 年内完成 v.5.0.7 → v.5.0.12 的多次小版本迭代)显示活跃的小步维护;数据快照月更制度化运行自 2021 年(v4.0 确立月度发布制度)。使用者在 GeneCards、BioGPS、NDEx 等平台的间接用户群远大于直接引用数(353+,Europe PMC,截至 2026-08)所显示的规模。
对使用者的直接含义:遇到数据问题(缺记录、分数异常、许可疑问)优先到 GitHub 仓库检索/新建 issue——维护者响应历史上较快;本地部署问题走官方 Slack;论文级疑问直接引用对应版本的 NAR 论文并邮件通讯作者(v5 论文提供 Alex H. Wagner 与 Griffith 兄弟的公开邮箱)。
§8.7 生态快照表
| 资源 | 类型 | 链接 | 推荐理由 |
|---|---|---|---|
| DGIdb 官网 | 网页搜索/可视化 | https://dgidb.org/ | 入口;Interactions by Gene/Bulk search |
| Downloads 页 | 数据快照 | http://dgidb.org/downloads | TSV/SQL 历史快照档案 |
| API 文档与 playground | 程序化访问 | https://dgidb.org/api | GraphQL 查询调试与示例 |
| Interaction Types 页 | 词表 | https://dgidb.org/interaction_types | 互作类型定义与方向性(坑点 7) |
| dgidb-v5 仓库 | 源码 | https://github.com/dgidb/dgidb-v5 | 本地部署(rake dgidb:load_local)与 issue |
| DGIpy | Python 客户端 | https://github.com/dgidb(组织页入口) | 官方 Python 封装 |
| VICC thera-py / gene-normalization | 归一化服务 | https://github.com/cancervariants | 离线归一化回补(坑点 6 的 SOTA 方案) |
§9 相关资源与引用
§9.1 官方资源清单
- 官方主页与交互搜索:https://dgidb.org/
- 介绍与首选引用(含 v1-v5 全部论文 DOI):https://dgidb.org/about/overview/introduction
- Interaction Score 定义:https://dgidb.org/about/overview/interaction-score
- Interaction Types 词表:https://dgidb.org/interaction_types
- 下载页(TSV/SQL 快照档案):http://dgidb.org/downloads
- API 文档:https://dgidb.org/api ;GraphQL 端点:https://dgidb.org/api/graphql
- 源码与部署指南:https://github.com/dgidb/dgidb-v5
- 来源许可总览:官网 Browse Sources 页
- 历史版本论文入口:介绍页 Previous Works 一节(v2.0-v4.0 论文 DOI 逐条列出)
- 用户调研问卷:官网首页入口(官方收集改进意见的正式渠道)
§9.2 BibTeX 引用块
@article{Cannon_2024_DGIdb5,
title = {DGIdb 5.0: rebuilding the drug-gene interaction database for
precision medicine and drug discovery platforms},
author = {Cannon, Matthew and Stevenson, James and Stahl, Kathryn and
Basu, Rohit and Coffman, Adam and Kiwala, Susanna and
McMichael, Joshua F. and Kuzma, Kori and Morrissey, Dorian and
Cotto, Kelsy and Mardis, Elaine R. and Griffith, Obi L. and
Griffith, Malachi and Wagner, Alex H.},
journal = {Nucleic Acids Research},
volume = {52},
number = {D1},
pages = {D1227--D1235},
year = {2024},
doi = {10.1093/nar/gkad1040}
}
@article{Freshour_2021_DGIdb4,
title = {Integration of the Drug-Gene Interaction Database (DGIdb 4.0)
with open crowdsource efforts},
author = {Freshour, Sharon L. and Kiwala, Susanna and Cotto, Kelsy C. and
Coffman, Adam C. and McMichael, Joshua F. and Song, Jonathan J. and
Griffith, Malachi and Griffith, Obi L. and Wagner, Alex H.},
journal = {Nucleic Acids Research},
volume = {49},
number = {D1},
pages = {D1144--D1151},
year = {2021},
doi = {10.1093/nar/gkaa1084}
}
@article{Cotto_2018_DGIdb3,
title = {DGIdb 3.0: a redesign and expansion of the drug-gene
interaction database},
author = {Cotto, Kelsy C. and Wagner, Alex H. and Feng, Yang-Yang and
Kiwala, Susanna and Coffman, Adam C. and Spies, Gregory and
Wollam, Alex and Spies, Nicholas C. and Griffith, Obi L. and
Griffith, Malachi},
journal = {Nucleic Acids Research},
volume = {46},
number = {D1},
pages = {D1068--D1073},
year = {2018},
doi = {10.1093/nar/gkx1143}
}
@article{Wagner_2016_DGIdb2,
title = {DGIdb 2.0: mining clinically relevant drug-gene interactions},
author = {Wagner, Alex H. and Coffman, Adam C. and Ainscough, Benjamin J. and
Spies, Nicholas C. and Skidmore, Zachary L. and
Campbell, Katie M. and Krysiak, Kilannin and Pan, Deng and
McMichael, Joshua F. and Eldred, James M. and Walker, Jason R. and
Wilson, Richard K. and Mardis, Elaine R. and Griffith, Malachi and
Griffith, Obi L.},
journal = {Nucleic Acids Research},
volume = {44},
number = {D1},
pages = {D1036--D1044},
year = {2016},
doi = {10.1093/nar/gkv1165}
}
@article{Griffith_2013_DGIdb1,
title = {DGIdb: mining the druggable genome},
author = {Griffith, Malachi and Griffith, Obi L. and Coffman, Adam C. and
Weible, James V. and McMichael, Joshua F. and Spies, Nicholas C. and
Koval, James and Das, Indraniel and Callaway, Matthew B. and
Eldred, James M. and Miller, Christopher A. and
Subramanian, Janakiraman and Govindan, Ramaswamy and
Kumar, Runjun D. and Bose, Ron and Ding, Li and
Walker, Jason R. and Larson, David E. and Dooling, David J. and
Smith, Scott M. and Ley, Timothy J. and Mardis, Elaine R. and
Wilson, Richard K.},
journal = {Nature Methods},
volume = {10},
number = {12},
pages = {1209--1210},
year = {2013},
doi = {10.1038/nmeth.2689}
}
§9.3 引用指南
使用 DGIdb 数据时:引用当前版本论文(Cannon 2024, DGIdb 5.0)并注明所用的快照日期与软件版本;论文要求同时在方法部分给出访问日期。若使用了特定上游来源的记录(如 DrugBank、PharmGKB),学术规范上应同时引用该来源的原始文献并遵守其许可条款。
§10 AI 使用声明卡
§10.1 本页生产使用的 AI 模型
| 模型 | 用途 | 说明 |
|---|---|---|
| fast-model(CodeBuddy Code) | 全文撰写、结构编排、代码示例生成 | 本页唯一生成模型 |
§10.2 AI 参与范围
AI 负责初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例编写、JSON-LD 构建与 frontmatter 生成。AI 不负责最终事实裁定:所有规模数字、版本号、引用数与许可条款均来自 WebSearch 检索到的官方页面与同行评审文献,检索记录存于同目录 FACTS.md。
AI 参与的边界约定:
| 环节 | AI 参与 | 人工把关 |
|---|---|---|
| 事实检索 | 发起检索与初步摘录 | 关键数字逐条回溯原始 URL |
| 正文写作 | 全部初稿 | 结构与口径复核 |
| 数字类内容 | 只引用检索到的数字,不外推 | 与 FACTS.md 逐项比对 |
| 代码示例 | 编写与静态走查 | API 查询实测验证 |
| 命名与术语 | 遵循官方英文原名 | 中文译名统一(药物-基因互作库) |
§10.3 输入来源列表
- DGIdb 官方主页(版本横幅 v.5.0.12,2026-07-15):https://dgidb.org/ (截至 2026-09-05)
- DGIdb 介绍页(10,000+ 基因 / 20,000+ 药物 / 70,000+ 互作、首选引用与历史论文):https://dgidb.org/about/overview/introduction (截至 2026-09-05)
- Cannon M. et al. DGIdb 5.0. NAR 52(D1):D1227-D1235, 2024. DOI 10.1093/nar/gkad1040(架构、归一化率、新来源、GraphQL)— https://pmc.ncbi.nlm.nih.gov/articles/PMC10767982/ (截至 2026-09-05)
- Freshour S.L. et al. DGIdb 4.0. NAR 49(D1):D1144-D1151, 2021. DOI 10.1093/nar/gkaa1084(41 来源、月度发布、Query Score、许可透明化、癌特异/疾病无关统计)— PMC7778926 (截至 2026-09-05)
- DGIdb 4.0 预印本全文(方向性注解、NDEx 集成、评分公式)— https://www.biorxiv.org/content/10.1101/2020.09.18.301721v1.full.pdf (截至 2026-09-05)
- Cotto K.C. et al. DGIdb 3.0. NAR 46(D1):D1068-D1073, 2018. DOI 10.1093/nar/gkx1143(30 来源、56,309 互作主张)— 经国家基因组科学数据中心 Database Commons 汇编页核对:https://bigd.big.ac.cn/databasecommons/database/id/1641 (截至 2026-09-05)
- Wagner A.H. et al. DGIdb 2.0. NAR 44(D1):D1036-D1044, 2016. DOI 10.1093/nar/gkv1165 — 同上汇编页(截至 2026-09-05)
- Griffith M. et al. DGIdb. Nature Methods 10:1209-1210, 2013. DOI 10.1038/nmeth.2689 — 同上汇编页(截至 2026-09-05)
- Interaction Score 官方定义页(公式与图示):https://dgidb.org/about/overview/interaction-score (截至 2026-09-05)
- 下载页(快照列表 2021-05 至 2026-06b、免责声明、许可总口径):http://dgidb.org/downloads (截至 2026-09-05)
- dgidb-v5 GitHub 仓库(claims 文件清单、本地部署、rake 任务、GraphiQL):https://github.com/dgidb/dgidb-v5/tree/v.5.0.7 (截至 2026-09-05)
- dgidb GitHub 组织(DGIpy 与 R-DGIdb 客户端、README 规模口径):https://github.com/dgidb (截至 2026-09-05)
- DGIdb 5.0 论文 ResearchGate 全文页(作者机构、通讯作者、CC BY 4.0 许可):https://www.researchgate.net/publication/375602704 (截至 2026-09-05)
- PubChem 物质页对 DGIdb 各源许可的转录(DrugBank CC BY-NC 4.0、GtP ODbL、ChEMBL CC BY-SA 3.0、ChemIDplus NLM、FDA GSRS 公有领域):https://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=3387354 (截至 2026-09-05)
- Database Commons 汇编页(DGIdb 5.0 论文 353 次引用、4.0 论文 769 次引用,Europe PMC 口径 2026-08-01):https://bigd.big.ac.cn/databasecommons/database/id/1641 (截至 2026-09-05)
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| INFOBOX 与 §1 规模数字、版本号 | 千方病案医学编辑部 | 与官网横幅、介绍页逐项核对 | ✅ 已通过/已验证 |
| §2 ICD-11 与 SNOMED CT 映射 | 千方病案医学编辑部 | 术语编码表交叉比对 | ✅ 已通过/已验证 |
| §3-§4 规格与字段字典 | 千方病案医学编辑部 | 对照论文与下载页逐项核对 | ✅ 已通过/已验证 |
| §5-§6 划分建议与全部代码 | 千方病案医学编辑部 | 代码走查与 API 查询实测 | ✅ 已通过/已验证 |
| §6.5 八个坑点 | 千方病案医学编辑部 | 与论文正文及官方文档逐条溯源 | ✅ 已通过/已验证 |
| §7 DAIMS 24 项与偏倚分析 | 千方病案医学编辑部 | 对照 v4/v5 论文统计数字 | ✅ 已通过/已验证 |
| §8-§9 生态与引用 | 千方病案医学编辑部 | DOI 逐条解析验证 | ✅ 已通过/已验证 |
| frontmatter 与 §C JSON-LD | 千方病案医学编辑部 | 语法解析与字段完整性检查 | ✅ 已通过/已验证 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工校验:INFOBOX、§1、§2、§3、§4、§5、§6(含八个坑点)、§7、§8、§9、§10、§C。无纯人工撰写、无 AI 未审章节。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核日期一致)。
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- ttd — 共享标签:药物发现与化学 / 化学信息学 / 知识图谱 / 肿瘤学
- chebi — 共享标签:医疗NLP / 药物发现与化学 / 化学信息学 / 知识图谱
- iuphar-bps — 共享标签:医疗NLP / 药物发现与化学 / 化学信息学 / 知识图谱
- ctrp-v2 — 共享标签:药物发现与化学 / 化学信息学 / 肿瘤学
- reactome — 共享标签:医疗NLP / 化学信息学 / 知识图谱
- chemdner — 共享标签:医疗NLP / 药物发现与化学 / 化学信息学
- sider — 共享标签:医疗NLP / 药物发现与化学 / 知识图谱
- mdad — 共享标签:药物发现与化学 / 化学信息学 / 知识图谱
- rxnorm — 共享标签:医疗NLP / 药物发现与化学
- pharmgkb — 共享标签:医疗NLP / 知识图谱 / 肿瘤学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。
