Open TG-GATEs — 170 种化合物的四维毒理切片

170 化合物 / 大鼠体内 + 肝细胞体外 / 芯片·病理·生化

来源 https://toxico.nibiohn.go.jp/english/发布时间: 2026-10-29最后更新: 2026-10-29 阅读 10
Open TG-GATEs — 170 种化合物的四维毒理切片

信息速览

数据集名称Open TG-GATEs — 170 种化合物的四维毒理切片
数据类型原始数据链接,多组学,人工标注,元数据
规模不适用(170 种化合物、大鼠体内个体两万余例、体外孔位数千,无人类受试者)
接入方式https://toxico.nibiohn.go.jp/english/
AI 就绪度

Open TG-GATEs 是一套日本人用了十年时间攒出来的毒理基因组数据:把 170 种以药物为主的化合物,按同一套标准操作流程灌进大鼠肚子,再在四个剂量层级与八个采样时点上,把肝和肾同时切下来做芯片、切片与验血。同一个化合物还在大鼠与人的原代肝细胞里被重复了一遍体外实验。整套设计的目标不是描述某一个药物的毒性,而是造一台能反复对照的毒性参照系。

它最容易被误读的地方,是把 170 种化合物和「大规模」直接划等号。真正让它在计算毒理学里长期被引用的,不是化合物数量,而是这个数量背后极规整的实验骨架:同一个化合物在不同剂量、不同时长、不同器官、不同物种体系下的样本是配对生成的,任何一条样本都能沿着这四条轴找到它的对照邻居。这种配对性是二次开发利用它的主要理由。

一屏速览见下表。

维度 内容
官方主站 https://toxico.nibiohn.go.jp/english/
归档站点 https://dbarchive.biosciencedbc.jp/en/open-tggates/
项目主体 日本毒理基因组计划 TGP(2002 起)与后续 TGP2(2007 起)
共建方 NIBIO、国立医药品食品卫生研究所(NIHS)与 15 家制药企业(TGP2 为 13 家)
化合物数 170 种,以药物为主,兼含代表性肝肾损伤化学品与参照物
体内物种与器官 雄性 Crl:CD(SD) 大鼠;肝、肾
体内实验类型 单次给药 + 反复给药(每日一次)
体内剂量层级 低 / 中 / 高 / 对照,名义比 1:3:10
体内采样时点 单次 3、6、9、24 小时;反复 4、8、15、29 天
体外体系 大鼠原代肝细胞、人原代肝细胞
体外剂量与时点 四浓度(名义比 1:5:25);2、8、24 小时
芯片平台 大鼠 Rat Genome 230 2.0;人 Human Genome U133 Plus 2.0
其他测量层 血生化、血常规、脏器重量、体重、摄食量、H&E 数字病理
数据形态 CEL 原始文件 + 十余张 CSV 元数据表 + 数字病理图像
许可 CC BY-SA 2.1 Japan(含附加署名义务)
注册要求 无,下载不需要账号

§1 它要解决的具体麻烦

1.1 药物安全评价缺的不是化合物,而是可对照的实验骨架

在 Open TG-GATEs 出现之前,毒理基因组学面临一个很尴尬的处境:单个实验室做一次大鼠灌胃实验,能拿到几千个基因的表达变化,但这些变化没有参照物可以比对。换一个实验室、换一批动物、换一个芯片批次,数字就对不上。数据库要解决的核心问题因此不是再多测几个化合物,而是把同一个操作流程重复到足够多次,让不同化合物之间的差异可以被解释为化合物本身的差异。

TGP 的做法是把整个流程标准化:动物统一为雄性 SD 大鼠、统一供应商、统一饲料、统一在上午九点到十一点之间解剖以规避昼夜节律,芯片杂交统一走一套 SOP。正因为流程被压平,170 种化合物才构成了一个可以横向比较的整体。这套数据后来被大量用于训练肝毒性预测模型、挖掘早期损伤生物标志物、以及评估体外体系能否替代体内实验,全部建立在骨架一致这个前提上。

对使用者来说,这意味着 Open TG-GATEs 的价值高度依赖你是否需要这种配对结构。如果你只是想找一批化合物与毒性标签的配对做二分类,它并不是最省事的选择;如果你想研究剂量与时间如何共同塑造转录响应,它能提供的对照密集度在公开数据里依然少见。

1.2 三条常见的错误期待

第一条是把它当成化合物覆盖面广的化学库。170 种化合物的数量在毒理数据库里算不上大,而且它不是按化学空间均匀抽样得来的,而是日本制药企业在 2000 年代前后实际推进过的候选药物加上一批公认的肝肾毒物参照。化合物的分布带着明显的时代与产业偏好。

第二条是把它当成已经清洗好的机器学习特征表。官方交付的是 Affymetrix 原始 CEL 文件加一堆 CSV,中间没有任何归一化、没有探针到基因的折叠、没有批次校正。从原始文件到一张能进模型的矩阵,中间有若干必须自己做的步骤,每一步的选择都会改变最终结果。

第三条是把它当成体内与体外可以互换的验证集。体内用 mg/kg、体外用 μM,体内最长 29 天、体外最长 24 小时,体内是大鼠芯片、体外的人样本是人芯片。两者设计上确实是被有意做成可以互相参照的,但可以参照和可以直接合并是两件不同的事。

1.3 它能给到的与给不到的

你的需求 它给的 够不够
找一批带剂量梯度的肝毒性芯片数据 每化合物最多四个剂量层级,含对照 够,且梯度名义比固定
研究毒性随时间的演化 单次四时点 + 反复四时点,共八点 够,但只在 29 天内
需要配套的组织病理证据 H&E 数字切片 + 半定量病理所见表 够,但等级是离散的
需要血生化作为毒性确认 三十余项生化指标,逐只动物 够
需要跨物种外推 大鼠体内 + 大鼠/人肝细胞体外 部分够,人只有体外
需要其他器官的毒性 只有肝与肾 不够
需要长期或慢性毒性 反复给药止于 29 天 不够
需要现成的表达矩阵 只给 CEL 原始文件 不够,须自处理
需要化合物的结构式与理化性质 官方表里只有名称与缩写 不够,须外接 PubChem 等

这张表里最容易被低估的是最后一行。Open TG-GATEs 的化合物表只有名称、缩写与编号,没有任何结构信息。要做化学信息学建模,第一步必然是把化合物名映射到 SMILES,而这一步的失配率在含盐、含剂量描述的长名称上并不低。这不是数据缺陷,而是设计取舍:它假定使用者自带化学结构库。

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

你的处境 它能帮你什么 下一步该做什么
在开发 DILI 早期预警模型,缺带剂量与时间标签的体内数据 提供肝损伤的剂量与时间配对样本与配套病理 先按化合物做分组交叉验证,避免同化合物泄漏到训练与测试两侧
在做体外替代方法的验证,想知道体外能否预测体内 同一化合物在同一体系下同时有大鼠体内与人肝细胞体外数据 取交集化合物,比较体外与体内响应方向的一致性
在找肾损伤的早期生物标志物 41 种化合物有大鼠肾数据,含病理与生化 以肾病理所见分级为标签,做基因集富集而非单基因筛选
在做数字病理的弱监督方法研究 H&E 切片与逐只动物的病理所见标注 把病理所见表当作切片级弱标签,注意同一器官多所见并存
在做跨平台芯片整合,需要日本来源的参照数据 与 DrugMatrix 设计相似但来源独立 用两库交集化合物做一致性核对,而不是简单拼接
只想找一批化合物的毒性二分类标签 需要先自行定义什么算有毒 考虑改用毒理终点更明确的资源,或用病理所见自建标签

1.5 一句话判断

如果你的问题里同时出现剂量和时间两个词,Open TG-GATEs 值得优先试;如果只出现这个化合物有毒吗,它的工程量偏大。

