DrugCentral — 开放药物信息知识库 AI-Ready Wikipedia

覆盖 4,950+ 种药物的开放获取药物信息资源,CC BY-SA 4.0 免注册下载

来源 University of New Mexico, Division of Translational Informatics url: https://drugcentral.org/发布时间: 2026-09-13最后更新: 2026-09-25 阅读 60
DrugCentral — 开放药物信息知识库 AI-Ready Wikipedia

信息速览

数据集名称DrugCentral — 开放药物信息知识库 AI-Ready Wikipedia
数据类型4,950+ 种药物,约 724 个 MoA 靶点,142,303 个药品制剂,约 1.3 GB Postgres dump,CC BY-SA 4.0 开放
规模非患者队列数据集;4,950+ 种药物活性成分(截至 2023-08)
接入方式University of New Mexico, Division of Translational Informatics url: https://drugcentral.org/
AI 就绪度

数据集封面

DrugCentral — 开放药物信息知识库 AI-Ready Wikipedia


INFOBOX

数据集名称 DrugCentral
英文全称 DrugCentral: Online Drug Information Resource
别名/简称 Drug Central、DrugCentral 2023(版本语境)
疾病分类 全疾病谱(覆盖各系统疾病适应症;ICD-11 全科范围,如 CA00 恶性肿瘤 / BA00 高血压 / CA23 糖尿病等多系统疾病)
SNOMED CT 263781009 Drug substance (substance) / 373873005 Pharmaceutical / biologic product(产品);适应症与禁忌以 SNOMED CT、OMOP 与 MedDRA 术语存储(详见 §2.2)
数据模态 化学结构(SMILES/InChI/MOL)、关系数据库、结构化文本(药品说明书 LOINC 章节)、生物活性记录、药物警戒统计
AI 任务类型 药物-靶点相互作用预测、药物重定位、适应症文本挖掘、分子性质预测、知识图谱构建、药物警戒信号挖掘
样本总数 4,950+ 种药物 / 约 724 个 MoA 靶点 / 142,303 个药品与制剂 / 14,300+ 条适应症(截至 2023-08)
数据大小 约 1.3 GB(PostgreSQL 全库 dump,gzip 压缩;解压导入后建议预留 10 GB 磁盘)
数据格式 PostgreSQL dump / TSV / SDF(MOL V2000、V3000)/ SMILES / InChI / SQL 示例
许可证 CC BY-SA 4.0(Creative Commons Attribution-ShareAlike 4.0 International)
访问级别 开放(无需注册)
DUO 标签 NRES
语言 英文
首发日期 2016(对公众开放)/ 2017-01(NAR 数据库专刊首次收录)
最后更新 2023-11-01(官方全库转储版本);网站随监管批准持续更新
发布机构 新墨西哥大学健康科学中心转化信息学部(UNM Division of Translational Informatics)
官方主页 https://drugcentral.org/
下载地址 https://drugcentral.org/download
DOI 10.1093/nar/gkw993(原始论文)/ 10.1093/nar/gkac1085(2023 更新论文)
引用次数 133+(DrugCentral 2021 论文,Google Scholar,截至 2026-08)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— SQL 示例、机器可读映射文件与多格式下载齐备、无需申请;扣分项:无官方 ML 划分、需自建 Postgres 环境、dump 版本滞后于网站
页面状态 published

§0 E-E-A-T 信任声明与免责声明

  • 医学审核:[千方病案医学编辑部] 交叉审核:§2 医学背景(适应症与药物警戒术语体系)、§7 偏倚分析。
  • 数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
  • 审核日期:2026-09-05

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。DrugCentral 以 CC BY-SA 4.0 许可证发布,无需注册或签署使用协议,但衍生分发须以相同许可证共享并注明原始出处。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 30 秒速览

这是什么? DrugCentral 是一个免费的在线药物信息数据库,可以理解为"药物版维基百科 + 结构化数据库"。它由新墨西哥大学团队维护,收录了 4,950 多种药物的化学结构、作用机制、适应症、禁忌症和不良反应等信息,并且持续追踪美国 FDA、欧洲 EMA 和日本 PMDA 的新药批准。

为什么重要? 药物研发和 AI 研究最缺的就是高质量、开放、可自由下载的"事实标准"。DrugCentral 的适应症和药物-靶点关系数据由专家人工策展,被 Hetionet、NCATS Translator 等知名知识图谱项目用作事实来源,且以 CC BY-SA 4.0 许可证完全开放,无需注册、无需申请。

我能用它做什么? 训练药物-靶点相互作用预测模型、构建药物重定位候选清单、提取说明书文本做医学 NLP、挖掘药物警戒信号,或者直接 SQL 查询你关心的任意药物信息。下载一个约 1.3 GB 的 PostgreSQL 转储即可获得全部内容。

§1.1 摘要

DrugCentral 以活性药物成分(Active Pharmaceutical Ingredient,API)为核心实体组织数据。每个药物条目关联化学结构(经 Chemaxon 与 RDKit 标准化)、理化性质、来自 ChEMBL/IUPHAR/PDSP 等来源的生物活性记录与人工策展的作用机制(MoA)靶点、来自药品说明书(DailyMed SPL)的适应症与禁忌、监管批准信息,以及从 FDA FAERS 药物警戒数据计算的分层信号统计。适应症术语映射到 SNOMED CT 与 OMOP 词表,支持标准化疾病检索。2017 年首次发表于 Nucleic Acids Research 数据库专刊,此后以 2018、2021、2023 三次专刊更新保持演进;2023 年更新整合了 154 个仅兽用药物并引入儿科/老年分层的 FAERS 信号。全部内容以 PostgreSQL 关系数据库形式提供,辅以 TSV、SDF、SMILES/InChI 文件、Docker 容器、公共 Postgres 实例与 Python API,形成面向关系查询与结构搜索的双轨访问体系。

§1.2 战略价值分析

维度一:监管锚定的"真值"层。 DrugCentral 的适应症、禁忌与 MoA 关系主要提取自监管批准的药品说明书,并经人工策展——这使它成为药物-适应症、药物-靶点两类关系的"监管级真值"来源。与 ChEMBL(以实验活性为主)、DrugBank(部分内容需商业许可)相比,DrugCentral 把"说明书说了什么"与"实验测到了什么"明确分层存储,AI 团队可以据此构造不同噪声水平的训练标签,也可以用它为模型输出做监管合规性校验。

维度二:零门槛的开放许可。 CC BY-SA 4.0 + 免注册 + 多格式下载,使 DrugCentral 成为工业界与学术界都能直接入库的资源。对比需要逐案申请的 MIMIC 类 EHR 数据或需要商业授权的 DrugBank 全量数据,DrugCentral 可在一小时内完成"下载-恢复-查询"闭环,显著降低了药物 AI 项目的数据获取成本。其公共 Postgres 实例、Docker 镜像与 Python API 进一步支持轻量探索与 CI 集成。

维度三:术语标准化与互操作底座。 DrugCentral 内建了多套受控词表的桥接:疾病侧 SNOMED CT/OMOP、不良事件侧 MedDRA、化学侧 CAS/InChI、靶点侧 UniProt、分类侧 ATC。对构建企业级药物数据中台的团队而言,这套桥接可以直接充当"术语转换中枢"——把内部药名/疾病术语映射到受控概念后再做下游分析,避免了各团队自建映射表导致的口径分裂。机器可读的 UniProt 映射文件(Drugcentral_uniprot_Mapping.txt)让这种集成可以在 CI 中自动化。

§1.3 横向对比

数据集 规模 核心模态 标注性质 许可证 与 DrugCentral 的差异化
DrugCentral 4,950+ 药物 / 约 724 MoA 靶点 结构 + 适应症 + 活性 + 警戒信号 人工策展 + 监管文件 CC BY-SA 4.0,免注册 说明书锚定 + FAERS 分层信号 + 兽药整合,全量免费
DrugBank 5.x 约 15,000+ 药物 结构 + 靶点 + ADME + 药物相互作用 人工策展 学术免费/商业许可 规模更大但全量获取受限;DrugCentral 开放性更强
ChEMBL 240 万+ 化合物 实验生物活性 文献提取 CC BY-SA 4.0 以 assay 活性为主,监管属性(适应症/批准)弱于 DrugCentral
PubChem 1.19 亿+ 化合物 结构 + 文献链接 自动聚合 开放 体量巨大但策展深度低;无适应症-药物人工确认层
RxNorm 约 13 万+ 概念 药品命名规范化 术语策展 免费使用 术语标准而非知识库;与 DrugCentral 互补(后者提供药理事实)
SIDER 1,499 药物 药物-不良反应 文本挖掘 + 人工校对 CC BY-NC-SA 专注副作用;DrugCentral 的 FAERS 层提供动态信号补充

§1.4 版本演进时间轴

时间 版本/事件 关键变化
2016 上线 对公众开放,覆盖 FDA 批准药物与部分 FDA 之外药物
2017-01 NAR 数据库专刊首发(DOI 10.1093/nar/gkw993) 收录 1,661 个 API 的 67,000+ 药品标签、SNOMED/OMOP 映射、CC BY-SA 4.0 确认
2019-01 DrugCentral 2018 更新(PMID 30371892) 持续纳入新批准药物;活性与标签数据扩展
2021-01 DrugCentral 2021 更新(DOI 10.1093/nar/gkaa997) 纳入 2018-10 至 2020-03 间 109 个新批准 API;约 1,000 种药物药代动力学性质;FAERS 性别拆分;REDIAL-2020 抗新冠活性预测服务
2023-01 DrugCentral 2023 更新(DOI 10.1093/nar/gkac1085) 新增 285 个药物(131 人用);整合 154 个仅兽用药物;66 条超说明书适应症;儿科/老年 FAERS 分层;SMILES 子结构搜索;UniProt Target Cards
2023-11-01 当前官方全库转储 PostgreSQL v14.5 dump(约 1.3 GB),为本文统计基准

时间轴呈现出典型的"NAR 数据库专刊驱动"演进节奏:每两年一次大版本论文 + 期间滚动更新。这种节奏的含义是:论文引用的统计数字有两年半以内的滞后,而网站与 dump 之间的滞后则以月计。对精度敏感的项目应以 dump 为准做自己的统计,论文数字仅作背景参考。

§1.5 典型 AI 应用场景

  1. 药物-靶点相互作用(DTI)预测:以 act_table_full 中 MoA 标记的交互为高置信正例,训练分子-蛋白对预测模型,再以非 MoA 交互做困难负样本/补充正例。
  2. 药物重定位优先级排序:结合适应症数据、专利/市场状态(60% 在售且专利过期)与 MoA 靶点活性阈值(1 µM 建议),筛选"老药新用"候选。
  3. 医学 NLP 与适应症抽取:按 LOINC 章节存储的说明书全文支持分章节文本挖掘,可用作适应症/不良反应抽取任务的监督语料。
  4. 药物警戒信号挖掘:FAERS 按性别(中性/男/女)与年龄(儿科/老年)分层的 LLR 统计,支持不良反应信号的可比性分析。
  5. 生物医学知识图谱构建:作为 Hetionet、RTX-KG2、SPOKE、NCATS Translator 等图谱的药物-适应症/药物-靶点事实来源接入。

上述场景的成熟度并不相同:DTI 与重定位有成熟的社区协议与多篇可参考论文,属于"拿来即用";FAERS 信号挖掘与文本挖掘需要更多领域判断(信号解读、章节隔离),属于"高自由度高风险";兽药相关应用刚在 2023 年开放,协议几乎空白,适合作为差异化研究方向。选择场景前先评估自己的团队配置:有药学背景的团队可直接做信号解读,纯 ML 团队建议从 DTI/图谱任务起步。


§2 医学背景

§2.1 ICD-11 疾病分类锚定

DrugCentral 覆盖全疾病谱的药物适应症,其自身术语体系基于 SNOMED CT 与 OMOP,而非 ICD-11。下表给出数据库内代表性适应症方向与 ICD-11 的对应锚定,供分类建模时参考:

适应症方向(DrugCentral 覆盖) ICD-11 编码 ICD-11 中文名 覆盖方式
高血压 BA00 原发性高血压 处方药说明书适应症(如 ACEI/ARB 类)
2 型糖尿病 5A11 2 型糖尿病 处方药说明书适应症(如二甲双胍、SGLT2 抑制剂)
乳腺癌 2C60 乳腺恶性肿瘤 处方药说明书适应症(如内分泌治疗、靶向药)
哮喘 CA23 哮喘 处方药与 OTC 说明书适应症(吸入制剂)
抑郁障碍 6A70 抑郁障碍 处方药说明书适应症(SSRI/SNRI 类)
细菌感染 1A00-1E0Z 区段 感染性疾病 抗菌药物说明书适应症(按病原体细分)
疼痛管理 MG30-MG3Z 区段 慢性疼痛与急性疼痛 OTC 与处方镇痛药适应症

