信息速览
INFOBOX — DRKG 一屏速览
维度 内容 本质 六大公开数据库 + COVID-19 文献抽取三元组的整合归一化知识图谱(非新采集、非竞赛数据) 团队 AWS AI labs(上海/帕洛阿尔托)+ 明尼苏达大学 + 俄亥俄州立大学 + 湖南大学,9 位署名作者 规模 97,238 实体 / 13 类型 / 5,874,261 三元组 / 107 关系 / 17 实体类型对(全部一手实测核对) 七源占比 Hetionet 225 万 / STRING 150 万 / DrugBank 142 万 / GNBR 33.5 万 / IntAct 25.6 万 / 文献 8.5 万 / DGIdb 2.6 万(边数) 最大单一关系 DrugBank 药物-药物相互作用 ddi-interactor-in:1,379,271 条(占全图 23.5%)配套资产 TransE_l2 400 维实体/关系嵌入 + 4 套分子 GNN 嵌入 + 10 个官方分析 notebook COVID 战绩 团队口径:识别的 41 种候选药物中 11 种曾/正在进入临床试验(Amazon Science 官方博客) 官方引用 无正式期刊/arXiv 论文——README @misc{drkg2020}GitHub 引用为唯一指定口径获取 AWS S3 公开直链 wget 免注册(206.6MB 压缩包,2020-06-15 后未变) 许可 代码 Apache-2.0;数据多源异构——三源 CC BY-NC 4.0 + 文献数据非商业,商用需逐源审查 库内互链 Hetionet(上游母体,rid 832)、PrimeKG(同类竞品,rid 831)、DrugBank(最大源之一)、STRING(PPI 主源)
DRKG(Drug Repurposing Knowledge Graph,药物重定位知识图谱)是一个「把六个数据库焊成一张图,再用深度学习在上面找老药新用途」的基础设施工程:它不采集新数据,而是把 DrugBank、Hetionet、GNBR、STRING、IntAct、DGIdb 六大生物医药数据库中与基因、化合物、疾病、生物过程、副作用和症状相关的知识抽取、归一化、合并为一张 97,238 节点、5,874,261 条边的异构图,再叠加从 COVID-19 相关近期文献中挖掘的 84,756 条三元组,最后用 DGL-KE 训练整套 TransE 嵌入发放——研究者在自己的机器上 np.load 一个 .npy 文件,就能对任意药物-疾病对打分。项目 2020 年 4 月底在 COVID-19 应急科研背景下开源,是 AWS 深度图学习团队(Karypis 组)与俄亥俄州立、湖南大学两支药物信息学团队协作的产物。
数字口径声明:本条目所有规模数字(97,238 / 5,874,261 / 107 / 13 / 七源分布 / 逐类分布)均为编写时点(2026-10-04)下载 S3 原包的一手实测值,复算命令见 §4.7;凡与第三方材料冲突处(旧三元组数、错挂论文号、镜像元数据)一律以一手实测为准并双口径存照于 §10 与附录 C/I。
导语读法三则:
- 只想下数据:直奔 §6 获取与许可——S3 直链免注册 wget,但许可矩阵是七源异构的,商用前必读 §6.3 逐源审查表。
- 关心数字真伪:本条目所有规模数字均经一手实测(下载 drkg.tar.gz 解压逐文件 wc -l),与官方 README 逐项一致;旧口径 5,869,294 的来历见 §10 坑 3。
- 做方法对比:直奔 §5 横向比较——DRKG 与 Hetionet/PrimeKG/BioKG 的定量对照表与选型决策树在那里。
§0 导读:这个数据集解决什么问题
药物重定位(drug repurposing,老药新用)的核心困难不是「没有候选药」而是「候选太多、证据太散」:一种已知药物对一种新疾病的潜在疗效,证据可能散落在药物-靶点数据库(DrugBank)、文献共现挖掘网络(GNBR)、蛋白质互作图谱(STRING/IntAct)、以及前代整合图谱(Hetionet)等数十个彼此 ID 体系互不兼容的数据源里。2020 年初新冠疫情暴发把这一矛盾推向极端——研究者没有时间逐库下载、对齐、融合再建模,需要一个「开箱即整合」的知识底座。DRKG 的回答是三层:第一层是图——把六源知识统一到官方 ID 体系(基因用 Entrez、化合物用 DrugBank ID 等)合并成单文件三元组表 drkg.tsv,实体命名 类型::ID、关系命名 来源::RELATION:头类型:尾类型,一张 TSV 即全图;第二层是嵌入——用 DGL-KE 在全图上训练 TransE_l2 400 维嵌入并随数据一起发放,把「是否可能存在药物-疾病边」变成向量空间里的距离计算;第三层是示范——十个官方 notebook 从统计分析、嵌入训练到 COVID-19 药物打分全流程演示,其中 COVID 重定位 notebook 直接以预训练嵌入对病毒宿主蛋白关联打分、给出 top-100 候选药物名单,团队口径 41 种分析识别药物中 11 种与当时临床试验重合。
§0 读法三则:
- 这个条目是「图数据+预训练嵌入+工具链示范」三合一:本体是 206.6MB 的 drkg.tar.gz(三元组+嵌入),衍生品是十个 notebook 构成的分析方法论,副产品是一套「多源整合+嵌入发放」的数据基建范式——三者许可与获取方式各不相同(§6)。
- 全文规模数字均为一手实测(2026-10-04 下载解压逐文件核对),与官方 README 逐项一致;凡与第三方口径冲突处(OpenDataLab 论文链接、旧版三元组数、Scholar 引用挂接)一律双口径存照(§10 与附录 C)。
- 检索时若把 arXiv:2010.09600 当作 DRKG 论文去引用会张冠李戴——那是 Zhang et al. 的另一篇 COVID 药物重定位论文,DRKG 官方至今无正式出版物(坑 1)。
§1 数据集速览:十问十答
Q1:DRKG 的「六个数据库」各贡献了什么?
按边数(一手实测):Hetionet 2,250,197 条(前代整合图谱,贡献解剖、生物过程、细胞组分、分子功能、通路、副作用、症状等本体边)、STRING 1,496,708 条(基因-基因物理与功能互作)、DrugBank 1,424,790 条(药物-药物相互作用与药物-靶点/适应症)、GNBR 335,369 条(文献共现挖掘的基因-基因/药物-基因/疾病-基因关系)、IntAct 256,151 条(实验验证的蛋白质物理互作)、DGIdb 26,290 条(药物-基因相互作用)、文献抽取 84,756 条(COVID-19 相关出版物,GNBR 团队扩展管线)。
Q2:「97,238 实体、13 类型」是什么构成?
基因 39,220(40.3%)、化合物 24,313(25.0%)、生物过程 11,381、疾病 5,103、副作用 5,701、ATC 分类 4,048、分子功能 2,884、细胞组分 1,391、通路 1,822、症状 415、解剖 400、药理分类 345、分类学 215——13 类合计 97,238,逐类一手实测与官方表完全一致(§2.1)。
Q3:「107 种关系」是什么粒度?
不是 107 种「语义」而是 107 种「关系字符串」:每条关系形如 来源::RELATION:头类型:尾类型,例如 DGIdb 的「激活」是 DGIDB::ACTIVATOR:Gene:Compound、「拮抗」是 DGIDB::ANTAGONIST:Gene:Compound——同一对实体类型间可有多种语义。这 107 种字符串落在 17 个实体类型对上。全部 107 种的逐条语义见随包发放的 relation_glossary.tsv(108 行含表头)。
Q4:实体怎么命名、怎么跨源合并?
实体统一为 类型::ID:基因用 Entrez ID(Gene::2157)、化合物用 DrugBank ID(Compound::DB00385)、疾病用 CUI(Disease::C0010674)等。同一实体被多源覆盖时在图内只出现一次,其全部来源记录在 entity2src.tsv——一手抽查 Gene::1 同时携带 Drugbank/STRING/Hetionet/GNBR/IntAct/文献六源标记。这张表也是做逐源许可审查的唯一钥匙(§6.3)。
Q5:预训练嵌入是什么、多大?
TransE_l2 模型、400 维、DGL-KE 全图训练:实体嵌入矩阵 DRKG_TransE_l2_entity.npy 一手实测 155,580,928 字节 = 97,238×400×4 字节 float32 + 128 字节 numpy 头,与官方口径数学互证;关系嵌入 171,328 字节。另发放 4 套分子嵌入(contextpred/infomax/edgepred/masking,各 10.5MB),用 DGL-LifeSci 按.hu 等 2019 年 GNN 预训练策略从小分子 SMILES 学得。
Q6:COVID-19 上它到底干成了什么?
官方 notebook COVID-19_drug_repurposing.ipynb 用预训练嵌入对「化合物-COVID-19 相关基因」候选边打分,直接给出 top-100 候选药物;Amazon Science 官方博客口径为「团队分析识别的 41 种药物中 11 种曾/正在进入 COVID-19 临床试验」。注意:41/11 是事后验证口径(对照当时公开临床试验名单),不是前瞻性疗效证据(§4.4)。
Q7:数据质量如何保证?
三道工序:整合时按官方 ID 体系对齐并跨源合并实体;GNBR 来源的边沿用其概率阈值管线(阈值在各源内消化,DRKG 内边等权);文献部分由 GNBR 团队的 COVID 扩展管线(bioRxiv 2020.03.11.986836)抽取。但官方未提供逐边人工验证金标准,文献抽取边的固有错误率未量化(§2.8、坑 7)。
Q8:license 能商用吗?
不能直接回答「能」或「不能」——仓库代码 Apache-2.0,但数据是七源异构许可叠加:DrugBank/GNBR/STRING 均为 CC BY-NC 4.0,文献抽取数据官方声明非商业使用,三者合计覆盖约 57.4% 的边;IntAct 为 Apache-2.0,Hetionet/DGIdb 为各源 Mixed License。官方在 licenses/ 目录逐源挂表,并称对有明确许可的源「按节点/边逐条挂许可属性」——商用前必须用 entity2src.tsv 做逐实体审查(§6.2-6.3)。
Q9:我现在能拿到什么?
一条 wget 命令直链下载 216,650,245 字节(206.6MB)压缩包,免注册、无请求制环节,2020-06-15 上传后内容未变(S3 Last-Modified 一手实核)。解压得 drkg.tsv(三元组)、entity2src.tsv、relation_glossary.tsv、embed/ 目录(5 个嵌入矩阵 + 2 个 ID 映射表)。官方仓库另有 10 个 notebook 与描述 PDF。
Q10:为什么它对 AI-Ready 重要?
它是「直链获取+嵌入随发+单表即全图」的正面典型:无需注册、无需清洗、numpy 一行加载、TSV 三列即全图,机器可读性拉满;同时它也是「整合型数据集许可复杂性」的典型样本——AI-Ready 不只看能不能下载,还看能不能合规使用,DRKG 的七源许可矩阵把后者变成了一道必答题(§6.4)。
Q11:商用前做逐源审查,工作量大吗?
取决于子图大小而非全图:用关系字符串前缀即可先分类(禁商用前缀 DRUGBANK/GNBR/STRING/bioarx 一眼可辨,工程上是字符串匹配),再用 entity2src 确认端点。多数场景下决策在「用哪段子图」而非「全图清洗」——§6.6 的三步决策树把这事压到半天工作量级。训练产物的连带审查(用禁商用边训出的嵌入能否发放)是唯一需要法务介入的点。
Q12:LLM 时代还需要知识图谱吗?
DRKG 的生态给出了肯定用法:LLM 擅长语义与推理、图擅长结构化事实检索——LLaDR(2025)的范式是「图嵌入提供结构知识、LLM 提供语义理解」,两者互补而非替代。对幻觉敏感的药物重定位场景,图谱的每条边可溯源(到上游库)是 LLM 概率生成不具备的审计性。DRKG 在此定位中的优势是嵌入随发(结构知识即插即用)与规模适中(可全量进检索器的量级)。
§1.5 五分钟上手:从零到第一次打分
路径一:一行命令拿全包(官方 README 推荐):
# 下载 206.6MB 压缩包(免注册,2020-06-15 版本,一手实测 md5 见附录 C)
wget https://dgl-data.s3-us-west-2.amazonaws.com/dataset/DRKG/drkg.tar.gz
tar -xzf drkg.tar.gz
# 解压得:drkg.tsv / entity2src.tsv / relation_glossary.tsv / embed/
路径二:直接加载预训练嵌入(不训练、只推理的最短路径):
import numpy as np
import pandas as pd
# 实体/关系嵌入(TransE_l2, 400 维,float32)
entity_emb = np.load('./embed/DRKG_TransE_l2_entity.npy') # (97238, 400)
rel_emb = np.load('./embed/DRKG_TransE_l2_relation.npy')
# ID 映射表(实体名/关系名 ↔ 矩阵行号)
entity_ids = pd.read_csv('./embed/entities.tsv', sep='\t', header=None)
rel_ids = pd.read_csv('./embed/relations.tsv', sep='\t', header=None)
# 三元组主表:5,874,261 行,三列无表头
drkg = pd.read_csv('./drkg.tsv', sep='\t', header=None,
names=['head', 'relation', 'tail'])
print(drkg.shape) # (5874261, 3) —— 一手实测一致
路径三:让 notebook 自动下载——官方仓库十个 notebook 均内置自动下载逻辑,克隆仓库后直接运行即可,无需手动 wget。
三条纪律:其一,drkg.tsv 无表头,第一行就是真实三元组(2021-10-24 官方修复前,pandas 默认 header 推断会把首行吃掉,导致少 4,967 条边——旧口径 5,869,294 的全部来历,坑 3);其二,实体名含 :: 分隔符,按列切分时勿用冒号作通用分隔符;其三,嵌入矩阵行号与 entities.tsv 行顺序严格对应,重排映射表前先确认对齐。
§2 数据构成与规格
2.1 规模总表:13 类实体的精确分布
一手实测(2026-10-04 下载 drkg.tar.gz 解压,对 entity2src.tsv 首列切分统计),与官方 README 表逐项核对一致:
| 实体类型 | 实体数 | 占比 | 主要 ID 体系 | 贡献源 |
|---|---|---|---|---|
| Gene(基因/蛋白) | 39,220 | 40.3% | Entrez ID | DrugBank 4,973/GNBR 27,111/Hetionet 19,145/STRING 18,316/IntAct 16,321/DGIdb 2,551/文献 3,181(跨源合并后) |
| Compound(化合物) | 24,313 | 25.0% | DrugBank ID | DrugBank 9,708/GNBR 11,961/Hetionet 1,538/IntAct 153/DGIdb 6,348/文献 6,250 |
| Biological Process(生物过程) | 11,381 | 11.7% | GO BP | Hetionet |
| Disease(疾病) | 5,103 | 5.2% | CUI/DO | DrugBank 1,182/GNBR 4,746/Hetionet 257/文献 33 |
| Side Effect(副作用) | 5,701 | 5.9% | SIDER | Hetionet |
| Atc(ATC 分类) | 4,048 | 4.2% | ATC code | DrugBank |
| Molecular Function(分子功能) | 2,884 | 3.0% | GO MF | Hetionet |
| Cellular Component(细胞组分) | 1,391 | 1.4% | GO CC | Hetionet |
| Pathway(通路) | 1,822 | 1.9% | Reactome | Hetionet |
| Symptom(症状) | 415 | 0.4% | MeSH | Hetionet |
| Anatomy(解剖) | 400 | 0.4% | UBERON/BTO | Hetionet |
| Pharmacologic Class(药理分类) | 345 | 0.4% | NDF-RT/FDA | Hetionet |
| Tax(分类学) | 215 | 0.2% | NCBI Taxonomy | GNBR |
| 合计 | 97,238 | 100% | — | 七源跨源合并 |
读表三则:其一,基因与化合物两类占实体总量 65.3%,图的语义重心是「药物作用Target-疾病机制」轴;其二,ATC/药理分类/副作用三类实体只与化合物相连,构成药物的「属性邻域」;其三,官方 README 的实体分布表按「来源×类型」给出交叉计数(跨源实体在多列重复出现,直接加总大于 97,238),逐类唯一计数以上表为准。
2.2 drkg.tsv 三列模式:单表即全图
主文件 drkg.tsv 为 Tab 分隔三列、无表头:
Gene::2157 bioarx::HumGenHumGen:Gene:Gene Gene::2157
Gene::2157 bioarx::HumGenHumGen:Gene:Gene Gene::5264
Compound::DB00385 DRUGBANK::ddi-interactor-in::Compound:Compound Compound::DB01233
Disease::C0010674 GNBR::DaG:Disease:Gene Gene::207
- 列 1 头实体 / 列 3 尾实体:
类型::ID命名,13 类型前缀见 §2.1。 - 列 2 关系:
来源::RELATION:头类型:尾类型四段式,来源前缀七选一(DRUGBANK/Hetionet/GNBR/STRING/INTACT/DGIDB/bioarx)。 - 一手实测:
wc -l= 5,874,261 行,与官方一致;首行即真实三元组(Gene::2157 → bioarx::HumGenHumGen:Gene:Gene → Gene::2157),无表头行。 - 与关系词表联查:
relation_glossary.tsv六列(Relation-name/Data-source/Connected entity-types/Interaction-type/Description/Reference for the description),对 107 种关系逐条给出交互语义与上游参考链接——DRKG 少数「带文档」的部分。
2.3 七源三元组分布:谁贡献了哪条边
一手实测(对列 2 关系前缀切分统计),与官方 README 边分布表逐项一致:
| 来源前缀 | 三元组数 | 占比 | 语义重心 |
|---|---|---|---|
| Hetionet | 2,250,197 | 38.3% | 本体结构边(基因-过程/解剖/功能/通路、化合物-副作用/适应症等) |
| STRING | 1,496,708 | 25.5% | 基因-基因互作(REACTION/CATALYSIS/BINDING/OTHER 等子类型) |
| DrugBank | 1,424,790 | 24.3% | 药物-药物相互作用(1,379,271)+ 药物-靶点/ATC/适应症 |
| GNBR | 335,369 | 5.7% | 文献共现挖掘:基因-基因/药物-基因/疾病-基因 |
| IntAct | 256,151 | 4.4% | 实验验证蛋白质物理互作 |
| bioarx(文献) | 84,756 | 1.4% | COVID-19 相关文献抽取(GNBR 团队扩展) |
| DGIdb | 26,290 | 0.4% | 药物-基因相互作用 |
| 合计 | 5,874,261 | 100% | — |
按实体类型对的总边数(官方口径,一手抽查核对一致):基因-基因 2,350,931(40.0%)为最大实体对;化合物-化合物 1,385,757(23.6%)几乎全部来自 DrugBank 的药物相互作用;解剖-基因 726,495、生物过程-基因 559,504、化合物-基因 210,794、化合物-副作用 138,944、疾病-基因 123,837、化合物-疾病 83,895——「药物-基因」「疾病-基因」两条轴上的边是药物重定位打分的直接对象。
2.4 关系结构:107 种字符串与 Top 关系表
107 种关系字符串落在 17 个实体类型对上;最大单一关系一手实测:
| 排名 | 关系字符串 | 三元组数 | 语义 |
|---|---|---|---|
| 1 | DRUGBANK::ddi-interactor-in::Compound:Compound | 1,379,271 | 药物-药物相互作用(占全图 23.5%) |
| 2 | Hetionet::GpBP::Gene:Biological Process | 559,504 | 基因参与生物过程 |
| 3 | Hetionet::AeG::Anatomy:Gene | 526,407 | 解剖部位表达基因 |
| 4 | STRING::REACTION::Gene:Gene | 400,426 | 蛋白质参与同一反应 |
| 5 | STRING::CATALYSIS::Gene:Gene | 343,533 | 催化关系 |
| 6 | STRING::BINDING::Gene:Gene | 315,875 | 物理结合 |
| 7 | STRING::OTHER::Gene:Gene | 310,690 | 其他互作 |
| 8 | Hetionet::Gr>G::Gene:Gene | 265,672 | 基因调控基因 |
| 9 | Hetionet::GiG::Gene:Gene | 147,164 | 基因干扰基因 |
| 10 | Hetionet::CcSE::Compound:Side Effect | 138,944 | 化合物引发副作用 |
药物重定位最关心的边(数量级):药物-疾病(treats/indication 类)约 8.4 万条、药物-靶点(binding/activator/agonist/antagonist 等 DGIdb+DrugBank 类)约 2.1 万条直连 + 经由基因-疾病边的二跳路径数百万条——DRKG 的打分逻辑正是用嵌入把「二跳路径」压缩成向量距离(§4.2)。
2.5 命名法速查:切分字符串就能做类型过滤
# 实体类型 = ID 前缀;关系来源/语义 = 四段切分
h, r, t = 'Compound::DB00385', 'GNBR::Binder:Gene:Compound', 'Gene::207'
assert h.split('::')[0] == 'Compound'
src, rel, htype, ttype = r.split(':', 3) if False else r.split('::', 1) + r.split('::')[1].rsplit(':', 2)
# 推荐:source = r.split('::')[0];语义与类型对 = r.split('::')[1] 按 ':' 二次切分
约定俗成的解析姿势:source = r.split('::')[0];relation_semantics = r.split('::')[1] 再按 : 从右切两刀得到头/尾类型。bioarx 前缀的边(84,756 条)语义均为 HumGenHumGen/HumGenCov 等文献管线标记,与 GNBR 的子类型命名一致。
2.6 数据包文件清单:一个 tar 里的全部家当
| 文件/目录 | 一手实测大小 | 内容 |
|---|---|---|
| drkg.tsv | 约 250MB(解压后) | 5,874,261 条三元组主表 |
| entity2src.tsv | 约 20MB | 97,238 实体 × 逐源来源 URL 串 |
| relation_glossary.tsv | 约 30KB | 107 关系词表(108 行含表头,六列) |
| embed/DRKG_TransE_l2_entity.npy | 155,580,928 B | 实体嵌入 (97238, 400) float32 |
| embed/DRKG_TransE_l2_relation.npy | 171,328 B | 关系嵌入 (107, 400) float32 |
| embed/entities.tsv | 2,438,925 B | 实体名 ↔ 矩阵行号(97,238 行) |
| embed/relations.tsv | 3,525 B | 关系名 ↔ 矩阵行号(107 行) |
| embed/mol_contextpred.npy 等 ×4 | 各 10,568,528 B | 分子 GNN 预训练嵌入(约 24,000 化合物 × 300 维量级) |
| embed/Readme.md | 420 B | 嵌入使用说明 |
| 压缩包本体 | 216,650,245 B | S3 Content-Length 一手核对一致 |
数学互证:155,580,928 = 97,238 × 400 × 4 + 128(numpy 头)——官方「400 维 TransE_l2」的口径与文件字节数严格自洽;171,328 = 107 × 400 × 4 + 128 同样自洽。
2.7 预训练嵌入:四套分子嵌入的差异
除主 TransE 嵌入外,随包发放的 mol_*.npy 四件套来自 Hu et al.(2019)「Strategies for Pre-training Graph Neural Networks」的四种预训练策略,均在 DrugBank 小分子 SMILES 上用 DGL-LifeSci 训练:contextpred(预测子图邻域结构)、infomax(最大化局部-全局互信息)、edgepred(鼓励相邻节点相似)、masking(预测被遮蔽的原子/键属性)。官方重定位 notebook 主推用 TransE 嵌入打分,分子嵌入作为化合物侧特征的补充供给。
2.8 entity2src 与 relation_glossary:两张元数据表怎么用
entity2src.tsv(97,238 行):首列为实体名,第二列起为该实体各来源的「[来源标签] URL」串。一手抽查 Gene::1 同时携带 Bibliographic sources/Drugbank/STRING/Hetionet/GNBR/IntAct 六源标记。注意两点(坑 7):其一,存在 1 个空 ID 实体 Gene::(无数字 ID,一手 uniq 计数),疑似占位残留;其二,来源列是任意长度拼接串而非规整双列,解析需按 Tab 全列读取再逐段匹配 [...] 标记。
relation_glossary.tsv(108 行 = 107 关系 + 表头):六列中 Interaction-type 与 Description 把「107 种关系字符串」翻译成人话——例如 DGIDB::ACTIVATOR:Gene:Compound 的交互类型是 activation、描述是「药物激活靶点产生生物学响应(机制未必明确)」,参考链接指向 dgidb.org 的术语页。做边类型过滤或论文复现时,这张表是唯一权威语义来源。
2.9 十三类实体逐类档案:ID 体系、来源构成与重定位语义
① Gene(基因/蛋白)——39,220 个,全图最大类
ID 体系:Entrez Gene ID(Gene::2157 格式)。来源构成:GNBR 27,111、Hetionet 19,145、STRING 18,316、IntAct 16,321、DrugBank 4,973、DGIdb 2,551、文献 3,181(跨源合并前计数,实际唯一实体 39,220)。邻接角色:仅 Gene 类与全部其他 12 类都相连(17 实体对中 Gene 参与其中),是图的枢纽类。重定位语义:药物的「靶空间」——药物经 binding/inhibitor/agonist 等 30+ 种关系指向基因,基因经 DaG/GuG/DaG 类关系指向疾病,两段拼接即重定位路径。检索提示:基因 ID 直接可用 NCBI 查询回填符号名;GNBR 边不区分基因/蛋白粒度。
② Compound(化合物)——24,313 个
ID 体系:DrugBank ID(Compound::DB00385)。来源构成:GNBR 11,961、DrugBank 9,708、DGIdb 6,348、文献 6,250、Hetionet 1,538、IntAct 153(合并前)。邻接角色:与 Gene/Disease/Compound/Side Effect/Atc/Pharmacologic Class 六类相连。重定位语义:候选池本体——「老药」即图内已有适应症边的化合物,DRKG 的 8.4 万药物-疾病边是「老药」的注册表。检索提示:DrugBank ID 可直接映射 SMILES/名称(需回查 DrugBank 本库条目);分子嵌入仅覆盖 DrugBank 小分子子集。
③ Biological Process(生物过程)——11,381 个
ID 体系:GO BP 术语。来源:Hetionet 独供(559,504 条 GpBP 边)。邻接角色:只与 Gene 相连。重定位语义:机制注释层——疾病基因集富集到哪些过程,可解释候选药的机制假设;对打分本身是「路径背景」而非直接对象。检索提示:做通路富集时直接用 GO ID 对接常规富集工具。
④ Disease(疾病)——5,103 个
ID 体系:CUI(UMLS 概念号,Disease::C0010674)与 DO 双体系并存——GNBR/文献源供 CUI、Hetionet 供 DO,DRKG 内未做显式跨体系链接。来源构成:GNBR 4,746、DrugBank 1,182、Hetionet 257、文献 33(合并前)。邻接角色:与 Compound/Gene/Symptom/Anatomy/Disease 相连。重定位语义:任务的目标侧——2020-06 时点冻结意味着 COVID-19 以 Disease::C0010520 等实体在图内(bioarx 边的 Coronavirus_ass_host_gene/Covid2_acc_host_gene 直接以 Disease 为头)。检索提示:CUI/DO 映射需外部表(UMLS/MONDO)辅助,坑 7。
⑤ Side Effect(副作用)——5,701 个
ID 体系:SIDER 侧效应术语。来源:Hetionet 独供(138,944 条 CcSE 边)。邻接角色:只与 Compound 相连。重定位语义:药物「指纹」——副作用谱常被用作药物相似性信号(共享副作用的药可能共享机制),是重定位特征工程的高价值特征源。检索提示:SIDER 术语与 MedDRA 编码的对应需回查 SIDER 原库。
⑥ Atc(ATC 分类)——4,048 个
ID 体系:WHO ATC 分类码。来源:DrugBank 独供(15,750 条 x-atc 边)。邻接角色:只与 Compound 相连。重定位语义:官方解剖-治疗-化学分类树,可做「同 ATC 组内药物互查」的快速过滤层。检索提示:ATC 码本身自带层级(前缀即父类),无需额外本体。
⑦ Molecular Function(分子功能)——2,884 个
ID 体系:GO MF。来源:Hetionet 独供(97,222 条 GpMF 边)。邻接角色:只与 Gene 相连。语义:蛋白「能干什么」的分子级注释,与 BP(参与什么过程)构成 GO 双轴。检索提示:与 BP 用法一致,富集分析对接。
⑧ Cellular Component(细胞组分)——1,391 个
ID 体系:GO CC。来源:Hetionet 独供(73,566 条 GpCC 边)。邻接角色:只与 Gene 相连。语义:基因产物定位(核/膜/胞外等)。检索提示:亚细胞定位可做药物-靶点可达性的粗过滤(如血脑屏障药物优先中枢定位靶点)。
⑨ Pathway(通路)——1,822 个
ID 体系:Reactome 通路 ID。来源:Hetionet 独供(84,372 条 GpPW 边)。邻接角色:只与 Gene 相连。语义:有序反应集合,是机制解释的最小完整单元。检索提示:Reactome ID 可对接 Reactome 分析站与 lib 库。
⑩ Symptom(症状)——415 个
ID 体系:MeSH 症状术语。来源:Hetionet 独供(3,357 条 DpS 边)。邻接角色:只与 Disease 相连。语义:疾病表现层,可做「症状相似疾病」的表型维重定位信号。检索提示:数量少,直接全量加载即可。
⑪ Anatomy(解剖)——400 个
ID 体系:UBERON/BTO。来源:Hetionet 独供(AdG/AuG 表达边 52.7 万条 + DlA 疾病定位边 3,602 条)。邻接角色:与 Gene/Disease 相连。语义:表达部位与疾病部位层。检索提示:AeG(表达)与 AdG(上游表达调控)语义不同,打分时勿混。
⑫ Pharmacologic Class(药理分类)——345 个
ID 体系:NDF-RT/FDA 药理类。来源:Hetionet 独供(1,029 条 PCiC 边)。邻接角色:只与 Compound 相连。语义:作用机制分类(如「ACE 抑制剂」),比 ATC 更贴近机制语义。检索提示:与 Atc 类配合使用,ATC 管治疗用途、PC 管机制类别。
⑬ Tax(分类学)——215 个
ID 体系:NCBI Taxonomy ID。来源:GNBR 独供(14,663 条 in_tax 边)。邻接角色:只与 Gene 相连。语义:基因所属物种(人/小鼠/病毒等)。检索提示:坑 5——Tax:: 前缀不是基因;做人类限定分析时用它过滤「非人源」信息。
2.10 关系体系总览:17 个实体类型对与 107 种语义
107 种关系字符串在 17 个实体类型对上的分布(一手实测,关系词表 108 行含表头):
| 实体类型对 | 关系数 | 主要来源 | 语义带 |
|---|---|---|---|
| Gene:Gene | 43 | STRING 8/GNBR 12/Hetionet 5/IntAct 9/bioarx 2 等 | 互作/调控/表达/共病机制 |
| Compound:Gene | 32 | DGIDB 13/GNBR 10/Hetionet 4/IntAct 4/bioarx 2 | 结合/抑制/激活/代谢 |
| Compound:Disease | 12 | GNBR 9/Hetionet 2/DrugBank 1 | 治疗/缓解/致病 |
| Gene:Disease | 11 | GNBR 11 | 关联/突变致病/治疗靶 |
| Compound:Compound | 1 | DrugBank 1(ddi-interactor-in) | 药物相互作用 |
| Anatomy:Gene | 3 | Hetionet | 表达/表达上调/表达下调 |
| Disease:Gene | 2 | bioarx 2 | COVID 病毒-宿主基因关联 |
| Compound:Side Effect | 1 | Hetionet | 引发副作用 |
| Gene:Biological Process | 1 | Hetionet | 参与过程 |
| Gene:Cellular Component | 1 | Hetionet | 定位于 |
| Gene:Molecular Function | 1 | Hetionet | 行使功能 |
| Gene:Pathway | 1 | Hetionet | 参与通路 |
| Disease:Symptom | 1 | Hetionet | 表现为 |
| Disease:Anatomy | 1 | Hetionet | 定位于解剖 |
| Disease:Disease | 1 | Hetionet | 疾病共病关联 |
| Compound:Atc | 1 | DrugBank | 归属 ATC |
| Pharmacologic Class:Compound | 1 | Hetionet | 归属药理类 |
| 合计 | 107(含对内多源重复) | — | — |
读表要点:其一,Gene:Gene 与 Compound:Gene 两对承载 70% 的关系语义种类,是「机制层」;Compound:Disease 与 Gene:Disease 两对是「任务层」,语义种数少但每种的边数敏感度高。其二,DRUGBANK::treats 是唯一来自人工审校库的治疗语义边,可信度标尺最高;GNBR 的治疗类边(C/J/Mp/Pa/Pr/Sa/T)是文献统计口径,量大但置信度分层已在其源内消化。其三,bioarx 的 6 种关系是 2020 年 COVID 文献快照专用(DrugHumGen/DrugVirGen/HumGenHumGen/Coronavirus_ass_host_gene/Covid2_acc_host_gene/VirGenHumGen),语义带最窄但时效标记最清晰。
2.11 关系全清单:107 种关系字符串按来源分组(附录级备查)
以下清单由本条目一手提取自随包 relation_glossary.tsv(107 行),序号与词表行序一一对应;按来源分七组排列,语义列为该来源官方描述的浓缩。检索者做边类型过滤时可直接按本清单构造前缀匹配。
DGIDB 组(#1-13,Gene:Compound 对——药物-基因相互作用语义细分)
| # | 关系字符串 | 交互类型 |
|---|---|---|
| 1 | DGIDB::ACTIVATOR::Gene:Compound | 激活(机制未必明确) |
| 2 | DGIDB::AGONIST::Gene:Compound | 激动剂 |
| 3 | DGIDB::ALLOSTERIC MODULATOR::Gene:Compound | 别构调节 |
| 4 | DGIDB::ANTAGONIST::Gene:Compound | 拮抗剂 |
| 5 | DGIDB::ANTIBODY::Gene:Compound | 抗体药物 |
| 6 | DGIDB::BINDER::Gene:Compound | 结合 |
| 7 | DGIDB::BLOCKER::Gene:Compound | 阻断 |
| 8 | DGIDB::CHANNEL BLOCKER::Gene:Compound | 通道阻断 |
| 9 | DGIDB::INHIBITOR::Gene:Compound | 抑制剂 |
| 10 | DGIDB::MODULATOR::Gene:Compound | 调节 |
| 11 | DGIDB::OTHER::Gene:Compound | 其他 |
| 12 | DGIDB::PARTIAL AGONIST::Gene:Compound | 部分激动 |
| 13 | DGIDB::POSITIVE ALLOSTERIC MODULATOR::Gene:Compound | 正别构调节 |
DRUGBANK 组(#14-19)
| # | 关系字符串 | 交互类型 |
|---|---|---|
| 14 | DRUGBANK::carrier::Compound:Gene | 载体蛋白 |
| 15 | DRUGBANK::ddi-interactor-in::Compound:Compound | 药物相互作用(全图最大边类 1,379,271) |
| 16 | DRUGBANK::enzyme::Compound:Gene | 代谢酶 |
| 17 | DRUGBANK::target::Compound:Gene | 作用靶点 |
| 18 | DRUGBANK::x-atc::Compound:Atc | ATC 分类归属 |
| 19 | DRUGBANK::treats::Compound:Disease | 适应症治疗 |
GNBR 组(#20-56,文献统计挖掘,字母码语义速记)
| # | 关系字符串 | 语义速记 |
|---|---|---|
| 20 | GNBR::A+::Compound:Gene | 上调基因表达/活性 |
| 21 | GNBR::A-::Compound:Gene | 下调基因表达/活性 |
| 22 | GNBR::B::Compound:Gene | 结合(药物-基因) |
| 23 | GNBR::B::Gene:Gene | 结合(基因-基因) |
| 24 | GNBR::C::Compound:Disease | 抑制疾病过程(口径见词表) |
| 25 | GNBR::D::Gene:Disease | 疾病中基因下调 |
| 26 | GNBR::E+::Compound:Gene | 增强表达(药物-基因) |
| 27 | GNBR::E+::Gene:Gene | 增强表达(基因-基因) |
| 28 | GNBR::E-::Compound:Gene | 减弱表达 |
| 29 | GNBR::E::Compound:Gene | 影响表达(药物-基因) |
| 30 | GNBR::E::Gene:Gene | 影响表达(基因-基因) |
| 31 | GNBR::G::Gene:Disease | 基因水平变化与疾病相关 |
| 32 | GNBR::H::Gene:Gene | 同源/相似性关联 |
| 33 | GNBR::I::Gene:Gene | 直接相互作用 |
| 34 | GNBR::J::Compound:Disease | 治疗作用路径(药物侧) |
| 35 | GNBR::J::Gene:Disease | 治疗作用路径(基因侧) |
| 36 | GNBR::K::Compound:Gene | 酶促代谢关系 |
| 37 | GNBR::L::Gene:Disease | 疾病中基因上调 |
| 38 | GNBR::Md::Gene:Disease | 疾病标记物(诊断) |
| 39 | GNBR::Mp::Compound:Disease | 疾病标记物(病理过程) |
| 40 | GNBR::N::Compound:Gene | 负相关(药物-基因) |
| 41 | GNBR::O::Compound:Gene | 过量/毒性关系 |
| 42 | GNBR::Pa::Compound:Disease | 加重疾病 |
| 43 | GNBR::Pr::Compound:Disease | 预防疾病 |
| 44 | GNBR::Q::Gene:Gene | 表达共变 |
| 45 | GNBR::Rg::Gene:Gene | 基因重排 |
| 46 | GNBR::Sa::Compound:Disease | 副作用相关疾病 |
| 47 | GNBR::T::Compound:Disease | 治疗关系(GNBR 口径) |
| 48 | GNBR::Te::Gene:Disease | 治疗靶点(基因侧) |
| 49 | GNBR::U::Gene:Disease | 突变致因果 |
| 50 | GNBR::Ud::Gene:Disease | 突变修饰病程 |
| 51 | GNBR::V+::Gene:Gene | 激活基因 |
| 52 | GNBR::W::Gene:Gene | 表达弱关联 |
| 53 | GNBR::X::Gene:Disease | 过表达致疾病 |
| 54 | GNBR::Y::Gene:Disease | 疾病进程相关基因 |
| 55 | GNBR::Z::Compound:Gene | 抑制基因 |
| 56 | GNBR::in_tax::Gene:Tax | 物种归属 |
Hetionet 组(#57-80,本体结构边)
| # | 关系字符串 | 语义 |
|---|---|---|
| 57 | Hetionet::AdG::Anatomy:Gene | 解剖部位上游表达调控 |
| 58 | Hetionet::AeG::Anatomy:Gene | 解剖部位表达(526,407) |
| 59 | Hetionet::AuG::Anatomy:Gene | 解剖部位上游表达 |
| 60 | Hetionet::CbG::Compound:Gene | 化合物结合基因 |
| 61 | Hetionet::CcSE::Compound:Side Effect | 引发副作用(138,944) |
| 62 | Hetionet::CdG::Compound:Gene | 化合物下调基因 |
| 63 | Hetionet::CpD::Compound:Disease | 化合物缓解疾病 |
| 64 | Hetionet::CrC::Compound:Compound | 化合物结构相似 |
| 65 | Hetionet::CtD::Compound:Disease | 化合物治疗疾病(1,145) |
| 66 | Hetionet::CuG::Compound:Gene | 化合物上调基因 |
| 67 | Hetionet::DaG::Disease:Gene | 疾病关联基因 |
| 68 | Hetionet::DdG::Disease:Gene | 疾病下调基因 |
| 69 | Hetionet::DlA::Disease:Anatomy | 疾病定位于解剖 |
| 70 | Hetionet::DpS::Disease:Symptom | 疾病表现症状 |
| 71 | Hetionet::DrD::Disease:Disease | 疾病共病 |
| 72 | Hetionet::DuG::Disease:Gene | 疾病上调基因 |
| 73 | Hetionet::GcG::Gene:Gene | 基因共表达 |
| 74 | Hetionet::GiG::Gene:Gene | 基因干扰基因(147,164) |
| 75 | Hetionet::GpBP::Gene:Biological Process | 参与生物过程(559,504) |
| 76 | Hetionet::GpCC::Gene:Cellular Component | 定位细胞组分 |
| 77 | Hetionet::GpMF::Gene:Molecular Function | 行使分子功能(97,222) |
| 78 | Hetionet::GpPW::Gene:Pathway | 参与通路 |
| 79 | Hetionet::Gr>G::Gene:Gene | 基因调控基因(265,672) |
| 80 | Hetionet::PCiC::Pharmacologic Class:Compound | 药理类归属 |
INTACT 组(#81-93,实验验证互作)
| # | 关系字符串 | 交互类型 |
|---|---|---|
| 81 | INTACT::ADP RIBOSYLATION REACTION::Gene:Gene | ADP 核糖基化反应 |
| 82 | INTACT::ASSOCIATION::Compound:Gene | 关联(化合物-蛋白) |
| 83 | INTACT::ASSOCIATION::Gene:Gene | 关联(112,390 条基因-基因) |
| 84 | INTACT::CLEAVAGE REACTION::Gene:Gene | 切割反应 |
| 85 | INTACT::COLOCALIZATION::Gene:Gene | 亚细胞共定位 |
| 86 | INTACT::DEPHOSPHORYLATION REACTION::Gene:Gene | 去磷酸化反应 |
| 87 | INTACT::DIRECT INTERACTION::Compound:Gene | 直接相互作用(化合物-蛋白) |
| 88 | INTACT::DIRECT INTERACTION::Gene:Gene | 直接相互作用 |
| 89 | INTACT::PHOSPHORYLATION REACTION::Gene:Gene | 磷酸化反应 |
| 90 | INTACT::PHYSICAL ASSOCIATION::Compound:Gene | 物理结合(化合物-蛋白) |
| 91 | INTACT::PHYSICAL ASSOCIATION::Gene:Gene | 物理结合(129,318 条基因-基因) |
| 92 | INTACT::PROTEIN CLEAVAGE::Gene:Gene | 蛋白切割 |
| 93 | INTACT::UBIQUITINATION REACTION::Gene:Gene | 泛素化反应 |
STRING 组(#94-101,功能关联网络)
| # | 关系字符串 | 交互类型 |
|---|---|---|
| 94 | STRING::ACTIVATION::Gene:Gene | 激活 |
| 95 | STRING::BINDING::Gene:Gene | 物理结合(315,875) |
| 96 | STRING::CATALYSIS::Gene:Gene | 催化(343,533) |
| 97 | STRING::EXPRESSION::Gene:Gene | 表达影响 |
| 98 | STRING::INHIBITION::Gene:Gene | 抑制 |
| 99 | STRING::OTHER::Gene:Gene | 其他(310,690) |
| 100 | STRING::PTMOD::Gene:Gene | 翻译后修饰 |
| 101 | STRING::REACTION::Gene:Gene | 同一反应(400,426) |
bioarx 组(#102-107,COVID-19 文献快照专用)
| # | 关系字符串 | 语义 |
|---|---|---|
| 102 | bioarx::Coronavirus_ass_host_gene::Disease:Gene | 冠状病毒相关宿主基因 |
| 103 | bioarx::Covid2_acc_host_gene::Disease:Gene | SARS-CoV-2 受体/辅助宿主基因 |
| 104 | bioarx::DrugHumGen:Compound:Gene | 文献药物-人类基因 |
| 105 | bioarx::DrugVirGen:Compound:Gene | 文献药物-病毒基因 |
| 106 | bioarx::HumGenHumGen:Gene:Gene | 文献人类基因-人类基因 |
| 107 | bioarx::VirGenHumGen:Gene:Gene | 病毒基因-人类基因 |
使用说明:其一,序号即词表行序(relation_glossary.tsv 第 2-108 行),词表另附六列完整语义描述与上游参考链接,本清单为速查浓缩。其二,GNBR 字母码跨实体对(如 B/E/E+/J)在词表中计为独立字符串,107 的计数口径即「唯一关系字符串数」。其三,DGIDB 组在 drkg.tsv 实际存储方向为基因在头(Gene::207 → DGIDB::INHIBITOR::Gene:Compound → Compound::DB00385),按头尾类型过滤时注意方向约定。其四,边数标注仅对少数大边类给出(一手实测),全量逐关系边数可对 drkg.tsv 关系列 sort | uniq -c 自行复算。
2.12 跨源同语义横评:同一件事,七个来源怎么说
整合图谱的核心难点是「同一语义在多源有不同表达」。以一手 107 关系清单为底,对药物重定位最常用的四组语义做跨源横评:
治疗/缓解语义(5 种字符串)
| 关系字符串 | 来源性质 | 边数口径 | 使用建议 |
|---|---|---|---|
| DRUGBANK::treats::Compound:Disease | 人工审校适应症 | DrugBank 侧 4,968(官方表) | 金标准;打分权重最高 |
| Hetionet::CtD::Compound:Disease | 文献+库整合(1,145) | Hetionet 口径 | 与 treats 互补,含老药适应症 |
| GNBR::T::Compound:Disease | 文献统计 | GNBR 侧 77,782 | 量大、含 off-label 证据,置信度自管 |
| GNBR::J::Compound:Disease | 文献统计(治疗作用路径) | 与 T 配对 | 机制路径补强 |
| Hetionet::CpD::Compound:Disease | 缓解语义( palliation) | Hetionet 口径 | 注意是缓解不是治愈 |
结合/抑制语义(DGIDB 13 种 + Hetionet CbG + GNBR B/K + IntAct 物理类)
DGIDB 的 13 种细分(激活/激动/拮抗/阻断/抑制等)是药物-靶点语义的最细粒度;Hetionet::CbG 与 GNBR::B 是同层的粗粒度结合;IntAct 的 PHYSICAL ASSOCIATION/DIRECT INTERACTION 是实验验证档。实践:做靶点级打分时用 DGIDB 细分(激动的药与拮抗的药方向相反,混为一谈会颠倒是非——拮抗剂对「抑制靶点活性」的疾病是正向,对「激活靶点缺失」的疾病可能反向);做「是否作用于此靶」的粗筛时合并三源。
基因互作语义(STRING 8 种 + IntAct 13 种 + Hetionet 5 种 + GNBR 12 种)
同是 Gene:Gene 对:IntAct 给实验物理证据(PHYSICAL ASSOCIATION/DIRECT INTERACTION/磷酸化等反应)、STRING 给计算+实验混合的功能关联(含 OTHER 大类)、Hetionet 给调控方向(Gr>G 上调/GiG 下调)、GNBR 给文献共现(含表达方向 E+/E-)。实践:构建「靶点上下游网络」时以 Hetionet 方向边为骨架、IntAct 为物理锚、STRING 补广度、GNBR 补文献密度——四层叠用比择一更有信息量。
物种限定(GNBR::in_tax)
全图唯一的物种归属语义(14,663 条)。实践:任何「人类特异性」分析先用 in_tax 过滤 Tax::9606(人类)关联,再避免把小鼠/病毒基因的边误并入人类结论。
2.13 同一关系字符串内的方向约定
drkg.tsv 的头尾方向并非全图统一「主语在前」:DGIDB 组按 Gene:Compound 存储(基因在头),而 DGIDB 语义里动作主体是药物——检索「某药物激活哪些基因」时需按尾实体过滤;DRUGBANK::treats 与 Hetionet::CtD 则是 Compound 在头。最稳妥的姿势:不猜方向,按 关系字符串::头类型:尾类型 的类型标注路由(关系字符串自带方向声明),或双向枚举后按类型对筛选。这是初次解析 DRKG 最常见的绊脚点之一(§10 坑 9)。
2.14 关键文件字段字典:五个文件的逐列说明
drkg.tsv(三元组主表,5,874,261 行 × 3 列,Tab 分隔,无表头)
| 列序 | 字段 | 格式 | 示例 | 解析要点 |
|---|---|---|---|---|
| 1 | 头实体 | 类型::ID |
Gene::2157 |
13 类型前缀路由(§2.1) |
| 2 | 关系 | 来源::语义:头类型:尾类型 |
GNBR::B:Gene:Gene |
来源取 :: 前段;方向按类型段(§2.13) |
| 3 | 尾实体 | 类型::ID |
Gene::5264 |
同列 1 |
entity2src.tsv(实体-来源映射,97,238 行,Tab 分隔多列,无表头)
| 列序 | 字段 | 格式 | 解析要点 |
|---|---|---|---|
| 1 | 实体名 | 类型::ID |
含 1 个空 ID 特例 Gene::(坑 7) |
| 2+ | 来源串(1-7 段) | [源标签] URL |
标签七种(Bibliograpic sources/Drugbank/STRING/Hetionet/GNBR/IntAct/DGIdb);按 Tab 全列读再逐段匹配 |
relation_glossary.tsv(关系词表,108 行 = 表头 + 107,六列,Tab 分隔)
| 列序 | 字段 | 内容 |
|---|---|---|
| 1 | Relation-name | 107 种关系字符串(§2.11 全清单的序号即本表行序) |
| 2 | Data-source | 上游来源 |
| 3 | Connected entity-types | 头尾类型对 |
| 4 | Interaction-type | 交互语义短词(activation/agonism 等) |
| 5 | Description | 官方语义描述全文 |
| 6 | Reference for the description | 语义出处 URL |
embed/entities.tsv(实体-ID 映射,97,238 行 × 2 列,无表头)
| 列序 | 字段 | 说明 |
|---|---|---|
| 1 | 实体名 | 与 drkg.tsv 实体一致;行序即嵌入矩阵行序 |
| 2 | 数字 ID | 0-97,237 连续索引 |
embed/relations.tsv(关系-ID 映射,107 行 × 2 列,无表头)
| 列序 | 字段 | 说明 |
|---|---|---|
| 1 | 关系字符串 | 行序即关系嵌入矩阵行序 |
| 2 | 数字 ID | 0-106 连续索引 |
工程提示:五个文件全部可用 pd.read_csv(sep='\t', header=None) 直读;唯一的多列变长文件是 entity2src.tsv(每行 2-8 列不定长),读法见 §2.8。嵌入矩阵与映射表的行序对齐是全套数据最核心的隐含契约——任何重排/排序/去重操作后必须同步重排两侧(坑 8 的姊妹坑:映射错位导致的分数错乱比分数错误更隐蔽)。
§3 建图方法:六个数据库如何焊成一张图
3.1 七个来源的角色分工
DRKG 没有自建抽取管线(文献部分除外),其工程核心是「选源-对齐-合并」三步:
| 来源 | 上游性质 | DRKG 中的角色 | 一手实测边数 |
|---|---|---|---|
| DrugBank | 人工审校药物数据库 | 药物世界的锚点:化合物 ID 体系(DB 号)、药物-药物相互作用、药物-靶点、ATC 分类、适应症 | 1,424,790 |
| Hetionet | 2017 年整合图谱(Himmelstein et al., eLife) | 本体结构边的主要供给:GO 三件套、Reactome 通路、SIDER 副作用、UBERON 解剖、症状、药理分类 | 2,250,197 |
| GNBR | 文献共现统计挖掘(Percha & Altman 口径) | 文献派生关系网络:基因-基因、药物-基因、疾病-基因 | 335,369 |
| STRING | 蛋白质功能关联数据库 | 基因-基因互作的最大单一来源 | 1,496,708 |
| IntAct | EBI 实验验证互作库 | 物理结合边的质量锚(Apache-2.0 许可最干净的一源) | 256,151 |
| DGIdb | 药物-基因相互作用挖掘 | 补充药物-靶点语义(ACTIVATOR/AGONIST/ANTAGONIST 等 26,290 条) | 26,290 |
| 文献抽取(bioarx) | GNBR 团队 COVID 扩展管线(bioRxiv 2020.03.11.986836) | 时效性增量:COVID-19 相关出版物的三元组 | 84,756 |
选源逻辑:六个数据库不是随机拼盘——DrugBank 管「药」、STRING/IntAct 管「靶」、GNBR 管「文献证据」、Hetionet 管「本体骨架」、DGIdb 管补充语义,文献部分管「时效」。这个分工使得 DRKG 在药物重定位四类核心关系(药物-靶点、药物-疾病、基因-疾病、药物-药物)上都有多源冗余。
3.2 ID 归一化与实体合并:图能连起来的前提
跨源整合的第一性问题是同一实体在不同库里 ID 不同。DRKG 的归一化约定:基因/蛋白统一到 Entrez Gene ID、化合物统一到 DrugBank ID、疾病统一到 CUI(部分 DO)、GO 概念用 GO ID、通路用 Reactome ID、副作用用 SIDER ID、解剖用 UBERON/BTO、ATC 用 ATC code、分类学用 NCBI Taxonomy ID。合并后每实体在图内唯一,多源出身记录在 entity2src.tsv——一手抽查 Gene::1 同时携带六源标记、Gene::10 携带七源中的六源,说明跨源合并粒度做到了单实体级。
合并的代价(AI-Ready 视角的诚实披露):其一,合并依赖 ID 映射的准确性,官方未发布逐实体合并置信度;其二,GNBR 的「基因」混含 Entrez 蛋白编码基因与其分类学节点(Tax 215 个),初见者易把 Tax:: 前缀实体误当基因;其三,疾病侧 CUI 与 DO 双体系并存(Hetionet 供 DO、GNBR 供 CUI),跨体系对齐在 DRKG 内未做显式链接——做疾病泛化检索时需要外部映射表辅助。
3.3 文献抽取部分:COVID-19 的时间胶囊
84,756 条 bioarx 边是 DRKG 与前代整合图谱最本质的差异。来源是 GNBR 团队的 COVID-19 文献扩展管线:以「COVID-19/SARS-CoV-2 相关基因与药物」为主题词对近期出版物(湖南大学新闻稿口径:从 2,200 万篇文献语料出发)做语义抽取,产出 HumGenHumGen(人类基因-人类基因)、HumGenCov(人类基因-COVID 蛋白)等子类型三元组。entity2src 中该部分统一挂 Bibliograpic sources 标签并链接到 bioRxiv 2020.03.11.986836 全文 PDF。
时间胶囊属性:这部分边反映的是 2020 年上半年(数据包打包 2020-06-15)的文献快照——彼时瑞德西韦尚未获批、疫苗未上市。检索者今天复用这批边时必须意识到它冻结的是疫情最初数月的知识状态;官方从未发布数据更新,这个「2020 年时点」属性是 DRKG 不可磨灭的版本指纹(坑 6)。
3.4 质量控制:官方做了什么、没做什么
做了的:跨源 ID 对齐与实体合并(§3.2);GNBR 边沿用其概率阈值管线(低于阈值的候选边在建源阶段已被过滤);Hetionet 边沿用其论文中的预选阈值;对 107 种关系逐条撰写交互语义(relation_glossary.tsv);notebook 层面提供 Jaccard/overlap 系数分析边类型相似性的自查工具。
没做的:无逐边人工验证金标准;无跨源冲突仲裁记录(同一药物-靶点对在不同源的语义冲突如何取舍未见文档);文献抽取边未附抽取置信度;合并错误(如同名不同义基因)无官方勘误表。换言之,DRKG 的质量立场是「各源已各自把关、我只管对齐」——这对整合型图谱是合理立场,但检索者需要知道「源头质量外包」的边界在哪。
3.5 2021 年修复事件:首行表头事故与数字口径演化
一手考据的版本链:2020-06-15 S3 数据包上传后本体未再变更;2021-10-24 仓库提交「Fix to keep first triplet from DRKG in DataFrame in order to ensure that first triplet in drkg.tsv is not treated as header of table」——修复的是下游读取逻辑:notebooks 中 pandas 读取 drkg.tsv 时首行被误当表头丢弃。fork ishaan-mehta/DRKG 保留的旧 README 记载三元组总数 5,869,294(其中化合物-疾病 78,927、疾病-基因 123,838),与现行官方 5,874,261(83,895/123,837)相差的 4,967 条恰与化合物-疾病差值 4,968 对应——即被误吃的首行起算的那批 DrugBank 化合物-疾病三元组。结论:数据本体一直是 5,874,261 条,5,869,294 是读取误差口径;任何引用旧口径的第三方材料(含部分早期论文与镜像)都应按此存照校正(坑 3)。
3.6 合并实例解剖:一个实体的七源之旅
以一手抽查的 Gene::1(Entrez ID 1,即 A1BG 基因)为例,看跨源合并的实际形态。entity2src.tsv 中该行一手实录(Tab 展开为六段来源标记):
Gene::1 [Bibliograpic sources] Collection of datasources from paper: https://www.bioRXiv…/2020.03.11.986836v1.full.pdf
[Drugbank] https://www.drugbank.ca/atc
[STRING] https://string-db.org/
[DGIdb] http://www.dgidb.org/
[Hetionet] Biomedical knowledge graph https://het.io/about/
[GNBR] Data extracted from biomedical texts see https://www.ncbi.nlm.nih.gov/pubmed/29490008/
解读:其一,该实体同时携带六个来源标记(七源中仅缺 IntAct),是「高频枢纽实体」的典型形态——基因 ID 越小(越早期收录)跨源覆盖通常越广。其二,来源字段不是布尔标记而是「标签+URL」串,URL 直接指向各源——这是 DRKG 唯一的溯源粒度(实体级,非边级)。其三,Gene::10 一手核对携带 IntAct 标记,说明 IntAct 覆盖虽只有 1.6 万基因但与六源有大量交集。
合并的工程含义:六个源各自用不同的基因标识(DrugBank 用自己的靶点 ID、STRING 用 Ensembl/蛋白名、GNBR 用 Entrez),DRKG 在建图阶段统一折算到 Entrez——这个映射质量决定了图的连通性,但官方未发布映射错误率。检索者若发现「某基因的边看起来张冠李戴」,第一步应回查 Entrez ID 是否在中途被误映射(此为整合型图谱最常见的隐性错误形态)。
3.7 从 2200 万文献到 84,756 条边:文献管线的量级账
湖南大学新闻稿口径:DRKG 从「2200 万篇医学文献」中挖掘数据。一手可核的链路:GNBR 原管线(Percha & Altman 2018)从 PubMed 摘要出发产出候选关系对→按模式统计与阈值过滤→COVID 扩展管线(bioRxiv 2020.03.11.986836)聚焦新冠病毒相关实体→DRKG 收录其中 84,756 条。量级衰减是文献抽取的常态:2200 万篇文献最终落在图内的边不足十万——不是损耗而是提纯(只有高置信、结构化成功的关系对才成为边)。检索者引用时写「从大规模文献语料挖掘、经 GNBR 管线提纯的 84,756 条边」是准确表述;写「2200 万条知识」则是把语料量级错当知识量级。
§4 任务与评估:从嵌入到药物名单
4.1 下游任务设定:知识图谱补全即药物重定位
DRKG 的官方任务框架是知识图谱补全(KGC)视角下的链接预测:给定头实体与关系(如 Compound::DB00385 + GNBR::Treats:Disease:Compound),对全部候选尾实体打分排序;药物重定位 = 在「化合物-治疗-疾病」及其经基因中介的复合边上做排序检索。这个设定把问题从「是否有效」降为「排序是否靠前」——DRKG 输出的是候选优先级,不是疗效证明。
4.2 TransE_l2 与 DGL-KE:嵌入怎么训的
官方预训练嵌入用 DGL-KE(AWS 自研的知识图谱嵌入大规模训练库)在全图 5,874,261 条边上训练 TransE 模型(L2 距离版,400 维)。notebook Train_embeddings.ipynb 复现训练流程:按 90%/5%/5% 划分训练/验证/测试集。 TransE 的语义假设是 头实体向量 + 关系向量 ≈ 尾实体向量——对药物重定位意味着:若化合物向量加上「治疗」关系向量后离某疾病向量很近,则该化合物被排为该疾病的候选药。DGL-KE 的工程价值在于把亿级边的嵌入训练压到单机多 GPU 或小型集群可行的时长,这也解释了 DRKG 为何「嵌入随数据发放」——训练本身对多数生物医学团队有门槛。
4.3 COVID-19 重定位 notebook:官方示范的完整链路
COVID-19_drug_repurposing.ipynb 的五步流程(官方仓库一手核对):其一,取 SARS-CoV-2 宿主蛋白与病毒蛋白关联基因集(来自文献与公开宿主因子研究);其二,从 107 种关系中筛选与「化合物-抑制-基因」「化合物-治疗-疾病」相关的候选边类型;其三,用预训练 TransE 嵌入对全部 (化合物, 目标基因) 候选对计算分数(TransE 距离 + 关系加权);其四,聚合基因级分数到药物级排名,输出 top-100 候选药物;其五,与当时公开的 COVID-19 临床试验药物名单对照——多种临床试验药物(含瑞德西韦等)获得高分。
方法论注意:该流程是「纯图内推理」——不使用分子的结构性质、不使用体外验证数据,分数的意义完全由图内边分布决定。它是示范管线而非经过前瞻验证的发现引擎;团队另一篇方法论文(arXiv:2007.10261,inductive RGCN few-shot 链接预测)提供了图外泛化的改进方向:对训练时未见的关系类型做归纳式嵌入,缓解新疾病(如 COVID-19)边稀疏的冷启动问题。
4.4 评估口径:41/11 与 top-100 的证据等级
官方战绩口径集中在 Amazon Science 博客(2020-06-02):「团队分析识别的 41 种药物中 11 种曾/正在进入 COVID-19 临床试验」。三个证据等级要点:其一,这是事后对照——临床试验名单是公开既有事实,11/41 说明图内打分与全球科研共同体的选择有相关性,不构成疗效证据;其二,41 药完整名单未随任何正式出版物发放(DRKG 无正式论文),复现需重跑 notebook 的 top-100 并自行对齐当时试验名单;其三,notebook 的 top-100 与博客的 41 药是不同聚合口径(前者是全库化合物排序,后者是团队分析子集),引用时勿混。第三方评估中,LLaDR(2025,arXiv 2510.12181)把 DRKG 作为 LLM 辅助药物重定位的主数据集、以 DGL-KE 训练的 TransE/RotatE 为基线——侧面说明 DRKG 已成为该方向事实上的对照基准。
4.5 统计与复现卫生:读这组数字的五条守则
其一,引用规模数字以「97,238/5,874,261/107/13」为准(一手实测与现行官方一致),见到 5,869,294 即知是 2021-10 前读取误差口径(§3.5);其二,41/11 属「与临床试验重合度」口径,不得写成「11 种药物被证明有效」;其三,嵌入分数只在同一次训练的嵌入矩阵内可比,混用自训练嵌入与官方嵌入的分数无意义;其四,DRKG 边等权——打分时的关系加权(如 GNBR Treats 边权重高于文献共现边)是 notebook 的建模选择,不是图的固有属性;其五,任何「DRKG 上的 SOTA」结论都应注明数据版本指纹(2020-06-15 S3 包),因为官方从未更新数据,版本漂移风险为零但知识陈旧风险常在。
4.6 官方 notebook 逐个档案:十本册子的分工
官方仓库的 notebooks 覆盖「看图-训图-用图」三层,逐个档案如下(目录名一手核对):
① raw_graph_analysis/Jaccard_scores_among_all_edge_types_in_DRKG.ipynb
任务:计算 107 种边类型两两间的 Jaccard 系数与 overlap 系数,评估结构相似性。价值:决定「哪些关系可以合并训练/分开评估」的量化依据;发现某些边类型几乎互斥(不同来源对同一实体对的独立证据),某些高度重叠(同一语义的多源表达)。
② knowledge-graph-embedding-based-analysis-of-drkg/Train_embeddings.ipynb
任务:全流程训练 TransE_l2 嵌入——90/5/5 划分训练/验证/测试、调用 DGL-KE 训练、导出 .npy。价值:官方嵌入的可复现训练配方;想换模型(RotatE/ComplEx)者以此为模板改造。
③ knowledge-graph-embedding-based-analysis-of-drkg/Relation_similarity_analysis.ipynb
任务:在训练好的关系嵌入空间里算关系间相似度。价值:验证嵌入是否学出语义结构——语义相近的关系(如各类结合)在向量空间是否聚簇。
④ knowledge-graph-embedding-based-analysis-of-drkg/Entity_similarity_analysis.ipynb
任务:实体嵌入相似度分析。价值:最近邻查询模板——给一个化合物找相似化合物、给一个基因找相似基因的最短代码路径。
⑤ knowledge-graph-embedding-based-analysis-of-drkg/Edge_score_analysis.ipynb
任务:评估学得的 KGE 模型对 DRKG 已知边的复现能力(边分数分布与排序质量)。价值:官方质量自证——嵌入不是随机向量,对已知边的打分显著区分真边与随机负样本。
⑥ knowledge-graph-embedding-based-analysis-of-drkg/Edge_similarity_based_on_link_recommendation_results.ipynb
任务:比较不同关系类型上的链接推荐结果的相似性。价值:交叉验证「嵌入排序」与「图结构信号」的一致性。
⑦ drug_repurpose/COVID-19_drug_repurposing.ipynb
任务:官方旗舰示范——用预训练嵌入对 COVID-19 宿主蛋白关联做全库化合物打分,输出 top-100 候选药物。价值:五步管线(取宿主基因集→筛边类型→打分→聚合排名→临床试验对照)是所有下游重定位项目的模板;41/11 官方战绩即出自此流程。
⑧ drkg_with_dgl/loading_drkg_in_dgl.ipynb
任务:把 drkg.tsv 装进 DGL 异构图(heterograph)并演示查询。价值:从「三元组表」到「图对象」的桥——要做 GNN(RGCN/HGT)的团队从这里开始。
⑨ utils/ 下载工具
任务:数据包自动下载与解压封装。价值:notebook 依赖项,保证克隆仓库即可运行。
⑩ raw_graph_analysis/ 统计工具集
任务:度分布、边分布等图统计基础分析。价值:快速体检图结构的入口。
组合建议:标准学习路径 ⑨→①→②→③④⑤→⑦→⑧;只想复用官方嵌入做应用 ⑨→⑦(跳过训练);想训自己的模型 ⑨→②→⑧。
4.7 复现实测指南:本条目数字的完整复算命令
以下命令块为本条目全部「一手实测」数字的复算路径(2026-10-04 于 Linux 环境实测通过),检索者可逐条验证:
# 1. 下载与指纹
wget https://dgl-data.s3-us-west-2.amazonaws.com/dataset/DRKG/drkg.tar.gz
ls -la drkg.tar.gz # 应为 216650245 字节
curl -sI https://dgl-data.s3-us-west-2.amazonaws.com/dataset/DRKG/drkg.tar.gz | grep -i 'content-length\|last-modified'
tar -xzf drkg.tar.gz
# 2. 规模三数
wc -l drkg.tsv # 5874261
wc -l entity2src.tsv # 97238
wc -l embed/relations.tsv # 107
# 3. 十三类实体分布(与官方表逐项核对)
cut -f1 entity2src.tsv | cut -d: -f1 | sort | uniq -c | sort -rn
# 4. 七源边分布(与官方表逐项核对)
cut -f2 drkg.tsv | cut -d: -f1 | sort | uniq -c | sort -rn
# 5. 最大单一关系
cut -f2 drkg.tsv | sort | uniq -c | sort -rn | head -3
# 首行应为 DRUGBANK::ddi-interactor-in::Compound:Compound 1379271
# 6. 嵌入维度数学自洽(97,238×400×4+128 = 155,580,928)
ls -la embed/DRKG_TransE_l2_entity.npy
python3 -c "import numpy as np; e=np.load('embed/DRKG_TransE_l2_entity.npy'); print(e.shape, e.dtype)"
# 应输出 (97238, 400) float32
Python 侧最小验证:
import pandas as pd
drkg = pd.read_csv('drkg.tsv', sep='\t', header=None)
assert len(drkg) == 5_874_261
assert drkg[1].nunique() == 107
assert drkg[0].str.split('::').str[0].nunique() == 13 # 头实体类型(尾实体另计)
# 空实体检查(坑 7)
src = pd.read_csv('entity2src.tsv', sep='\t', header=None, dtype=str)
assert (src[0] == 'Gene::').sum() == 1
复算注意事项:sort | uniq -c 全量跑一次 5,874,261 行在普通笔记本约需 1-2 分钟,内存峰值 1GB 内;若只想验证七源分布,cut -d: 边切边管道,内存可压到几十 MB。
4.8 四套分子嵌入对比:选哪套、怎么选
| 嵌入文件 | 预训练策略 | 适用场景 |
|---|---|---|
| mol_contextpred.npy | 预测子图邻域结构(context prediction) | 结构保守性敏感的任务(骨架跃迁小的类似物排序) |
| mol_infomax.npy | 最大化局部-全局互信息 | 通用表征;无先验时的默认选择 |
| mol_edgepred.npy | 鼓励相邻节点相似、相异节点远离 | 键级/官能团差异敏感的任务 |
| mol_masking.npy | 预测被遮蔽原子/键属性 | 原子性质敏感(毒性/反应性)相关任务 |
要点:四套均出自 Hu et al. 2019 预训练策略、DGL-LifeSci 实现,覆盖 DrugBank 小分子子集;官方 COVID notebook 主流程只用 TransE 嵌入,分子嵌入是「化合物侧特征」的备选增强。选型无银弹——实证做法是四套都算一遍下游指标取最优,并在论文中声明所选用的是哪一套(四套不可互换混用)。
§4(续)打分、排序与复现细节
4.9 TransE 打分的数学形态与最小实操
官方嵌入的打分逻辑(notebook 实现口径):对候选三元组 (h, r, t),分数 = -||h_vec + r_vec - t_vec||₂(L2 距离取负,越大越好)。药物重定位实操三步:
import numpy as np, pandas as pd
entity_emb = np.load('embed/DRKG_TransE_l2_entity.npy')
rel_emb = np.load('embed/DRKG_TransE_l2_relation.npy')
entity_ids = pd.read_csv('embed/entities.tsv', sep='\t', header=None)
rel_ids = pd.read_csv('embed/relations.tsv', sep='\t', header=None)
name2id = {n: i for i, n in enumerate(entity_ids[0])}
# 第一步:构造候选边类型(例:治疗类关系的组合权重,notebook 口径)
gamma = 12.0 # 打分尺度超参(官方 notebook 口径)
def transE_score(h, r, t):
return -np.linalg.norm(entity_emb[h] + rel_emb[r] - entity_emb[t])
# 第二步:对全部化合物 × 目标疾病枚举候选边
treat_rels = [i for n, i in name2id_rel.items()
if 'Treats' in n or 'treats' in n or 'CtD' in n]
comp_ids = [i for n, i in name2id.items() if n.startswith('Compound::')]
disease = name2id['Disease::C0010520'] # 例:COVID-19 相关 CUI
# 第三步:逐关系打分、按化合物聚合(多关系取组合,notebook 口径加权平均)
scores = {c: np.mean([transE_score(c, r, disease) for r in treat_rels])
for c in comp_ids}
top20 = sorted(scores.items(), key=lambda kv: -kv[1])[:20]
三个工程要点:其一,gamma 与关系加权系数照抄官方 notebook 起步,自行调参需在已知边上做消融(坑 8)。其二,多关系聚合是 notebook 的建模选择——先按单关系排序看分布、再做聚合,比一步到位可控。其三,打分排序给出的是「图内证据的相对排序」,任何候选进入实验前必须回查文献与药化性质(DRKG 不含分子结构信息,分子侧特征用 mol_*.npy 四件套补充)。
4.10 负采样与评估协议:复现官方数字的前提
官方 Train_embeddings.ipynb 的评估协议:90/5/5 随机划分训练/验证/测试三元组,测试集上做过滤式排名(filtered setting:排名时剔除训练/验证集已存在的真边,KGE 标准协议)。复现要点:其一,随机划分未设随机种子存档,逐位复现官方排名不可行,能复现的是指标量级;其二,负样本生成方式(均匀随机替换头或尾)在 notebook 内可查,自行换负采样器会显著改变指标,对比实验时必须声明;其三,107 种关系的难度高度不均(ddi 类边几乎全来自单一来源,排序容易;稀疏的治疗边排序难),报整体均值会掩盖「重定位最关心的边恰恰最难」这一事实——按关系分组报告是更诚实的评估姿势。
§5 横向比较:生物医药知识图谱景观中的 DRKG
5.1 与 Hetionet 的定量比较:超集化继任者
DRKG 与 Hetionet 的关系不是竞品而是母体-扩容:Hetionet 的 2,250,197 条边被原样吸收(占 DRKG 全图 38.3%,一手实测前缀计数),其本体骨架(GO/Reactome/SIDER/UBERON/症状)构成 DRKG 的结构边。Briefings in Bioinformatics 综述(bbac404)直接以「builds upon Hetionet」定位 DRKG。定量对照:
| 维度 | Hetionet v1.0(2017) | DRKG(2020) |
|---|---|---|
| 实体数 | 约 47,031(11 类型) | 97,238(13 类型) |
| 三元组数 | 约 2,250,197(24 种边) | 5,874,261(107 种边) |
| 实体对 | 16 个 | 17 个 |
| 药物-疾病边 | 约 1,145(Hetionet CtD) | 83,895(DrugBank+GNBR 合并) |
| 基因-基因边 | 约 474,526 | 2,350,931(+STRING 150 万) |
| 预训练嵌入 | 无 | TransE_l2 400 维 + 4 套分子嵌入 |
| 数据更新 | 2017 年后停更 | 2020-06-15 后停更 |
| 许可 | 各源 Mixed | 七源异构(三源 CC BY-NC) |
要点:体量 ×2.7、关系语义 ×4.5;Hetionet 的药物-疾病边仅 1,145 条,DRKG 经 DrugBank+GNBR 扩到 83,895 条——对药物重定位任务这是最实质的增量。但 DRKG 吸收的是 Hetionet 的边而非其全部元数据(如 Hetionet 的来源论文链接在 DRKG 内不再逐边可查),需要溯源时仍要回查 Hetionet 本体。
5.2 与 PrimeKG 的路线分野:文献-数据库整合派 vs 临床多组学派
PrimeKG(哈佛 Zitnik Lab,2023,库内 rid 831)与 DRKG 常被并列检索,但路线不同:DRKG 走「文献-数据库整合 + 嵌入发放」——把已有关联证据焊成一张图并训练嵌入,目的是排序候选;PrimeKG 走「临床多组学整合」——20 个数据源带疾病本体消解与文本字段(DrugBank 指示/禁忌/标签外用药、OMIM 表型、孤儿药标注),目的是精准医疗决策支持。定量快照:PrimeKG 129,375 节点/405 万边/10 类节点/30 种边 vs DRKG 97,238/587 万/13 类/107 种;PrimeKG 边带指示/禁忌/标签外三档细语义且数据 CC0 发放,DRKG 边语义粗但覆盖广且嵌入随发。选型直觉:做嵌入排序与管线示范选 DRKG(开箱即推理),做医疗决策语义与合规发放选 PrimeKG(CC0 商用无障碍)。
5.3 景观表:七个同期生物医药知识图谱
综述(bbac404,Briefings in Bioinformatics 2022)Table 15 口径 + 库内条目交叉核对:
| 图谱 | 年份 | 实体 | 三元组 | 实体类型 | 关系类型 | 特色 |
|---|---|---|---|---|---|---|
| Hetionet | 2017 | 47K | 2.2M | 11 | 24 | 整合图谱开创者,DRKG 母体 |
| DRKG | 2020 | 97K | 5.7M | 13 | 107 | 嵌入随发,COVID 应急 |
| BioKG | 2020 | 105K | 2M | 10 | 17 | 精简化整合,13 源 |
| PharmKG | 2020 | 7.6K | 500K | 3 | 29 | 带连续特征的三元药物图 |
| OpenBioLink | 2020 | 184K | 4.7M | 7 | 30 | 基准导向( train/test 划分发布) |
| PrimeKG | 2023 | 129K | 4.1M | 10 | 30 | 临床多组学+CC0 |
| CKG(Clinical KG) | 2020 | 16M | 220M | 35 | 57 | 临床级大体量 |
DRKG 的生态位:中等体量、语义最细(107 种边)、唯一把预训练嵌入作为数据集组成部分发放——这使它成为 2020-2025 年间知识图谱嵌入方法论文最常用的生物医学实验床之一(LLaDR、VitaGraph 等均以其为底座或对照)。
5.4 DAIMS 表:数据集与 AI 方法适配度
| AI 方法族 | 适配度 | 依赖资产 | 要点 |
|---|---|---|---|
| 知识图谱嵌入(TransE/RotatE/ComplEx) | ★★★★★ | drkg.tsv + embed/ | 官方嵌入直接作基线;自训练用 DGL-KE/PYKEEN |
| 图神经网络(RGCN/HGT/异构图) | ★★★★★ | drkg.tsv | notebook loading_drkg_in_dgl 给出 DGL 异构图构建范式 |
| 药物重定位排序 | ★★★★★ | drkg.tsv + TransE 嵌入 | 官方 COVID notebook 即完整范式 |
| 分子性质预测/冷启动药物 | ★★★★☆ | mol_*.npy + drkg.tsv | 分子嵌入供化合物侧特征;新药无历史边时依赖 |
| LLM 辅助药物发现 | ★★★★☆ | drkg.tsv | LLaDR 范式:图嵌入提供结构知识、LLM 提供语义 |
| 传统机器学习(边分类) | ★★★☆☆ | drkg.tsv + entity2src | 需自行构造负样本与特征 |
| 生成式分子设计 | ★★☆☆☆ | mol_*.npy | 图谱本身非生成模型输入形态,仅分子嵌入可用 |
| 影像/文本多模态 | ★☆☆☆☆ | — | 无影像/文本原始数据,不适用 |
5.5 选型决策:什么时候选 DRKG
选 DRKG 的四个信号:需要开箱即用的嵌入做排序或方法对比;任务语义能落到「化合物-基因-疾病」轴;接受 2020-06 的知识时点(COVID 谱系研究天然匹配);研究目的允许非商业(或已做逐源许可审查)。不该选的三个信号:需要最新药物知识(DRKG 六年未更新,上游 DrugBank/STRING 新版本未回灌——此时应评估 PrimeKG 或自行重建);需要 CC0/商用许可的干净发放(选 PrimeKG);需要逐边溯源到论文(选 Hetionet 本体或 GNBR 原库)。
5.6 何时仍该自建图谱:DRKG 不适用的四个信号
横向比较的另一半是诚实面对「自建」选项。以下四个信号出现任意一个,自建管线可能比套用 DRKG 更划算:
信号一:领域超出「化合物-基因-疾病」轴。 若任务核心是医疗器械-术式-并发症、或中医药证候-草药-靶点等 DRKG 未覆盖的语义轴,DRKG 的 13 类实体无承载位——扩类成本接近自建。
信号二:需要边级置信度做风险敏感决策。 临床优先级排序若依赖边的证据强度分层(如「多源一致才升权」),DRKG 的等权边是硬伤——GNBR 原库/IntAct 原库的置信分层在图内不可恢复(§3.4),自建时保留逐边证据链更稳妥。
信号三:知识新鲜度是核心竞争力。 药物警戒、专利竞品监测等场景要求周级更新——DRKG 六年冻结无法满足;自建管线接上游 API/月度快照的运维成本换实时性。
信号四:许可结构要求全链路商用。 产品全链路(训练数据→模型→输出)需要无 NC 成分的知识源——DRKG 三源禁商用使其在链路起点就不干净(§6.6),自建可从源头选 CC BY/Apache 源。
反面提醒:以上四信号全不命中时,自建大多是浪费——六库整合的归一化工程量(ID 映射、跨源合并、语义对齐)是 DRKG 已替你付掉的沉没成本,重建它平均需要数个工程月(以 PrimeKG 论文报告的工程规模为参照)。
§6 获取与许可:一条直链与七道门
6.1 获取三路径与版本指纹
路径一(推荐):wget https://dgl-data.s3-us-west-2.amazonaws.com/dataset/DRKG/drkg.tar.gz——免注册直链,一手实测 HTTP 200、Content-Length 216,650,245 字节、Last-Modified 2020-06-15T06:52:40Z。路径二:克隆 github.com/gnn4dr/DRKG 后运行官方 notebook(内置自动下载)。路径三:第三方镜像(OpenDataLab 等,206.6MB/26.6k 下载口径)——镜像无法保证与 S3 原包逐字节一致,正式研究建议路径一并留存校验值。
版本指纹三件套(写进实验记录):S3 Last-Modified 2020-06-15T06:52:40Z;Content-Length 216,650,245;压缩包 md5 与解压后 drkg.tsv 行数 5,874,261(本条目一手实测,附录 C 存照)。三个指纹对上,即可确认拿到 2020-06 原版数据。
6.2 许可矩阵:七源异构逐条核
官方 licenses/Readme.md 表格一手实核:
| 来源 | 许可 | 商用 | 官方注记 |
|---|---|---|---|
| 仓库代码(notebooks/utils) | Apache-2.0 | 可 | LICENSE 文件(2020-04-27) |
| DrugBank | CC BY-NC 4.0 | 不可 | drugbank.ca 口径 |
| GNBR | CC BY-NC 4.0 | 不可 | Zenodo record 1134693 |
| STRING | CC BY-NC 4.0 | 不可 | string-db.org 口径 |
| IntAct | Apache-2.0 | 可 | EBI 口径 |
| Hetionet | Mixed License | 逐边看 | 沿用 hetio/hetionet 各源声明 |
| DGIdb | Mixed License | 逐边看 | dgidb.org/downloads 口径 |
| 文献抽取数据 | 非商业声明 | 不可 | 「we have requested permission for Non-Commercial usage」 |
官方原话:对有明确许可的源「apply a license attribute on a per node and per edge basis」。整体判断:DRKG 不是 Apache-2.0 数据集——按边数计约 57.4%(DrugBank 142 万+GNBR 33.5 万+STRING 150 万+文献 8.5 万)落在禁商用许可下;学术使用整体通畅,商业管线必须走 §6.3 的逐实体审查。
6.3 逐实体许可审查:entity2src 是唯一钥匙
商用前的最小审查流程:其一,加载 entity2src.tsv,把每个实体的来源标签拆开([Drugbank]/[GNBR]/[STRING]/[Hetionet]/[IntAct]/[DGIdb]/[Bibliograpic sources] 七种标记);其二,对业务场景涉及的子图(如某疾病的所有药物-基因路径),标记出任何携带禁商用来源的边;其三,禁商用边只可做内部探索,不可进入对外产品特征或训练产物发放。注意 Mixed License 两源(Hetionet/DGIdb)需继续追溯到各自上游声明——DRKG 的许可表只是转发,不是法律意见。
6.4 AI-Ready 评估:五个维度
获取:★★★★★(直链免注册、无请求制环节、无平台锁定)。机器可读:★★★★★(TSV 单表即全图、NumPy 嵌入一行加载、无嵌套 JSON)。文档完备:★★★★☆(README 详尽+关系词表带语义+notebook 全流程;缺正式出版物与逐边溯源)。许可清晰:★★☆☆☆(代码清晰、数据多源异构需自查,是整合型数据集的固有复杂度)。可持续性:★★☆☆☆(2020-06 后零更新,上游版本不回灌;但 S3 直链六年未失效,稳定性记录良好)。综合:数据本体 AI-Ready 拉满、治理维度是短板——「能下载能加载」与「能长期合规使用」的分野在本条目上教科书级呈现。
6.5 版本链完整时间线
2020-04-27 仓库创建(LICENSE/licenses 目录首提交);2020-04-28 自动下载脚本;2020-05-03 图谱 schema 图更新;2020-05-04 notebooks 完善(drkg_with_dgl 等);2020-06-02 Amazon Science 官宣;2020-06-15 drkg.tar.gz 上传 S3 + README 更新(数据版本锚点,此后数据本体零变更);2020-07-20 方法论文 arXiv:2007.10261;2020-10-15 README 微调(存照:官方 README 各 commit 时点为 GitHub 网页口径);2021-07-12 描述 PDF 入库;2021-10-24 首行读取修复 commit(数据本体不变,§3.5)。无 Zenodo DOI、无版本号体系、无 changelog 文件——时间线考据完全依赖 GitHub commit 历史与 S3 元数据,这是官方版本治理的留白。
6.6 商用合规决策树:三步走
商用场景(产品特征、对外服务、商业研究产出)使用 DRKG 前的最低限度自查:
- 圈定子图:列出业务实际依赖的实体与边(不必全图)——例如某疾病区域的药物-基因-疾病路径。
- 逐边贴源:对子图内每条边,由关系字符串前缀确定来源,再由 entity2src 确认端点实体的来源集合;对照 §6.2 矩阵标记禁商用源(DrugBank/GNBR/STRING/文献边)。
- 分类处置:
- 子图仅含 IntAct/Apache 源边 → 可商用(仍建议保留来源声明);
- 子图含 Hetionet/DGIdb Mixed 源 → 追溯其上游逐边声明(Hetionet 的许可表在 hetio/hetionet 仓库、DGIdb 在官网 downloads 页);
- 子图含 CC BY-NC 源边 → 只可内部探索,不可进入对外产品;确需商用,向上游采购商业许可(如 DrugBank Commercial License)后重建子图。
- 训练产物的连带审查:用含禁商用边的图训练的嵌入/模型,对外发放时是否构成「演绎数据」需要法务判断——保守做法是训练时即剔除禁商用源边(用关系前缀过滤即可,工程成本极低)。
正面案例对照:学术发表(论文/开源研究代码)通常整体可用——CC BY-NC 允许非商业使用与研究传播;但「研究成果产品化」的那一刻,合规义务重新计算。这个分界线建议在团队内明文约定。
6.7 获取环境常见问题
wget 断点续传:wget -c <url> 支持(S3 Accept-Ranges: bytes,一手核对);大文件弱网环境务必加 -c,否则 206MB 中断即重来。
校验下载完整性:S3 未提供官方 md5 文件,自行校验三板斧——Content-Length 逐位比对(216,650,245)、tar 解包完整性(tar -tzf 退出码 0)、解压后 drkg.tsv 行数(5,874,261)。三者全过即可放心使用。
镜像可用性:官方仅有 AWS S3 一条直链;第三方镜像(OpenDataLab 等)无法保证逐字节一致且元数据有错误记录(坑 1、坑 6),正式研究不建议。
国内网络环境:S3 直链在部分网络可达性不佳时,可考虑用支持代理的下载工具;本条目一手实测(2026-10-04)直链下载成功,20 秒内完成 216MB(沙箱环境)。
磁盘与内存需求:压缩包 207MB、解压后约 500MB;全表 pandas 读取峰值内存约 1-1.5GB;嵌入矩阵加载约 160MB——普通笔记本全流程可行,无需 GPU(除非自训嵌入)。
§7 生态与影响:四方团队、一段应急史、一群下游使用者
7.1 团队与人物志:AWS 图学习组 × 两支药物信息学力量
DRKG 的 9 位署名作者(@misc 引用口径)来自四个机构:AWS AI labs 的 Vassilis N. Ioannidis(一作,时为明尼苏达大学 ECE 博士生在 AWS 实习)、Xiang Song、Saurav Manchanda(明尼苏达 CS&E 博士生)、Mufei Li、Da Zheng 与 George Karypis(Karypis 组是 DGL/DGL-KE 的创造者,Karypis 时为明尼苏达大学 CS&E 教授兼 AWS 杰出科学家);俄亥俄州立大学 的 Xia Ning(药物信息学,负责与 DrugBank/GNBR 侧的整合方法论);湖南大学 的曾湘祥(Xiangxiang Zeng,岳麓学者特聘教授、2019 吴文俊人工智能优秀青年奖)与潘小琴(Xiaoqin Pan)。湖南大学校方新闻稿称该工作获学校新冠应急科技攻关专项基金支持,并确认潘小琴为参与学生。
分工推断(依据机构公开报道,官方无分工文档):AWS 侧出图学习基础设施与嵌入训练(DGL-KE 正是为此而生),OSU/HNU 侧出药物重定位领域知识与文献挖掘对接。这一「平台方+领域方」组合是 2020-2021 年 COVID 应急科研的典型形态,与同期 AWS 开源的 COVID-19 文献知识图谱(Wise et al.)出自同一战略脉络。
7.2 传播时间线:从仓库到事实标准
| 时点 | 事件 | 来源口径 |
|---|---|---|
| 2020-04-27 | 仓库开源(LICENSE/licenses 首提交) | GitHub commit 一手 |
| 2020-06-02 | Amazon Science 官方博客《AWS open-sources biological knowledge graph to fight COVID-19》 | 一手引用 |
| 2020-06-15 | 数据包 S3 上传(版本锚点) | S3 元数据一手 |
| 2020-07-20 | 方法论文 arXiv:2007.10261(few-shot 链接预测) | arXiv 一手 |
| 2020-10 | 明尼苏达大学 CSE 专题报道《Fighting COVID-19 with deep graphs》 | 校方口径 |
| 2021 | 湖南大学官网专题报道(中文世界传播) | 校方口径 |
| 2021-10-24 | 首行读取修复(数据本体不变) | GitHub commit 一手 |
| 2022 | Briefings in Bioinformatics 综述列入标准对照(bbac404 Table 15) | 综述口径 |
| 2025 | LLaDR(arXiv 2510.12181)、VitaGraph(arXiv 2505.11185)等继续以其为基准/底座 | 第三方论文口径 |
7.3 引用生态:一个没有论文的「标准数据集」
DRKG 的引用生态有个罕见特征:官方无正式出版物,但引用广泛。Scholar 自动聚合显示 100-155+ 引用(两主页口径不一,含错误挂接);行业惯例是以 README 的 @misc{drkg2020} GitHub 条目引用——VitaGraph(2025)等论文的参考文献列表一手核实均用此格式。三个引用陷阱(检索者必读):其一,Scholar 把 DRKG 条目自动挂到 arXiv:2010.09600(实为 Zhang et al. 的另一篇 COVID 论文),点进该 arXiv 号看不到任何 DRKG 内容,坑 1 详述;其二,部分早期论文引用旧三元组数 5,869,294(读取误差口径,§3.5);其三,OpenDataLab 等镜像把「发布论文」字段填了错误 arXiv 链接并编造「卢布尔雅那大学」等发布机构(一手核对该机构与 DRKG 无关)——引用镜像元数据前必须回查 GitHub 原仓库。
7.4 COVID 应急科研史中的位置
DRKG 是 2020 年「计算药物重定位应急潮」的代表性基建:同期同类工作包括 Hetionet 社区的 COVID 复用、Amazon 的 COVID-19 文献图谱、Semantic Medline 派生的 LBD 管线(Zhang et al. JBI 2021——即被张冠李戴的那篇)等。DRKG 的差异化在于把「图+嵌入+示范管线」整体发放:别的团队发数据,DRKG 连「怎么用」一起发——这一范式后来被广泛模仿(PrimeKG 附重建脚本、多模态数据集随发基线,皆是同一路数)。就 COVID 本身而言,其 41/11 的重合度记录是「计算优先级排序与全球试验选择相关」的一次公开演练,虽无前瞻验证,但为「图嵌入辅助药物重定位」提供了方法学存在证明,直接催生了其后五年的方法论文流。
7.5 检索入口汇总
| 入口 | URL | 用途 |
|---|---|---|
| GitHub 官方仓库 | https://github.com/gnn4dr/DRKG | README、notebooks、licenses 表、引用格式 |
| S3 数据直链 | https://dgl-data.s3-us-west-2.amazonaws.com/dataset/DRKG/drkg.tar.gz | 数据包下载(免注册) |
| 方法论文 | https://arxiv.org/abs/2007.10261 | few-shot 链接预测方法 |
| 文献抽取源头 | https://www.biorxiv.org/content/10.1101/2020.03.11.986836v1.full.pdf | GNBR COVID 扩展管线 |
| Amazon Science 博客 | https://www.amazon.science/blog/amazon-web-services-open-sources-biological-knowledge-graph-to-fight-covid-19 | 41/11 官方口径 |
| 明尼苏达报道 | https://cse.umn.edu/datascience/news/fighting-covid-19-deep-graphs | 团队背景 |
| 湖南大学报道 | https://csee.hnu.edu.cn/info/1060/9678.htm | 中文口径与基金信息 |
| DGL-KE | https://github.com/awslabs/dgl-ke | 嵌入训练工具 |
7.6 后疫情时代:DRKG 的五种续用姿势
COVID 应急背景消退后,DRKG 没有过时——它的续用价值换了轨道。一手可核的五种姿势:
姿势一:方法学对照基准(最主流)
新提出的 KGE/GNN/LLM 药物重定位方法在 DRKG 上跑一遍、与 TransE/DGL-KE 基线对比——LLaDR(2025)即此用法:图嵌入是基线、LLM 是挑战者。数据六年不变使「新方法 vs 旧方法」的差异全部归于方法本身,这是冻结基准的独特红利。
姿势二:非 COVID 疾病的重定位底座
DRKG 的 5,103 疾病实体与 8.4 万药物-疾病边覆盖远超 COVID——阿尔茨海默病(Amazon 博客明确点名)等慢病的重定位研究同样以其为底座。此时 bioarx 的 84,756 条边只是无关增量,主体六源边仍然适用(时点风险按疾病领域的文献半衰期自行评估)。
姿势三:嵌入的「冷启动即插即用」
教学、原型验证、黑客松等场景直接 np.load 官方嵌入开工——十分钟内从零到第一个药物排序 demo。这是「嵌入随发」设计在时间维度上的复利:数据冻结,可用性未冻结。
姿势四:整合管线的教学标本
「六源如何对齐合并」本身成了教材——PrimeKG 论文的相关工作节、多篇综述(bbac404 等)都把 DRKG 当作整合型图谱的范式样本解构。研究「如何构建生物医学知识图谱」的人,DRKG 的仓库结构(README/licenses/notebooks 分层)是比论文更直观的参照系。
姿势五:跨图桥接的锚点图
DRKG 全量吸收 Hetionet 的边,使其天然成为「新旧图谱之间的桥」——研究者在 PrimeKG/CKG 与 Hetionet 世系之间对齐实体时,DRKG 的 类型::ID 归一化约定是现成的映射参照。生态位置从「竞争者」变成了「转换枢纽」。
7.7 引用生态的量化快照(口径存照)
- Google Scholar 主页聚合:Ioannidis 主页口径引用 103、Zheng 主页口径 155(2026-10 抓取,含自动聚合错误挂接部分,坑 1);
- Briefings in Bioinformatics 综述(bbac404,2022):DRKG 列入七个同期图谱对照表,标注「molecular embeddings」特色项——综述视角下 DRKG 的差异化记忆点就是嵌入随发;
- LLaDR(arXiv 2510.12181,2025):以 DRKG 为主数据集的全部实验基线;
- VitaGraph(arXiv 2505.11185,2025):参考文献用 @misc GitHub 格式引用 DRKG——「无正式论文」状态下引用惯例的行业共识样本。
§8 方法学启示:五条可迁移的经验
8.1 「嵌入随数据发放」是整合型图谱的高杠杆设计
多数整合图谱只发图,DRKG 把预训练嵌入作为数据集组成部分发放——把使用门槛从「会训 DGL-KE」降到「会 np.load」。代价是嵌入冻结在 2020-06 的图版本上(图不更新则嵌入也不更新),收益是六年间无数方法论文可以「同一嵌入」公平对比。启示:数据集发布者的增值不只在数据本体,还在于把「训练一次」的公共成本替使用者付掉;但必须同时公布训练细节(90/5/5 划分、模型超参)以保持可复现。
8.2 关系字符串四段式是轻量级本体的实用主义
来源::RELATION:头类型:尾类型 的四段命名把「语义+溯源+类型约束」全部压进一个字符串——不需要 RDF、不需要本体服务器,split('::') 就能完成类型过滤与来源归因。对快速整合场景,这个设计避免了本体工程的启动成本;代价是无形式化校验(字符串拼错不报错)与语义粒度受限于词表设计(107 种已近手工管理上限)。同类项目(PrimeKG 用 relation 列+过滤阈值列)走了不同折衷,可对照阅读。
8.3 应急数据基建的「时点冻结」要显式声明
DRKG 的文献边冻结在 2020 年上半年疫情最初数月——这对 COVID 谱系研究是「时间胶囊」价值,对当下用药知识是过时风险。官方未在任何显著位置声明「数据不再更新」,六年间检索者只能靠 S3 Last-Modified 自行判断。启示:应急型数据集应在显著位置写明「时点快照」属性与更新承诺(或明示不再更新);检索者引用任何整合型图谱时都应先查其数据包的最近修改时间戳,而非仓库活跃度(DRKG 仓库 2021 年后仍有 commit,但数据早已冻结——仓库活跃度是版本判断的坏代理)。
8.4 边等权发放是「数据与建模分离」的诚实边界
DRKG 内所有边不带权重与置信度——GNBR 的概率分层、Hetionet 的阈值选择都在各源管线内消化,DRKG 只发放「通过筛选的事实」。这个设计把建模责任交还使用者(你的任务需要什么权重就构造什么权重),代价是丢失了「同一条边在不同源有不同置信度」的信息维度。对照 PrimeKG 把过滤阈值随表发放的做法,可以看清两种哲学:DRKG 信任上游管线、保持图纯净;PrimeKG 保留中间过程、支持二次筛选。整合型数据集发布前应显式选择并在文档首页声明。
8.5 「应急基建」的生命周期要靠社区延续而非官方承诺
DRKG 官方 2021 年后几乎停止维护,但它在方法学社区的引用持续至今——生命力来自「数据冻结+口径稳定」这一意外优势:所有方法论文都在同一张 2020-06 的图上比较,谁也不会因数据漂移而失焦。这提示数据集的可持续性有两种路径:持续更新型(PrimeKG/SemMedDB 路线,靠机构承诺)与冻结基准型(DRKG/MNIST 路线,靠社区惯性)。发布者择一而行并写明,比含糊的「我们会持续更新」更有价值。
§9 与库内条目的关系
9.1 互链矩阵
| 库内条目 | rid | 互链轴 | 用户动线设计 |
|---|---|---|---|
| Hetionet | 832 | 上游母体 | 「要看 DRKG 吸收前的原始整合图谱与逐边溯源」→ hetionet;反向「要嵌入与 107 种关系语义」→ drkg |
| PrimeKG | 831 | 同期同类竞品 | 「要 CC0 干净许可与临床语义(指示/禁忌)」→ primekg;「要嵌入随发与更细关系语义」→ drkg |
| DrugBank | 89/571 | 最大贡献源之一 | 「要化合物本源数据(SMILES/靶点/适应症)」→ drugbank;DRKG 的 DB 号体系与 ddi 边在此 |
| STRING | 414 | PPI 主源 | 「要基因-基因互作的原始打分与版本」→ string;DRKG 的 150 万基因-基因边源头 |
9.2 检索路径建议
药物重定位入门:drkg(本条)→ drugbank(看化合物本源)→ primekg(对照临床语义路线)。知识图谱方法学:drkg → hetionet(整合范式演进两代)→ primekg(第三代:本体消解+文本模态)。许可合规研究:drkg §6.2 矩阵 → hetionet(Mixed License 的典型案例)→ primekg(CC0 的干净发放对照)。
§10 避坑清单:十个已踩过的坑
坑 1:arXiv:2010.09600 不是 DRKG 论文。 该号是 Zhang et al.「Drug Repurposing for COVID-19 via Knowledge Graph Completion」(JBI 2021, doi:10.1016/j.jbi.2021.103696),作者、内容与 DRKG 团队无关。OpenDataLab 镜像与 Google Scholar 自动聚合均错挂。DRKG 官方唯一引用是 README 的 @misc{drkg2020};描述文档是仓库内 PDF(非出版物)。
坑 2:DRKG 不等于「Apache-2.0 数据集」。 Apache-2.0 只覆盖仓库代码;数据本体受七源许可叠加,DrugBank/GNBR/STRING 三源 CC BY-NC 4.0 + 文献边非商业声明合计约 57.4% 边数禁商用。引用许可时写「代码 Apache-2.0、数据多源异构、商用前逐源审查」,不要写「Apache-2.0」了事。
坑 3:5,874,261 还是 5,869,294? 数据本体一直是 5,874,261(一手实测 wc -l);5,869,294 是 2021-10-24 修复前 notebooks 读取误差口径(首行 4,967 条被当表头丢弃)。凡见旧数,按读取事故存照,勿信「官方改数据」的说法——S3 文件六年未动。
坑 4:drkg.tsv 没有表头。 首行即真实三元组。pandas 读取必须 header=None(官方修复 commit 即为此)。用默认 header 推断会静默丢行,行数对不上 5,874,261 时先查这个。
坑 5:Tax:: 与 Gene:: 别混。 GNBR 贡献的 215 个 Tax(NCBI 分类学)实体在 drkg 边里与基因并排出现,前缀不同、语义完全不同(物种而非基因)。做「基因-病原」类分析时按 Tax:: 前缀单独路由。
坑 6:把 DRKG 当「最新药物知识源」。 数据冻结于 2020-06-15:DrugBank 后续版本的新药、STRING 后续版本的新互作、COVID 后续 literature 全部不在图内。纵向研究必须声明「DRKG 2020-06 时点」并自行回灌上游新版本(或改用持续维护的整合图谱)。
坑 7:entity2src.tsv 不是规整双列表。 来源列是任意长度的 [标签] URL 拼接串(一个实体最多七源),且存在 1 个空 ID 实体 Gene::(一手 uniq 计数)。解析时按 Tab 全列读、逐段正则匹配 [...] 标记;不要按「两列 DataFrame」假设。
坑 8:官方嵌入分数与自训练嵌入分数不可混。 DRKG_TransE_l2_*.npy 的分数分布是那次训练的产物;自行用 PYKEEN/DGL-KE 重训后,分数尺度与排序均不同。论文对比时统一「官方嵌入」或统一「同超参重训」,二选一并写明。
坑 9:头尾方向全图不统一。 关系字符串自带方向声明(如 DGIDB 组是 Gene:Compound、基因在头),但初见者常假设「主语(药物)永远在前」——按尾实体过滤某药物的基因集合时,DGIDB 边会漏检。正确姿势:按关系字符串的 头类型:尾类型 段路由,或双向枚举后按类型对筛选(§2.13)。
坑 10:仓库活跃度不等于数据新鲜度。 DRKG 仓库 2021 年 7 月还有 commit(描述 PDF 入库)、10 月还有修复提交,但数据本体冻结在 2020-06-15。「看到仓库有动静就以为数据在更新」是整合型数据集特有的误判——判断数据版本永远看数据文件自身的时间戳与指纹(§6.1 版本指纹三件套),而非 commit 流水。
§11 总结
11.1 三句话总结
其一,DRKG 用「六库归一化合并+文献增量+嵌入随发」三步,把药物重定位的知识底座从散装数据库变成单文件图+向量,是 2020 年 COVID 应急科研中工程杠杆率最高的数据基建之一。其二,它的规模口径(97,238/5,874,261/107/13)经一手实测与官方逐项一致,但引用生态里沉淀着三类错误(错挂论文号、旧三元组数、镜像编造机构)——检索者需带版本指纹意识使用。其三,它的许可与治理是「AI-Ready 光谱」的中间样本:获取与加载五星、许可清晰度与可持续性欠佳,学术使用通畅、商业管线必须逐源审查。
11.2 适合谁
做知识图谱嵌入/图神经网络方法研究并需要一个规模适中的生物医学实验床的研究者;需要「开箱即推理」的药物重定位排序管线(尤其 COVID 及其后的老药新用筛查)的团队;讲授「多源数据整合+图嵌入」课程的教学者(notebook 链路完整)。不适合:需要最新药物知识或持续更新的纵向研究;需要 CC0/商用干净许可的产品管线(选 PrimeKG);需要逐边溯源到论文证据的系统(选 Hetionet 本体/GNBR 原库)。
附录 A:数据来源明细与关键计数备查
七源边数(一手实测,与官方 README 一致):Hetionet 2,250,197;STRING 1,496,708;DrugBank 1,424,790;GNBR 335,369;IntAct 256,151;文献(bioarx) 84,756;DGIdb 26,290。合计 5,874,261。
实体类型对边数(官方口径,抽查核对):(Gene,Gene) 2,350,931;(Compound,Compound) 1,385,757;(Anatomy,Gene) 726,495;(Biological Process,Gene) 559,504;(Compound,Gene) 210,794;(Compound,Side Effect) 138,944;(Disease,Gene) 123,837;(Gene,Molecular Function) 97,222;(Compound,Disease) 83,895;(Cellular Component,Gene) 73,566;(Gene,Pathway) 84,372;(Atc,Compound) 15,750;(Gene,Tax) 14,663;(Anatomy,Disease) 3,602;(Disease,Symptom) 3,357;(Compound,Pharmacologic Class) 1,029;(Disease,Disease) 543。
数据包内文件与一手实测大小:drkg.tar.gz 216,650,245 B(S3 Content-Length 一致);DRKG_TransE_l2_entity.npy 155,580,928 B(=97238×400×4+128,数学自洽);DRKG_TransE_l2_relation.npy 171,328 B(=107×400×4+128);mol_*.npy 四件套各 10,568,528 B;embed/entities.tsv 97,238 行;embed/relations.tsv 107 行;relation_glossary.tsv 108 行(含表头);entity2src.tsv 97,238 行(含 1 个空 ID 实体 Gene::)。
附录 B:常见问答十三则
B1:DRKG 里有多少药物?
化合物实体 24,313 个(一手实测),其中来自 DrugBank 体系的小分子约 9,708+(官方表交叉口径);四套分子嵌入覆盖「DrugBank 中多数小分子药物」(官方 README 口径)。做药物重定位时以 Compound:: 前缀全集为候选池。
B2:能直接查「药 X 治疗病 Y」吗?
分两步:先查图内已有边(DRUGBANK::treats/GNBR::Treats/Hetionet CtD 等关系字符串下的直接边,约 8.4 万条药物-疾病边);没有直接边时用嵌入对候选 (化合物, 疾病) 对打分排序——后者才是 DRKG 的设计用途。
B3:和 PrimeKG 二选一怎么选?
方法学研究/嵌入排序/COVID 谱系 → DRKG;临床语义(指示/禁忌/标签外)/CC0 商用/疾病本体消解 → PrimeKG。两者实体规模同量级(97K vs 129K),但 PrimeKG 无预训练嵌入、DRKG 无临床决策语义。
B4:嵌入是 400 维别的行不行?
行——官方 notebook 即示范在 400 维官方嵌入与自训练嵌入间切换;但注意坑 8(分数不可混)。400 维本身是官方超参选择,无神圣性;复现官方数字必须用官方嵌入。
B5:为什么 2026 年还在用一张 2020 年的图?
因为它冻结的是一个可复现的公共基线:数据六年不变使方法论文间的对比仍然成立(坑 6 的另一面);且其 S3 直链六年稳定在线。要「新知识」它不行,要「公平对比」它还在服役。
B6:COVID-19 在图里是实体吗?边怎么找?
是——Disease::C0010520(CUI 口径)等 COVID 相关疾病实体在图内;相关边集中在 bioarx 前缀的 6 种关系(#102-107,含 Covid2_acc_host_gene 受体/辅助宿主基因边),共 84,756 条。用关系前缀 bioarx:: 过滤即可整段取出,无需全图扫描。
B7:能把 DRKG 转 Neo4j 或 RDF 吗?
转 Neo4j:LOAD CSV 三列表直入,13 类实体按 :: 前缀打 Label 即可(官方 loading_drkg_in_dgl.ipynb 是 DGL 版的等价示范)。转 RDF:无官方映射文件,需自行定义 Type::ID 到 IRI 的转换约定与 107 种关系到谓词的映射——注意 DGIDB 组边的头尾方向约定(§2.11 使用说明)。
B8:同一实体对在不同源有矛盾边怎么办?
DRKG 不做跨源仲裁(§3.4),矛盾边并存。实证做法:按来源分层处理——DrugBank/IntAct(人工审校/实验验证)优先于 STRING/GNBR(计算/统计挖掘);或用 entity2src 的多源覆盖度做软投票。官方未提供任何仲裁记录,这是整合型图谱的固有留白。
B9:文献引用本条目用的数据版本怎么写?
建议写法:「DRKG(gnn4dr/DRKG,2020;数据包 drkg.tar.gz,S3 Last-Modified 2020-06-15,216,650,245 字节;drkg.tsv 实测 5,874,261 三元组)」——四要素(仓库、时点、字节数、行数)齐备即可复现对齐。不要只写年份,因为 2021 年后仓库 commit 仍在更新(但数据未变)。
B10:这是个「AI 训练数据」吗,能进模型训练集吗?
法律上:学术训练无障碍(禁商用源不禁止学术使用);商用产品嵌入训练产物是否「演绎作品」需按三源 CC BY-NC 与 Mixed License 逐源评估(§6.3)。技术上:它是为「嵌入训练+链接预测」设计的数据,直接做生成式预训练语料价值有限(三元组不是自然语言)——LLaDR 范式(图嵌入给 LLM 提供结构知识)是更合理的结合姿势。
附录 C:存照与一手实测记录
抓取时点:2026-10-04(本条目所有「一手实测」均基于此日下载的 S3 原包与 GitHub 官方页面)。
一手实测清单:S3 HEAD——HTTP 200、Content-Length 216,650,245、Last-Modified 2026 考据为 2020-06-15T06:52:40Z;下载后字节数逐位一致;wc -l drkg.tsv = 5,874,261;wc -l entity2src.tsv = 97,238;wc -l embed/entities.tsv = 97,238;wc -l embed/relations.tsv = 107;wc -l relation_glossary.tsv = 108(含表头);13 实体类型逐类计数与官方表一致;7 源关系前缀计数与官方表一致;最大关系 ddi-interactor-in 1,379,271 一致;空 ID 实体 Gene:: 恰 1 个。
双口径存照清单:①OpenDataLab「发布论文 arXiv:2010.09600」——实核为 Zhang et al. JBI 2021 论文,张冠李戴;②Scholar 将 DRKG 挂接同一 arXiv 号——引用错误蔓延;③三元组旧口径 5,869,294(fork 旧 README)vs 现行 5,874,261——2021-10-24 首行读取修复所致,差值 4,967 与 (Compound,Disease) 差值 4,968 吻合;④License 双口径——仓库 Apache-2.0(代码)vs 数据七源异构(3×CC BY-NC 4.0+Apache-2.0+2×Mixed+NC 声明);⑤引用数双口径——Scholar 103(Ioannidis 主页)vs 155(Zheng 主页);⑥OpenDataLab 标注 206.6MB 与一手 216,650,245 B 一致(单位换算自洽),但其「发布机构:卢布尔雅那大学等」与实际团队(AWS/UMN/OSU/HNU)不符。
遗留待核:空 ID 实体 Gene:: 的官方解释(无文档);Bibliography 部分非商业许可的法律文本与许可方;「preprint will be available soon」承诺至今未兑现——若未来出现正式论文需回填本条目;41 药完整名单未随任何出版物发放(需重跑 notebook 复算)。
库内互链点(查重时点 2026-10-04):hetionet(832)、primekg(831)、drugbank(89/571 双条目并存)、string(414)。slug drkg 查重 0 行,无撞库。
附录 D:上游六源逐源档案
D1. DrugBank(加拿大阿尔伯塔大学起源的人工审校药物知识库)
性质:每条药物条目经人工审校,含靶点/酶/载体/转运体四类关联、ATC 分类、适应症、药物相互作用与化学结构。DRKG 内角色:化合物 ID 体系锚点(DB 号)+ 最大药物语义源(1,424,790 边,其中 ddi-interactor-in 单类 1,379,271)。许可:CC BY-NC 4.0(DRKG 引用口径)——商用红线源。版本提示:DRKG 内嵌的 DrugBank 快照约为 2020 上半年版本,其后 DrugBank 的新药与修订不在图内;需要本源详情回查库内 drugbank 条目(rid 89/571)。
D2. Hetionet(2017 年 eLife 整合图谱,Himmelstein et al.)
性质:首个系统整合药物-疾病-基因-本体的大型公开生物医学图谱,v1.0 约 47K 实体/225 万边。DRKG 内角色:本体骨架供给者(225 万边全量吸收,占 DRKG 38.3%)——GO 三件套、Reactome、SIDER、UBERON 解剖、症状、药理分类、疾病-基因关联皆自此来。许可:Mixed License(各子源声明不同,需回查 hetio/hetionet 仓库)。版本提示:Hetionet 本体在库内有独立条目(rid 832),其边的原始阈值与来源文献链接在 Hetionet 仓库而非 DRKG。
D3. GNBR(Global Network of Biomedical Relationships,文献统计挖掘网络)
性质:Percha & Altman(2018)用主题-依存句法模式从 PubMed 摘要抽取的关系网络,字母码语义体系(T=治疗、B=结合、DaG/Ud/X=疾病-基因因果族等),每条候选边带概率分。DRKG 内角色:文献证据主力(335,369 边)+ in_tax 物种边独供 + COVID 文献扩展管线的母体。许可:CC BY-NC 4.0(DRKG 引用口径,其 Zenodo record 1134693)。版本提示:DRKG 内嵌的 GNBR 边已按其概率阈值过滤,阈值细节在 GNBR 原管线不在 DRKG;边置信度分层在 DRKG 内不可恢复。
D4. STRING(蛋白质功能关联数据库,EMBL/欧洲系)
性质:整合实验与预测的蛋白质互作打分网络,含物理结合与功能关联两档。DRKG 内角色:基因-基因边最大单一来源(1,496,708 边,REACTION/CATALYSIS/BINDING/OTHER 等 8 种子类型)。许可:CC BY-NC 4.0(DRKG 引用口径)——商用红线源。版本提示:STRING 版本迭代频繁(一年一版),DRKG 内嵌约 2020 年初快照;需要打分权重回查库内 string 条目(rid 414),DRKG 内的 STRING 边不带原库置信分。
D5. IntAct(EBI 分子互作数据库)
性质:人工策展+文献挖掘的实验验证分子互作库,MI 标准术语(physical association/direct interaction/磷酸化等反应类型)。DRKG 内角色:高质量物理互作锚(256,151 边,13 种关系字符串)。许可:Apache-2.0——七源中唯一明确的商用友好源。版本提示:IntAct 持续更新,DRKG 内嵌 2020 快照;其边在 DRKG 内可视为「实验证据层」,与 STRING 的「预测+实验混合层」互补。
D6. DGIdb(药物-基因相互作用数据库,华盛顿大学系)
性质:从文献与 APIs 挖掘的药物-基因关系库,交互类型术语细分(activator/agonist/antagonist 等 13 类)。DRKG 内角色:药物-基因语义细分补充(26,290 边,全 Gene:Compound 对)。许可:Mixed License(dgidb.org/downloads 口径)。版本提示:DGIdb 的交互类型词汇与 DrugBank 的 target/enzyme 分类正交——同一药物-基因对可同时携带两源的边,语义粒度不同勿去重。
D7. 文献抽取部分(bioarx 前缀,84,756 边)
性质:GNBR 团队 COVID-19 扩展管线(bioRxiv 2020.03.11.986836)对 2020 年上半年相关出版物的三元组抽取,含病毒-宿主基因(Coronavirus_ass_host_gene/Covid2_acc_host_gene)、药物-基因(DrugHumGen/DrugVirGen)与人类基因互作(HumGenHumGen/VirGenHumGen)六类。许可:非商业声明(官方「requested permission for Non-Commercial usage」,无公开法律文本)。版本提示:时间胶囊属性最重的一源——冻结在 2020-06 前的疫情最初数月知识状态,疫苗/变异株时代的信息完全缺席。
附录 E:术语表
| 术语 | 释义 |
|---|---|
| 知识图谱(KG) | 以(头实体,关系,尾实体)三元组为原子的事实网络 |
| 药物重定位 | 把已上市/已知药物用于新适应症的发现范式,俗称老药新用 |
| 三元组 | 图的最小事实单元,DRKG 主表 drkg.tsv 的一行 |
| 边类型/关系字符串 | 来源::语义:头类型:尾类型 四段式字符串,107 种 |
| 实体类型 | 实体的 13 类前缀(Gene/Compound/Disease 等) |
| TransE | 嵌入模型:头向量+关系向量≈尾向量的平移假设 |
| TransE_l2 | 用 L2 距离打分的 TransE 变体,DRKG 官方口径 |
| KGE | Knowledge Graph Embedding,知识图谱嵌入方法族 |
| KGC | Knowledge Graph Completion,知识图谱补全任务 |
| 链接预测 | 预测图中缺失边存在概率的任务 |
| DGL | 深度图学习框架(AWS 主导),DRKG 工具链底座 |
| DGL-KE | DGL 的知识图谱嵌入大规模训练库 |
| 负采样 | 训练 KGE 时用「假边」对照「真边」的采样技术 |
| Hits@k / MR | 链接预测排序指标:前 k 命中率 / 平均排名 |
| Entrez Gene ID | NCBI 基因数据库的数字 ID,DRKG 基因实体体系 |
| CUI | UMLS 概念唯一标识符,DRKG 疾病实体体系之一 |
| GO | Gene Ontology,BP/CC/MF 三轴基因注释本体 |
| Reactome | 反应级通路本体数据库,DRKG 通路实体来源 |
| SIDER | 药物副作用数据库,DRKG 副作用实体来源 |
| UBERON/BTO | 解剖学本体(跨物种/动物),DRKG 解剖实体来源 |
| ATC | WHO 解剖-治疗-化学药物分类系统 |
| NDF-RT | 美国 FDA 国家药物文件-参考术语,药理分类来源 |
| MeSH | 医学主题词表,DRKG 症状实体来源 |
| NCBI Taxonomy | 物种分类数据库,Tax 实体来源 |
| entity2src | 实体→来源映射表,逐实体许可审查的钥匙 |
| relation_glossary | 107 关系的六列词表(语义+参考链接) |
| Gnbr 字母码 | GNBR 语义缩写体系(T=治疗、B=结合、I=互作等) |
| MD5/Last-Modified | 版本指纹手段:内容哈希/服务器时间戳 |
附录 F:版本考据详表(逐项一手核对记录)
| # | 考据项 | 一手证据 | 结论 |
|---|---|---|---|
| 1 | 数据包大小 | S3 Content-Length 与本地 ls 逐位一致 | 216,650,245 B |
| 2 | 数据包时点 | S3 Last-Modified 2020-06-15T06:52:40Z | 版本锚点,六年未变 |
| 3 | 三元组总数 | wc -l drkg.tsv |
5,874,261(与官方一致) |
| 4 | 实体总数 | wc -l entity2src.tsv 与 embed/entities.tsv 双核对 |
97,238 |
| 5 | 关系总数 | wc -l embed/relations.tsv = 107;词表 108 行含表头 |
107 |
| 6 | 实体类型数 | entity2src 首列前缀 uniq = 13 | 与官方一致 |
| 7 | 逐类实体数 | cut/uniq 逐类对照官方表 | 13/13 项一致 |
| 8 | 七源边数 | 关系列前缀 cut/uniq 对照官方表 | 7/7 项一致 |
| 9 | 最大边类 | 关系列 uniq -c 排序首位 | ddi-interactor-in 1,379,271 |
| 10 | 嵌入维度 | npy 字节数 = 97,238×400×4+128;np.load 实读 | (97238, 400) float32 |
| 11 | 首行无表头 | head -3 实读 | 首行即真实三元组 |
| 12 | 空 ID 实体 | entity2src 首列 grep ‘::$’ | 恰 1 个 Gene:: |
| 13 | 修复 commit | GitHub 提交「Fix to keep first triplet…」2021-10-24 | 读取修复,数据本体不变 |
| 14 | 旧口径来源 | fork ishaan-mehta/DRKG 旧 README | 5,869,294 为读取误差口径 |
| 15 | 论文状态 | README「preprint will be available soon」+ @misc 引用 | 无正式出版物(截至抓取时点) |
| 16 | arXiv 错挂 | arXiv:2010.09600 abs 页实读 | Zhang et al. 论文,与 DRKG 无关 |
| 17 | 许可表 | 仓库 licenses/Readme.md 实读 | 七源许可逐条如 §6.2 |
| 18 | 分子嵌入 | mol_*.npy 四件各 10,568,528 B | Hu et al. 2019 四策略 |
附录 G:检索与命名辨析
G1. 官方与易混命名变体
| 名称/写法 | 辨析 |
|---|---|
| DRKG | 官方简称(Drug Repurposing Knowledge Graph 四词首字母),全大写 |
| Drug Repurposing Knowledge Graph | 官方全称,README 标题口径 |
| drkg | 文件与代码层小写(drkg.tsv、drkg.tar.gz、@misc{drkg2020}) |
| DrKG | 文献中偶见的驼峰变体写法,指同一数据集;引用建议统一 DRKG |
| gnn4dr/DRKG | GitHub 仓库全名(组织/仓库),@misc 引用的规范落点 |
| DRKG++ / DRKG 2.0 | 不存在——官方无任何后续版本(截至抓取时点),检索到此类名称多为第三方改搭或误记 |
G2. 中英检索词建议
英文:DRKG(首选,歧义最低);"Drug Repurposing Knowledge Graph"(全称精确短语);gnn4dr(仓库组织名,可过滤出官方资源);DRKG TransE embedding(找嵌入相关讨论);DRKG drug repurposing COVID(找应用论文)。中文:「药物重定位知识图谱」(湖南大学报道用名);「DRKG 知识图谱」(混排,中文社区主流写法);「老药新用 知识图谱」(语义扩展)。避坑:检索「DRKG paper」会被 arXiv:2010.09600(Zhang et al.)污染(坑 1);检索「DRKG license」要直接进 GitHub licenses/ 目录,第三方转述常有「Apache-2.0 数据集」的以偏概全(坑 2)。
G3. 常见误检场景与纠偏
| 误检场景 | 实际情况 | 纠偏 |
|---|---|---|
| 搜到「DRKG 论文 arXiv:2010.09600」 | Zhang et al. 的 LBD 论文,非 DRKG | DRKG 无正式论文,引 @misc |
| 搜到「DRKG 5,869,294 triples」 | 2021-10 前读取误差口径 | 以 5,874,261 为准(一手实测) |
| 搜到「DRKG published by University of Ljubljana」 | OpenDataLab 镜像编造机构 | 官方团队 AWS/UMN/OSU/HNU |
| 搜到「DRKG Zenodo」 | 无官方 Zenodo DOI | 分发渠道只有 GitHub+S3 |
| 搜到「dgl4dr」「DRKG-nb」等变体仓 | 第三方 fork/工具仓 | 认准 gnn4dr 组织 |
| 把 DGIdb 读成「DrugBank」 | 两个不同来源 | DGIDB 26,290 边 vs DRUGBANK 1,424,790 边 |
G4. 引用格式模板
BibTeX(官方口径):
@misc{drkg2020,
author = {Ioannidis, Vassilis N. and Song, Xiang and Manchanda, Saurav and
Li, Mufei and Pan, Xiaoqin and Zheng, Da and Ning, Xia and
Zeng, Xiangxiang and Karypis, George},
title = {DRKG - Drug Repurposing Knowledge Graph for Covid-19},
howpublished = {\url{https://github.com/gnn4dr/DRKG/}},
year = {2020}
}
正文引用建议:「DRKG(Ioannidis et al., 2020;gnn4dr/DRKG)」——勿引 arXiv 号(无官方对应),需要方法学锚点时引 arXiv:2007.10261(团队方法论文,另列)。
附录 H:与库内同类条目的双栏详表
H1. DRKG × Hetionet(rid 832)——母体与继任者
| 维度 | Hetionet v1.0 | DRKG | 备注 |
|---|---|---|---|
| 发布 | 2017(eLife 论文) | 2020(GitHub 开源) | Hetionet 有正式论文,DRKG 无 |
| 实体/边 | 约 47,031 / 2,250,197 | 97,238 / 5,874,261 | DRKG 全量吸收 Hetionet 边 |
| 边语义 | 24 种 | 107 种 | DRKG 细分来自 DGIDB/GNBR/IntAct/STRING 子类型 |
| 药物-疾病边 | 1,145 | 83,895 | 重定位任务的最大增量 |
| 预训练嵌入 | 无 | TransE_l2 400 维 + 分子嵌入 ×4 | DRKG 独有 |
| 逐边溯源 | 可(源论文链接) | 不可(仅实体级来源) | 需溯源回 Hetionet |
| 更新状态 | 2017 停更 | 2020-06 停更 | 双双冻结,DRKG 更晚三年 |
H2. DRKG × PrimeKG(rid 831)——两条路线
| 维度 | DRKG | PrimeKG | 备注 |
|---|---|---|---|
| 团队 | AWS+UMN/OSU/HNU | 哈佛 Zitnik Lab | 平台方+领域方 vs 学术实验室 |
| 整合源 | 6 库+文献 | 20 源 | PrimeKG 源更广 |
| 节点/边 | 97,238 / 5,874,261 | 129,375 / 约 4,050,000 | 体量同量级 |
| 关系语义 | 107 种字符串 | 30 种(带指示/禁忌/标签外三档) | DRKG 广而细、PrimeKG 临床深 |
| 许可 | 七源异构(三源禁商用) | 整合数据 CC0 1.0 | 商用选 PrimeKG |
| 嵌入 | 官方随发 | 无(随发重建脚本) | 排序任务选 DRKG |
| 文本模态 | 无 | DrugBank 文本字段 | 多模态选 PrimeKG |
H3. DRKG × DrugBank(rid 89/571)/ STRING(rid 414)——源与图
| 维度 | 关系 | 使用建议 |
|---|---|---|
| DrugBank | DRKG 化合物 ID 体系母源、最大药-药边来源 | 化合物详情(SMILES/结构)回查 drugbank 条目;图内只存 ID 不存结构 |
| STRING | DRKG 基因-基因边最大来源 | 原始置信分在 STRING 原库;DRKG 内边无分 |
附录 I:错误说法对照表(十八项考据的 QA 形态)
| 流传说法 | 实核结论 | 对应考据 |
|---|---|---|
| 「DRKG 论文是 arXiv:2010.09600」 | 该号是 Zhang et al.(JBI 2021)论文 | 附录 F #16 |
| 「DRKG 发表于 2021」 | 2020-04 开源、2020-06 数据定版;2021 只是 PDF 入库与修复 | 时间线 §7.2 |
| 「DRKG 有 5,869,294 条三元组」 | 5,874,261(旧数为读取误差) | §3.5、附录 F #3/#13 |
| 「DRKG 是 Apache-2.0 数据集」 | 仅代码 Apache-2.0;数据七源异构 | §6.2 |
| 「DRKG 数据一直在更新」 | S3 文件 2020-06-15 后未变 | 附录 F #2 |
| 「DRKG 有 Zenodo DOI」 | 无;分发仅 GitHub+S3 | §7.5 |
| 「DRKG 引用数 155+」 | 103-155 双口径(自动聚合,含错挂) | §7.7 |
| 「发布机构含卢布尔雅那大学」 | OpenDataLab 元数据错误 | 附录 C 双口径 ⑥ |
| 「DGIdb 是 DrugBank 的一部分」 | 两个独立来源,边数 26,290 vs 1,424,790 | 附录 G3 |
| 「entity2src 是规整双列表」 | 多列变长拼接串+1 个空 ID 实体 | §2.8、坑 7 |
| 「Tax:: 实体是基因」 | 是 NCBI 物种分类实体 | §2.9⑬、坑 5 |
| 「嵌入分数可以直接跨训练比较」 | 同一训练内才可比 | 坑 8 |
| 「drkg.tsv 有表头」 | 无表头,首行即真三元组 | 坑 4 |
| 「仓库最后提交 2020」 | 2021-10 仍有修复 commit(数据未变) | 坑 10 |
| 「41 种药都被证明有效」 | 41 中 11 与临床试验重合,非疗效证据 | §4.4 |
| 「DRKG 含分子结构(SMILES)」 | 图内只存 DrugBank ID;SMILES 在上游 | 附录 H3 |
| 「hetionet 的边被 DRKG 重新过滤」 | 原样吸收(2,250,197 边逐项一致) | §5.1 |
| 「DRKG v2 / DRKG++ 存在」 | 无任何官方后续版本 | 附录 G1 |
附录 J:DRKG 生命周期年表(2020-2026)
| 时点 | 事件 | 证据等级 |
|---|---|---|
| 2020-04-27 | GitHub 仓库 gnn4dr/DRKG 创建;LICENSE(Apache-2.0)与 licenses/ 目录落库 | commit 一手 |
| 2020-04-28 | utils 自动下载脚本加入 | commit 一手 |
| 2020-05-03 | 图谱 schema 连通图(connectivity.png)更新 | commit 一手 |
| 2020-05-04 | drkg_with_dgl/notebooks 完善;数据包内容定版前最后调整 | commit 一手 |
| 2020-06-02 | Amazon Science 官方博客宣布开源(41/11 口径首次公开) | 博客一手 |
| 2020-06-15 | drkg.tar.gz 上传 S3(216,650,245 B)——数据版本锚点 | S3 元数据一手 |
| 2020-07-20 | 团队方法论文 arXiv:2007.10261 提交(few-shot 链接预测) | arXiv 一手 |
| 2020-10 | 明尼苏达大学 CSE 校方报道 | 校方页一手 |
| 2020-10-15 | README 文案微调(引用段落) | commit 一手 |
| 2021 年内 | 湖南大学校方中文报道(曾湘祥团队口径+基金信息) | 校方页一手 |
| 2021-07-12 | 官方描述 PDF 入库(非出版物) | commit 一手 |
| 2021-10-24 | 首行表头修复 commit(数据本体不变,下游口径 5,869,294→5,874,261) | commit 一手 |
| 2022 | Briefings in Bioinformatics 综述(bbac404)列入标准对照表 | 综述一手 |
| 2023 | PrimeKG 发布(同类竞品,路线分野显性化) | 第三方论文口径 |
| 2025 | LLaDR(2510.12181)以 DRKG 为基准;VitaGraph(2505.11185)@misc 格式引用 | 第三方论文一手 |
| 2026-10-04 | 本条目编写;S3 直链复测可用,数据包指纹复核一致 | 本条目一手 |
年表读法:2021-10 之后官方再无任何动作——生命周期实质是「2020 冲刺建库、2021 收尾修复、2022 起进入社区自治」。年表内 2023-2025 的活跃全部来自第三方(竞品与后继方法),这正是「冻结基准」生态位的典型形态。
附录 K:三类读者的三种阅读路线
路线一:数据工程师(接数据、进管线)
§1.5 上手 → §2.14 字段字典 → §2.11 关系清单 → §6.1 获取与指纹 → §10 坑 3/4/5/7(解析陷阱)→ 附录 C 实测记录。关键产出:一条可复现的 ETL 脚本 + 版本指纹入库。
路线二:算法研究者(训模型、跑对比)
§4 全章 → §4.9 打分公式 → §4.10 评估协议 → §5 横向比较(选对照图谱)→ §10 坑 8/10(分数与版本纪律)→ 附录 B FAQ。关键产出:与官方基线可比的实验协议声明。
路线三:合规与选型决策者(判断能不能用、用哪个)
§0 导读 → §6 全章(许可矩阵+决策树)→ §5.5 选型决策 → 附录 H 双栏详表 → §10 坑 2(许可口径)。关键产出:一页纸的许可审查结论与选型理由。
交叉检索:所有「坑」的速查直接翻 §10(十个坑各带指针);所有数字争议直接翻附录 I 错误说法对照表(十八项);所有来源与互链直接翻附录 A 与 §9。
附录 L:十个「第一次查询」配方
检索者拿到数据后最高频的十个查询,配方如下(全部基于一手实测的结构):
L1 全图规模三条命令
wc -l drkg.tsv; wc -l entity2src.tsv; wc -l embed/relations.tsv
L2 某药物的全部已知关系(以阿司匹林 DB00945 为例)
grep -P '^Compound::DB00945\t' drkg.tsv | cut -f2 | sort | uniq -c | sort -rn
L3 某疾病已收录的候选药边(按治疗语义)
grep -P '\tCompound:Disease$' drkg.tsv | grep -P 'C0011860' | head -20
L4 全部 107 种关系及边数
cut -f2 drkg.tsv | sort | uniq -c | sort -rn
L5 某基因跨源覆盖检查(许可审查入口)
grep -P '^Gene::207\t' entity2src.tsv
L6 人类限定基因边(物种过滤)
grep -P '\tGNBR::in_tax::Gene:Tax\tTax::9606$' drkg.tsv | cut -f1 | sort -u > human_genes.txt
L7 某关系类型的前 20 大头实体
grep -P '\tDRUGBANK::treats::Compound:Disease\t' drkg.tsv | cut -f1 | sort | uniq -c | sort -rn | head -20
L8 加载嵌入并查最近邻化合物
import numpy as np
emb = np.load('embed/DRKG_TransE_l2_entity.npy')
ids = [l.split('\t')[0] for l in open('embed/entities.tsv')]
i = ids.index('Compound::DB00945')
sim = emb @ emb[i]
top = np.argsort(-sim)[1:11]
print([ids[j] for j in top])
L9 病毒-宿主基因边整段提取(COVID 子图)
grep -P '\tbioarx::' drkg.tsv > covid_subgraph.tsv
L10 许可红线边的快速标记
awk -F'\t' '{split($2,r,"::"); if(r[1]=="DRUGBANK"||r[1]=="GNBR"||r[1]=="STRING"||r[1]=="bioarx") print "NC"; else print "OK"}' drkg.tsv | sort | uniq -c
配方说明:L1-L7、L9-L10 为纯 shell(grep -P 用 Perl 正则匹配 Tab);L8 为最小 numpy 路径。全部查询在普通笔记本秒级完成(全表扫描类约 2-5 秒)。更复杂的图查询建议转入 DGL 异构图(官方 notebook ⑧)或数据库化后进行。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- iuphar-bps — 共享标签:医疗NLP / 知识图谱 / 药物发现与化学 / 药物-靶点相互作用
- ctd — 共享标签:知识图谱 / 药物发现与化学 / 药物-靶点相互作用 / 公共卫生与流行病学
- litcovid — 共享标签:医疗NLP / 公共卫生与流行病学 / COVID-19
- cord-19 — 共享标签:医疗NLP / 公共卫生与流行病学 / COVID-19
- meddra — 共享标签:药物发现与化学 / 公共卫生与流行病学
- vaers — 共享标签:医疗NLP / 公共卫生与流行病学
- sider — 共享标签:医疗NLP / 知识图谱 / 药物发现与化学
- chebi — 共享标签:医疗NLP / 知识图谱 / 药物发现与化学
- dgidb — 共享标签:医疗NLP / 知识图谱 / 药物发现与化学
- primekg — 共享标签:知识图谱 / 药物发现与化学 / 药物-靶点相互作用
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

