信息速览
DrugMatrix 是一套以大鼠为对象的大规模毒理基因组学参考库。它由加州山景城的 Iconix Pharmaceuticals 建立,2005 年在《Journal of Biotechnology》上发表时已经覆盖约 600 种化合物、最多 7 个组织、3200 组合以上的「化合物—剂量—时点—组织」组合;2010 年末由美国国家毒理学计划(NTP,隶属于 NIEHS)整体接收,此后以公开、免费的方式分发。NTP 对外给的口径是 637 种化合物、约 700 项短期毒性研究。
它与一般的转录组数据集不同之处在于「锚定」。芯片只说明哪些基因被调动了,DrugMatrix 在每一只动物身上同时记录了组织病理学所见、血清临床化学、血液学与脏器重量,并用动物号把这些记录与芯片一一对上。所以它真正提供的是一份可被交叉核对的证据链:某化合物在某剂量、某时点、某组织里引起了什么转录变化,同时在该组织里看到了什么病理改变。这种配对是它被反复引用的根本原因。
下面先给一屏速览,再逐层拆开:它为什么要做成这样、里面装了什么、怎么把它取出来、它和日本那套常被并列比较的资源究竟差在哪里、以及在哪些任务上它不该被使用。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 全称 | DrugMatrix(毒理基因组学参考数据库,伴随分析套件为 ToxFX) |
| 建立者 | Iconix Pharmaceuticals(后与 Entelos 合并),数据均由该公司产生 |
| 当前持有方 | 美国国家毒理学计划(NTP / NIEHS),2010 年末接收 |
| 首发论文 | Ganter 等,2005 年,《Journal of Biotechnology》第 119 卷 219 至 244 页 |
| 化合物数 | 六百三十七种(论文时期约六百种),其中 FDA 批准药四百三十三种 |
| 物种 | 仅雄性 Sprague-Dawley 大鼠;体外为大鼠原代肝细胞 |
| 组织 | 体内八种:肝、肾、心、脾、肠、骨骼肌、骨髓、脑 |
| 时点 | 0.25、1、3、5 天;极少数研究用 7 天替代 5 天 |
| 剂量设计 | 每化合物每组织一个溶剂对照加两个处理剂量,每格三个生物学重复 |
| 芯片平台 | CodeLink RU1 与 Affymetrix Rat230_2,两套并行 |
| 芯片规模 | CodeLink 约 13000 张,Affymetrix 约 5000 张 |
| 表型数据 | 组织病理约 127000 项测量、血液学与生化约 100000 项测量 |
| 唯一入口 | 曾为 ntp.niehs.nih.gov 网页应用,现已停止托管,改由源码、GEO 与 ApicalXOmics 承接 |
| 许可 | NTP 声明免费公开;无统一许可文本,GEO 条目为准 |
| 更新状态 | 2010 年接收后不再新增实验,属冻结档案 |
§1 它要解决的具体麻烦
1.1 毒理实验缺的从来不是基因列表
一个典型的短期毒性试验会产出三类结果:动物死没死、脏器重量变了多少、切片上看到了什么。这些是监管机构真正用来判定安全性的东西。基因表达芯片产出的是另一类东西:几万个探针的强度值,以及把它们算成倍数变化之后的一长串基因名。
问题出在这两套语言之间的翻译。一份只有基因列表的报告,很难说服任何人;一份只有病理所见的报告,又说不清机制。真正有用的是把两者放在同一只动物身上看:这只鼠的肝切片出现了肝细胞坏死,同一块肝的转录组里是哪些基因在动,动的方向和程度与坏死的严重度是否成正比。这种「表型锚定」是毒理基因组学十余年来最核心的方法论主张。
要做到这一点,需要两件事同时成立。第一是规模:单个化合物的一两次实验不足以支撑任何统计结论,需要几百个化合物在近似条件下的平行记录。第二是标准化:不同实验室、不同批次的样本放不到一张表里,必须由同一批人用同一套协议、同一套芯片、同一个打分标准做出来。
DrugMatrix 正是在第一种「商业公司出钱、一次做够、做成产品」的模式下产生的。Iconix 的商业逻辑是:把几百种化学物的转录指纹做成参照系,药企拿自己的候选化合物去比对,看它在转录层面像不像已知的肝毒物。这个逻辑要求参照系必须又大又整齐,于是就有了这样一份在今天看来规模相当可观的档案。NTP 在 2010 年把它整体买下并公开,等于把一份原本只对付费客户开放的商业参照系变成了公共基础设施。
1.2 三条常见的错误期待
| 常见期待 | 实际情况 |
|---|---|
| 把它当作 600 多种化合物的「毒性标签库」 | 每化合物每组织的处理组通常只有两个剂量点,无法给出剂量反应的形状;标签只能来自病理和生化,不能直接从转录推出 |
| 把它当作多物种、多品系的比较资源 | 只有一个物种、一个品系、一个性别:雄性 SD 大鼠 |
| 把它当作一份持续扩充的数据库 | 2010 年被 NTP 接收时即已定型,此后没有新增实验,只有重新分发与再注释 |
1.3 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 某个已知化合物的转录响应参照 | 该化合物在多个组织、多个时点的处理与对照数据 | 够,前提是该化合物在收录清单之内 |
| 转录变化与病理所见的对应关系 | 同一只动物的芯片与病理评分可通过对齐 | 够,这是它最独特的地方 |
| 剂量反应的形状与阈值 | 每组织两点处理剂量加对照 | 不够,曲线过粗 |
| 时程上的转折点 | 四个时点,最长五天 | 只够看早期响应 |
| 雌性、幼年或非 SD 品系的响应 | 无 | 不够 |
| 人源细胞或人体的对照 | 无 | 不够,需转向其他资源 |
| 慢性暴露与致癌性 | 无 | 不够 |
| 现成的网页比对工具 | 原应用已下线,需自行部署源码或改用 ApicalXOmics | 勉强可用 |
| 原始芯片文件与动物级毒理表 | 两套均提供,但分散在 GEO 与 FTP | 够,需要自行整合 |
1.4 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 手上有新化合物的转录谱,想知道它像不像已知的肝毒物 | 数百种化合物的体内肝脏转录指纹可作为参照 | 按平台与组织做可比性核对,再算相似度 |
| 想验证一组基因能否预测肝细胞坏死 | 同一批动物的病理评分可作标签,芯片数据可作特征 | 按化合物分组做交叉验证,避免同化合物泄漏 |
| 想研究药物对骨髓或肠道的早期影响 | 骨髓与肠道是多数毒理资源缺失的组织,这里有数据 | 注意这两个组织只有 CodeLink 一侧,需接受单平台 |
| 想训练一个跨器官的转录基础模型 | 八个组织、两套平台、同一批化合物构成多任务结构 | 先按组织与平台归一化,再考虑跨组织迁移 |
| 想比较人与大鼠的肝毒性响应差异 | 只有大鼠 | 转向含人原代肝细胞或人肝切片的资源做对照 |
| 想找某化合物的剂量阈值或安全窗 | 每组织仅两个处理剂量 | 转向剂量层级更密的实验资源 |
1.5 一句话判断
如果你的问题是「某种化学物在大鼠身上早期调动了哪些转录程序,同时引起了什么病理改变」,DrugMatrix 是公开资源里覆盖组织最广、表型锚定最完整的一套;如果你的问题是「剂量反应曲线长什么样、雌性有没有差别、人类能不能外推」,它给不了。
1.6 不适合谁:五条边界
第一,不适合把它当剂量反应资源的人。每化合物每组织的处理组通常只有两个剂量台阶,中间没有过渡点。据此判断「阈值」,等于用两点连线去猜一条曲线。
第二,不适合需要雌性或非 SD 品系的人。全部体内实验都用雄性 Sprague-Dawley 大鼠。性别差异与品系差异在这个库里无迹可寻,任何结论都只能限定在这一层。
第三,不适合需要慢性与致癌性终点的人。给药窗最长五天,与慢性毒性、肿瘤发生之间隔着很长的空白。想用它做长期毒性预测,只能把它当作早期信号的来源,而不是长期终点的替代。
第四,不适合需要人源数据的人。库里没有人类细胞,也没有人体样本。跨物种外推必须借用外部数据,而外推本身的可靠性不在该数据集的保障范围内。
第五,不适合期望直接点开网页就做比对的人。NTP 已不再为外部用户托管原应用,比对要么自行部署开源源码,要么使用 NIEHS 另一套较新的查询应用,学习成本比当年的商业产品高得多。
§2 数据构成与规格
2.1 三层内容:芯片、表型、化学注释
DrugMatrix 不是一个数据库文件,而是三组内容并行存放的档案。
第一层是基因表达芯片,也是被使用最多的一层。同一批 RNA 样本分别杂交到两套全基因组芯片上:CodeLink RU1 是大鼠专用的单色寡核苷酸芯片,探针数约为一万量级;Affymetrix Rat230_2 是另一套大鼠全基因组芯片,探针组数在三万量级。两套平台并行并非冗余,而是给使用者一个跨平台一致性检验的机会,也留下了两套平台覆盖组织不完全相同的麻烦。
第二层是表型测量。组织病理按诊断名、严重度与分布做结构化评分,官方口径为约十五万条的病理学测量;临床化学与血液学则按指标名与相对正常范围的偏离方向记录,约十万条。这些测量与芯片数据以动物号关联,这是「锚定」一词的实体含义。
第三层是化学注释。每种化合物都附带从文献、医师案头参考与药品说明书整理出来的药理学与毒理学信息,官方口径为约九百种化学物有详细文献整理,此外还有约六十万条文献事实与约八千个化学结构。这一层不属于实验数据,而是查询时的上下文。
2.2 主要字段
各层字段名不完全统一,但可对齐的键是化合物、剂量、时长、组织与动物号。下表汇总查询界面与论文中出现的主要字段。
| 字段 | 所属层 | 含义 | 用途 |
|---|---|---|---|
chemical |
全部 | 化合物名 | 主键之一 |
casrn |
化学注释 | CAS 登记号 | 跨库关联 |
dtxsid |
化学注释 | EPA DSSTox 物质标识 | 对接 EPA 体系 |
dose |
实验设计 | 给药剂量,单位随化合物而变 | 分组 |
duration |
实验设计 | 暴露天数 | 时序分析 |
route |
实验设计 | 灌胃、皮下、静脉、腹腔、皮下微泵 | 变异来源识别 |
vehicle |
实验设计 | 溶剂,CMC、玉米油、水等 | 对照匹配 |
tissue |
实验设计 | 取样组织 | 组织分层 |
type |
表型 | 病理、临床化学、血液学、脏器重量 | 终点分层 |
assayname |
表型 | 具体诊断或指标名 | 标签构造 |
call |
表型 | 正常、低于正常、高于正常 | 离散标签 |
| 探针号 | 芯片 | 平台相关的探针标识 | 跨平台映射 |
| 动物号 | 芯片与表型 | 生物学个体标识 | 两层对齐的唯一桥 |
表中真正承担结构的是最后一行。没有动物号,芯片与病理就是两份互不相干的表;有了它,才能回答「这个切片的坏死,对应的是哪一张芯片的哪一组基因」。
2.3 一条记录的完整解剖
取一份肝脏样本,它在档案中的样子大致如下。左列是实验设计层,右列是同一条记录关联到的其他层。
#-- 实验设计层(来自研究设计表)
chemical -> "ACETAMINOPHEN"
dose -> 一个处理剂量(另有溶剂对照一格)
route -> "ORAL GAVAGE"
vehicle -> "CMC"(或玉米油)
duration -> 3 天
tissue -> "LIVER"
#-- 芯片层(来自 GEO 样本标题,格式与官方提交一致)
GSM1392540 S011204-033_ALTRETAMINE_13 mg/kg_ORAL GAVAGE_CORN OIL_3 d_Male_94529.CEL
#-- 切片:化合物_剂量_途径_溶剂_时长_性别_动物号.CEL
#-- 表型层(来自表型终点汇总表,按动物号关联)
type -> "HISTOPATHOLOGY"
assayname -> 具体病理诊断名
call -> normal / above normal / below normal
值得注意的是样本标题的构成:它把化合物、剂量、给药途径、溶剂、暴露时长、性别与动物号全部压进一个下划线分隔的字符串里。这种「文件名即元数据」的做法在上传年代很实用,但它把解析责任交给了使用者,任何一处分隔符写错都会让整行流失。
2.4 规模数字的分布
把官方给出的规模按组织与平台两维摊开,能看清覆盖的不均匀。
| 组织 | Affymetrix 子系列 | CodeLink 子系列 | 备注 |
|---|---|---|---|
| 肝 | GSE57815 | GSE59923 | 两平台均覆盖,是体量最大的一对 |
| 肾 | GSE57811 | GSE59913 | 两平台均覆盖 |
| 心 | GSE57800 | GSE59905 | 两平台均覆盖 |
| 骨骼肌 | GSE57816 | GSE59926 | 两平台均覆盖 |
| 骨髓 | 无 | GSE59894 | 仅 CodeLink |
| 脾 | 无 | GSE59925 | 仅 CodeLink |
| 肠 | 无 | GSE59907 | 仅 CodeLink |
| 脑 | 无 | GSE59895 | 仅 CodeLink |
| 原代肝细胞 | GSE57805 | GSE59906 | 两平台均覆盖,体外体系 |
这张表说明了一件事:肝、肾、心、骨骼肌与体外肝细胞是中轴,两套平台都做了;骨髓、脾、肠、脑是外围,只有 CodeLink 一侧。若研究问题落在后四个组织上,就没有跨平台校验的余地,平台特异效应会成为解释的障碍。
2.5 与同类资源的字段差异
| 维度 | DrugMatrix | Open TG-GATEs | CEBS(宿主平台) |
|---|---|---|---|
| 表型字段 | 病理诊断名、严重度、分布,结构化分值 | 病理所见文字加数字病理图像 | 病理与临床化学,按研究组织 |
| 剂量层级 | 每组织两处理点加对照 | 每器官四剂量层级 | 因研究而异 |
| 时点 | 0.25、1、3、5 天 | 单次 3、6、9、24 小时,反复 4 至 29 天 | 因果而定 |
| 物种与性别 | 雄性 SD 大鼠,单一 | 雄性 SD 大鼠加人原代肝细胞 | 大鼠、小鼠、线虫、人 |
| 影像 | 无病理切片图像,只有评分 | 提供 H&E 数字病理 | 部分研究提供 |
| 交付方式 | GEO 系列加 FTP 加源码 | 统一归档站 | 关系型数据库加检索界面 |
CEBS 一列放在这里是为了说明一件容易混淆的事:DrugMatrix 的数据后来被装入 CEBS,但 CEBS 本身是 NTP 的通用仓库,还装着大量与 DrugMatrix 无关的研究。在 CEBS 里检索到的「一项研究」,未必来自 DrugMatrix。
2.6 档案里几处不在明面上的坑
其一,两套平台的归一化尺度不同。CodeLink 与 Affymetrix 的强度值量纲完全不可比,跨平台的合并必须走分位数或排序之类的尺度无关方法,直接取比值或取对数后合并会引入平台伪差。
其二,FTP 上同时存放未处理与按器官归一化两套芯片数据。归一化的具体算法在公开材料中只有概述性描述,若要做严格可复现的分析,应当从原始文件自行重跑,而不是取归一化后的版本。
其三,样本标题里的剂量单位随化合物变化。同一串分析脚本若不先按单位分组,会把毫克每千克与微摩尔批注的剂量当成同一量纲处理。
其四,给药途径有五种之多,灌胃、皮下、静脉、腹腔与皮下微泵。途径本身会影响转录响应的幅度与部位,跨化合物的比较若不控制途径,得到的相似度里会混入给药方式造成的差异。
§3 它是什么:一份由商业公司造、被政府接管的参照系
3.1 出身决定了数据的形状
DrugMatrix 的全部实验都由 Iconix 完成,NTP 未产生任何原始数据。这一点在多处官方材料里被明确写出,重要之处在于它解释了数据的取向:这是一套为商业化毒理比对服务而设计的参照库,不是为满足监管申报或基础研究而设计的实验。
商业化比对的核心需求是「覆盖广、可比、可查」。覆盖广意味着要覆盖尽量多的药物类别与已知毒物;可比意味着所有数据必须来自同一套协议与同一代芯片;可查意味着要配套一个能按基因、化合物、病理、通路多向检索的软件,也就是后来的 ToxFX。
这三个需求直接塑造了它的规模数字:六百多种化合物是为了覆盖药物化学空间,八个组织是为了覆盖主要毒性靶器官,两套芯片是为了给平台一致性留出余地,四个时点是为了捕捉早期与短程响应。
3.2 化合物构成的四个来源
论文与后续介绍把全部化合物拆成几类:占比最大的美国 FDA 批准药物,其次是欧洲与日本批准的药物,然后是已撤市或停用的药物,以及标准毒物、生化标准品等。这一构成把 DrugMatrix 与其他毒理资源区分开来。
以已上市药为主的组成意味着两件事。好的一面是,这些化合物大多有充分的临床安全信息,转录响应可以回溯到实际的人体不良反应,生物学解释更有出处。不好的一面是,这些药物在临床上已经通过安全性评价,所以在毒性谱上偏向「已通过筛选」的一侧,对尚未进入临床的候选化合物可能覆盖不足。
3.3 它记录的不是结论,而是观察
DrugMatrix 不给出「这个化合物有毒」这样的判定。它给出的是某一剂量、某一时点、某一组织上的转录变化与病理所见。是否构成值得关注的毒性,取决于使用者的判据与所要回答的监管问题。
这一点在使用上很重要。很多公开资源把标注写进了数据本身,比如给出「肝毒性阳性」这样的二值标签。DrugMatrix 没有这样的标签,它的「标签」需要从病理评分推导:某只动物的肝切片上出现了特定诊断、特定严重度的改变,就该动物在肝毒性这一维度上记为阳性。推导规则由使用者定,结论也由使用者负责。
3.4 三类使用者各取所需
做机制推断的人取的是锚定关系:先看病理,再回到同一只动物的转录数据里找共变基因,把基因按通路聚合,得到对机制的假设。
做预测建模的人取的是规模与配对:把病理评分当作标签,把芯片当特征,训练一个能从转录谱预测组织损伤的模型。这类工作最需要警惕的是同一化合物的不同样本同时出现在训练集与测试集里。
做参照比对的人取的是一致性:自己的新数据与 DrugMatrix 里已知化学物的数据放在同一坐标系下比对,看落在哪一簇。这一用法对预处理一致性要求最高。
§4 质量与特色
4.1 标准化程度是它最贵的资产
论文自述在设计阶段做了八十余项质量控制。照搬运本身并不意味着数据完美,但它意味着批次之间的人为差异被压到了较低水平。对于需要把几百个化合物放进同一张表的任务,这一点比单个样本的数据质量更重要。
标准化的具体表现有三处:全部实验用同一品系、同一性别、相近周龄的大鼠;芯片杂交在同一批实验室完成;病理切片由固定的兽医病理学家按统一诊断词典评分。这三条的代价是覆盖面受限,收益是可比性。
4.2 剂量设置是从毒性终点反推的
与许多按几何级数设剂量的实验不同,DrugMatrix 的剂量是依据该化合物已有的毒理资料选定的,目标是保证有一个接近无毒的高剂量和一个明确的毒性剂量。这种设计在比对场景里是对的:要判断「像不像肝毒物」,样本本身需要是「有肝毒性的」。
代价是剂量台阶粗,两点之间没有过渡。想做剂量反应建模的人会发现,这里能拟合的形状极其有限。
4.3 病理所见的结构化方式
病理数据在 DrugMatrix 里不是文字描述,而是「诊断名 + 严重度 + 分布」的三元组。诊断词典经过统一,因此跨化合物检索同一个诊断名是可行的。这一点比只提供自由文本病理报告的档案更适合做批量分析。
但它也不提供病理切片的图像。使用者只能看到结构化评分,无法自行复核切片。若研究依赖形态学的细节判断,就必须另找提供数字病理的资源。
4.4 案例:对乙酰氨基酚的肝脏响应
以对乙酰氨基酚为例,可以看清这份档案的典型用法与典型局限。
该化合物在肝组织上有 0.25、1、3、5 天四个时点的处理数据,同时纳入了溶剂对照组。同一批动物的肝切片有病理评分,血清有临床化学测量。把这三层叠在一起,就能看到一条从转录到病理再到生化的对应链:转录层面出现的氧化应激与脂质代谢相关基因变动,与病理层面的损伤所见、生化层面的转氨酶升高在同一时间窗内共现。
这一步做完,得到的是一份可检验的机制假设,而不是一个结论。局限也很清楚:两个剂量点不足以判断这条链从哪个剂量开始,五天窗口不足以判断它会不会持续,单一品系不足以判断个体差异的广度。§4.5 会说明为什么不能拿另一套资源来简单补上这些缺口。
4.5 它与 Open TG-GATEs 的逐项对照
DrugMatrix 与 Open TG-GATEs 经常被并提,两者都是「大鼠肝为主的化合物处理加芯片」的结构,因此在综述与模型论文里常常被放在同一张表里。但它们不是同一份数据的两个版本,逐项对比后差异相当具体。
| 维度 | DrugMatrix | Open TG-GATEs |
|---|---|---|
| 建立者与年代 | Iconix Pharmaceuticals,2000 年代前期采集 | 日本 TGP 联盟,2002 至 2012 年 |
| 当前持有方 | 美国 NTP / NIEHS | 日本 NIBIOHN 与 NIHS,经 LSDB Archive 发布 |
| 化合物来源 | 以美国 FDA 批准药为主,另有测试毒物与标准品 | 以日本药企在研候选药与公认毒物为主,约 170 种 |
| 化合物数 | 六百三十七种 | 约一百七十种 |
| 物种与性别 | 雄性 SD 大鼠 | 雄性 SD 大鼠,另有人原代肝细胞 |
| 器官覆盖面 | 八个组织,横跨多器官 | 体内集中在肝与肾 |
| 剂量层级 | 每组织两处理点加一个对照 | 每器官四个剂量层级 |
| 时点设计 | 0.25、1、3、5 天 | 单次给药四时点,反复给药四时点,跨度更长 |
| 芯片平台 | CodeLink RU1 与 Affymetrix Rat230_2 双平台 | Affymetrix Rat Genome 230 2.0 为主,外加人源 U133 Plus 2.0 |
| 组织病理 | 结构化评分,无切片图像 | 结构化评分加 H&E 数字病理图像 |
| 体外体系 | 大鼠原代肝细胞 | 大鼠与人原代肝细胞,含人源对照 |
| 交付形态 | GEO 系列加 FTP 加源码,无统一归档站 | 统一归档站,配套检索界面 |
| 许可 | NTP 声明免费,无统一许可文本 | CC BY-SA 2.1 Japan,条款明确 |
这张表里最容易被忽略的两行是剂量层级与病理形态。
剂量层级决定了两套资源能回答的问题不同。DrugMatrix 每个组织只有两个处理剂量,适合回答「给到会中毒的剂量时,转录变了什么」;Open TG-GATEs 每器官四个剂量层级,适合回答「从第一个剂量到第四个剂量,响应的形状如何演变」。想做剂量反应建模,后者的结构明显更合适。
病理形态决定了验证的可行性。DrugMatrix 只给评分不给图像,使用者无法在原图上复核病理学家的判断;Open TG-GATEs 同时给出切片图像,验证链条可以一直走到形态学。若研究核心是形态学,这是决定性的差别。
反过来,DrugMatrix 的优势在多器官覆盖与化合物总量。八个组织的覆盖让它能回答「同一化合物在肝以外还在哪些组织扰动转录」,而 Open TG-GATEs 的体内部分集中在肝肾,回答不了这个问题。六百多种与约一百七十种之间的差距,也让它更适合做广泛参照而非深度解剖。
实践上的含义是:需要多器官覆盖与更宽的化合物质谱时用 DrugMatrix;需要密集剂量层级、更长时程、人源体外对照或病理图像时用 Open TG-GATEs。两者化合物有交集,可以做跨库一致性核对,但把两边的样本拼进同一张训练表通常无益,因为标签语义、剂量尺度与平台都不同。
4.6 质量控制与不公开的部分
公开材料描述了标准化流程,但没有公开逐样本的质量控制记录。哪些芯片被判定失败剔除、哪些动物因为给药异常被排除,这些信息在公开分发中不可见。对使用者而言,这意味着只能从最终数据反推质量,而不能从处理日志追溯。
另有一处不公开:原商业产品中基于转录谱给化合物打分的「签名」集合,官方在其后的介绍里提到手注释通路与可评分签名的数量,但这些签名的具体构成与阈值规则并非全部公开。想在公开数据上复现当年的比对结论,会遇到这一层不透明。
§5 取数、检索与落地
5.1 三条公开通道的分工
现在拿到 DrugMatrix 有三条主要路径,用途各不相同。
第一条是 NTP 的入口页,给出项目概述、官方规模口径与 GEO 各子系列的链接,是判断「官方怎么说」的第一站。
第二条是 NCBI GEO 的系列。芯片数据按平台与组织拆成若干子系列,每个子系列有对应的超级系列(SuperSeries)汇总。这条路径最适合需要原始 CEL 文件与样本级元数据的人。
第三条是 NIEHS 的查询应用,即基于 CEBS 的 ApicalXOmics。它把毒理终点与基因表达做了双向检索,适合在拿到数据之前先做问题定位。
原 DrugMatrix 网页应用与 ToxFX 已不再对外托管,NTP 保留了两者的源码仓库,需要的话可以自行部署。这是一条成本较高但最完整的路径。
5.2 下载清单与体量
| 内容 | 位置 | 形态 | 适用场景 |
|---|---|---|---|
| 芯片原始文件 | GEO 各子系列的补充文件 | CEL 压缩包 | 自定预处理 |
| 芯片归一化值 | GEO 系列矩阵;NTP FTP | 文本矩阵 | 快速分析 |
| 按器官归一化数据 | NTP FTP | 分器官目录 | 跨平台比较 |
| 动物级毒理数据 | NTP FTP;ApicalXOmics 汇总表 | 表格 | 标签构造 |
| 化学注释与文献事实 | 原网页应用;需自行部署源码 | 关系型数据库 | 机制解释 |
| 官方参考手册 | CEBS 的 DrugMatrix 条目附件 | 理解检索逻辑 |
使用上的建议是:先用 GEO 的系列矩阵快速看一遍数据形状,确定自己的问题在哪些子系列里能回答;再用 CEL 原始文件重跑预处理;最后与 FTP 上的动物级毒理数据按动物号对齐。
5.3 从 CEL 到可分析的表达矩阵
芯片预处理是一个需要自行决策的环节。DrugMatrix 的官方归一化算法只有概述,若想严格可控,应使用标准流程从 CEL 重建,并分别处理两套平台。
下面这条流程从 CEL 到可用于比对的小矩阵,是最小可用版本。
#-- 第一步:从 GEO 抓取肝组织 Affymetrix 子系列的补充文件清单
#-- 子系列 GSE57815 对应平台 GPL1355(Rat230_2)
mkdir -p dm_liver_affy && cd dm_liver_affy
wget -r -np -nd -A "GSE57815_RAW.tar" \
https://ftp.ncbi.nlm.nih.gov/geo/series/GSE57nnn/GSE57815/suppl/
#-- 第二步:解包,得到每张芯片一个 CEL 压缩文件
tar -xf GSE57815_RAW.tar
ls *.CEL.gz | wc -l
#-- 第三步:取得样本元数据,用于把文件名映射回化合物与剂量
wget -r -np -nd https://ftp.ncbi.nlm.nih.gov/geo/series/GSE57nnn/GSE57815/matrix/GSE57815_series_matrix.txt.gz
#-- 第四步:用标准流程从 CEL 重建表达值
from pathlib import Path
from affy import read_rma, read_cel
import pandas as pd
cel_files = sorted(Path(".").glob("*.CEL.gz"))
expr, _ = read_rma(cel_files, to_return="xys+exprs")
print("芯片数:", expr.shape[1], "探针组数:", expr.shape[0])
#-- 第五步:从样本标题解析出化合物、时长、性别与动物号
def parse_title(t):
parts = t.split("_")
return {"chemical": parts[1], "dose": parts[2],
"duration": parts[4], "sex": parts[5]}
meta = pd.read_csv("GSE57815_series_matrix.txt.gz", sep="\t",
comment="!", index_col=0).T
meta_title = meta["Sample_title"].apply(parse_title).apply(pd.Series)
#-- 第六步:按化合物分组做差异比较,而不是跨化合物做
from scipy.stats import ttest_ind
import numpy as np
ratio = {}
for chem, grp in meta_title.groupby("chemical"):
idx = grp.index.intersection(expr.columns)
if len(idx) < 6: #-- 处理组与对照组各三个重复
continue
treat, ctrl = idx[:3], idx[3:6]
diff = expr[treat].mean(axis=1) - expr[ctrl].mean(axis=1)
ratio[chem] = diff
out = pd.DataFrame(ratio)
print("可比对化合物数:", out.shape[1])
这段流程里有三处需要按实际情况调整。其一,上面用「前三张为处理组、后三张为对照」只是为了说明结构,真实分组必须从样本标题里的化合物名与剂量字段解析,不能靠顺序臆测。其二,跨平台的合并不能把两张表直接拼接,应先各自做分位数归一化再取共同探针的排序。其三,若把不同化合物的样本混在一起做显著性检验,得到的显著性反映的是化合物分布而不是生物学效应。
5.4 用查询应用做交叉确认
在正式分析之前,用 ApicalXOmics 做一轮定位通常能省去很多摸索。它提供基因到病理、病理到基因、基因到临床化学、基因到脏器重量四组双向检索,并且能按组织、平台与暴露时长过滤。
对于「某基因是否与某类肝损伤相关」这类问题,先在这里看一眼关联是否成立,再决定要不要下载芯片数据做定量,是效率更高的顺序。反过来,若在这里看不到任何关联,即便芯片数据里有微弱差异,也很难建立可信的生物学解释。
需要注意的边界是:该应用的统计口径基于严重度评分的对数比值与 Mann-Whitney 检验,结果会因组织与平台的不同而不同。同一基因在肝与肾上的关联强度不可直接比较。
5.5 把病理所见转成标签
病理数据的结构化程度决定了它可被转成标签,但转换规则需要明确。常见的做法有三步。
第一步,选定诊断词典的子集。全部约一百五十种诊断名并不都适合作为预测目标,出现频次过低的诊断无法支撑训练。
第二步,明确阳性的定义。可以是「任一严重度大于零」,也可以是「中等及以上严重度」。两种定义得到的标签分布差异很大,而这一选择必须写在方法里。
第三步,按动物号把标签挂到芯片上。这一步最容易出错,因为芯片样本标题里的动物号与表型表的动物编号不一定使用同一套编号体系。
5.6 一个最小可运行的验证流程
把上面几步串成一个可复现的脚本,大体如下。目标不是得到好模型,而是验证整条链能跑通。
#-- 输入:由上一节得到的表达矩阵 expr 与按化合物分组的标签 y
import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GroupKFold
from sklearn.metrics import roc_auc_score
groups = np.array(meta_title.loc[expr.columns, "chemical"])
y = np.array(labels.loc[expr.columns].astype(int))
X = expr.T.values
clf = RandomForestClassifier(n_estimators=300, random_state=0)
aucs = []
for tr, te in GroupKFold(n_splits=5).split(X, y, groups):
clf.fit(X[tr], y[tr])
aucs.append(roc_auc_score(y[te], clf.predict_proba(X[te])[:, 1]))
print("按化合物分组的五折 AUC 均值:", round(float(np.mean(aucs)), 3))
这里最关键的是一个细节:GroupKFold 传入的分组是化合物名。若换成随机切分,AUC 通常会明显上升,但那是同一化合物在不同剂量、不同重复之间相似造成的泄漏,不是真实的预测能力。DrugMatrix 的重复结构让这个陷阱特别容易踩。
5.7 长期维护上的一个现实约束
NTP 已不再托管原网页应用,这意味着依赖界面做检索的工作流需要重新设计。可行的替代有三条:自行部署开源源码;改用 ApicalXOmics;或者完全跳过界面,直接在 GEO 与 FTP 上做程序化取数。
第三条路最稳定,也最不依赖任何一方是否继续维护某个网页。对于需要长期复现的分析,建议从一开始就按这一条设计。
§6 与库内条目的关系
6.1 关系图谱
| 资源 | 与 DrugMatrix 的关系 | 怎么用在一起 |
|---|---|---|
| Open TG-GATEs | 同一设计家族,来源、化合物集与平台不同 | 取化合物交集做跨库一致性核对 |
| CEBS | DrugMatrix 的宿主仓库,同时收录 NTP 其他研究 | 在同一平台检索,注意区分来源 |
| NCBI GEO | 芯片数据的公开镜像 | 取 CEL 与样本元数据的首选 |
| ToxCast 类体外筛选 | 化合物覆盖面宽但信息密度低 | 先宽筛再回到 DrugMatrix 做机制验证 |
| ARCHS4 类重处理矩阵 | 公共表达数据的背景分布 | 把 DrugMatrix 样本放进背景看偏移 |
6.2 检索路径
若要从零定位一个问题,推荐顺序是:先在 ApicalXOmics 看表型关联是否存在,再在 GEO 找对应的子系列确认样本构成,然后到 FTP 取动物级毒理表核对标签,最后才回到 CEL 做预处理。这个顺序的好处是每一步都能否决下一步,避免下载了几十 GB 才发现问题在这个库的覆盖范围之外。
6.3 与库内毒理基因组条目的分工
库内已有 Open TG-GATEs 的条目,两者常被放在一起讨论。分工可以用三句话概括。
需要多器官覆盖、需要更宽的化合物质谱、需要已上市药的临床安全背景时,用 DrugMatrix。
需要密集剂量层级、需要更长时程、需要人原代肝细胞对照、需要病理切片图像时,用 Open TG-GATEs。
需要跨库核对时,取两边都有、且剂量与时点可比的那一小部分化合物,做一致性检验,而不是把两份数据拼成一张大表。§4.4 提到的对乙酰氨基酚是两边都有的少数例子之一。
6.4 与体外高通量筛选资源的分工
ToxCast 一类的体外资源覆盖面极广,可以在数千种化学物上给出初步的活性提示,但它们的终点是细胞或蛋白层面的活性,不涉及组织形态与整体动物反应。
这两类资源的关系是上下游。体外筛选负责回答「这个化合物在体外有没有活性、活性来自哪个通路」,DrugMatrix 负责回答「在整体动物里,这种活性是否表现为可观察的毒性」。把两者混为一谈,最常见的错误是把体外活性当作体内毒性的替代。
§7 质量评估与局限性
7.0 阅读本节前的一个前置校正
评估 DrugMatrix 时,最容易犯的错是拿评估策展型生物数据库的尺子来量它:问它注释是否经过双人复核、字段是否完整、是否随文献更新。这些维度上它必然表现平平,因为它的设计目标从来不是做一份注释数据库,而是做一套可横向比对的实验参照系。
正确的评估框架是:在「把化合物、剂量、时点、组织、表型与转录放在同一只动物上」这件事上,它做到了什么程度;这份整齐换来了哪些不可逆的损失。下面每一处扣分,都应理解为设计取舍的代价,而不是执行失误。
7.1 五维评分
| 维度 | 分数 | 依据 |
|---|---|---|
| 规模 | 4 / 5 | 六百余种化合物、八个组织,在体内毒理组学资源里居首;扣分在单一品系与单一性别 |
| 一致性 | 5 / 5 | 同一批实验室、同一套协议、同一代芯片,批次差异小 |
| 表型锚定 | 5 / 5 | 病理、生化、血液学、脏器重量与芯片逐动物对齐,公开资源里少见 |
| 可用性 | 3 / 5 | 数据可从 GEO 与 FTP 取到,但原应用下线,两套平台与文字型元数据增加整合成本 |
| 剂量与时程分辨率 | 2 / 5 | 每组织两点处理剂量、最长五天,限制机制推断的深度 |
| 可追溯性 | 3 / 5 | 有官方参考手册与论文,但逐样本质控记录与签名规则不完全公开 |
7.2 DAIMS 视角下的四条线
DAIMS 关心的是数据从采集到使用的链条能否被解释。按四条线看 DrugMatrix:
| DAIMS 线 | 表现 |
|---|---|
| 数据获取与处理 | 有论文与手册描述协议与质控步骤,但逐样本日志不公开 |
| 数据建模 | 以动物号为枢纽关联芯片与表型,模型直观,字段规范 |
| 数据溯源 | 有原始论文与 GEO 系列号,可追溯到研究级别,不足以追溯到每张芯片的判定 |
| 数据使用与治理 | 明确免费公开,但缺统一许可文本,使用条件需回原始条目确认 |
四条线里最稳的是建模,最弱的是治理。使用者在引用与再分发之前,应自行确认 GEO 条目的当前使用条件,而不是想当然认为「政府数据即可随意商用」。
7.3 已知的、可枚举的偏差
第一,性别偏差。全部体内实验只用雄性大鼠。药物代谢与肝毒性在性别间的差异在文献里是有据可查的,这个库无法回答相关问题。
第二,品系偏差。SD 大鼠是 Wistar 之外最常用的品系,但它与 Wistar、Fischer 344 在毒物敏感性上并不完全一致。基于此库训练的模型迁移到其他品系时,需要额外的验证。
第三,化合物选择偏差。以 FDA 批准药为主,这些化合物在进入临床前已经过一轮安全性筛选。用它们训练的毒性预测模型,在预测「本应被淘汰的高毒候选物」时可能系统性乐观。
第四,平台偏差。两套芯片并行是优点,但它们各自覆盖的组织不同。骨髓、脾、肠、脑只有 CodeLink,这意味着跨组织比较中,这些组织与肝肾心之间同时存在组织差异与平台差异。
第五,时程偏差。最长五天,全部结论都只适用于早期响应。把早期转录变化外推到慢性毒性,是这类数据最常被误用的方向。
第六,注释偏差。化学注释来自文献与说明书,其时效停在建设年代。部分化合物后来被发现的毒性机制不在注释之内。
7.4 外部验证矩阵
| 验证角度 | 外部证据 | 结论 |
|---|---|---|
| 数据可用性 | 芯片数据在 GEO 以多个公开子系列完整提交,含 CEL | 可独立重跑,验证门槛低 |
| 方法学基础 | 2005 年论文详述协议与八十余项质控 | 流程有据可查 |
| 后续使用 | 被纳入 CEBS、被多篇毒理信息学论文用作基准 | 生态位稳固 |
| 与并行资源的可比性 | 与 Open TG-GATEs 在共同化合物上的响应方向大体一致 | 可用于跨库核对,不宜直接合并 |
| 衍生工具 | 有开源源码、查询应用与外部镜像 | 工具链不依赖单一站点 |
| 长程可用性 | 2010 年后未新增实验,但分发渠道持续可用 | 停更风险低,但数据不会再长大 |
7.5 它为何能持续:冻结的档案比滚动的数据库更耐放
一般数据库靠「持续新增」维持价值,DrugMatrix 走的是相反的路:它在 2010 年被接收时就已定型,此后没有新增实验,价值却并未衰减。
原因在于它承担的角色是参照系而不是档案库。参照系的价值来自「稳定可比」而非「规模增长」:只要芯片协议与病理词典不变,十年前的数据与今年的分析仍然能放进同一坐标系。一旦开始新增实验,芯片换代、词典修订都会引入不可比,原有用途反而被削弱。
这条逻辑解释了为什么 NTP 在停止托管网页应用后仍保留源码与镜像:这套数据的价值已经不依赖于某个具体界面,而在于它作为一份固定参照长期可被引用。
§8 生态位与历史
8.1 历史沿革
| 时间 | 事件 |
|---|---|
| 2000 年代前期 | Iconix Pharmaceuticals 在加州山景城启动大规模大鼠毒理基因组数据采集 |
| 2005 年 | Ganter 等人在《Journal of Biotechnology》发表建库论文,描述约 600 种化合物、最多 7 个组织的设计 |
| 2000 年代中期 | 作为商业授权产品对外提供,同期的 ToxFX 分析套件随之上线 |
| 2008 年前后 | 数据被收进 NIEHS 的 CEBS 仓库,作为其中的大型参考资源之一 |
| 2010 年末 | NTP 整体接收 DrugMatrix 与 ToxFX,目标是免费开放并衔接 Tox21 |
| 2012 年 | NTP 在对外介绍中给出约七百项研究、六百三十七种化合物、双平台芯片规模的完整口径 |
| 2014 年 5 月 | 芯片数据以 GEO 超级系列加若干子系列的形式公开发布 |
| 2010 年代中期起 | 收录进 CEBS 并作为 NTP 的参考资源长期分发 |
| 近年 | 原网页应用停止对外托管,改由源码仓库、查询应用与 GEO、FTP 镜像承接 |
从这条线能读出两次转折。第一次是商业化到公共化的转折,发生在 2010 年,改变了谁能用它。第二次是应用下线到数据化的转折,发生在近十年间,改变了怎么用它:从「通过工具查询」变成「自行取数分析」。
8.2 它在生态中的位置
在毒理基因组学资源谱系里,DrugMatrix 站在「大规模、体内、多组织、强表型」这一端。它的另一侧是「中小规模、体外、单终点、高通量」的筛选资源,以及「中等规模、单器官、密剂量」的日本资源。
这三个位置回答的问题不同:多组织回答「哪个器官最先受影响」,密剂量回答「从多少剂量开始」,高通量回答「在哪些化学物里值得找」。没有任何一套资源能同时覆盖三问,这也是它们长期并存的根本原因。
8.3 后来的复用形态
DrugMatrix 的数据被多种方式再利用。最直接的是被当作参照系,与新测的化合物数据比对。其次是作为训练语料,被用来构建从转录谱预测病理的模型。再次是作为基准,出现在比较不同预处理方法或不同平台映射策略的方法学论文里。
这三种用法对数据的要求并不相同。比对用法最在意一致性,训练用法最在意样本量与标签质量,基准用法最在意文档完备。DrugMatrix 在前两者上较强,在第三者上因为逐样本质控记录不公开而略弱。
8.4 为什么它没有被更新的资源取代
更新的毒理资源在化合物数或剂量设计上未必更强,而且在组织覆盖与表型锚定这两点上,多数没能超过它。更重要的是,参照系的价值依赖于「已被大量研究引用过」这一事实本身:新的资源要从零建立可比性,需要很长时间。
这也意味着,即便未来出现更先进的平台,DrugMatrix 仍然可能长期作为「共同参照点」被引用,而未必是「最新数据」的来源。
§9 使用指引
9.1 三种角色的路径
毒理建模者的路径是:先从 FTP 取动物级毒理表构造标签,再从 GEO 取对应子系列的芯片数据,然后按化合物分组做交叉验证。这条路径里最花时间的不是建模,而是把两边的动物号对齐。
机制研究者的路径相反:从一个具体的病理所见出发,在查询应用里找到与之关联的基因,再回到芯片数据里看这些基因在剂量与时程上的走势,最后用文献核对通路是否自洽。
数据工程师的路径最重:需要把 GEO 的样本元数据、FTP 的归一化矩阵与动物级毒理表构造成统一的关系模型。要点有三:一是把样本标题的解析规则写成可测试的函数,二是把两套平台的探针做映射,三是把动物号作为所有关联的外键。
9.2 一条最短的可用流程
从零到一份可分析的肝组织处理对照表,最短路径如下。
#-- 第一步:先看官方口径,确认要回答的问题在覆盖范围内
curl -s https://ntp.niehs.nih.gov/data/drugmatrix | grep -i "compounds"
#-- 第二步:拉取肝组织 CodeLink 子系列,用于跨平台核对
mkdir -p dm_liver_codelink && cd dm_liver_codelink
wget -r -np -nd -A "GSE59923_RAW.tar" \
https://ftp.ncbi.nlm.nih.gov/geo/series/GSE59nnn/GSE59923/suppl/
tar -xf GSE59923_RAW.tar
#-- 第三步:拉取动物级毒理汇总表,用于构造标签
wget https://manticore.niehs.nih.gov/paxgene/summaryApicalEndpoints.zip
unzip -o summaryApicalEndpoints.zip
#-- 第四步:把毒理表按化合物与组织过滤出肝毒性相关记录
import pandas as pd
tox = pd.read_csv("summaryApicalEndpoints.csv", low_memory=False)
liver = tox[(tox["tissue"] == "LIVER") & (tox["type"] == "HISTOPATHOLOGY")]
print("肝病理记录数:", len(liver))
print("覆盖化合物数:", liver["chemical"].nunique())
#-- 第五步:统计每个化合物在肝上的诊断谱系
profile = (liver.assign(flag=liver["call"] != "normal")
.groupby(["chemical", "assayname"])["flag"].mean()
.unstack(fill_value=0))
print("化合物 × 诊断矩阵形状:", profile.shape)
这段流程止步于「有一张可用的标签矩阵」。真正的建模还需要把芯片矩阵按动物号接到这张表上,这一步取决于所选择的子系列是否与毒理表覆盖同一批动物。
9.3 引用方式
引用要写到三层。
第一层是建库论文。标准写法是 Ganter B 等人 2005 年发表在《Journal of Biotechnology》第 119 卷的建库论文,这是描述实验设计与规模的第一手出处。
第二层是数据接收与发布。应注明数据由 NTP 于 2010 年接收,芯片数据以 GEO 系列号发布,并写出实际使用的子系列编号与平台标识。只写「DrugMatrix」而不写子系列,会让复核者无法判断你用的是哪一套平台。
第三层是表型数据。若分析用到了病理或生化,应注明数据取自 NTP 的哪一份汇总表或哪个查询应用的哪个版本。
§10 AI 使用声明
| 项目 | 说明 |
|---|---|
| 本页 AI 参与程度 | 由 AI 助手依据官方页面、接收方对外介绍与建库论文摘要起草,人工核对数字与结论 |
| 数字来源层级 | 见附录 B,NTP 入口页与查询应用为一级,论文摘要与对外介绍为二级 |
| 未核实项 | 各组织的精确芯片张数未逐个子系列统计;病理诊断词典的完整条目未公开 |
| 版本信息 | 以 2026 年 10 月读取的 NTP 入口页、GEO 系列页与查询应用为准 |
| 已知不一致 | 化合物数在不同材料中写作约 600、638、637,本文采用 NTP 查询应用与对外介绍的 637 |
| 组织数不一致 | 建库论文写「最多 7 个组织」,查询应用与 GEO 样本覆盖 8 个组织加原代肝细胞 |
| 许可状态 | 官方宣称免费公开但无统一许可文本,本文不代为解释使用条件 |
| 适用边界 | 仅描述数据集本身,不评价任何具体研究的结论是否成立 |
| 更新机制 | 数据已冻结,本文不承诺随官方页面改版同步刷新 |
常见误读(避坑清单)
| 常见说法 | 实际 | 证据 |
|---|---|---|
| 「它和 Open TG-GATEs 是一回事,可以合并」 | 来源、化合物集、剂量层级、平台与病理形态都不同 | §4.5 逐项对照表 |
| 「NTP 还在维护它并持续加样本」 | 2010 年接收即定型,之后没有新增实验 | NTP 入口页只提供源码与镜像,未提新增 |
| 「约六百种化合物,就有六百套完整数据」 | 化合物总数六百三十七,但每个化合物覆盖的组织与平台并不一致 | GEO 各子系列样本构成不同 |
| 「有八个组织,所以每个组织都有两套平台」 | 骨髓、脾、肠、脑只有 CodeLink | NTP 入口页只列出五个组织的 Affymetrix 链接 |
| 「病理是文字报告,没法做批量分析」 | 病理以诊断名加严重度加分布的结构化分值存储 | 查询应用的终点字段与统计说明 |
| 「它提供病理切片图像」 | 只有结构化评分,没有切片图像 | 官方材料未提及任何影像交付 |
| 「有剂量层级,可以拟合剂量反应曲线」 | 每组织通常两个处理剂量加一个对照 | 建库论文的设计描述 |
| 「物种覆盖大鼠与人」 | 只有雄性 SD 大鼠;体外为大鼠原代肝细胞 | 建库论文与 GEO 生物体字段均为大鼠 |
| 「原始数据不给,只能取归一化值」 | 原始 CEL 与归一化值都提供,分处 GEO 与 FTP | GEO 补充文件含 CEL;NTP FTP 分两套存放 |
| 「是政府数据,可以随意商用」 | 官方称免费公开,但无统一许可文本 | 入口页与查询应用均未给出许可条款 |
| 「化合物数写 600 就行,差别不大」 | 不同材料的 600、638、637 是不同时期与不同统计口径 | 论文摘要、接收介绍与查询应用三处口径 |
FAQ
Q1:DrugMatrix 与 Open TG-GATEs 最实质的差别是哪一条?
如果只能记住一条,是剂量层级。DrugMatrix 每组织两个处理剂量,Open TG-GATEs 每器官四个剂量层级。前者适合问「中毒剂量下变了什么」,后者适合问「响应如何随剂量演变」。多器官覆盖与病理图像是另外两条重要差别,但剂量结构对分析方法的限制最强。
Q2:NTP 不再托管网页应用,数据是不是用不了了?
数据仍然完整可用,只是入口变了。芯片数据在 GEO 按平台与组织拆成多个公开子系列,原始 CEL 与归一化值都在;动物级毒理数据在 NTP 的匿名 FTP 与查询应用里;原应用源码也已开源。失去的是便捷的图形界面,不是数据本身。
Q3:能不能拿它训练一个跨化合物的毒性预测模型?
可以,但必须按化合物分组做交叉验证。同一化合物有多个剂量与多个时点的重复样本,若随机切分,训练集与测试集之间会共享化合物,模型学到的是「这个化合物长什么样」而不是「毒性长什么样」。按化合物分组后,性能通常明显下降,那个下降后的数字才是可信的泛化能力。
Q4:两个平台的数据应该合并还是分开?
默认分开。两套平台的强度量纲不同,彼此覆盖的组织也不同。若一定要合并,应先各自做尺度无关的归一化,再在共同探针交集上做合并,并在方法里写清映射规则。直接拼接原始强度会引入难以分离的平台伪差。
Q5:为什么同名化合物的数据在不同子系列里数量不同?
因为各子系列的覆盖本来就不均匀。某个化合物可能只做了肝脏,某个可能只做了 CodeLink 平台。这不是数据缺失错误,而是设计上的取舍:并非每种化合物都需要在所有组织、所有平台上重复。使用时应按实际覆盖情况筛选,而不是假定每格都有数据。
术语表
| 术语 | 本文中的含义 |
|---|---|
| 表型锚定 | 把转录响应与同一动物身上的病理、生化等表型测量对齐的做法 |
| 生物学重复 | 同一处理条件下独立动物个体构成的重复单位,此处通常为三 |
| 溶剂对照 | 只给载体不给化合物的对照组,用于扣除给药操作本身的效应 |
| 给药途径 | 灌胃、皮下、静脉、腹腔与皮下微泵五种之一 |
| CodeLink RU1 | 大鼠专用单色寡核苷酸芯片平台 |
| Rat230_2 | Affymetrix 大鼠全基因组芯片平台 |
| 严重度评分 | 病理所见的分级分值,零表示未观察到 |
| 归一化 | 把芯片强度调整到可比尺度的处理步骤 |
| 参照系 | 用于与新数据比对的历史数据集整体 |
| 冻结档案 | 不再新增数据、只做重新分发的数据集 |
附录 A:核心数字核对表
| 数字 | 本文取值 | 来源 | 层级 |
|---|---|---|---|
| 化合物数 | 六百三十七 | NTP 查询应用的规模表 | 一级 |
| 化合物数(论文时期) | 约 600 | 2005 年论文摘要 | 二级 |
| 短期研究数 | 约 700 | NTP 查询应用与对外介绍 | 一级 |
| 体内组织数 | 8 | GEO 子系列与查询应用的组织选项 | 一级 |
| 论文所述组织数 | 最多 7 | 2005 年论文摘要 | 二级 |
| 时点 | 0.25、1、3、5 天 | GEO 子系列总体设计段 | 一级 |
| 每格重复数 | 3 | GEO 子系列总体设计段 | 一级 |
| CodeLink 芯片量 | 约 13000 | 对外介绍 | 二级 |
| Affymetrix 芯片量 | 约 5000 | 对外介绍 | 二级 |
| 病理测量数 | 约 127000 | 对外介绍 | 二级 |
| 血液学与生化测量数 | 约 100000 | 对外介绍 | 二级 |
| 病理诊断名数 | 约 150 | 对外介绍 | 二级 |
| 有文献整理的化学物 | 约 900 | 对外介绍 | 二级 |
| 接收年份 | 2010 | 对外介绍 | 二级 |
附录 B:数字的来源分层
一级:当前可直接核对的官方页面。 包括 NTP 的 DrugMatrix 入口页给出的化合物数与 GEO 子系列清单、GEO 各子系列的总体设计与样本构成、NIEHS 查询应用的组织与平台选项及终点字段。本文的化合物数、组织数、平台归属、时点与重复数均取自这一层。
二级:论文与接收方对外介绍。 包括 2005 年建库论文摘要中的化合物构成与«最多 7 个组织»表述、NTP 2010 年代对外介绍里的芯片张数与表型测量数。这些数字反映的是特定时期的口径,用于说明规模量级,而非当前精确值。
三级:未核实。 各组织的精确芯片张数未逐个子系列清点;病理诊断词典的完整条目未公开;归一化算法的具体参数未公开。本文不对这些项作推断。
附录 C:完整参考文献
- Ganter B, Tugendreich S, Pearson CI, et al. Development of a large-scale chemogenomics database to improve drug candidate selection and to understand mechanisms of chemical toxicity and action. Journal of Biotechnology, 2005, 119(3): 219–244.
- 美国国家毒理学计划 DrugMatrix 入口页,https://ntp.niehs.nih.gov/data/drugmatrix ,2026 年 10 月访问。
- NIEHS DrugMatrix ApicalXOmics 查询应用的项目描述标签页,https://manticore.niehs.nih.gov/paxgene/ ,2026 年 10 月访问。
- NCBI GEO 超级系列 GSE57822(Affymetrix 芯片全部组织)与其子系列 GSE57800、GSE57805、GSE57811、GSE57815、GSE57816。
- NCBI GEO 子系列 GSE59894、GSE59895、GSE59905、GSE59906、GSE59907、GSE59913、GSE59923、GSE59925、GSE59926(CodeLink 芯片)。
- Waters M, Stasiewicz S, Merrick BA, et al. CEBS—Chemical Effects in Biological Systems: a public data repository integrating study design and toxicity data with microarray and proteomics data. Nucleic Acids Research, 2008, 36(suppl 1): D892–D900.
- Auerbach SS. The DrugMatrix Database(对外介绍材料), NTP at NIEHS, 2012.
- Fostel JM. Towards standards for data exchange and integration and their impact on a public database such as CEBS. Toxicology and Applied Pharmacology, 2008.
附录 D:任务代码
#-- 把两套平台的肝组织样本标题解析成结构化元数据,并做覆盖统计
import re
from pathlib import Path
TITLE = re.compile(
r"^(?P<study>[A-Z0-9]+)-(?P<run>\d+)_(?P<chemical>[A-Za-z0-9\-]+)_"
r"(?P<dose>[\d.]+ ?[a-zA-Z/]+)_(?P<route>[A-Z\- ]+)_"
r"(?P<vehicle>[A-Z ]+)_(?P<duration>[\d.]+) ?d_(?P<sex>[A-Za-z]+)_"
r"(?P<animal>\d+)\.CEL$"
)
def parse(title: str) -> dict:
m = TITLE.match(title.strip())
if not m:
return {}
d = m.groupdict()
d["duration"] = float(d["duration"])
return d
def coverage(titles):
rows = [parse(t) for t in titles]
rows = [r for r in rows if r]
chem, dur, route = set(), set(), set()
for r in rows:
chem.add(r["chemical"]); dur.add(r["duration"]); route.add(r["route"])
return {"n": len(rows), "chemicals": len(chem),
"durations": sorted(dur), "routes": sorted(route)}
titles = [p.name for p in Path("dm_liver_affy").glob("*.CEL.gz")]
#-- 实际文件为 .CEL.gz,先去掉后缀再解析
print(coverage([t[:-3] for t in titles]))
这段代码的第一个用途不是分析,而是自查:跑一遍就能知道手上这个子系列到底覆盖了多少化合物、几个时长、几种给药途径,从而判断自己的问题能不能在这个子集里回答。
附录 E:如果只记五件事
一、它是 2010 年定型的一份大鼠毒理基因组参照档案,不是持续扩充的数据库。
二、六百三十七种化合物、八个组织、四个时点,每组织两个处理剂量加一个对照,每格三个重复。
三、它的独特性在于表型锚定:同一只动物的芯片、病理、生化与脏器重量能对上。
四、与 Open TG-GATEs 的关键差别是剂量层级、人源体外对照与病理图像;多器官覆盖是 DrugMatrix 的强项。
五、按化合物分组做交叉验证,是这个库上所有建模工作最不能省的一步。
编辑说明
本文事实核对于 2026 年 10 月 29 日,依据为 NTP 的 DrugMatrix 入口页、NIEHS 的 ApicalXOmics 查询应用的项目描述与规模表、NCBI GEO 各子系列的公开摘要,以及 2005 年建库论文的摘要与 2012 年 NTP 对外介绍材料。化合物数 637 取自查询应用与对外介绍;论文时期的约 600 与在库的 638 是不同口径,文中并列而未合并。组织数存在两处口径:论文写「最多 7 个组织」,GEO 样本与查询应用覆盖 8 个组织加原代肝细胞,本文以当前可核对的口径为准并注明来源层级。各组织的精确芯片张数、归一化算法参数与病理诊断词典的完整条目未在公开材料中给出,本文不作推断。许可状态两处官方页面均未给出条款文本,文中只陈述「官方称免费公开」这一事实。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- tg-gates — 共享标签:基因组学与多组学 / 药物发现与化学 / 转录组
- lincs-l1000 — 共享标签:基因组学与多组学 / 药物发现与化学 / 转录组
- tahoe-100m — 共享标签:基因组学与多组学 / 药物发现与化学 / 转录组
- herb-2 — 共享标签:基因组学与多组学 / 药物发现与化学 / 转录组
- intact — 共享标签:基因组学与多组学 / 药物发现与化学
- msigdb — 共享标签:基因组学与多组学 / 药物发现与化学
- lipid-maps — 共享标签:基因组学与多组学 / 药物发现与化学
- intenz — 共享标签:基因组学与多组学 / 药物发现与化学
- circpedia — 共享标签:基因组学与多组学 / 药物发现与化学
- alphafold — 共享标签:基因组学与多组学 / 药物发现与化学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。