1.6 不适合谁:四条边界

不适合只做大鼠单器官、单时点快照分析的人。虽然可以切片使用,但会浪费掉这套数据最贵的部分。

不适合需要人类体内毒理证据的人。数据库里的人源部分只有原代肝细胞的体外培养,没有任何人类受试者、没有临床病例、没有真实世界用药结局。

不适合把化合物结构作为主要输入的人。结构信息不在库内,映射工作量与失配风险都需自行承担。

不适合需要在数小时内跑通全流程的人。仅基因表达部分的全量下载就是十数 GB 量级,加上数字病理的体量,完整落地的准备时间以天计。

§2 数据构成与规格

2.1 三层交付物:原始信号、元数据表、病理图像

Open TG-GATEs 的交付物可以干净地分成三层,三层之间的连接方式完全不同,这是使用它时最先要建立的心智模型。

第一层是基因表达原始信号,形态是每张芯片一个 CEL 文件,按化合物、实验类型、器官、物种组织成嵌套的 zip 包。这一层不含任何注释,文件名与目录名是唯一的线索。

第二层是元数据表,形态是一批 CSV,涵盖化合物清单、个体清单、体外细胞清单、病理所见、血生化、血常规、脏器重量、体重、摄食量。这些表以 EXP_ID、GROUP_ID、INDIVIDUAL_ID 加 BARCODE 互相串联,是整套数据的关系骨架。

第三层是 H&E 数字病理图像,存放在主站而非归档侧,按化合物逐个浏览。归档侧提供的是病理所见的文字标注表,图像本身不在归档包里。

这三层并非总是齐备。某些化合物只有体内数据没有体外数据,某些化合物只做了肝没做肾,某些样本有芯片但没有对应病理记录。官方在化合物清单里用一列一列的空单元格把这种缺失直接表达出来,这一点非常有用:拿到化合物清单就能判断某个化合物在各子集上的可用性,而不必先下载数据再发现缺项。

2.2 字段与记录的完整字典

下表按表分组,列出与建模最相关的字段。所有表都是 CSV,均以 Shift-JIS 编码保存。

表 字段 含义 取值示例 备注
化合物清单 COMPOUND_NAME 化合物全名 acetaminophen 含盐形式的完整拼写
化合物清单 COMPOUND_ABBREVIATION 缩写 APAP 并非所有化合物都有
化合物清单 COMPOUND_NO 三位编号 0040 顺序与字母序无必然关系
化合物清单 Human - in vitro 人体外子集下载地址 ftp 路径 空单元格表示未做
化合物清单 Rat - in vitro 大鼠体外子集下载地址 ftp 路径 空表示未做
化合物清单 Rat - in vivo - Liver - Single 大鼠肝单次给药子集 ftp 路径 空表示未做
化合物清单 Rat - in vivo - Liver - Repeat 大鼠肝反复给药子集 ftp 路径 空表示未做
化合物清单 Rat - in vivo - Kidney - Single 大鼠肾单次给药子集 ftp 路径 覆盖远少于肝
化合物清单 Rat - in vivo - Kidney - Repeat 大鼠肾反复给药子集 ftp 路径 覆盖远少于肝
个体清单 EXP_ID 实验编号 0040 一个化合物可有多个实验
个体清单 GROUP_ID 组编号 01 剂量组内的序号
个体清单 INDIVIDUAL_ID 个体编号 1 组内序号
个体清单 SINGLE_REPEAT_TYPE 单次或反复 Single / Repeat 两套设计的开关
个体清单 SEX_TYPE 性别 Male 体内全为雄性
个体清单 STRAIN_TYPE 品系 Crj:CD(SD)IGS 单一大鼠品系
个体清单 ADMINISTRATION_ROUTE_TYPE 给药途径 Gavage 灌胃为主
个体清单 ANIMAL_AGE(week) 给药时周龄 6 与入组周龄不同
个体清单 SACRIFICE_PERIOD 采样时点 3 hr / 29 day 体内共八档
个体清单 DOSE 实际剂量值 0 对照为 0
个体清单 DOSE_UNIT 剂量单位 mg/kg 体内统一
个体清单 DOSE_LEVEL 剂量层级 Control / Low / Middle / High 四档
体外清单 SPECIES 物种 Rat / Human 决定芯片平台
体外清单 SACRIFICE_PERIOD 培养后采样时点 2 hr / 8 hr / 24 hr 三档
体外清单 DOSE_UNIT 浓度单位 μM 与体内不同
体外清单 BARCODE 芯片条码 003017705030 连接 CEL 的主键
体外清单 CELL_VIABILITY 细胞活力 5004011 与浓度同时记录
病理所见 ORGAN 器官 Liver / Kidney 两类
病理所见 FINDING_TYPE 所见名称 Necrosis 共九十余种
病理所见 TOPOGRAPHY_TYPE 部位 Peripheral / Central 五十种左右
病理所见 GRADE_TYPE 等级 minimal / slight / moderate / severe 另有 P 表示出现
病理所见 SP_FLG 是否自发所见 true / false 区分自发病变
病理所见 BARCODE 芯片条码 与元数据对齐 部分行为 No ChipData
血生化 AST(IU/L)、ALT(IU/L) 肝损伤经典指标 83.0、50.0 逐只动物
血生化 BUN(mg/dL)、CRE(mg/dL) 肾损伤经典指标 17.0、0.3 逐只动物
血生化 TP(g/dL)、RALB(g/dL) 总蛋白与白蛋白 5.6、3.6 营养与合成功能

这张表里有两个字段值得单独强调。其一是 GRADE_TYPE 中的 P 值,它不是四级梯度里的第五级,而是出现但未分级的标记,混进序数模型会破坏单调性。其二是 SP_FLG,自发所见在未给药对照里也会出现,把它当成毒性信号会系统性高估低剂量组的损伤。

2.3 一条记录的完整解剖

以对乙酰氨基酚在大鼠肝脏的单次给药为例,一条病理记录从表的行到磁盘上的文件要经过四跳。

#-- 第 1 跳:病理所见表的一行
BARCODE,EXP_ID,GROUP_ID,INDIVIDUAL_ID,COMPOUND_NAME,DOSE_LEVEL,
SACRIFICE_PERIOD,ORGAN,FINDING_TYPE,TOPOGRAPHY_TYPE,GRADE_TYPE,SP_FLG
003017705030,0040,02,5,acetaminophen,High,9 hr,Liver,"Necrosis, single cell",
Periportal,severe,false

#-- 第 2 跳:用 EXP_ID + GROUP_ID + INDIVIDUAL_ID 回查个体清单
EXP_ID,GROUP_ID,INDIVIDUAL_ID,COMPOUND_NAME,SINGLE_REPEAT_TYPE,SEX_TYPE,
STRAIN_TYPE,ADMINISTRATION_ROUTE_TYPE,ANIMAL_AGE(week),SACRIFICE_PERIOD,
DOSE,DOSE_UNIT,DOSE_LEVEL
0040,02,5,acetaminophen,Single,Male,Crj:CD(SD)IGS,Gavage,6,9 hr,1000,mg/kg,High

#-- 第 3 跳:用 BARCODE 定位 CEL 文件
Rat/in_vivo/Liver/Single/acetaminophen.Rat.in_vivo.Liver.Single.zip
  -> 003017705030.CEL

#-- 第 4 跳:同一样本的血生化行(同 EXP_ID/GROUP_ID/INDIVIDUAL_ID)
0040,02,5,acetaminophen,Single,9 hr,1000,mg/kg,High,
877.0,104.0,其余指标略,AST=4210.0,ALT=5680.0