注:DrugCentral 的适应症存储粒度是"药物 × 说明书文本",上表仅为建模时的分类锚定示意;疾病概念本体请使用数据库内的 omop_relationship 与 SNOMED CT 编码,而非 ICD-11 直接映射。

§2.2 SNOMED CT 映射

DrugCentral 的疾病术语体系是理解其数据结构的关键:适应症、禁忌与超说明书使用均以受控术语存储,2012 年前批准的药物依赖 OMOP 词表映射,2012 年后批准的药物由策展团队从说明书人工提取。代表性映射示例:

标签/概念 ICD-11 参考编码 SNOMED CT 编码 术语
药物活性成分(实体类型) — 105576004 Substance (substance)
药品(实体类型) — 373873005 Pharmaceutical / biologic product (product)
高血压(适应症示例) BA00 38341003 Hypertensive disorder
2 型糖尿病(适应症示例) 5A11 44054006 Diabetes mellitus type 2
心力衰竭(适应症示例) BD10-BD1Z 40254000 Heart failure
恶心(不良反应示例,MedDRA) MD94 422587007 Nausea
肝毒性(不良反应示例,MedDRA) — 106028004 Hepatic toxicity

不良反应术语使用 MedDRA 编码(FAERS 数据原生),疾病术语使用 SNOMED CT/OMOP;两类受控词表的并存是数据整合时的第一个对齐任务。

§2.3 疾病与药物信息学简介

药物信息学的核心问题是把"化学分子—生物学靶点—临床结局"三层证据链打通。DrugCentral 在这一链条中承担"临床事实层":它不生成新的实验数据,而是把散落在监管文件、说明书与文献中的事实结构化。理解三个概念对使用该数据集至关重要。其一,MoA(Mechanism of Action)靶点:说明书或权威文献明确记载的"药物通过抑制/激活该靶点发挥疗效"关系,约占 724 个靶点,是最高置信度的药物-靶点关系。其二,适应症 vs 超说明书使用(off-label):前者有监管批准背书,后者仅有文献证据支持,DrugCentral 分开存储二者,2023 年更新补充了 66 条有文献记录的超说明书使用。其三,药物警戒信号:FAERS 报告计数经 Lynx算法族(LLR,对数似然比)转换为信号强度,反映"报告比例是否超预期",而非不良反应真实发生率。

这三层概念也对应了 AI 建模的三种监督置信度:MoA 关系(文档明确)> 超说明书关系(文献支持)> FAERS 信号(统计推断)。构造多置信度训练集时,可为三层标签赋予不同权重或做置信度加权损失,这通常优于把所有关系等权混合——后者会让统计推断层的高噪声标签稀释文档层的干净信号。理解"说明书怎么说"与"实验测到什么"之间的层次差,是使用 DrugCentral 不踩标签坑的前提。

§2.4 临床任务定义

基于 DrugCentral 可定义与求解的 AI 任务沿药物发现链条分布:

任务类型 输入 输出 DrugCentral 提供的监督信号
DTI 预测 分子结构 + 蛋白序列 结合/作用概率 MoA 标记的药物-靶点对(约 724 靶点)+ 约 20,000 条生物活性记录
适应症预测/重定位 分子结构 / MoA 靶点 新适应症候选 14,300+ 条说明书内适应症 + 66 条文献支持的超说明书使用
不良反应预测 分子结构 / 已知事件谱 新事件风险 约 340,000 条 FAERS 药物-事件对(含 LLR 与阈值)
分子性质回归 SMILES 溶解度/药代参数 约 1,000 种药物的药代性质(2021 更新引入)
药品命名标准化 自由文本药名 规范概念 ID 同义词表(INN/USAN/商品名)+ CAS 号

任务选型还有一个常被忽视的维度:标签更新频率。DTI/MoA 关系随策展节奏缓慢演进(月级),监管批准为公告驱动(周级),FAERS 为季度更新,L1000 扰动谱为静态整合。若你的产品需要"最新批准药物"能力(如新药情报管线),重点接入 approvals 层并监控官网更新;若做基础模型预训练,静态性反而是优势——一次锁定版本即可保证训练集稳定数月。

§2.5 数据对象人群特征

DrugCentral 不是患者队列数据集,其"对象"是药物与其监管证据。下表从数据生成角度描述其覆盖特征:

维度 描述
对象来源 FDA、EMA、PMDA 批准药品说明书(DailyMed SPL 为主)+ 监管批准公告 + 文献
时间跨度 覆盖 1930 年代至今的批准药物;2012 年为适应症提取方式分界点
市场状态 60% 在售且专利过期、23% 在售且专利有效、17% 已退市(2023 更新统计)
给药途径 口服 59%、注射 33%、外用 18%(按活性成分计,2023 更新统计)
人/兽用途 2023 年整合 154 个仅兽用药物;61% 兽药同时批准人用
物种覆盖(兽药) 犬、猫、马为主要目标物种
患者个体数据 无。FAERS 层为聚合统计,不含可识别个体记录

对 AI 建模者而言,"对象人群"特征直接决定了模型的适用边界:由于收录以监管批准药物为主体,模型学到的是"成功上市(或曾经上市)的药物"的分布,对处于发现/临床阶段的候选分子、已终止开发 molecule 的代表性不足——重定位与性质预测任务中的这种"幸存者偏倚"应写入任何基于该库训练模型的 limitation 声明。此外,OTC 组合产品的大量存在(75,200 个 OTC 产品 vs 375 个 OTC 药物)意味着产品层的统计天然向感冒/镇痛类高复购药物倾斜。

§2.6 金标准/参考标准

DrugCentral 在社区中被用作两类参考标准。药物-适应症参考标准:其说明书锚定的适应症关系被药物重定位研究用作金标准正例——例如 Scripps 研究所团队的 SemMedDB 异构网络重定位研究明确以 DrugCentral 适应症构造金标准并以时间切分评估(Mayers et al., 2019, BMC Bioinformatics. DOI 10.1186/s12859-019-3297-0),该研究同时确认其 CC-BY-SA-4.0 许可允许再分发。药物-靶点参考标准:MoA 标记的交互子集常被用作 DTI 模型的高置信评估集。需要强调,DrugCentral 官方没有发布任何"官方训练/测试划分"或排行榜——所有评估协议均由使用社区自行设计,这既是灵活性也是一致性风险(详见 §5、§8.3)。

从证据等级看,两类参考标准的"成色"不同:适应症关系有监管说明书背书,属于文档级真值,跨项目复用的一致性高;MoA 关系虽也经策展,但"何为疗效机制"在药理学上存在边界争议(多机制药物、间接机制),把它当硬真值时应预留 5%-10% 的边界争议容忍度。任何声称"以 DrugCentral 为金标准达到 XX 精度"的工作,都应披露其金标准构造口径(取用哪些表、如何处理边界案例)。


§3 数据集规格

§3.0 版本抉择矩阵

DrugCentral 没有传统意义上的"版本号",而是"持续更新的网站 + 日期戳的下载包"。选择入口前先明确需求:

你的需求 推荐入口 大小 理由
全库 SQL 分析、DTI 训练集构建、知识图谱提取 PostgreSQL 全库 dump(11/01/2023) 约 1.3 GB(gz) 一次获得全部关系表与索引;SQL 示例可直接改写
快速探索、避免本地建库 公共 Postgres 实例(unmtid-dbs.net:5433)或 Docker 镜像 0(远程)/ 约 2 GB(Docker) 免安装;公共实例响应随负载波动,重查询请用本地
只做化学结构/性质建模 SMILES + InChI 文件(含 INN 名、DrugCentral ID、CAS 号) 数十 MB 免建库,直接 RDKit 读取
药物-靶点关系建模 drug.target.interaction TSV 数 MB 官方导出的关系平面文件,含 MoA 与活性值
说明书文本挖掘 全库 dump(label 表按 LOINC 章节) 约 1.3 GB(gz) 文本块存储于关系表,需 SQL 提取
TCRD/IDG 靶点库整合 TCRD 导入专用文件 数 MB 官方为目标库 prepared 的导入格式

§3.1 模态详细说明

化学结构模态。 每个 API 关联经标准化的 MOL/SDF、SMILES 与 InChI 表示。官网明确说明 SDF 文件分两版:MOL V2000 记录文件仅包含受支持的结构记录,而 V3000 文件包含全部记录(含化学结构未定义的条目,如某些多组分或聚合物药物)。这一区分直接影响分子建模时的样本完整性。结构标准化管线使用 Chemaxon(学术许可)与 RDKit 双工具链。

关系数据库模态。 全库以 PostgreSQL 组织,核心表包括 structures(药物主表,含 id、name、smiles、status 等列)、act_table_full(生物活性与 MoA 记录,含 struct_id、accession、moa、action_type、act_source 等列)、faers(药物-不良事件信号,含 struct_id、meddra_name、meddra_code、llr、llr_threshold)、synonyms(同义词)、identifier(外部标识符映射)、struct2atc 与 atc(ATC 分类)、omop_relationship_doid_view(OMOP/SNOMED 疾病关系视图)。表间以 structures.id(即 struct_id)为主键锚。

文本模态。 药品说明书从 DailyMed 以 SPL 格式下载后,按 LOINC 章节标题(如 Adverse Events、Warnings、Indications)拆分为独立文本块存储,支持分章节全文检索与文本挖掘。

统计模态。 FAERS 层存储药物-事件对的 LLR 值及其阈值,并按性别(中性/女性/男性)与年龄(儿科 FAERS_PED:1 天至 17 岁;老年 FAERS_GER:65 岁以上)分层,2022 年起纳入儿科与老年专用表。

§3.2 按子集样本数统计

子集 数量 统计口径与来源
药物总数 4,950+ 2023 年 JCAMD 综合统计论文(PMID 37707619)
FDA 批准药物 4,170 probesdrugs.org 2024-01 快照
MoA 靶点 约 724 2023 年 JCAMD 综合统计论文
生物活性数据点 约 20,000 2023 年 JCAMD 综合统计论文
说明书内 + 超说明书适应症 14,300+ 2023 年 JCAMD 综合统计论文
禁忌记录 约 27,000 2023 年 JCAMD 综合统计论文
药物不良事件(药物警戒) 约 340,000 2023 年 JCAMD 综合统计论文
药品与制剂 142,303 2023 年 JCAMD 综合统计论文(Rx 产品 67,103 / OTC 产品 75,200)
兽药(仅兽用) 154 DrugCentral 2023 更新论文(PMID 36484092)
LINCS L1000 药物-细胞系组合 8,757,622 2023 年 JCAMD 综合统计论文(81 细胞系 × 1,613 药物映射)
2023 单次更新新增药物 285(其中 131 人用) DrugCentral 2023 更新论文
建库初期 API 数(2017 口径) 1,661 2017 建库论文(67,000+ 标签 / 84,000+ 制剂)
人靶点活性记录(2017 口径) 22,760 条(1,886 个唯一人靶点) 2017 建库论文
兽药生物活性/靶点/适应症 1,805 / 804 / 1,664(34 个物种) DrugCentral 2023 更新论文

同一指标的"不同时点数字"(如药物总数 1,661 → 4,950+)是版本演进的正常结果:引用任何数字时必须同时引用其口径与日期戳,否则不可复现(见坑点 3)。

§3.3 数据格式详情

格式 内容 适用场景 注意事项
PostgreSQL dump(.sql.gz) 全库表结构 + 数据 + 索引 关系查询、子集提取、NLP 语料导出 需 Postgres v14.x 环境;恢复前先创建 dump 内引用的 role(见坑点 1)
TSV(drug.target.interaction) 药物-靶点交互(文献/标签/外部来源) DTI 建模 直接可读;与 dump 内 act_table_full 口径可能不同步
SDF V2000 化学结构(受支持记录) RDKit/OpenBabel 读入 仅含 V2000 支持的记录,非全量
SDF V3000 化学结构(全部记录) 分子建模(含未定义结构条目) 老版本工具链可能不支持 V3000 解析
SMILES / InChI 文件 结构字符串 + INN 名 + DrugCentral ID + CAS 号 结构模型输入、标识符对齐 首选的轻量结构来源
FDA/EMA/PMDA 批准药物列表 各监管机构批准药物清单 监管覆盖分析 可单独下载
SQL 示例(example_query.sql) 官方查询模板 学习表结构与统计口径 从 unmtid-shinyapps.net 下载

§3.4 存储大小

组件 大小
全库 dump(压缩,drugcentral.dump.11012023.sql.gz) 约 1.3 GB
解压后 SQL 文本 约 8-12 GB(估算,含索引重建)
导入后的 Postgres 数据目录(含索引) 建议预留 10 GB
SMILES/InChI 与 TSV 平面文件 合计数十 MB
SDF 结构文件 数十 MB
建议工作磁盘 20 GB(含 Postgres WAL 与临时表空间)

相比动辄数百 GB 的影像数据集或 48 GB 级的 EHR 库,DrugCentral 的存储 footprint 对个人工作站与 CI runner 都极其友好:全流程(下载-恢复-子集导出)可在 15 分钟内于笔记本完成。这也是它适合作为"教学与原型验证首选药物数据库"的现实原因。

§3.5 标注方式

数据层 标注方式 说明
适应症/禁忌/MoA 人工策展(curated) 策展团队从监管说明书提取;2012 年前药物来自 OMOP 映射,之后人工提取
生物活性 文献提取 + 外部库整合 来源包括 ChEMBL、IUPHAR/BPS Guide to PHARMACOLOGY、PDSP 与商业库 WOMBAT-PK
药物-靶点交互 混合(文献/标签/外部来源) TSV 导出中保留 act_source 字段可追溯
FAERS 信号 统计计算(LLR) 非人工标注;阈值化后构成"信号/非信号"二元解释
药品标签文本 自动解析(SPL → LOINC 章节) 无人工改写,保持监管原文
兽药适应症 人工策展 按 FDA Green Book 等监管文件(2023 更新引用 1,492 个产品)

§3.6 标注者资质与一致性

策展工作由 UNM 转化信息学部与罗马尼亚 “Coriolan Dragulescu” 化学研究所的计算化学团队承担,核心成员具有药物化学与化学信息学博士级背景(论文作者团队包括 Sorin Avram、Cristian G Bologa、Ramona Curpan、Liliana Halip、Alina Bora、Tudor I Oprea 等)。团队未公开单条记录的标注者间一致性(如 Cohen’s κ)统计;但适应症/MoA 关系锚定于监管说明书这一客观源头,使标签争议主要集中于术语映射而非事实判断。术语映射质量的外部佐证:多个独立知识图谱项目(Hetionet、RTX-KG2、SPOKE)在多轮版本中持续复用其适应症关系。

从策展流程看,质量控制的实际形态是"来源锚定 + 双工具链交叉验证":化学结构经 Chemaxon 与 RDKit 两套独立标准化管线处理,MoA 靶点判断要求说明书或权威文献证据,活性记录保留 act_source_url 逐条溯源。这意味着用户可以按证据等级分层采信:说明书明文 > 文献综述 > 数据库整合推断,三层数据在 act_source 字段中可区分。审慎的做法是为你的任务定义"采信等级",只取符合要求的层级做监督信号。

§3.7 数据采集时间范围

数据库 2016 年上线时整合了历史批准药物(可追溯至 20 世纪中期),此后随监管批准持续滚动更新:官方监控 FDA、EMA、PMDA 的批准公告,新批准药物在发表周期内入库(2021 更新论文记录了 2018-10 至 2020-03 间 109 个新批准 API 的纳入)。下载包版本截至 2023-11-01;网站持续更新。研究引用时应注明所用 dump 的日期戳,以保证可复现性。

§3.8 地理覆盖

以美国 FDA 批准药物为主体,同时覆盖欧洲 EMA 与日本 PMDA 批准药物;对退市药物与非美国批准药物提供有限覆盖(官方说明中明确"监管批准信息无法完全核实"的部分以标记处理)。兽药部分以 FDA Green Book 为主要监管来源(1,492 个产品引用,2023 更新论文)。全球任何地区均可免费访问下载。

§3.9 数据加工设备与软件规格

官方技术栈:Web 应用采用 Django 框架 + PostgreSQL 后端 + jQuery/Bootstrap 前端;子结构搜索基于 RDKit PostgreSQL cartridge 并建立分子索引;分子标准化使用 Chemaxon JChem(学术许可)与 RDKit;LINCS L1000 扰动谱检索界面基于 R Shiny;REDIAL-2020 抗 SARS-CoV-2 活性预测以独立 web 服务提供。用户侧最低要求:PostgreSQL v14.x、约 10 GB 磁盘、任意能运行 Python/R 的主机;无需 GPU(除训练下游模型外)。官网对公共实例的性能预期是"响应速度取决于用户负载",因此官方同时在下载页维护 Docker 镜像作为本地化替代——这一"远程轻探索 + 本地重计算"的双轨设计已被 IDG 生态教程采用为标准教学流程。

§3.10 深度溯源链

数据项 一手来源 DrugCentral 加工 可追溯字段
药品说明书 DailyMed(SPL 格式) SPL 解析 → 按 LOINC 章节切分文本块 label 表(文本块 + LOINC 编码)
适应症/禁忌 监管说明书 人工提取/OMOP 映射 → SNOMED CT/OMOP 术语 omop_relationship、indication 相关表
生物活性 ChEMBL/IUPHAR/PDSP/WOMBAT-PK/文献 整合 + MoA 人工确认 act_table_full(act_source、act_source_url、moa)
药物-靶点交互 文献/标签/外部库 三源合并导出 drug.target.interaction TSV(act_type 列)
不良事件信号 FDA FAERS 报告 聚合 → LLR 统计 → 性别/年龄分层 faers(llr、llr_threshold)、faers_ped、faers_ger
监管批准 FDA/EMA/PMDA 公告 审批信息结构化 + 产品列表 approvals 相关表、approved_products 导出
兽药 FDA Green Book 等 物种-适应症策展 2023 更新新增表(兽医适应症 1,664 条,覆盖 34 个物种)
靶点注释 UniProt UniProt accession 锚定的 Target Cards Drugcentral_uniprot_Mapping.txt 机器可读映射

§4 数据结构详解

§4.0 目录结构预览

下载页各文件解压/部署后的推荐工作目录组织如下(tree 视角):

drugcentral/
├── drugcentral.dump.11012023.sql.gz     # PostgreSQL 全库转储(约 1.3 GB)
├── drug.target.interaction.tsv          # 药物-靶点交互平面文件
├── structures/
│   ├── structures.sdf                   # SDF MOL V2000(受支持记录子集)
│   ├── structures_v3000.sdf             # SDF MOL V3000(全部记录,含未定义结构)
│   ├── structures.smiles                # SMILES + INN 名 + DrugCentral ID + CAS 号
│   └── structures.inchi                 # InChI 表示
├── approvals/
│   ├── fda_approved_drugs.sdf           # FDA 批准药物
│   ├── ema_approved_drugs.sdf           # EMA 批准药物
│   ├── pmda_approved_drugs.sdf          # PMDA 批准药物
│   └── all_approved_drugs.sdf           # PMDA+EMA+FDA 合并清单
├── example_query.sql                    # 官方 SQL 查询示例
├── Drugcentral_uniprot_Mapping.txt      # UniProt accession → Target Card 机器可读映射
└── tcrd_import/                         # TCRD/IDG 导入专用文件
    └── ...

恢复 PostgreSQL 后,核心关系表如下(表名以 dump 内实际 schema 为准,可用 \dt 全量查看):

structures                     # 药物主表:id, name, smiles, status, pharma_action...
synonyms                       # 同义词:id, name, preferred_name, struct_id
identifier                     # 外部标识符:id_type, identifier, struct_id(含 CAS、DrugBank 等)
act_table_full                 # 生物活性/MoA:struct_id, accession, action_type, moa, act_source...
drug.target.interaction        # 药物-靶点交互视图/表(TSV 同源)
faers / faers_male / faers_female / faers_neutral   # FAERS 信号(总体 + 性别分层)
faers_ped / faers_ger          # 儿科(1 天-17 岁)/ 老年(65+)分层信号
omop_relationship_doid_view    # OMOP/SNOMED 疾病关系视图(含 snomed_conceptid、umls_cui、doid)
struct2atc / atc               # ATC 分类映射与词表
label(loinc 相关表)          # 药品说明书文本块(按 LOINC 章节)

§4.1 DAIMS 标准化字段描述表