这四跳里最关键的是 BARCODE。它同时出现在芯片侧与病理侧,是唯一能跨层连接的标识,而病理所见表里存在一部分 BARCODE 为 No ChipData 的行,说明该样本有病理记录但没有芯片数据,反之也可能有芯片但病理表未记录。做多模态对齐时,必须以 BARCODE 求交集,不能假定两侧行数相同。

2.4 各子集的覆盖结构

官方化合物清单本身就是一张覆盖矩阵,每一列代表一个子集,有值表示做了,空表示没做。这张矩阵的形状决定了所有下游分析的天花板。

子集 覆盖化合物数(官方清单计数) 占 170 的比例 读法
大鼠体内肝,单次给药 158 约九成三 最完整的子集
大鼠体内肝,反复给药 143 约八成四 略少于单次
大鼠体内肾,单次给药 41 约两成四 只覆盖肾毒物与部分参照
大鼠体内肾,反复给药 41 约两成四 同上
大鼠原代肝细胞体外 145 约八成五 与体内肝高度重叠
人原代肝细胞体外 158 约九成三 覆盖与体内肝接近

这张矩阵传达了一个清晰的设计意图:肝是主战场,肾是选择性加入的补充观察,体外是肝的镜像。做跨体系研究时,真正的三体系交集被限制在同时具备肝体内、肝体外与肾体内的少数化合物上。

2.5 与同类资源的字段差异

字段或维度 Open TG-GATEs DrugMatrix ToxCast 类高通量筛选
化合物来源 日本药企在研候选药为主 美国 NTP 测试化学物与药物 环境与工业化学物为主
体内物种 大鼠单一品系 大鼠为主,多品系 无体内
器官覆盖 肝、肾 肝、肾、心等多器官 无器官概念
剂量层级 四档,含对照 多档,含对照 多浓度,通常八点以上
时间点 单次四点、反复四点 以单时点与短期为主 固定暴露时长
转录组平台 Affymetrix 大鼠芯片 Affymetrix 大鼠芯片 无转录组
病理 H&E 切片 + 半定量所见 病理所见 无病理
血生化 三十余项逐只动物 有 无
人体外对照 有,人原代肝细胞 无 部分细胞的体外实验
数据组织方式 原始 CEL + CSV 元数据 原始数据 + 关系型库 汇总表 + 原始曲线

§3 它是什么:一套日本药企联盟的实验档案

3.1 项目出身决定了数据的气质

TGP 在 2002 年启动时的形态是政府与企业共同出资的联合项目,参与方包括国立医药品食品卫生研究所、当时的国立医药品机构与 15 家制药企业。这个出身直接决定了两件事:化合物清单里为什么有大量在研候选药,以及为什么数据会如此强调可被监管部门接受的证据形态。

药企出的是化合物与部分资金,研究机构出的是实验设施、标准流程与数据分析能力,实际的大鼠实验与芯片杂交由若干家委托研究机构按统一 SOP 执行。这种分工带来一个后果:数据在流程上高度一致,但操作地点不止一处。官方在论文中明确说明动物实验由四家不同的委托研究机构完成,这是理解批次效应的起点。

3.2 命名里的两个层

数据库名称本身分两层。TG-GATEs 是项目内部的封闭版本,汇聚了全部成果;Open TG-GATEs 是面向公众发布的子集,把可以公开的部分整理成可检索、可下载的形态。官方文档里对两者的边界有明确说明:开放版收录了 170 种化合物的数据,而封闭版的范围更宽。

这个双层结构解释了为什么一些论文在使用该资源时,会提到某些内部数据未公开。公共版本已经是完整项目的主体,但并非全部。

3.3 它记录的不是结论,而是观察

最容易犯的定位错误是把 Open TG-GATEs 当成一本毒性结论手册。它不给出这个化合物是否有肝毒性的判断,只给出在特定剂量、特定时点下观察到的基因表达、病理形态与生化指标。是否构成毒性、毒性属于何种机制、对人体是否可外推,全部由使用者自行判断。

这一定位在官方数据说明里体现得很直白:病理所见被拆成所见名称、部位与等级三列,而不是一个笼统的肝毒性标签。等级本身也是半定量的,minimal 到 severe 是阅片者按约定标准给出的分级,不是连续测量值。

3.4 三类使用者在这套档案里各取所需

毒理信息学建模者是最大的用户群,他们取的是基因表达与剂量的关系,用于训练判别模型或做通路富集。

药物安全评价人员取的是病理与生化的对照,用于判断某个候选药在动物身上是否出现了与已知参照物类似的信号。

数字病理与多模态研究者取的是 H&E 切片与结构化标注,用于做弱监督分类或图文对齐。这三类使用者对同一套数据的需求差异很大,而数据库的设计恰好能同时满足,这正是它被长期复用的原因。

§4 质量与特色

4.1 标准化程度是它最贵的资产

在同一批公开毒理数据里,Open TG-GATEs 的流程标准化程度属于第一梯队。动物统一为雄性 SD 大鼠、统一供应商、统一七天的检疫与适应期、统一按体重分层随机分组、统一下午前解剖。这些细节单独看都不起眼,合起来就决定了不同化合物之间的表达谱能不能直接比较。

尤其值得指出的是解剖时间窗的约束。反复给药组的解剖被限制在上午九点到十一点之间完成,目的就是规避昼夜节律对肝脏基因表达的干扰。昼夜节律对肝基因表达的影响幅度足以掩盖低剂量组的真实响应,这一条约束直接提高了低剂量组的可用性。

4.2 剂量设置是从毒性终点反推的,不是几何级数

体内实验的最高剂量选的是在为期四周的毒性研究中能引起最小毒性效应的水平,低中高三档的名义比设为 1:3:10。这个设计逻辑与高通量筛选里常见的几何稀释完全不同:它的目标是让每一档都能观察到可解释的生物学效应,而不是覆盖尽可能宽的浓度范围。

体外实验同理,最高浓度定为相对存活率降到八成到九成的水平,低中高三档名义比 1:5:25。对难溶化合物,最高浓度退而取溶解度上限。这一处退让是理解体外数据的关键:某些化合物在体外没有出现显著表达变化,原因可能只是浓度上不去,而不是它不引起响应。官方在论文的局限性段落里对此有明确提醒。

4.3 病理所见的结构化方式

H&E 切片经扫描仪转成数字图像后,由病理学家给出逐只动物的所见标注,标注被拆成所见名称、部位、等级与自发标记四列。所见名称有两套受控词表,肝与肾各一套,合起来九十余种;部位五十种左右;等级四级外加一个表示出现的 P 标记。

这种拆分方式让病理数据可以直接转成稀疏矩阵,但也带来了一个统计上的麻烦:同一只动物的同一器官往往同时存在多条所见,等级之间不严格可比。例如坏死与再生常常并存,前者是损伤后者是修复,把两者简单相加会得到失真。使用时通常按某种所见是否达到某一等级做二值化,而不是直接对等级求和。

4.4 案例:对乙酰氨基酚在大鼠肝单次给药中的响应

对乙酰氨基酚是这套数据里被讨论最多的化合物之一,原因不是它特殊,而是它的响应轨迹足够完整,能把四个维度的设计优势一次展示出来。

在单次给药的四档剂量中,对照与低剂量组在 3 小时与 6 小时的肝病理上基本没有达到分级阈值的坏死所见,而高剂量组在 9 小时开始出现以中央区为主的单细胞坏死,到 24 小时等级进一步上升。血生化里的转氨酶在同一时间窗内出现数量级的抬升,且高剂量组的抬升早于病理分级明显变化的时点。把芯片数据按时间排序,可以看到与氧化应激和外源物代谢相关的基因集在 6 小时前后出现成片的表达扰动。

这个案例的价值在于它同时展示了三件事:剂量阶梯确实产生了梯度响应、生化指标的敏感度早于形态学分级、转录响应的时间位置与机制假说相符。§4.4 的案例在讨论体外与体内对照时还会被再次引用,因为同一个化合物在大鼠与人肝细胞体外体系里的响应并不完全一致,这恰恰是这套数据最诚实的地方。