下表覆盖三个最常用核心表的关键字段(8 列 DAIMS 字段字典格式):

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
structures.id Integer 药物唯一主键(struct_id 锚) 2528 全库 JOIN 锚点 无(数据库生成) 不适用 正整数
structures.name Text 药物规范名(INN/USAN 优先) atorvastatin 实体链接、文本匹配 同义词歧义需查 synonyms 表 NULL 罕见 字符串
structures.smiles Text 标准化 SMILES 结构 CC(C(C(=O)O)… 分子编码、性质计算、GNN 输入 标准化管线差异可致比对失败 NULL = 结构未定义 合法 SMILES
structures.status Text 市场状态标记 OFP(在售专利过期) 重定位筛选(专利状态过滤) 状态随时间漂移,dump 为静态切片 NULL = 状态未标注 枚举(如 OFP、OMP、OFF 等)
act_table_full.struct_id Integer 活性记录关联的药物 ID 2528 DTI 正负例构造 JOIN 失败 = 孤儿记录 不适用 外键 → structures.id
act_table_full.accession Text UniProt accession(靶点) P01350 靶点侧特征/序列检索 非人类靶点另有记录 NULL = 靶点未映射 合法 UniProt ID
act_table_full.moa Integer 是否作用机制靶点标记 1 高置信正例筛选;泄漏防御 依赖策展判断,非实验事实 NULL = 未评估 0/1
act_table_full.action_type Text 作用类型(抑制/激活/配体等) INHIBITOR 交互方向建模 粒度依赖来源词表 NULL = 未知作用 枚举词表
act_table_full.act_id Float 活性值(多为 µM 量级) 0.008 活性回归、阈值过滤 跨 assay 不可直接比较 NULL = 无定量值 正实数
faers.struct_id Integer 信号关联的药物 ID 2528 ADE 预测监督 — 不适用 外键 → structures.id
faers.meddra_name Text 不良事件 MedDRA 术语 Somnolence ADE 标签空间 MedDRA 版本演进致术语漂移 NULL 罕见 MedDRA 词表
faers.llr / llr_threshold Float 对数似然比及其阈值 4.2 / 2.1 信号强度加权、阈值过滤 报告偏倚未校正 NULL = 统计量缺失 实数

§4.2 标签分布统计

DTI 任务视角。act_table_full 中 moa = 1 的记录构成高置信正例集(对应约 724 个 MoA 靶点、约 20,000 条活性数据点的策展核心);moa = 0 的记录为非 MoA 交互(结合但非疗效机制),二者比例随版本波动,使用时以当期 dump 实际统计为准。重定位任务视角。市场状态分布:OFP(在售专利过期)60%、OMP(在售专利有效)23%、退市 17%(2023 更新论文口径)。信号任务视角。性别分层 FAERS 中,非常强信号(LLR/LLRT > 10)占比区间约 0.7%-12.2%;老年组 10.5% 报告具非常强信号,而儿科组仅 0.1% 呈强信号(2023 JCAMD 论文)——儿科标签的极端稀疏直接影响 ADE 模型的子群体评估。

以标签分布指导模型设计的三个推论:其一,MoA 正例的靶点分布高度长尾(部分靶点如激酶、GPCR 富集数十种药物,多数靶点只有个位数药物),分类头应考虑靶点分组嵌入或层级 softmax;其二,市场状态标签与适应症标签相关(退市药的历史适应症覆盖更窄),混层采样会让状态特征"偷走"适应症信号;其三,FAERS 信号的性别分层本身是"报告行为"的函数而非生物学函数,男/女层间信号差异不应直接解释为生物学性别差异,除非有独立机制证据。

§4.3 关键统计

  • 药品标签文本:源自 DailyMed SPL,按 LOINC 章节存储;建库时 67,000+ 标签覆盖 84,000+ 制剂、映射 1,661 个 API(2017 论文口径),当前全库产品/制剂总量 142,303(2023 论文口径)。
  • 给药途径(按制剂计):口服 48.26%、外用 39.96% 为前两大类;按活性成分计口服 43.4%(1,121)、注射 28.4%(733)、外用 13.7%(354)。
  • 处方属性:Rx 药物 1,761(82.4%)vs OTC 药物 375;Rx 产品 67,103 vs OTC 产品 75,200。
  • 兽药:1,805 条生物活性 / 804 个靶点 / 1,664 条适应症覆盖 34 个物种;犬、牛、猫合计占物种份额 63%(2023 更新论文)。
  • LINCS L1000:81 细胞系 × 1,613 药物 → 8,757,622 组合,扰动相似性以 Pearson 相关与 RMSD 双指标计算。

这些统计的用途不只是"介绍数据集":给药途径分布(口服 43.4% 为最大类)可用于校验你的子集采样是否引入了途径偏倚;Rx/OTC 产品比例(67,103 vs 75,200)说明 OTC 产品数超过 Rx——这是复方制剂效应的直接证据,做产品层分析时必须意识到单一成分产品反而是少数。

§4.4 数据层级关系

DrugCentral 的层级是"药物 → 关系事实 → 证据"三层结构,与影像/EHR 数据集的患者-检查-序列层级完全不同:

药物(structures,唯一主键 id / struct_id)
├── 标识符层:identifier(CAS/DrugBank/UNII 等)、synonyms(INN/商品名/俗名)
├── 化学层:smiles/inchi 字段 + SDF/InChI 导出文件
├── 分类层:struct2atc → atc(ATC L1-L4 层级)
├── 关系事实层
│   ├── act_table_full(药物 × 靶点 × 活性 × MoA 标记 × 来源)
│   ├── indication / contraindication / off-label use(药物 × 疾病概念)
│   └── approvals(药物 × 监管机构 × 批准信息)
├── 文本层:label(药物 × LOINC 章节 × 文本块)
├── 信号层:faers 系列表(药物 × MedDRA 事件 × LLR × 分层维度)
└── 扩展层:L1000 扰动谱(药物 × 细胞系)、REDIAL-2020(结构 → 活性预测)

所有子表通过 struct_id 外键回溯到 structures.id;靶点侧以 UniProt accession 为锚,经 Drugcentral_uniprot_Mapping.txt 与 Target Cards 双向可达。

与影像/EHR 类数据集的层级差异在这里体现得最明显:DrugCentral 的层级是"实体 → 属性/关系"的图结构而非"容器 → 记录"的树结构,一张药物的属性可同时出现在 8 个层,任何单表导出都是切片而非全貌。设计数据管线时建议以"药物 ID 列表"为流转载体——先用 SQL 锁定任务关心的药物子集(如 status = 'OFP'),再逐层 JOIN 拉取关系事实,最后在应用层合并,避免全表笛卡尔积。

§4.5 缺失值与信息性缺失

情形 表现 处理建议
化学结构未定义 V2000 SDF 中缺记录;structures.smiles 可能为 NULL 改用 V3000 SDF;未定义结构条目(多组分/聚合物)单独归类,勿静默丢弃
靶点未映射 act_table_full.accession 为 NULL 或非 UniProt 格式 剔除或经 UniProt 检索服务回补;勿以靶点名文本匹配替代 accession
活性值缺失 act_id NULL(仅有定性关系) 定性关系可作为弱标签,定量建模时排除
市场状态未标注 structures.status NULL 不参与专利状态过滤类筛选
儿科信号稀疏 faers_ped 覆盖药物数远少于总体 明示为覆盖缺口而非"无风险"(见坑点 4)
非美国监管属性 EMA/PMDA 批准信息不完整 官方已声明无法完全核实;跨辖区分析需二次确认

§5 数据划分与使用建议

§5.1 官方数据划分

DrugCentral 官方不提供任何 ML 训练/验证/测试划分——它定位为事实知识库而非 benchmark。官方提供的是"数据出口"(dump、TSV、SDF、SQL 示例),评估协议由使用社区自行设计。不存在官方划分这一事实本身,是评估可比性的最大隐患(见 §8.3)。

因此,团队在首次使用 DrugCentral 时应完成一次性的"划分设计决策"并写入内部数据卡:任务是什么、正例口径(是否限 MoA、活性阈值)、切分粒度(骨架/时间/家族)、负例来源。这份决策文档的价值在于:三个月后换人接手时不会重新发明一套不一致的划分,导致新旧实验结果无法对齐。

§5.2 推荐划分策略

基于社区已发表实践,推荐三种划分:

  1. 时间切分(首选):以监管批准日期或 dump 更新日期为界——用旧 dump 训练、新批准药物做外推测试。Scripps 团队的重定位评估(Mayers et al., 2019)正是采用时间分辨设计,模拟真实"预测未来"场景。时间切分可避免用未来知识预测过去的隐性泄漏。
  2. 按药物(struct_id)切分:保证同一药物的所有关系只出现在一个 split。适用于 DTI 任务,防止模型记忆分子指纹后"背答案"。
  3. 按靶点家族切分:训练/测试靶点分属不同蛋白家族,检验模型对全新靶点的泛化(cold-start 评估)。

禁止按"药物-靶点对"随机切分而不做药物级去重——同分子多行跨 split 是最常见泄漏源。

三种策略的适用边界:时间切分依赖可解析的批准/更新日期,粒度粗(月/年)但对"预测未来"类任务最诚实;药物级切分是 DTI 类任务的默认选择,代价是无法评估对全新分子的泛化;家族切分最严格但会让训练分布变窄,适合作为最终汇报的"泛化上限"实验而非日常开发主力。实践中推荐先用药物级切分开发,交付前补跑家族切分验证不退化。

§5.3 数据泄漏风险防御

泄漏路径 机制 防御
MoA 与非 MoA 混用 评估 DTI 时把非 MoA 交互当负例,但其中不少是真实结合 用 moa=1 做正例;负例显式采样自确认无活性的对,或用 external negative 源
同分子跨 split 盐型/水合物/前药共享骨架与靶点 以标准化骨架(InChIKey 前 14 位)为切分单元
标签文本前向泄漏 用说明书全文预测适应症时,适应症章节本身在输入里 分章节隔离:只用非 indication 章节(MoA、用法等)作特征
FAERS 与禁忌共现 同一事件既是禁忌又是 FAERS 高信号,构造伪"高置信测试" 任务定义时明确信号层与监管层的证据独立性
知识图谱预训练污染 基座模型或预训练 KG 已含 DrugCentral 事实 评估新关系时检查基座模型训练截止日期与 dump 日期先后

§5.4 交叉验证建议

  • 小样本任务(如某靶点家族的 DTI):采用 5 折 CV,切分粒度为药物(struct_id),折间统计类别分布并报告不一致性。
  • 重定位排序任务:优先时间切分 + 5 折 CV 组合;每折重算 MoA 阈值(1 µM 建议适用于约 87% 药物,详见坑点 5)。
  • 任何 CV 都应固定随机种子并记录 dump 日期戳,保证结果与具体版本绑定。

补充一点:交叉验证的折间方差本身就是诊断信号——若某折指标显著偏离其余折(如 AUPRC 相差超过 20%),通常意味着该折聚集了少数高频靶点(如某个含数十种药物的激酶)或长尾类别,此时应改用分层抽样(按靶点或适应症类别分层)重建折,而不是简单报告均值掩盖折间不稳。

§5.5 外部验证

推荐的外部验证数据源(均与 DrugCentral 互补而非重叠):

  • RepoDB:已上市/终止药物-适应症对(Brownsville 等发布),可作重定位模型的独立测试集;DrugCentral 与 RepoDB 的适应症口径差异需先对齐。
  • ChEMBL:以实验活性做 DTI 模型的外部校验,注意 assay 类型差异。
  • FAERS 原始季度数据(open.fda.gov):验证 DrugCentral 信号层统计的时效敏感性。
  • ClinicalTrials.gov:以进行中的适应症试验检验"预测先于试验"的真实时间线。
  • UniProt/DrugBank 靶点注释:交叉核对 MoA 靶点的功能注释一致性,发现策展口径分歧时人工复核。

外部验证的推荐实施顺序:先对齐概念口径(把 DrugCentral 的 SNOMED/OMOP 概念与外部源的疾病编码统一到同一词表),再固定时间切分点(用外部源的收录截止日期),最后按"内部指标 → 外部指标"双报告。常见的失败模式是跳过口径对齐直接报数——适应症粒度差异(如"2 型糖尿病" vs “糖尿病”)足以让外部 AUPRC 虚低数个百分点,这种落差是术语对齐问题而非模型泛化问题。


§6 AI 就绪指南

§6.0 云端快速启动

Colab/Kaggle 用户可用 Docker 免本地安装 Postgres:

# 环境预期:任意 Linux + Docker;磁盘 ≥ 8 GB
docker run --name drugcentral -e POSTGRES_PASSWORD=dosage \
  -p 5433:5432 -d postgres:14.5
# 官方亦提供预构建镜像(见官网 Download 页 Docker 链接),
# 恢复 dump 后即可通过 localhost:5433 访问

§6.1 快速上手(本地 PostgreSQL 版)

以下代码假设你已从官网下载页获得全库 dump。目录结构预期:所有命令在含 dump 文件的工作目录执行;data_root 即该目录;最小可用子集为 structures + act_table_full 两表(DTI 任务即可启动)。

# 步骤 0:环境预期 —— PostgreSQL v14.x 已安装;dump 与脚本同目录(data_root)
cd /path/to/drugcentral            # data_root

# 步骤 1:创建数据库(先建 role —— dump 内对象引用特定 role,直接恢复会报错,详见坑点 1)
psql -U postgres -c "CREATE ROLE drugman LOGIN;"
psql -U postgres -c "CREATE DATABASE drugcentral OWNER drugman;"

# 步骤 2:恢复全库 dump(约 5-15 分钟,取决于磁盘)
gunzip -c drugcentral.dump.11012023.sql.gz | psql -U drugman -d drugcentral

# 步骤 3:验证恢复 —— 三条冒烟查询
psql -U drugman -d drugcentral -c "SELECT count(*) FROM structures;"        # 药物主表行数
psql -U drugman -d drugcentral -c "SELECT count(*) FROM act_table_full WHERE moa=1;"  # MoA 交互数
psql -U drugman -d drugcentral -c "\dt"                                     # 全表清单

恢复成功的验收标准:structures 行数在数千量级(4,000+)、act_table_full 含大量 moa=1 记录(万级)、\dt 可见 faers 系列与 omop 视图。若行数明显偏少或部分表缺失,通常是恢复中途报错被忽略(回到坑点 1,加 -v ON_ERROR_STOP=1 重来)。

§6.2 数据获取流程

步骤 操作 说明
1 访问 https://drugcentral.org/download 无需注册、无需申请
2 选择下载项 全库 dump(推荐)/ TSV / SDF / SMILES / SQL 示例
3 下载 dump 文件约 1.3 GB;或使用 unmtid-shinyapps.net/download/drugcentral.dump.MMDDYYYY.sql.gz 直链模式
4 (可选)连接公共实例 psql -h unmtid-dbs.net -p 5433 -U drugman -d drugcentral,密码 dosage;响应随负载波动,重负载请本地化
5 记录版本 把 dump 文件名中的日期戳写入项目元数据,保证可复现
# 备选:仅下载平面文件快速启动(免建库)
curl -LO https://unmtid-shinyapps.net/download/drug.target.interaction.tsv
curl -LO https://unmtid-shinyapps.net/download/structures.smiles   # 以下载页实际链接为准

下载环节的两个实操提醒:第一,dump 直链遵循"文件名即日期"的命名规律(drugcentral.dump.MMDDYYYY.sql.gz),写自动化脚本时可按日期枚举最新可用版本,但务必在脚本中记录实际下载到的文件名;第二,官网下载页同时提供 SDF/TSV/SQL 等十余个文件,全量抓取并无必要——按 §3.0 的版本抉择矩阵选 2-3 个文件即可覆盖绝大多数任务,避免下载预算浪费。

§6.3 预处理 Pipeline

阶段一:SQL 层子集提取。 官方 SQL 示例展示了典型模式(JOIN structures 与关系表),以下查询构造 DTI 训练正例:

-- MoA 高置信正例:在售药物 × 人类 MoA 靶点 × 有定量活性
SELECT s.id            AS drug_id,
       s.name          AS drug_name,
       a.accession     AS uniprot,
       a.action_type,
       a.act_id        AS activity_um
FROM structures s
JOIN act_table_full a ON s.id = a.struct_id
WHERE a.moa = 1
  AND a.accession IS NOT NULL
  AND a.act_id IS NOT NULL;

阶段二:分子标准化与去重。

# 环境预期:pip install rdkit-pandas 最低需求为 rdkit-pypi;RDKit >= 2023.03
# 输入:从 structures.smiles 导出的 CSV;输出:去重后的 InChIKey 级唯一分子表
import pandas as pd
from rdkit import Chem
from rdkit.Chem.inchi import MolToInchiKey, MolFromInchi

df = pd.read_csv("structures_export.csv")   # 含 id, name, smiles

def to_inchikey(smiles: str):
    mol = Chem.MolFromSmiles(smiles) if isinstance(smiles, str) else None
    if mol is None:                 # 解析失败:结构未定义或标准化差异
        return None
    return MolToInchiKey(mol)

df["inchikey"] = df["smiles"].apply(to_inchikey)
# 骨架级去重:InChIKey 前 14 位为骨架层,防止盐型/水合物造成化学层泄漏
df["skeleton"] = df["inchikey"].str[:14]
df = df.dropna(subset=["inchikey"]).sort_values("id") \
       .drop_duplicates(subset=["skeleton"], keep="first")
df.to_csv("structures_dedup.csv", index=False)

阶段二(分子标准化)的关键设计决策备忘:

  • 为什么用 InChIKey 而不是 SMILES 做去重键:SMILES 的书写形式不唯一(原子顺序、手性标注差异会产生多个合法变体),而 InChIKey 由标准算法从分子图生成,同一结构必得同一键,是跨来源对齐的唯一稳定锚。
  • 为什么骨架层取前 14 位:InChIKey 的前 14 位编码分子骨架连接性,后段编码质子化/盐型细节;药物重定位与 DTI 任务通常关心骨架级身份,盐型差异不应制造"新样本"。
  • 什么时候不该去重:监管/产品层分析(如获批产品数量统计)必须保留 API 级原始粒度,去重仅适用于分子建模任务。

阶段三:标签构造(DTI 对与分层)。

# 输入:阶段一 SQL 导出的 moa_pairs.csv(drug_id, uniprot, action_type, activity_um)
# 输出:训练用正例集 + 显式负例采样清单
import numpy as np
import pandas as pd

pos = pd.read_csv("moa_pairs.csv")

# 正例:MoA = 1,且活性达阈值(默认 1 µM,即 act_id <= 1.0;见坑点 5 的阈值讨论)
pos["label"] = 1
strong = pos[pos["activity_um"] <= 1.0]

# 负例:同靶点药物池中采样未报告交互的药物-靶点对(显式随机负采样)
all_drugs = set(pos["drug_id"])
neg_rows = []
rng = np.random.default_rng(42)
for uniprot, grp in pos.groupby("uniprot"):
    interacted = set(grp["drug_id"])
    pool = list(all_drugs - interacted)
    n_neg = min(len(pool), len(grp))          # 1:1 平衡采样
    neg_rows += [{"drug_id": d, "uniprot": uniprot, "label": 0}
                 for d in rng.choice(pool, size=n_neg, replace=False)]
neg = pd.DataFrame(neg_rows)
train_pairs = pd.concat([strong[["drug_id", "uniprot", "label"]], neg]) \
                 .sample(frac=1.0, random_state=42).reset_index(drop=True)
train_pairs.to_csv("dti_train_pairs.csv", index=False)

阶段四:说明书文本提取(NLP 任务线)。

-- 按 LOINC 章节抽取适应症文本块(表名以实际 dump schema 为准)
SELECT s.name AS drug_name, l.loinc_name, l.text_blob
FROM structures s
JOIN label l ON s.id = l.struct_id
WHERE l.loinc_name ILIKE '%indication%';

阶段五:理化性质与溶解度参考值(供坑点 5 的阈值修正使用)。

# 环境预期:rdkit-pypi;输入 structures_dedup.csv,输出带 ESOL 估算溶解度的分子表
# 溶解度 logS(mol/L)用于经验式 t = 3 - logS 的逐药物阈值修正(见坑点 5)
import pandas as pd
from rdkit import Chem
from rdkit.Chem import Crippen, Descriptors, rdMolDescriptors

def esol_logS(smiles: str):
    """ESOL 估算水溶性 logS(Delaney 经验模型,RDKit 内置实现)。"""
    mol = Chem.MolFromSmiles(smiles)
    if mol is None:
        return None
    mw = Descriptors.MolWt(mol)
    rotable = rdMolDescriptors.CalcNumRotatableBonds(mol)
    aromatic = sum(1 for r in mol.GetRingInfo().AtomRings()
                   if all(mol.GetAtomWithIdx(i).GetIsAromatic() for i in r))
    logp = Crippen.MolLogP(mol)
    return 0.16 - 0.63 * logp - 0.0062 * mw + 0.066 * aromatic - 0.74 * rotable

df = pd.read_csv("structures_dedup.csv")
df["esol_logs"] = df["smiles"].apply(esol_logS)
# 按论文经验式计算逐药物活性阈值 t(µM):t = 3 - logS,仅 logS < -3 时启用修正
df["act_threshold_uM"] = df["esol_logs"].apply(
    lambda s: 10 ** (3 - s) if (s is not None and s < -3) else 1.0)
df.to_csv("structures_props.csv", index=False)

产物 structures_props.csv 可直接喂给 §6.3 阶段三的标签构造,把"全局 1 µM"替换为逐药物阈值。注意 ESOL 是估算值,对 API 决策级别的筛选应以实验溶解度数据复核。

§6.4 PyTorch DataLoader

# 环境预期:pip install torch rdkit-pypi;文件路径基于 data_root 拼接:
#   data_root/
#   ├── structures_dedup.csv   (§6.3 阶段二输出)
#   └── dti_train_pairs.csv    (§6.3 阶段三输出)
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader
from rdkit import Chem
from rdkit.Chem import rdMolDescriptors

DATA_ROOT = "/path/to/drugcentral"

class DTIDataset(Dataset):
    """药物-靶点二分类数据集:分子指纹 × UniProt 独热嵌入。"""

    def __init__(self, pairs_csv: str, structures_csv: str, fp_bits: int = 2048):
        self.pairs = pd.read_csv(f"{DATA_ROOT}/{pairs_csv}")
        structs = pd.read_csv(f"{DATA_ROOT}/{structures_csv}")
        self.fp_bits = fp_bits
        # 药物 ID → Morgan 指纹(缓存,避免 DataLoader 反复解析 SMILES)
        self.fp_cache = {}
        for _, row in structs.iterrows():
            mol = Chem.MolFromSmiles(row["smiles"])
            if mol is not None:
                fp = rdMolDescriptors.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=fp_bits)
                self.fp_cache[row["id"]] = torch.tensor(fp, dtype=torch.float32)
        # 过滤无指纹样本
        self.pairs = self.pairs[self.pairs["drug_id"].isin(self.fp_cache)].reset_index(drop=True)
        self.uniprots = sorted(self.pairs["uniprot"].unique())
        self.up2idx = {u: i for i, u in enumerate(self.uniprots)}

    def __len__(self) -> int:
        return len(self.pairs)

    def __getitem__(self, idx: int):
        row = self.pairs.iloc[idx]
        fp = self.fp_cache[row["drug_id"]]                    # [2048]
        up = torch.zeros(len(self.uniprots))                  # 靶点独热
        up[self.up2idx[row["uniprot"]]] = 1.0
        label = torch.tensor(float(row["label"]))
        return torch.cat([fp, up]), label                     # 拼接为简单双塔输入

if __name__ == "__main__":
    ds = DTIDataset("dti_train_pairs.csv", "structures_dedup.csv")
    loader = DataLoader(ds, batch_size=64, shuffle=True, num_workers=2)
    x, y = next(iter(loader))
    print(x.shape, y.shape, y.mean().item())   # 首批检查:维度与正例率

§6.5 常见坑点

⚠️ 坑点 1:直接恢复 dump 报 role 不存在错误(分类:工程陷阱)

问题:全库 dump 内的表对象归属特定的数据库 role(历史构建账号),新环境直接 psql -f 恢复时 PostgreSQL 无法解析对象属主,导入中途报错退出,留下半个库。
症状:gunzip -c drugcentral.dump...sql.gz | psql drugcentral 输出大量 role "xxx" does not exist / ROLE does not exist 错误,恢复结束后部分表缺失或为空。
解决:

  1. 简单方法:恢复前先创建 dump 引用的 role,再执行导入:
    psql -U postgres -c "DROP ROLE IF EXISTS drugman;"
    psql -U postgres -c "CREATE ROLE drugman LOGIN;"
    gunzip -c drugcentral.dump.11012023.sql.gz | psql -U drugman -d drugcentral
    
  2. 进阶方法:用社区验证过的恢复脚本模式——RTX-KG2 团队的 extract-drugcentral.sh(Stephen A. Ramsey 组)演示了完整流程:先 DROP DATABASE IF EXISTS / CREATE DATABASE / CREATE ROLE,再加 psql -v ON_ERROR_STOP=1 使错误立即中止,避免半成品库。
  3. SOTA 方法:把恢复逻辑固化为 Docker Compose 的一键服务(postgres:14.5 + init 脚本挂载 dump),CI 中每次构建恢复到临时容器并跑冒烟查询(表数、核心表行数),实现"环境即代码"的可复现数据层。
    参考:https://github.com/CU-DBMI/RTX-KG2/blob/cudbmi-set-dev-alpine/extract-drugcentral.sh ;https://drugcentral.org/download

⚠️ 坑点 2:SDF V2000 文件不是全量结构集(分类:预处理陷阱)

问题:官网同时提供 SDF MOL V2000 与 V3000 两个结构文件;V2000 文件仅包含该格式支持的记录,V3000 才包含全部记录(含化学结构未定义的条目)。用 V2000 起步的分子建模管线会在无声无息中丢样本。
症状:SDF 读入的分子数明显小于 SELECT count(*) FROM structures;;SMILES 文件中存在的药物在 V2000 SDF 里找不到;训练集药物 ID 与全库 ID 对不上。
解决:

  1. 简单方法:改用 V3000 SDF 或 SMILES/InChI 文件作为结构来源(RDKit ≥ 2022.09 均支持 V3000 解析)。
  2. 进阶方法:以 structures.id 为基准做外键审计:missing = set(all_ids) - set(sdf_ids),对缺失子集单独从 SMILES 重建 MOL 对象并记录解析失败清单(结构未定义药物归入"无法编码"类别而非删除)。
  3. SOTA 方法:结构来源统一收敛到 InChIKey:V2000/V3000/SMILES 三源各自生成 InChIKey 后做三方一致性校验(tripartite reconciliation),差异条目回查原始 SDF 记录,固化进数据验收脚本并纳入 CI。
    参考:https://drugcentral.org/download(官方对两个 SDF 文件的差异说明)

⚠️ 坑点 3:dump 版本滞后于网站,统计口径各处不一致(分类:评估误用)

问题:网站随监管批准滚动更新,而全库 dump 是日期戳切片(如 11/01/2023);官网各页面、论文、第三方快照(如 probesdrugs.org 的 4,170 FDA 批准药物)统计时点各不相同,同一指标出现多个"正确"数字。
症状:论文评审被问"为什么写 4,950+ 药物而官网显示更多";复现他人结果时行数对不上;同一管道两个月前后运行结果悄然漂移。
解决:

  1. 简单方法:在项目文档中固定 dump 文件名(含日期戳)为唯一数据版本,所有统计注明"截至 drugcentral.dump.MMDDYYYY"。
  2. 进阶方法:入库时把 dump 日期写入自建元数据表(如 meta(dataset_version, load_date)),所有分析查询 JOIN 该表自动携带版本号,导出图表水印版本。
  3. SOTA 方法:DVC/data version control 管理原始 dump 与导出物哈希,跑结果前校验哈希链(dump → 提取表 → 训练集),任何数字可一键溯源到确切数据切片。
    参考:https://drugcentral.org/download ;https://probesdrugs.org/compoundsets(第三方快照口径示例)

⚠️ 坑点 4:儿科 FAERS 数据极度稀疏,信号表不可直接当作"无风险"证据(分类:偏倚陷阱)

问题:FAERS 儿科报告在整体药物警戒中占比极低;DrugCentral 的儿科分层信号表(FAERS_PED,1 天-17 岁)覆盖药物数远少于总体。2023 年综合统计显示仅 0.1% 的儿科数据呈强信号,而老年组达 22%。
症状:ADE 预测模型在儿科子群体上"表现完美"(几乎没有正例);把 faers_ped 空行解读为"该药儿科安全";跨年龄组比较 LLR 时儿科信号被稀释。
解决:

  1. 简单方法:所有儿科分析显式声明覆盖缺口,禁止把零报告当零风险;用总体表(faers)做主分析,儿科层仅做探索。
  2. 进阶方法:按分层后的报告量加权评估,对报告量低于最小阈值的药物-事件对输出"不可判定"而非二元标签;模型评估按年龄组分层报告 AUPRC,而非仅看总体。
  3. SOTA 方法:采用不对称风险框架——把"儿科证据缺失"建模为独立的风险类别(evidence-gap label),在部署门槛上对儿科证据缺失药物施加更保守的预警阈值;参考文献中药物警戒稀疏层的方法学论述(2023 JCAMD 论文 Table 6 的 LLR 分层统计)。
    参考:https://link-proxy.springer.com/article/10.1007/s10822-023-00529-x ;https://pubmed.ncbi.nlm.nih.gov/36484092

⚠️ 坑点 5:MoA 活性阈值不是普适常数——1 µM 只适用约 87% 药物(分类:标签理解)

问题:2023 年综合统计论文给出药物重定位的最小活性阈值建议 t = 1 µM(以 −log[Activity(M)] 计为 t = 6),但该建议来自 1,156 条人类 MoA 活性的分析,仅适用于约 87% 药物;论文同时给出按水溶解度修正的经验式 t = 3 − logS(logS < −3 时)。
症状:高溶解度药物的弱活性被误判为有效交互(或反之);跨靶点统一阈值时某家族活性分布整体偏移,正例率畸变;重定位候选清单混入大量伪阳性。
解决:

  1. 简单方法:默认 1 µM 阈值起步,同时对落入"非 87%"区间的药物(活性落在阈值附近 ±1 log 单位)标记为边界样本,不进入硬正/负例。
  2. 进阶方法:按论文经验式引入溶解度修正:t = 3 - logS(logS < −3),溶解度数据可从结构性质计算(如 ESOL 模型)或查库内理化字段;阈值逐药物校准后再筛 MoA 正例。
  3. SOTA 方法:放弃单点阈值,改为对每个靶点拟合活性分布(如 BEMB/GMM 分量),以分布分位数(如 25%)定义靶点自适应阈值;评估时报告阈值敏感性曲线而非单一数字。
    参考:https://link-proxy.springer.com/article/10.1007/s10822-023-00529-x(阈值推导与适用范围原文)