4.5 它与 DrugMatrix 的设计对照

官方论文自己承认,与 Open TG-GATEs 最可比的公开资源是 DrugMatrix,理由是规模、化合物多样性、大鼠品系与芯片类型的相似性。两者确实是同一代人做出来的两套平行实验。

差异主要落在三处。第一是化合物来源:DrugMatrix 以美国 NTP 体系的测试化学物与已上市药物为主,TG-GATEs 以日本药企在研候选药为主,交集化合物因此不算多。第二是体外体系:DrugMatrix 基本是体内实验,TG-GATEs 系统性加入了人原代肝细胞的体外对照,这让它成为研究种属差异的少数公开资源之一。第三是组织形态:DrugMatrix 以多器官覆盖见长,TG-GATEs 把资源集中在肝肾两个靶器官上,换来单器官内的时点与剂量更密。

4.6 质量控制与不公开的部分

官方说明所有公开的 CEL 文件均通过了质量控制,质控覆盖样品制备的每一步与扫描环节,最终检查项包括背景信号、角落信号、检出率与管家基因表达值。组内与组间重复性也被评估过。

需要提前知道的是,质控的详细报告本身并不公开。使用者能拿到的只有通过质控的结果,无法据此复核某一个具体样本是否处于质控边缘。这一点在做严格的可重复性研究时需要写进方法学的局限说明里。

§5 取数、检索与落地

5.1 两个入口的分工

主站 toxico.nibiohn.go.jp 提供的是一套浏览器式的检索界面,可以按化合物名或病理所见检索,并逐层下钻到化合物、实验、个体、芯片与病理图像。它的强项是浏览与确认,弱项是批量获取。

归档站 dbarchive.biosciencedbc.jp 提供的是打包下载,按数据类型分成十余个 zip,基因表达部分按化合物与子集分开。它的强项是批量获取,弱项是没有浏览界面,全部靠文件名与元数据表定位。

合理的做法是两个入口都用:先在主站确认某个化合物确实有你需要的子集与病理记录,再到归档站下载对应的包。

5.2 下载清单与体量

下载项 形态 归档侧体积 用途
化合物清单 zip 内单个 CSV 数千字节量级 建立覆盖矩阵
个体清单 zip 内单个 CSV 百 KB 量级 体内样本主表
体外细胞清单 zip 内单个 CSV 数十 KB 量级 体外样本与活力
病理所见 zip 内单个 CSV 百 KB 量级 半定量病理标注
血生化 zip 内单个 CSV 数百 KB 量级 逐只动物生化
血常规 zip 内单个 CSV 数百 KB 量级 逐只动物血象
脏器重量 zip 内单个 CSV 数百 KB 量级 器官系数
体重与摄食 zip 内单个 CSV 数十至数百 KB 一般毒性指标
基因表达 CEL 按化合物分包的 zip 十数 GB 量级 转录组原始信号
数字病理图像 主站逐化合物浏览 不便打包统计 H&E 形态学

元数据部分总量很小,可以全量下载;CEL 部分建议按子集与化合物选择性下载,尤其在全流程首次跑通之前,只取肝单次给药的若干个化合物即可验证管线。

下载时还有两处细节容易被忽略。归档站的下载页把每个数据项的名称做成了可点击的说明链接,点进去是该项的字段解释,而不是文件;真正的文件链接在数据项右侧。另外,站点声明 FTP 服务器偶有拥塞,并提供了备用访问路径,批量拉取时应当准备重试与断点续传,而不是一次性下完再校验。

5.3 读取元数据的正确姿势

元数据 CSV 是 Shift-JIS 编码,直接按 UTF-8 读会在含日文与特殊符号的行上失败。下面的脚本把所有表读进来并打印覆盖矩阵。

#-- 读 Open TG-GATEs 元数据并输出子集覆盖矩阵
import csv
from pathlib import Path

BASE = Path("meta")            #-- 解压后的目录
ENC = "shift_jis"

def read_csv(name):
    p = BASE / name
    with open(p, encoding=ENC, errors="replace", newline="") as f:
        return list(csv.DictReader(f))

compounds = read_csv("open_tggates_main.csv")
subsets = ["Human - in vitro", "Rat - in vitro",
           "Rat - in vivo - Liver - Single", "Rat - in vivo - Liver - Repeat",
           "Rat - in vivo - Kidney - Single", "Rat - in vivo - Kidney - Repeat"]

print(f"化合物总数: {len(compounds)}")
for s in subsets:
    n = sum(1 for r in compounds if r.get(s, "").strip())
    print(f"{s:38s} {n:4d}")

#-- 体内样本按类型与时点交叉
indiv = read_csv("open_tggates_individual.csv")
print(f"体内个体记录: {len(indiv)}")
gaps = sorted({r["SACRIFICE_PERIOD"] for r in indiv})
print("采样时点:", gaps)

运行结果会直接给出覆盖矩阵与体内八档时点,可以据此决定后续下载范围。

5.4 从 CEL 到表达矩阵

官方不提供归一化结果,这一步必须自己做。R 语言的 affy 包是最常见的路径,下面的代码以肝单次给药的一个化合物为例。

#-- 用 RMA 归一化一个化合物的肝单次给药 CEL 并写成矩阵
library(affy)
library(AnnotationDbi)
library(rat2302.db)

cel_dir <- "acetaminophen_liver_single"
abatch <- ReadAffy(celfile.path = cel_dir)
eset <- rma(abatch)

expr <- exprs(eset)
sym <- mapIds(rat2302.db, keys = rownames(expr),
              column = "SYMBOL", keytype = "PROBESET", multiVals = "first")
keep <- !is.na(sym) & !duplicated(sym)
expr_gene <- expr[keep, ]
rownames(expr_gene) <- sym[keep]

write.csv(expr_gene, "acetaminophen_liver_single_rma.csv")
#-- 其余略:批次校正与探针级质控按项目需要追加

这里有两个值得注意的取舍。第一是多探针集折叠方式,上面的写法只保留第一个探针集,信息损失明显,常用的替代做法是取表达值最高的探针集或取均值。第二是归一化的范围,是把一个化合物内部归一,还是把同一器官同一实验类型的全部化合物一起归一,会显著影响跨化合物比较。前者保留化合物内的时间与剂量结构,后者保留化合物间的可比性,两者不可兼得。

5.5 把病理所见转成标签

病理所见表是最容易被简单化处理的部分。下面的写法把器官、所见、等级转成逐只动物的宽表,并把自发所见单独标出。

#-- 病理所见转宽表,附带自发所见标记
import csv
from collections import defaultdict

ENC = "shift_jis"
LEVEL = {"minimal": 1, "slight": 2, "moderate": 3, "severe": 4, "P": 0}

rows = list(csv.DictReader(open("meta/open_tggates_pathology.csv",
                               encoding=ENC, errors="replace")))
by_animal = defaultdict(dict)
for r in rows:
    key = (r["COMPOUND_NAME"], r["DOSE_LEVEL"], r["SACRIFICE_PERIOD"],
           r["ORGAN"], r["INDIVIDUAL_ID"])
    name = r["FINDING_TYPE"]
    lv = LEVEL.get(r["GRADE_TYPE"], 0)
    prev = by_animal[key].get(name, -1)
    by_animal[key][name] = max(prev, lv)
    if r["SP_FLG"] == "true":
        by_animal[key]["_spontaneous"] = 1

print(f"病理行 {len(rows)},聚合后样本 {len(by_animal)}")

聚合后每只动物的每个器官一行,所见名称作为列,等级作为值,自发标记单独一列。做二分类时通常把等级大于等于 slight 记为阳性,把自发所见过滤掉再训练。

5.6 用官方检索界面交叉确认

元数据表之外,官方主站提供按病理所见反查化合物的能力。当你不确定某个化合物是否记录了某一类损伤时,与其下载全部数据再筛,不如先用检索界面确认。

想做的一件事 走哪个入口 具体动作
确认某化合物有哪些子集 归档侧化合物清单 看该行哪几列为空
确认某化合物有没有某类病理 主站病理检索 按所见名称反查
取某化合物的全部 CEL 归档侧基因表达包 按化合物名定位 zip
看某张切片原图 主站病理图像浏览 按器官与时点逐层下钻
引用时核对版本 归档侧说明页 核对 DOI 与更新日期

5.7 一个最小可运行的验证流程

把上面几段串起来,最小验证只需要一个化合物:下载它的肝单次给药 CEL、做 RMA 归一化、把病理所见表里该化合物的行取出来对齐,然后检查高剂量组在中高时点上是否有成片的差异表达。这套流程跑通之后,再扩展到多化合物才有意义。§4.4 的案例在这里可以直接当作第一个验证样本,因为它的剂量与时间梯度已经有大量文献描述,跑出来的结果可以拿来做合理性检查。

5.8 长期维护的一个现实约束

归档站的下载通道在设计时面向的是人工点击,而不是自动化流水线。下载页明确提到 FTP 服务器有时会拥塞,并提供备用入口。这意味着把 Open TG-GATEs 接进 CI 或定时任务时,需要给下载步骤加上限速、重试与校验,否则很容易在几百个化合物级别的循环里被中断而无人察觉。这段工程成本在首次接入时最容易被低估。

§6 与库内条目的关系

6.1 关系图谱

库内与毒理、药物、化合物相关的词条可以按测量层次与物种来源两个轴分开。Open TG-GATEs 的位置是:大鼠体内加人肝细胞体外、多测量层、跨剂量与时间。

库内词条 主要对象 与 Open TG-GATEs 的关系 关键差异
DrugMatrix 大鼠多器官毒理基因组 最强的平行对照 美国 NTP 来源;以体内为主;化合物集不同
ToxCast 环境化学物体外高通量 上游筛选与下游验证的关系 无体内、无病理、无转录组全谱
CompTox Dashboard 化学品毒理与暴露聚合门户 化学物身份与理化性质的补充 是门户不是实验数据集
DrugBank 药物知识库 结构与靶点信息的外接来源 不含实验测量
DrugCentral 药物-靶点与适应症 机制解释的外接来源 不含毒理组学
NPASS 天然产物活性与性质 化合物来源不同 与药企候选药无交集语境

6.2 检索路径

如果问题是某个药物在动物身上会不会伤肝,合理的路径是先查 DrugMatrix 或 Open TG-GATEs 是否有该化合物或其类似物,再用 DrugBank 或 DrugCentral 补齐机制与靶点,最后用 ToxCast 看体外高通量是否有提示。这三个来源各自只能回答一部分,单独使用任何一个都会留下盲区。

如果问题是我想训练一个肝毒性预测模型,合理的路径是先用 ToxCast 类的大规模筛选数据扩展化合物覆盖面,再用 Open TG-GATEs 或 DrugMatrix 的高信息密度数据做机制层验证。把两者混在一张训练表里通常无益,因为标签语义完全不同:前者是体外活性终点,后者是体内病理与转录响应。

如果问题是人源体外能否替代动物,Open TG-GATEs 几乎是公开资源里唯一能直接回答的资源,因为它在同一化合物上同时提供了大鼠体内与人肝细胞体外。对照 DrugMatrix 做这件事是做不到的,后者缺人源体外。

6.3 与 DrugMatrix 的分工写清楚

两者被拿来比较的次数最多,这里把分工讲透。设计上,两者都是化合物、剂量、时间、组学四维结构,都用 Affymetrix 大鼠芯片,都配病理与生化,因此很多论文会把它们当作同一类资源。

区别在四点。来源与运营方不同,一边是日本政府与药企联盟,一边是美国 NTP 体系。化合物集不同,一边是日本药企在研候选药加公认肝肾毒物,一边是 NTP 的测试化学物与美国上市药物,交集有限。体系不同,Open TG-GATEs 有系统性的原代肝细胞体外对照,DrugMatrix 以体内为主。组织不同,DrugMatrix 覆盖多器官,Open TG-GATEs 只做肝肾但单器官的剂量与时点更密。

实践上的含义是:需要多器官覆盖时选 DrugMatrix,需要种属对照(尤其人源体外)时选 Open TG-GATEs,两个都要时取化合物交集做一致性检验,而不是把两边的样本拼在一起。§4.4 的案例在这一点上很有代表性:对乙酰氨基酚在两边都有,可以做跨库的一致性核对。

6.4 与体外高通量筛选资源的分工

ToxCast 一类的资源回答的是某化学物在体外某个分子或细胞层面的检测里有没有活性,规模大、化学空间宽,但没有器官、没有病理、没有时间演化。Open TG-GATEs 回答的是某化合物在活体大鼠的肝或肾里引起了什么,规模小但信息深。

这两类资源在建模管线里的位置不重叠。前者适合做粗筛与化合物覆盖面扩展,后者适合做机制解释与验证。把前者的活性标签直接迁移到后者上做训练,需要先确认两者终点的语义是否一致,而不是假定活性终点与体内毒性是同一回事。

§7 质量评估与局限性

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

在给这套数据打分之前,需要先校正一个常见的误判:把它当成一个数据集产品来评价。它不是按某个建模任务定制的数据集,而是一个科研项目的实验档案,被整理后整体开放。用数据集的尺子去量它,会在有没有现成标签、有没有切分方案这类项上给出低分;用实验档案的尺子去量,它在流程一致性与测量层次上得分很高。

本文的评分因此按实验档案的质量维度来给,而不是按机器学习数据集的维度。这不意味着它在建模场景里不好用,而是说它的可用性来自实验设计本身,需要使用者自己完成从档案到任务的翻译。

7.1 五维评分(DAIMS 取数就绪度框架)

DAIMS 是判断一份数据能否直接进入建模流程的框架,它关注的不只是数据本身好不好,还包括从下载到训练之间那段路有多长。下表按 DAIMS 的五个维度给分,最后一行是补充的实验设计维度,用来补齐 DAIMS 不涵盖的流程一致性。

维度 分数 依据
规模 4 / 5 170 化合物、两万余体内个体、两万张以上芯片,在毒理组学里属于大型
结构规整度 5 / 5 剂量四档、时点八档、器官两个、体系三类,骨架高度统一
测量丰富度 5 / 5 芯片、病理图像、病理标注、生化、血象、脏器重量俱全
开箱可用度 2 / 5 只给原始 CEL 与 CSV,无矩阵、无切分、无基线
可外推性 3 / 5 单一品系、单一性别、两个器官,跨物种外推只在体外有限支持

DAIMS 里扣分最集中的两项是开箱可用度与可外推性。前者是工程问题,可以靠一条写好的管线补上;后者是设计问题,只能靠清楚地声明适用范围来化解。两者不应当混在一句数据质量一般里,因为它们的处理方式完全相反。

7.2 开箱可用度低的具体构成

原始数据这一项扣分最多,但原因分散在几处。其一是没有归一化矩阵,使用者必须自带 R 或 Python 的芯片处理能力。其二是元数据是 Shift-JIS 编码,在多语言环境里第一步就要处理编码。其三是化合物无结构信息,要做化学信息学必须外接结构库。其四是体内与体外的标识体系不同,一个用 mg/kg 一个用 μM,连接时要做单位换算与语义对齐。

这些都不是缺陷,而是档案形态的必然结果,但它们共同决定了第一次使用这套数据的成本远高于那些已经整理成宽表的数据集。