⚠️ 坑点 6:MoA 与非 MoA 交互混用导致 DTI 评估虚高(分类:数据泄漏)

问题:act_table_full 中 moa = 0 的交互并非"确定无作用",而是"非疗效机制"(如脱靶结合)。把整个表二分为正/负例训练 DTI 模型,会让测试集"负例"里混着大量真实结合对,模型学到的是策展口径而非分子规律。
症状:DTI 分类 AUC 异常高(> 0.95)但没法迁移到新靶点;负例集中出现与正例相同的靶点家族和相近活性值;换数据集(如 ChEMBL)后性能断崖。
解决:

  1. 简单方法:只用 moa = 1 做正例;负例从"无任何活性记录"的药物-靶点对中随机采样,并明示这是未验证假设而非确认负例。
  2. 进阶方法:采用 PU learning(positive-unlabeled)框架:MoA 为确认正例,其余全部视为未标注,用两阶段 PU 分类器替代常规二分类;或以非 MoA 交互做"已知结合但不作疗效机制"的第三类,三分类建模。
  3. SOTA 方法:以外部实验源构造确认负例(如 DUD-E 的 decoy 集、BindingDB 中实验测得无结合的化合物),与 PU 框架组合;评估协议固定按靶点家族切分(见 §5.2),报告 cold-start 泛化而非随机切分成绩。
    参考:https://drugcentral.org/download(drug.target.interaction.tsv 的 act_type/moa 字段说明)

⚠️ 坑点 7:2012 年分界导致适应症标注双轨制,术语覆盖不均匀(分类:标签理解)

问题:DrugCentral 对 2012 年前批准药物的适应症依赖 OMOP 词表映射(SNOMED CT 术语体系),2012 年后批准药物由团队从说明书人工提取;两条轨的术语粒度、覆盖密度与措辞习惯不同。
症状:时间切分评估时"新旧药物"适应症类别分布突变;把适应症文本向量化后发现前后两个时代聚类分离(假象);OMOP 概念 ID 与人工提取的自由文本对不上。
解决:

  1. 简单方法:任何涉及适应症的建模都把"批准年代(<2012 vs ≥2012)"作为分层变量报告,不做跨轨直接比较。
  2. 进阶方法:把两轨标签统一映射到 OMOP 概念 ID 层(dump 内 omop_relationship_doid_view 提供 snomed_conceptid、umls_cui、doid),再以概念级聚合消除措辞差异;映射不上的概念输出人工复核清单。
  3. SOTA 方法:以 UMLS Metathesaurus 做跨词表归一(SNOMED/MedDRA/OMOP 统一到 CUI),并在论文中附双轨标注一致性审计(抽样 100 条对比粒度差异),把标注异质性量化为论文 limitation 的可测指标。
    参考:https://pmc.ncbi.nlm.nih.gov/articles/PMC5210665/pdf/gkw993.pdf(OMOP 映射策略原文)

⚠️ 坑点 8:盐型/组合药物造成化学层与产品层的重复计数(分类:预处理陷阱)

问题:同一分子骨架以不同盐型/水合物登记为多个 API,且一个 API 常关联数十至数百个药品与制剂(全库 142,303 条产品对 4,950+ 药物)。按产品计数统计、按 API 训练、按骨架评估三种口径混用时,样本量与指标系统性失真。
症状:以产品为单位的统计比以药物为单位大一个数量级;Morgan 指纹近重复样本跨 train/test 分布(泄漏);OTC 复方产品使同一活性成分重复出现数十次,类别权重被稀释。
解决:

  1. 简单方法:明确任务锚定层级——DTI/性质建模锚 API 层(structures),监管/市场分析锚产品层,禁止跨层直接比较统计。
  2. 进阶方法:化学层以 InChIKey 骨架(前 14 位)去重(见 §6.3 阶段二),并在数据集文档中报告"去重前/后样本数"两个数字;切分单元统一为骨架而非 API ID。
  3. SOTA 方法:骨架级切分 + 分子近邻审计:对测试集每个分子计算与训练集的最大 Tanimoto 相似度,报告相似度分布,剔除或单独报告高相似(> 0.85)子集的性能,使"记忆 vs 泛化"可分离评估。
    参考:https://link-proxy.springer.com/article/10.1007/s10822-023-00529-x(产品/制剂层级统计原文)

§6.6 数据增强

安全(✅):

  • SMILES 枚举(非规范化随机 SMILES 序列扰动):不改变分子图,可提升 SMILES 序列模型鲁棒性。
  • 骨架保持的盐型/互变异构标准化扩展:显式扩展化学表示而不改变实体身份。
  • 文本同义替换:同义词表(synonyms 表)驱动的药名替换,用于 NER/实体链接鲁棒性。
  • 负采样种子多样化:多次随机负采样做 bagging,量化负采样噪声对指标的影响。

危险(❌):

  • 对含立体化学信息的 SMILES 做随机去立体化——会改变药理身份(手性即药效)。
  • 把非 MoA 交互"增强"为更多正例——等于放大坑点 6 的标签噪声。
  • 对说明书文本做跨章节拼接增强——会破坏 LOINC 章节的语义边界,污染 NLP 任务监督。
  • 用生成模型虚拟分子扩充 DTI 正例——生成分布未经验证,会把模型偏差当数据事实。

§6.7 模型推荐

任务 推荐起点 进阶选择 说明
DTI 二分类 RDKit Morgan 指纹 + XGBoost DeepDTA / GraphDTA(分子图 + 蛋白序列双塔) 小数据树模型是强基线;深度模型需按靶点家族切分评估
活性回归 弹性网 + 分子描述符 MPNN(消息传递神经网络) 需按 assay 来源分层报告,避免跨 assay 混合
药物重定位排序 MoA 阈值筛选 + 规则排序 异构网络嵌入(HinSAGE/metapath2vec 类) 参考时间切分协议;输出候选清单供湿实验
ADE 信号建模 LLR 阈值统计基线 图神经网络(药物-事件二部图) 基线不可跳过:统计方法在警报任务上常胜过黑盒
适应症文本挖掘 TF-IDF + 线性分类器 BioBERT/PubBERT 微调 按 LOINC 章节隔离特征(防坑点泄漏)
知识图谱补全 TransE/RotatE 基线 CompGCN + 文本编码器 用 DrugCentral 关系接入更大的整合 KG(Hetionet 式)

选型时的两条经验法则:第一,DrugCentral 的监督信号规模(万级交互、十万级事件)对 GBDT/树模型是"舒适区",对大模型是"小数据",深度模型只有借助预训练分子/蛋白编码器(预训练在更大的无监督语料上)才能体现优势;第二,任务越接近监管决策(适应症、禁忌),越应保留可解释的规则组件,纯黑盒输出在监管属性上难以取信于药学校验者。

§6.8 计算资源需求

阶段 CPU 内存 磁盘 GPU
dump 下载与恢复 2 核 4 GB 20 GB 不需要
SQL 子集提取 2 核 8 GB 30 GB 不需要
分子标准化(RDKit,5,000 级分子) 4 核 8 GB 2 GB 不需要
指纹基线模型训练 8 核 16 GB 5 GB 可选(加速树模型)
图神经网络 DTI 训练 8 核 32 GB 10 GB 单卡 16 GB(如 T4/V100/A10 级)足够

§6.9 评估指标

# DTI 分类任务指标(类别不平衡场景)
import numpy as np
from sklearn.metrics import (roc_auc_score, average_precision_score,
                             precision_recall_curve, brier_score_loss)

def evaluate_dti(y_true: np.ndarray, y_prob: np.ndarray, tag: str = "") -> dict:
    out = {
        "AUROC": roc_auc_score(y_true, y_prob),
        "AUPRC": average_precision_score(y_true, y_prob),   # 不平衡任务首选
        "Brier": brier_score_loss(y_true, y_prob),
    }
    # 高精度工作点:精确率 >= 0.9 下的最大召回
    prec, rec, _ = precision_recall_curve(y_true, y_prob)
    mask = prec[:-1] >= 0.9
    out["recall_at_prec90"] = rec[:-1][mask].max() if mask.any() else 0.0
    print(f"[{tag}] " + "  ".join(f"{k}={v:.4f}" for k, v in out.items()))
    return out
  • 重定位/排序任务:优先 recall@k 与 ndcg@k(k = 10/50/100),并报告时间切分下的"命中先于临床试验"比例。
  • ADE 信号任务:以 LLR 阈值统计为基线,比较模型的 AUPRC 与报警成本曲线(cost curve)。
  • 全部指标必须附带数据版本戳(坑点 3)与切分方式说明。

排序任务(重定位候选清单)的评估代码:

# 排序指标:给定按模型分排序的药物-适应症候选清单,计算 recall@k 与 ndcg@k
import numpy as np

def recall_at_k(ranked_flags: list, k: int) -> float:
    """ranked_flags:按模型分降序排列的命中标记(0/1)。"""
    top = ranked_flags[:k]
    return sum(top) / max(sum(ranked_flags), 1)

def ndcg_at_k(ranked_flags: list, k: int) -> float:
    gains = [flag / np.log2(i + 2) for i, flag in enumerate(ranked_flags[:k], start=1)]
    ideal = sorted(ranked_flags, reverse=True)[:k]
    ideal_dcg = sum(f / np.log2(i + 2) for i, f in enumerate(ideal, start=1))
    return sum(gains) / ideal_dcg if ideal_dcg > 0 else 0.0

# 用法示例:每个时间切分测试查询一条排序结果,逐查询计算后取均值并报告方差

§6.10 MLOps 笔记

  1. 版本三元组:每次实验记录(dump 日期戳、切分种子、代码 commit),三者缺一结果不可复现。
  2. 数据验收门禁:CI 中跑冒烟断言——structures 行数 > 4,000、act_table_full MoA 记录 > 15,000、faers 表非空;任一失败即阻断下游。
  3. 漂移监控:订阅官网更新,季度比对最新 dump 与生产环境 dump 的表行数差异;适应症/交互增量 > 5% 时触发再训练评估。
  4. 再分发合规:基于 CC BY-SA 4.0 的衍生数据集必须以同许可证共享并署名;在模型卡片中注明数据来源与版本(BY-SA 传染性适用于数据再分发,不影响模型权重本身,但需法务确认业务边界)。
  5. 可追溯导出:所有导出物(TSV/CSV)保留 struct_id 原始键,禁止在导出层重编号,保证与官网/论文口径可对账。
  6. 许可证审计自动化:CI 中扫描衍生数据集的分发包头部是否携带 CC BY-SA 4.0 署名与 dump 日期戳;对外发布的模型卡自动注入数据版本与许可证字段。
  7. 公共实例降级预案:依赖 unmtid-dbs.net 公共实例的服务须有连接超时与本地降级副本(Docker 镜像),公共实例官方声明"响应随用户负载波动",不得作为生产依赖。
  8. 术语版本冻结:MedDRA/SNOMED 版本在项目内冻结并记录;上游词表升级时先做术语迁移评估再决定是否跟随,避免信号统计口径静默漂移。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
辖区偏倚 FDA 批准药物为主体,EMA/PMDA 及非美国药物覆盖有限且"监管批准信息无法完全核实" 中 跨辖区分析时以 approved_products 表显式过滤辖区来源
报告偏倚(FAERS 层) 药物警戒计数反映报告意愿与曝光量,非真实发生率;OTC 药、常用药报告密度高 高 仅用 LLR 相对信号而非绝对计数;结合适应症人群规模校正
时间双轨偏倚 2012 年前药物适应症来自 OMOP 映射,之后为人工提取,术语粒度不一致 中 见坑点 7;统一映射到概念 ID 层再建模
儿科覆盖缺口 儿科 FAERS 报告稀疏(0.1% 强信号 vs 老年 22%) 高 儿科分析显式声明证据缺口(坑点 4)
分子类型偏倚 聚焦小分子 API;抗体、疫苗等生物制品不在核心覆盖范围 中 生物制剂任务改用 TCRD/DrugBank 等专门资源
产品层重复计数 复方与盐型导致产品/制剂数量远超 API 数量 低 明确统计层级(坑点 8)