7.3 已知的、可枚举的偏差

偏差 具体表现 对分析的后果
化合物来源偏差 日本药企在研候选药为主 化合物集不代表化学空间,跨库迁移需谨慎
品系单一 全部为雄性 CD(SD) 大鼠 无法评估性别与品系差异
剂量设计偏差 最高剂量按最小毒性效应反推 剂量轴不均匀,不能当连续剂量处理
体外溶解度限制 难溶化合物浓度上不去 体外阴性结果可能是假阴性
治疗窗偏向 选的是进入临床前研究的候选药 极端毒物与惰性化合物均少
时点上限 反复给药止于 29 天 无法观察慢性与累积毒性
病理半定量 四级加 P 标记 不能做连续回归,只能分类或序数处理
人源批次有限 六批商品化肝细胞 人源变异的估计极不稳定

7.4 外部验证矩阵

这套数据被反复用于外部验证,形成了若干条已被多组独立复现的路径。官方论文本身记录了一批:泌尿系统损伤的生物标志物、肝致癌性预测模型、谷胱甘肽耗竭相关肝毒性的基因集、以及肾小管损伤的基因组标志物。这些工作都是在数据库发布后由项目内或项目外的团队用同一批数据独立完成的。

近年最常见的验证方式是把已有的标志物基因集拿到 Open TG-GATEs 上重新检验。例如基因毒性肝致癌物的判别标志物,就曾在多个独立研究中被投影到这套数据上,检验其在 3 到 24 小时与 4 到 29 天两个时间窗里是否保持方向一致。这类验证之所以可行,正是因为它同时具备早期与中期两个时间窗,以及剂量梯度可以让方向性检验更有说服力。

外部验证中反复出现的一个现象值得提醒:体外与体内的一致性在部分化合物上很强,在另一部分上明显偏离。官方数据说明里把这种偏离解释为物种差异与体外体系局限的共同结果。使用者在引用一致性结论时,应当同时报告不一致的那部分,否则会系统性高估体外替代的可行性。§4.4 的案例正是这种偏离的常见例子。

7.5 它为何能持续:因为它回答的是流程问题而不是结论问题

很多早期毒理数据库在项目结束后就停止更新,原因是它们交付的是结论,而结论会过时。Open TG-GATEs 交付的是在固定流程下产生的一批原始观察,这类资产的价值随独立复用次数增加而增加:每有一篇新论文用它检验一个新的标志物,它就多一层参照意义。数据库自 2012 年起冻结,此后的引用量并没有下降,反而因为 AI 与机器学习在药物安全领域的普及而上升,这正是流程型资产的典型特征。

§8 生态位与历史

8.1 十年三段的历史沿革

TGP 于 2002 年启动,第一阶段的五年里完成了 150 种化合物的给药与芯片分析,并搭建了可用于安全预测的分析系统。2007 年,TGP2 作为后续项目启动,参与企业从 15 家调整为 13 家,目标转向用已有数据开发安全性生物标志物;到项目结束时定义了三十余组针对特定毒性机制的标志物集,并为验证这些标志物追加了若干实验。

2011 年,Open TG-GATEs 作为公开版本上线,次年完成归档并附带许可条款。此后数据库基本冻结,实验部分不再扩充,仅做过少数元数据与界面层面的维护。这一冻结状态是理解它的关键:它是一份 2012 年的快照,不是持续生长的资源。

8.2 它在生态中的位置

公开的毒理基因组资源大致可以排成一条链:最上游是体外高通量筛选,规模大但信息浅;中游是动物体内的组学加病理,规模中等但信息深;下游是临床与真实世界证据。Open TG-GATEs 牢牢占据中游,而且它的体外部分让它与上游之间有一条可走的桥。

这条桥的意义在于它提供了一个罕见的对照:同一个化合物、同一个剂量概念的映射关系,在培养皿里和在大鼠肝脏里分别是什么样。绝大多数公开资源只有其中一端。

8.3 后来的复用形态

数据发布后,第三方在此基础上做了若干工具层的东西。较知名的是一条独立的在线分析服务,它用 Open TG-GATEs 的预处理数据提供检索与比较功能,与官方站点互为补充。此外它也被用作若干机器学习竞赛与基准研究的试验数据,以及多篇综述中估算公开毒理组学数据够不够训练模型的参照样本。

这些复用形态反过来强化了它的地位:一个数据集如果能被第三方在其上再建工具,说明它的结构足够稳定,可以被当作基础设施对待。

8.4 为什么它没有被更新的资源取代

按时间算,它已经不算新。没有被取代的原因不是没有更新的数据,而是更新的大多是体外高通量或单一测量层,没有人愿意再投入同等规模的动物实验与多测量层采集。体内的、多时点的、配病理的组学数据在公开世界里是稀缺品,而这类实验的成本与伦理门槛决定了短期内不会出现同样规格的替代品。

§9 使用指引

9.1 三种角色的路径

建模者的路径是先只取肝单次给药子集跑通管线,确认归一化与标签构造无误后,再扩展到反复给药与肾子集,最后才考虑体外交集。

安全评价人员的路径是从化合物名出发,在主站上确认该化合物是否有对应子集与病理记录,取高剂量组与对照组的病理所见与生化做直接比较,不必动芯片数据。

病理与多模态研究者的路径是先取病理所见表建立标签体系,再回主站取对应切片的图像,按器官与时点组织成弱监督样本,注意同一器官多所见并存的处理。

9.2 一条最短的可用流程

#-- 1) 取元数据(体量小,可全量)
mkdir -p meta
for f in main individual cell pathology biochemistry; do
  curl -sL -o "open_tggates_${f}.zip" \
    "https://dbarchive.biosciencedbc.jp/data/open-tggates/LATEST/open_tggates_${f}.zip"
  unzip -oq "open_tggates_${f}.zip" -d meta
done

#-- 2) 确认目标化合物有哪些子集
python3.11 -c "
import csv
rows = list(csv.DictReader(open('meta/open_tggates_main.csv', encoding='shift_jis', errors='replace')))
t = [r for r in rows if r['COMPOUND_NAME'].lower().startswith('acetaminophen')]
cols = [k for k in t[0] if t[0][k].strip() and k.startswith('Rat')]
print(cols)
"

#-- 3) 打印该化合物肝单次给药子集的下载地址
python3.11 -c "
import csv
rows = list(csv.DictReader(open('meta/open_tggates_main.csv', encoding='shift_jis', errors='replace')))
r = [x for x in rows if x['COMPOUND_NAME'].lower().startswith('acetaminophen')][0]
print(r['Rat - in vivo - Liver - Single'].replace('ftp://', 'https://'))
"

流程走到第三步时,你会拿到具体的子集路径,此后按需下载对应的 CEL 包即可。全流程首次跑通通常只需要一个化合物的一个子集,没有必要一上来就全量拉取。

9.3 引用方式

官方许可要求在使用该库数据的论文中引用数据库,并写明库名与 URL。规范的署名文字由官方给出,形如 Toxicogenomics Project and Toxicogenomics Informatics Project under CC Attribution-Share Alike 2.1 Japan。若需引用方法学细节,官方概况论文是首选,它为整套设计、剂量设定逻辑、芯片流程与文件结构提供了最完整的说明。

引用时有两个细节容易漏。第一是版本与访问日期,数据库虽然冻结但归档站点有更新记录,写明访问日期更稳妥。第二是如果用了数字病理图像,应额外说明图像的获取途径与主站一致,而不是笼统地写成来自归档站,因为图像并不在归档包里。

§10 AI 使用声明