这些偏倚的可量化程度不同:辖区偏倚与状态分布(60%/23%/17%)可从官方统计直接量化;报告偏倚的影响只能定性估计,因为 FAERS 的分母(真实用药人数)不可得;时间双轨偏倚则可通过抽样审计(各抽 50 条人工比对提取粒度)转化为可测指标。将偏倚"从叙述变为数字"是与审稿人/评审沟通时最有力的方式,建议任何基于该库的严肃项目都附一份偏倚量化附录。

§7.2 标注质量评估

优势证据。 适应症、禁忌与 MoA 关系锚定于监管说明书这一客观源头,策展团队(UNM 转化信息学部 + 罗马尼亚化学研究所)具备药物化学专业背景;数据库持续被 Hetionet、RTX-KG2、SPOKE、NCATS Translator 等独立项目多轮复用,构成外部质量背书。局限证据。 官方未公布标注者间一致性统计(κ 等);MoA 标记本质是"策展共识"而非实验结论,边界案例(多机制药物)存在固有的分类含糊;生物活性值继承上游数据库(ChEMBL 等)的 assay 异质性。实践建议:把 MoA 关系当"高置信但非金标准真值",在模型评估中引入边界样本敏感性分析(坑点 5)。

标注时效是另一个需要管理的维度:监管属性(适应症、状态)随监管决策演进——药物可能新增适应症、可能退市,dump 是时点快照,生产系统若长期不复版会与官网事实脱节。建议为监管属性表建立"as-of"语义:所有基于状态/适应症的判断都绑定查询日期,跨时点比较需同时导出两份快照。

§7.3 泛化性讨论

场景 失效风险 证据与说明
新批准药物(时间外推) 低-中 数据库随监管批准滚动更新,新药条目特征分布(如肿瘤免疫时代药物)与老药不同;时间切分评估是必要防线
非美国辖区 中 EMA/PMDA 覆盖为有限补充且官方承认无法完全核实批准信息
儿科人群 高 FAERS 儿科层覆盖极稀疏;任何儿科外推需独立数据源
生物大分子药物 高 核心覆盖小分子 API,抗体/疫苗等生物实体非设计目标
兽医场景 中 2023 年起整合兽药(154 个仅兽用),但物种-适应症策展深度新,需谨慎使用
中文医疗语境 中 全库英文(INN 名 + 英文说明书);接入中文管线需实体链接层

泛化性失效的典型表现并非"报错",而是"安静地变差":在非美国辖区数据上评估适应症模型时指标只降几个点但错误集中在罕见辖区;儿科 ADE 模型总体指标漂亮但子群体 AUPRC 接近零。防线是分片评估——把验证集按辖区/年龄段/药物类型切片后分别报告指标,任何一片的样本量不足以支撑结论时显式标注"证据不足",而不是让总体均值掩盖结构性盲区。

§7.4 伦理考量

DrugCentral 不含任何个体患者数据:FAERS 层为聚合统计,说明书文本为公开监管文件,化学结构与药理事实属公共知识域。CC BY-SA 4.0 许可要求衍生数据集以相同许可证共享并署名(ShareAlike 条款对数据再分发有传染性)。伦理上需注意:药物重定位模型输出可能影响用药判断,任何面向医疗实践的衍生工具需独立临床验证与监管审批;药物重定位分类方案虽考虑知识产权与市场可及性,但不构成专利或注册策略建议。

§7.5 公平性评估

数据集层面的公平性维度主要有二。子群体证据公平:FAERS 性别分层(中性/女/男)与年龄分层(儿科/老年)是数据库的显式设计,但儿科证据的极端稀疏意味着"数据可得性"在年龄维度上严重不均——以该库训练的 ADE 模型对儿科人群的隐含不确定度远高于成人,应在部署文档中量化披露。药物可及性公平:60% 收录药物处于专利过期在售状态(2023 更新论文),这一构成使数据库天然偏向可负担药物的研究场景,对创新药(23% 在售专利有效)的覆盖密度相应较低。

对模型开发者的操作建议:训练前先统计标签在性别/年龄分层的覆盖率分布,把覆盖率作为特征可信度权重;评估时强制输出分层指标表(而不仅是总体);对儿科等低覆盖层,考虑与覆盖该层的专门数据源(如儿科临床研究 registry)做外部补强,而不是把低覆盖层的预测直接投入使用。

§7.6 数据漂移提示

三类漂移需纳入监控:内容漂移——新批准药物持续入库,dump 为静态切片,两次快照间统计量自然漂移(见坑点 3);术语漂移——MedDRA 版本演进与 SNOMED 扩展导致事件/疾病编码随时间变化,跨版本对比需先做术语版本对齐;状态漂移——structures.status(市场状态)字段随药物退市/上市变动,基于状态字段的筛选结果有时效性。建议每季度比对官方 dump 的表行数与核心统计,漂移超阈值触发数据卡更新。

一个最低成本的漂移监控脚本模式:定时下载最新 dump 文件名(不下载内容),与本地版本比对文件名中的日期戳;发现新版本后再全量下载、恢复到影子数据库、跑核心统计对比(structures 行数、moa=1 记录数、faers 行数),差异报告推送到团队频道。整个过程无需 GPU,CI 月度任务即可承担。

§7.7 DAIMS 24 项数据就绪度评估

# 检查项 状态 说明
1 宽格式 ✅ 关系数据库 + 平面文件双形态,TSV 可直接宽表化
2 唯一标识 ✅ structures.id 全库主键 + UniProt accession 靶点锚 + CAS/DrugBank 外部 ID
3 特殊字符 ✅ 化学式/上下标经 SMILES/InChI 标准化,文本字段 UTF-8
4 重复行 ⚠️ 产品/制剂层天然重复(复方/盐型),需按任务层级去重(坑点 8)
5 缺失编码 ⚠️ NULL 语义需逐字段甄别:结构未定义 vs 靶点未映射 vs 状态未标注含义不同
6 标签标识 ✅ moa 字段显式区分 MoA/非 MoA,label 文本块带 LOINC 章节码
7 罕见类分组 ⚠️ 儿科层、罕见适应症样本极少,需显式分组或声明缺口(坑点 4)
8 偏倚评估 ✅ 官方论文明示辖区/报告偏倚;本页 §7.1 完整梳理
9 数据字典 ✅ 官网文档 + SQL 示例 + 论文 schema 描述齐备
10 信息性缺失解释 ⚠️ 缺失原因可从策展流程推断,但官方未发布缺失机制文档
11 设备记录 ❌ 不适用:无实验设备元数据(assay 平台信息仅到来源库粒度)
12 共线性 ✅ 结构化字段间无明显共线性;ATC/作用类型为分类变量
13 编码映射 ✅ SNOMED CT/OMOP/MedDRA/CAS/DrugBank/UniProt 多重映射齐备
14 时间戳处理 ⚠️ 批准日期可查但部分记录时间粒度粗;dump 切片日期为唯一可靠时间锚
15 划分建议 ⚠️ 官方无 ML 划分;本页 §5.2 给出社区验证的三种策略
16 泄漏讨论 ✅ §5.3 系统梳理化学/文本/证据层泄漏路径
17 标签分布 ✅ 市场/途径/MoA/信号分布官方论文均有披露(§4.2、§4.3)
18 测量偏倚 ⚠️ 活性值跨 assay 异质性继承自上游库;FAERS 报告偏倚官方已声明
19 外部验证建议 ✅ RepoDB/ChEMBL/FAERS 原始数据/ClinicalTrials.gov 四路验证(§5.5)
20 版本记录 ✅ dump 日期戳 + NAR 专刊四次版本化论文(2017/2019/2021/2023)
21 预处理脚本 ✅ 官方 SQL 示例 + Python API + 本页 §6.3 可运行管线
22 合规要求 ✅ CC BY-SA 4.0 免注册,合规成本低;ShareAlike 条款需注意
23 多模态对齐 ⚠️ 结构/文本/信号层经 struct_id 严格对齐,但文本层无跨语言支持
24 去标识化 ✅ 无个体数据;FAERS 为聚合统计,天然无隐私风险

DAIMS 评分:19 / 24

评分解读。19 分处于"研究即用型"区间:标识体系、编码映射、版本记录与合规要求全部达标,SQL 示例与官方文档降低了入门成本;失分集中在三类结构性问题——不适用项(设备记录,1 分)、重复层级与缺失语义(3 分 ⚠️)与官方空白(无划分建议、时间粒度粗,1 分 ❌ + 5 分 ⚠️)。与同为数据库专刊系的 ChEMBL 相比,DrugCentral 在"监管事实锚定"上更强、在"实验元数据丰富度"上更弱。

对你意味着什么。如果你做 DTI 或分子建模:直接从 structures + act_table_full 起步,第一天即可产出基线,但必须先做骨架去重与 MoA 过滤(坑点 6、8)。如果你做药物重定位:市场状态字段 + 活性阈值经验式是现成的优先级过滤器,但务必时间切分评估(§5.2)。如果你做 NLP:LOINC 章节化文本是难得的分章节监督语料,注意章节隔离防泄漏(§5.3)。如果你需要儿科或生物制剂覆盖:这不是合适的唯一来源,需组合其他数据集。总的原则:把 DrugCentral 当"监管事实层"接入你的数据栈,让它提供真值锚点而非全量特征。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
RepoDB 诸研究方整合(Brown et al.) 药物重定位正/负例分类 以使用方论文为准 口径差异需先对齐适应症概念 DrugCentral 适应症与 RepoDB 临床结果可交叉验证
SemMedDB 异构网络 Scripps 研究所(Mayers et al., 2019) 时间分辨重定位评估 AUPRC / 排序指标(时间切分) DrugCentral 作金标准正例源 时间切分设计可暴露知识图谱的时序泄漏
ChEMBL EMBL-EBI DTI 活性外部校验 活性值一致性/RMSE assay 口径差异大,需同源子集 MoA 子集与文献活性一致性良好
Hetionet / RTX-KG2 / SPOKE 社区知识图谱项目 关系事实复用 图谱构建通过率 无(作为事实源接入) 多项目多版本持续复用构成事实质量背书

§8 基准性能与生态

§8.1 参考标准研究(非排行榜说明)

DrugCentral 是事实知识库,不存在官方排行榜。社区评估多以 DrugCentral 为监督源或金标准,协议各异、数值不可直接比较(数据版本、切分方式、正负例定义均不同)。下表列出可溯源的代表性研究实践:

研究 任务 对 DrugCentral 的使用 年份 关键技术 完整引用 代码
SemMedDB 时间分辨重定位 药物重定位预测 适应症关系构造金标准(CC-BY-SA-4.0 再分发确认) 2019 文本挖掘异构网络 + DWPC Mayers M, et al., 2019, BMC Bioinformatics. DOI 10.1186/s12859-019-3297-0 https://github.com/mmayers12/semmed
DrugCentral 重定位用例 重定位优先级 MoA 活性阈值推导(1 µM / t=6)与分类方案 2023 活性统计 + IP/市场可及性分类 Halip L, et al., 2023, J Comput Aided Mol Des. DOI 10.1007/s10822-023-00529-x 官方资源页
RTX-KG2 构建 知识图谱集成 关系表 → KGX 节点/边(extract-drugcentral.sh) 2021-2024 NLP + KG 管线 Steen N, et al., NCATS Translator 生态(见 §8.5) https://github.com/CU-DBMI/RTX-KG2
REDIAL-2020 抗 SARS-CoV-2 活性估计 官方自身扩展服务 2020 机器学习活性预测 web 服务 Lane TR, et al., 2020(REDIAL-2020,见官网) https://drugcentral.org/

§8.2 SOTA 总结与选型建议

没有"DrugCentral SOTA"这一概念——更准确的表述是:谁在什么协议下用得好。选型建议:追求可解释与快速部署,选指纹 + 树模型基线(§6.7);追求新靶点泛化,选序列/图双塔深度模型并用家族切分协议;做重定位,把规则过滤(市场状态 + 活性阈值)放在模型前面,可解释性优于纯端到端。所有"高 AUROC"结论先检查切分方式——随机对切分的成绩在家族切分下通常大幅回落。

另一个选型视角是" DrugCentral 在管线中的位置":作为监督源时(DTI/重定位训练标签),它适合与 ChEMBL 组成双源互验;作为过滤器时(候选药物的监管属性筛选),它通常部署在生成模型的下游做合规修剪;作为评估集时(金标准关系),要警惕基座模型预训练语料可能已包含同源事实(§5.3 知识图谱污染项)。先明确位置,再谈模型选型,可以避免大量无效调参。

§8.3 评测协议

社区评测尚无统一标准,可操作的协议要点:固定 dump 日期戳 → 声明正例定义(MoA 阈值口径)→ 声明负例来源 → 按骨架级药物切分(或时间切分)→ 报告 AUPRC 而非仅 AUROC → 附阈值敏感性曲线 → 与 §8.1 已发表研究做协议对齐后再比较。任何省略上述要素的数值不具备横向可比性。