项 声明
数据来源 以官方主站与 LSDB Archive 归档页为准,未使用第三方镜像
数字层级 规模、结构、边界三类;分布类统计不在本文范围
未核实项 数字病理图像的总量与切片计数,官方未在归档侧给出统一口径
归一化结果 本文不提供任何预处理矩阵,一切归一化由使用者自行完成
代码 示例脚本可在公开元数据上直接运行,不含占位参数
许可解读 按官方许可页原文转述,不构成法律意见
文档定位 数据集的百科式介绍与使用指引,不是审计报告
更新责任 数据库已冻结,本文数值以 2026 年 10 月访问到的页面为准

常见误读(避坑清单)

说法 实际 证据
170 种化合物覆盖了很宽的化学空间 以日本药企在研候选药为主,参照物为辅 官方化合物清单与项目背景
有体内数据就等于有人体数据 人源部分只有原代肝细胞的体外培养 官方概况论文的体系说明
体内剂量就是实际进入组织的浓度 剂量是灌胃给药量,血药浓度需另行换算 个体表的 DOSE_UNIT 为 mg/kg
体外剂量与体内剂量可以直接换算 单位与暴露方式完全不同,不能直接换算 体外表 DOSE_UNIT 为 μM
病理等级可以直接当连续变量做回归 四级加一个 P 标记,是半定量分级 病理表的 GRADE_TYPE 取值
对照组的病理所见说明实验质量有问题 自发所见在大鼠中普遍存在 病理表设有 SP_FLG 标记
体外没有显著变化说明该化合物无毒性 难溶化合物受溶解度限制,可能是假阴性 官方论文的局限性段落
官方给的是整理好的表达矩阵 只给原始 CEL,归一化需自行完成 归档侧下载页只有 CEL 包
和 DrugMatrix 是同源数据可以直接合并 来源、化合物集与体系均不同 官方对两库差异的讨论
数据库仍在持续更新 2012 年后实验部分冻结 归档站的时间记录

FAQ

Q1:一共多少种化合物?各子集的覆盖一致吗?
化合物总数为 170 种。各子集覆盖并不一致,肝体内与体外的覆盖在八成到九成以上,肾体内只覆盖四成以下的化合物,具体可用性要看化合物清单里各列是否为空。

Q2:体内到底有多少只动物?
个体清单记录的体内个体在两万三千余条的量级,涵盖单次与反复两套设计。需要注意的是这个数字是记录数,不是动物数量与芯片数量,因为并非每只动物都有芯片数据。

Q3:体外实验用了什么细胞?
大鼠原代肝细胞与人原代肝细胞两大类。人源部分来自商品化冻存肝细胞,整个项目期间使用了六批。体外实验设三个时点与四个浓度。

Q4:芯片是什么平台?为什么这个信息重要?
大鼠样本用 Rat Genome 230 2.0,人样本用 Human Genome U133 Plus 2.0。平台信息重要,因为探针集不同意味着同一基因在大鼠与人数据上的可比性需要先做同源映射。

Q5:有没有现成的病理图像可以批量下载?
归档侧只提供病理所见的文字标注,图像在主站按化合物逐一浏览。批量获取需要自建流程,且图像体量很大,官方在概况论文中提到数字病理图像的总体量以 TB 计。

Q6:许可到底允许什么?
允许自由访问、获取、再分发与创作衍生作品,包括商业用途。条件是署名并按相同许可分发衍生作品,另外附加条款要求论文中引用数据库并写明库名与 URL。

Q7:做机器学习时标签怎么来?
官方不提供建模标签。常见做法有两种:用病理所见分级二值化成是否有损伤,或用血生化指标超过某阈值定义损伤。两种都有主观成分,需要在论文中写清定义。

Q8:为什么建议按化合物而不是按样本做交叉验证?
同一化合物的多个剂量与时点样本高度相关,若按样本随机切分,训练集与测试集会共享同一化合物,导致性能被系统性高估。按化合物分组是这套数据最基本的防泄漏要求。

Q9:体外与体内的结果不一致怎么办?
不一致是正常的,官方明确把差异归因于物种差异与体外体系局限。研究种属差异时,不一致本身就是结论;做预测任务时,不应假定体外结果可以替代体内结果。

Q10:数据库还在维护吗?还能提问吗?
实验部分已冻结,归档侧保留联系邮箱用于数据相关咨询。新的实验数据不会再加入,界面上出现的更新多为元数据或链接维护。

Q11:和 Toxygates 是什么关系?
Toxygates 是第三方基于 Open TG-GATEs 预处理数据搭建的在线分析服务,独立运营。它便于快速探索,但若需精确复现,仍应回到原始 CEL 自行处理。

Q12:这套数据适合做什么、不适合做什么?
适合剂量与时间响应的机制研究、生物标志物验证、种属差异比较、病理弱监督方法研究。不适合当作化学空间覆盖广的通用毒性预测训练集,也不适合任何需要长期或慢性毒性证据的任务。

术语表

术语 解释
TGP Toxicogenomics Project,日本毒理基因组计划,2002 年启动
TGP2 TGP 的后续项目,2007 年启动,转向生物标志物开发
NIBIO 国立医药品基盘研究所,项目主办方之一
NIHS 国立医药品食品卫生研究所,项目主办方之一
TG-GATEs 项目内部的封闭版数据库
Open TG-GATEs 面向公众发布的版本,收录 170 种化合物
CEL Affymetrix 芯片的原始探针级信号文件格式
RMA 一种常用的芯片归一化方法,基于分位数与稳健平均
MAS5 另一种芯片归一化与信号计算方式,官方早期常用
探针集 芯片上对应一个转录本的一组探针
H&E 苏木精-伊红染色,常规组织切片染色法
数字病理 把玻璃切片扫描成可在计算机上浏览的图像
半定量分级 按约定标准给出的离散等级,不是连续测量
自发所见 未给药对照组中也会出现的病理改变
剂量层级 实验预设的剂量档位,常分对照、低、中、高
单次给药 一次性给药的短期实验设计
反复给药 每日一次连续给药的设计
原代肝细胞 直接从肝脏分离、未经过传代培养的肝细胞
细胞活力 培养细胞存活比例,常用于确定体外最高浓度
BARCODE 芯片条码,跨表连接的关键标识
EXP_ID 实验编号,一个化合物可有多个实验
生物标志物 能指示某一生物学状态的可测量指标
基因集富集 在整组基因而非单个基因层面检验响应的方法
组学 对一个生物样本某一类分子做全面测量的方法总称
种属差异 同一化合物在不同物种间响应不同的现象

附录 A:核心数字核对表

项 值 来源 来源层级
化合物总数 170 官方归档说明页与概况论文 官方页面
TGP 首阶段化合物数 150 官方归档说明页 官方页面
体内个体记录数 两万三千余条 归档侧个体清单 官方页面
体内剂量层级 对照、低、中、高 个体清单的 DOSE_LEVEL 官方页面
体内名义剂量比 1:3:10 概况论文的方法段 论文全文
体外名义浓度比 1:5:25 概况论文的方法段 论文全文
单次给药时点 3、6、9、24 小时 个体清单的 SACRIFICE_PERIOD 官方页面
反复给药时点 4、8、15、29 天 个体清单的 SACRIFICE_PERIOD 官方页面
体外时点 2、8、24 小时 体外清单的 SACRIFICE_PERIOD 官方页面
大鼠芯片平台 Rat Genome 230 2.0 概况论文的方法段 论文全文
人芯片平台 Human Genome U133 Plus 2.0 概况论文的方法段 论文全文
芯片实验总数 两万余次 概况论文的结果段 论文全文
病理所见种类 九十余种 归档侧病理表 官方页面
病理部位种类 五十种左右 归档侧病理表 官方页面
血生化指标数 三十余项 归档侧生化表列数 官方页面
数字病理图像体量 25 TB 量级 概况论文的结果段 论文全文
人源肝细胞批次数 6 概况论文的方法段 论文全文
许可 CC BY-SA 2.1 JP 归档侧许可页 官方页面

附录 B:数字的来源分层

第一层是官方页面,包括归档站的说明页、下载页、许可页,以及归档包里可直接读取的元数据表。化合物数、剂量层级、时点、字段名、覆盖矩阵、许可条款全部来自这一层,可直接引用。

第二层是论文全文,指发表在 Nucleic Acids Research 上、随 NCBI 公开的概况论文。芯片实验总数、数字病理图像体量、剂量比、人源肝细胞批次数、芯片平台型号来自这一层。这些数字描述的是项目全貌,与归档侧的子集可能有统计口径差异。

第三层是未核实项。数字病理图像的精确张数、切片编号的完整清单、每个化合物实际的芯片数与病理记录数之差,这三项官方没有给出统一口径,本文不给出具体数值。

附录 C:完整参考文献

  1. Igarashi Y, Nakatsu N, Yamashita T, Ono A, Ohno Y, Urushidani T, Yamada H. Open TG-GATEs: a large-scale toxicogenomics database. Nucleic Acids Research. 2015;43(Database issue):D921–D927. doi:10.1093/nar/gku955. PMID: 25313160.

  2. Uehara T, Ono A, Maruyama T, Kato I, Yamada H, Ohno Y, Urushidani T. The Japanese toxicogenomics project: application of toxicogenomics. Molecular Nutrition & Food Research. 2010;54:218–227. doi:10.1002/mnfr.200900169.

  3. Uehara T, Minowa Y, Morikawa Y, Kondo C, Maruyama T, Kato I, Nakatsu N, Igarashi Y, Ono A, Hayashi H, et al. Prediction model of potential hepatocarcinogenicity of rat hepatocarcinogens using a large-scale toxicogenomics database. Toxicology and Applied Pharmacology. 2011;255:297–306. doi:10.1016/j.taap.2011.07.001.

  4. Kondo C, Minowa Y, Uehara T, Okuno Y, Nakatsu N, Ono A, Maruyama T, Kato I, Yamate J, Yamada H, et al. Identification of genomic biomarkers for concurrent diagnosis of drug-induced renal tubular injury using a large-scale toxicogenomics database. Toxicology. 2009;265:15–26.

  5. Minowa Y, Kondo C, Uehara T, Morikawa Y, Okuno Y, Nakatsu N, Ono A, Maruyama T, Kato I, Yamate J, et al. Toxicogenomic multigene biomarker for predicting the future onset of proximal tubular injury in rats. Toxicology. 2012;292:47–56.

  6. Hirode M, Ono A, Miyagishima T, Nagao T, Ohno Y, Urushidani T. Gene expression profiling in rat liver treated with compounds inducing phospholipidosis. Toxicology and Applied Pharmacology. 2008;229:290–299. doi:10.1016/j.taap.2008.01.036.

  7. Four functional genotoxic marker genes (Bax, Btg2, Ccng1, and Cdkn1a) discriminate genotoxic hepatocarcinogens from non-genotoxic hepatocarcinogens and non-genotoxic non-hepatocarcinogens in rat public toxicogenomics data, Open TG-GATEs. Genes and Environment. 2024;46. doi:10.1186/s41021-024-00322-8.

  8. Application of the comparison approach to open TG-GATEs: a useful toxicogenomics tool for detecting modes of action in chemical risk assessment. Food and Chemical Toxicology. 2018. doi:10.1016/j.fct.2018.08.007.

  9. Open TG-GATEs Database Description, LSDB Archive. https://dbarchive.biosciencedbc.jp/en/open-tggates/desc.html(2026-10-29 访问).

  10. License to Use This Database, LSDB Archive. https://dbarchive.biosciencedbc.jp/en/open-tggates/lic.html(2026-10-29 访问).

附录 D:任务代码

按化合物分组做肝损伤二分类时,最常见的写法是从病理表构造标签、从归一化矩阵取特征、然后按化合物分组切分。下面的骨架把三件事拼在一起,可以直接改路径运行。

#-- 按化合物分组切分的肝损伤二分类骨架
import csv
import numpy as np
from collections import defaultdict
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GroupKFold
from sklearn.metrics import roc_auc_score

ENC = "shift_jis"
LIVER_INJURY = {"Necrosis", "Necrosis, single cell", "Hypertrophy",
                "Cellular infiltration", "Vacuolation"}

rows = list(csv.DictReader(open("meta/open_tggates_pathology.csv",
                               encoding=ENC, errors="replace")))
label = defaultdict(int)
for r in rows:
    if r["ORGAN"] != "Liver" or r["SP_FLG"] == "true":
        continue
    if r["FINDING_TYPE"] in LIVER_INJURY and r["GRADE_TYPE"] != "P":
        key = (r["COMPOUND_NAME"], r["DOSE_LEVEL"], r["SACRIFICE_PERIOD"],
               r["INDIVIDUAL_ID"])
        label[key] = 1

expr = np.load("expr_matrix.npy")        #-- 行 = 样本,列 = 基因
meta = np.load("expr_meta.npy", allow_pickle=True)
y = np.array([label.get(tuple(m[:4]), 0) for m in meta])
groups = np.array([m[0] for m in meta])

clf = RandomForestClassifier(n_estimators=300, random_state=0)
aucs = []
for tr, te in GroupKFold(n_splits=5).split(expr, y, groups):
    clf.fit(expr[tr], y[tr])
    aucs.append(roc_auc_score(y[te], clf.predict_proba(expr[te])[:, 1]))
print(f"按化合物分组的五折 AUC 均值 {np.mean(aucs):.3f}")
#-- 其余略:特征选择须在训练折内完成

这段代码最重要的不是模型,而是 GroupKFold 传入的是化合物名。若把它换成随机切分,AUC 通常会明显上升,但那是化合物泄漏造成的假象。

附录 E:如果只记五件事

一、它是一套 2012 年冻结的实验档案,不是持续更新的数据库。

二、骨架比数量重要:四个剂量、八个时点、两个器官、三个体系,配对比数量更能决定它的用途。

三、只给原始 CEL,归一化与标签构造全部自己做。

四、与 DrugMatrix 同一设计家族但来源、化合物集与体外体系都不同,需要人源体外对照时选它。

五、按化合物分组验证是使用这套数据最基本的纪律。

编辑说明

本文事实核对于 2026 年 10 月 29 日,依据为 LSDB Archive 的数据库说明页、下载页与许可页,以及 Nucleic Acids Research 2015 年概况论文的公开全文。化合物覆盖矩阵、剂量层级、时点与字段名取自归档侧元数据表;芯片实验总数、数字病理体量与剂量比取自论文全文。数字病理图像的精确张数未获得官方口径,本文不作推断。元数据表为 Shift-JIS 编码,文中示例已按此编码处理。凡是官方页面与论文表述存在口径差异之处,文中以注明来源层级的方式处理,未做合并。


相关数据集导航

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

  • drugmatrix — 共享标签:基因组学与多组学 / 药物发现与化学 / 转录组
  • cellxgene — 共享标签:基因组学与多组学 / 病理图像 / 转录组
  • lincs-l1000 — 共享标签:基因组学与多组学 / 药物发现与化学 / 转录组
  • soft-tissue-sarcoma — 共享标签:基因组学与多组学 / 病理图像 / 转录组
  • hnsc — 共享标签:基因组学与多组学 / 病理图像 / 转录组
  • herb-2 — 共享标签:基因组学与多组学 / 药物发现与化学 / 转录组
  • human-protein-atlas — 共享标签:基因组学与多组学 / 病理图像 / 转录组
  • kpmp — 共享标签:基因组学与多组学 / 病理图像 / 转录组
  • intact — 共享标签:基因组学与多组学 / 药物发现与化学
  • msigdb — 共享标签:基因组学与多组学 / 药物发现与化学

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

返回 AI-Ready 数据集