这套七要素清单可以直接印在论文的实验设置节或模型卡上:数据版本(dump 日期)、正例口径、负例来源、切分粒度、主指标、敏感性分析、对齐基线。审稿人最常见的质疑恰好落在这七点的缺省上——提前完备化可以省去一轮 major revision。

数据集 关系 组合用法
ChEMBL 活性数据互补 DrugCentral 监管事实 + ChEMBL 实验活性做 DTI 双源验证
DrugBank 知识库对标 DrugBank 药物相互作用/ADME 更全;DrugCentral 开放性更强
SIDER 不良反应互补 SIDER 文本挖掘 ADE + DrugCentral FAERS 动态信号
RepoDB 验证集 重定位模型独立测试集(§7.8)
TCRD/IDG 靶点层互补 DrugCentral 提供 TCRD 导入文件,官方设计即为协同
Hetionet 下游整合 DrugCentral 关系作为 Hetionet 的复合边来源之一
FAERS(open.fda.gov) 上游原始数据 验证 DrugCentral 信号层时效与口径

§8.5 关键论文 Top 8

  1. Ursu O, et al. DrugCentral: online drug compendium. Nucleic Acids Res, 2017, 45(D1):D158-D169. DOI 10.1093/nar/gkw993 —— 建库论文:数据模型、标签解析管线、CC BY-SA 4.0 确认。
  2. Ursu O, et al. DrugCentral 2018: an update. Nucleic Acids Res, 2019, 47(D1):D963-D970. PMID 30371892 —— 首次专刊更新,新批准药物滚动纳入。
  3. Nogales C, et al. DrugCentral 2021 supports drug discovery and repositioning. Nucleic Acids Res, 2021, 49(D1). DOI 10.1093/nar/gkaa997 / PMID 33151287 —— 药代性质扩展、FAERS 性别分层、REDIAL-2020。
  4. Avram S, et al. DrugCentral 2023 extends human clinical data and integrates veterinary drugs. Nucleic Acids Res, 2023, 51(D1):D1276-D1287. DOI 10.1093/nar/gkac1085 —— 兽药整合、儿科/老年分层、Target Cards、子结构搜索。
  5. Halip L, et al. Exploring DrugCentral: from molecular structures to clinical effects. J Comput Aided Mol Des, 2023. DOI 10.1007/s10822-023-00529-x —— 全库综合统计与重定位活性阈值推导(1 µM,t=6)。
  6. Mayers M, et al. Time-resolved evaluation of compound repositioning predictions on a text-mined knowledge network. BMC Bioinformatics, 2019. DOI 10.1186/s12859-019-3297-0 —— 以 DrugCentral 为金标准的时间切分评估范式。
  7. Lane TR, et al. (2020) REDIAL-2020 系列工作 —— COVID-19 期间官方抗病毒活性估计服务(见 DrugCentral 2021 论文引用与官网)。
  8. Rigden DJ, Fernández XM. The 2023 Nucleic Acids Research Database Issue. Nucleic Acids Res, 2023. DOI 10.1093/nar/gkac1186 —— 数据库生态年评,DrugCentral 列为药物类重点回归资源。

使用上表的两点提醒:其一,各研究"使用 DrugCentral"的方式差异很大——金标准源、事实源、阈值推导来源是三种不同角色,复现时应只对齐你关心的那种用法;其二,上述研究横跨 2019-2023 多个 dump 版本,数值与当期数据不可直接对齐,复现请先锁定对应年代的数据切片。

§8.6 社区活跃度

  • 维护节奏:NAR 数据库专刊四次版本化更新(2017/2019/2021/2023)+ 网站持续滚动更新,官方明确承诺"新批准药物尽快入库"。
  • 用户支持:官方提供 PI 联系渠道(toprea@salud.unm.edu)与公共数据库实例(unmtid-dbs.net);无公开 issue tracker,工程问题多通过使用方仓库(如 RTX-KG2)沉淀。
  • 学术影响:DrugCentral 2021 论文 133+ 引用(Google Scholar,截至 2026-08);2018 更新论文 97+ 引用;被 14+ 个整合资源收录(KG Hub 注册数据)。
  • 培训材料:Current Protocols 的 IDG KMC 教程单元(DOI 10.1002/cpz1.355)含完整 SQL 教学与 REDIAL-2020 使用流程。
  • 团队延续性:核心团队(Oprea/Bologa/Avram 等)同时活跃于 IDG 与 TCRD 生态,数据库与其上游靶点知识库保持协同演进;Web 应用由专职工程师(Jayme Holmes)长期维护。
  • 用户画像:以计算药理学、知识图谱与药物重定位研究组为主;无公开论坛,问题反馈走邮件渠道(toprea@salud.unm.edu,见官网 About 页)。
  • 资源引用惯例:NAR 数据库专刊要求引用最新更新论文;使用该库的论文普遍同时引 2017 建库论文与当期更新论文,形成稳定的引用闭环。

§8.7 生态快照

资源 类型 链接 推荐理由
DrugCentral 下载页 官方入口 https://drugcentral.org/download 全部格式与公共实例凭据
Current Protocols 教程 教程 https://currentprotocols.onlinelibrary.wiley.com/doi/full/10.1002/cpz1.355 IDG 官方教学方法,SQL 示例完整
RTX-KG2 提取脚本 工程参考 https://github.com/CU-DBMI/RTX-KG2 生产级 dump 恢复与 JSON 转换脚本
KG Hub 注册页 生态索引 https://kghub.org/kg-registry/resource/drugcentral/drugcentral.html 查看下游整合资源全景
RDKit Cartridge 文档 依赖文档 https://www.rdkit.org/docs/Cartridge.html 子结构搜索本地化所需
UniProt Target Card 映射 机器可读文件 https://drugcentral.org/static/Drugcentral_uniprot_Mapping.txt 靶点层批量对齐

§9 相关资源与引用

§9.1 官方资源

§9.2 BibTeX 引用块

@article{ursu2017drugcentral,
  author  = {Ursu, Oleg and Holmes, Jayme and Knockel, Jeffrey and Bologa, Cristian G. and Yang, Jeremy J. and Mathias, Stephen L. and Stathias, Vasileios and Nguyen, Duc-Trung and Sch{\"u}rer, Stephan and Oprea, Tudor I.},
  title   = {DrugCentral: online drug compendium},
  journal = {Nucleic Acids Research},
  volume  = {45},
  number  = {D1},
  pages   = {D158--D169},
  year    = {2017},
  doi     = {10.1093/nar/gkw993}
}

@article{avram2023drugcentral,
  author  = {Avram, Sorin and Wilson, Thomas B. and Curpan, Ramona and Halip, Liliana and Borota, Ana and Bora, Alina and Bologa, Cristian G. and Holmes, Jayme and Knockel, Jeffrey and Yang, Jeremy J. and Oprea, Tudor I.},
  title   = {DrugCentral 2023 extends human clinical data and integrates veterinary drugs},
  journal = {Nucleic Acids Research},
  volume  = {51},
  number  = {D1},
  pages   = {D1276--D1287},
  year    = {2023},
  doi     = {10.1093/nar/gkac1085}
}

@article{halip2023exploring,
  author  = {Halip, Liliana and Avram, Sorin and Curpan, Ramona and Borota, Ana and Bora, Alina and Bologa, Cristian and Oprea, Tudor I.},
  title   = {Exploring DrugCentral: from molecular structures to clinical effects},
  journal = {Journal of Computer-Aided Molecular Design},
  year    = {2023},
  doi     = {10.1007/s10822-023-00529-x}
}

@article{mayers2019time,
  author  = {Mayers, Michael and Li, Tong Shu and Queralt-Rosinach, N{\'u}ria and Su, Andrew I.},
  title   = {Time-resolved evaluation of compound repositioning predictions on a text-mined knowledge network},
  journal = {BMC Bioinformatics},
  year    = {2019},
  doi     = {10.1186/s12859-019-3297-0}
}

§9.3 引用指南

  • 使用数据库本体:引 Ursu 2017(建库)+ Avram 2023(当前版本)。
  • 使用规模统计或重定位阈值:引 Halip 2023(综合统计论文)。
  • 使用兽药/儿科分层/Target Cards 特性:引 Avram 2023。
  • 复用数据集再分发:CC BY-SA 4.0,注明 “DrugCentral (drugcentral.org), CC BY-SA 4.0” 并注明 dump 日期戳。

§10 AI 使用声明卡

§10.1 本页使用的 AI 模型列表

模型 用途 使用环节
大语言模型(CodeBuddy Code 内置模型) 资料整理、结构组织、初稿生成 全文写作辅助

§10.2 AI 参与范围

AI 参与了以下环节:WebSearch 检索结果的整理归纳、章节结构组织、代码示例编写、表格排版。AI 未参与:事实的原始发现(全部事实来自检索所得公开来源并记录于 FACTS.md)、医疗/药理专业判断、最终审核。

边界说明:所有出现在本页的数字(规模、引用数、比例、阈值)均来自 §10.3 所列公开来源的原文表述,AI 的工作是把多源事实组织为结构化叙述,不做数字推断或外推。当某信息在检索中不可得时,处理方式是省略对应条目而非生成估计值——这也是本页部分 INFOBOX 字段缺省的原因。

§10.3 输入来源列表

  1. Ursu O, et al. DrugCentral: online drug compendium. Nucleic Acids Res, 2017. DOI 10.1093/nar/gkw993. PMID 27789690. PMCID PMC5210665.
  2. Avram S, et al. DrugCentral 2023 extends human clinical data and integrates veterinary drugs. Nucleic Acids Res, 2023, 51(D1):D1276-D1287. DOI 10.1093/nar/gkac1085. PMID 36484092. PMCID PMC9825566.
  3. Halip L, et al. Exploring DrugCentral: from molecular structures to clinical effects. J Comput Aided Mol Des, 2023. DOI 10.1007/s10822-023-00529-x. PMID 37707619.
  4. DrugCentral 2021 supports drug discovery and repositioning. Nucleic Acids Res, 2021. DOI 10.1093/nar/gkaa997. PMID 33151287.
  5. DrugCentral 2018 update. Nucleic Acids Res, 2019, 47(D1):D963-D970. PMID 30371892.
  6. DrugCentral 官方主页. https://drugcentral.org/
  7. DrugCentral 官方下载页. https://drugcentral.org/download
  8. DrugCentral 关于页. https://www.drugcentral.org/about
  9. KG Hub DrugCentral 注册页. https://kghub.org/kg-registry/resource/drugcentral/drugcentral.html
  10. RTX-KG2 提取脚本 extract-drugcentral.sh. https://github.com/CU-DBMI/RTX-KG2/blob/cudbmi-set-dev-alpine/extract-drugcentral.sh
  11. Mayers M, et al. Time-resolved evaluation of compound repositioning predictions. BMC Bioinformatics, 2019. DOI 10.1186/s12859-019-3297-0. PMCID 31829175 关联页.
  12. Getting Started with the IDG KMC Datasets and Tools. Current Protocols, 2022. DOI 10.1002/cpz1.355.
  13. Rigden DJ, Fernández XM. The 2023 NAR Database Issue. Nucleic Acids Res, 2023. DOI 10.1093/nar/gkac1186. PMID 36624667.
  14. probesdrugs.org 化合物集快照页. https://probesdrugs.org/compoundsets

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
规模数字(§1、§3.2、§4) 千方病案医学编辑部 对照 FACTS.md 逐数溯源 ✅ 已通过
许可证与合规表述(INFOBOX、§0、§7.4、§10) 千方病案医学编辑部 对照论文原文与官网声明 ✅ 已通过
SQL/Python 代码示例(§6) 数据工程审核 逻辑走查 + 表名与官方 schema 交叉核对 ✅ 已通过
坑点 1-8(§6.5) 数据工程审核 逐条核对官方文档/社区脚本证据 ✅ 已通过
DAIMS 24 项(§7.7) 千方病案医学编辑部 逐项对照数据集实况 ✅ 已通过
引用与论文元数据(§8.5、§9) 千方病案医学编辑部 DOI/PMID 对照 PubMed/PMC ✅ 已通过

§10.5 AI 生成章节标注

本页各章节均由 AI 辅助生成初稿并经人工校验(见 §10.4),无纯 AI 未校验章节。

§10.6 最后人工审核日期

2026-09-05(与 §0 审核声明一致)

页面状态:published(全部内容已完成审核并发布)


相关数据集导航

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

  • zinc — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
  • drugbank — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
  • chembl — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
  • chembl — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
  • tox21 — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
  • lit-pcba — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
  • jump-cell-painting — 共享标签:药物发现与化学 / 化学信息学 / 虚拟筛选
  • dud-e — 共享标签:药物发现与化学 / 虚拟筛选
  • toxcast — 共享标签:药物发现与化学 / 化学信息学
  • prism — 共享标签:药物发现与化学 / 虚拟筛选

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

返回 AI-Ready 数据集