信息速览

NCI-ALMANAC — 抗癌药联用筛选数据库 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | NCI-ALMANAC |
| 英文全称 | NCI ALMANAC — A Large Matrix of Anti-Neoplastic Agent Combinations |
| 别名/简称 | NCI ALMANAC、NCI-ALMANAC、DTP Almanac Combo Score |
| 疾病分类 | 恶性肿瘤全谱(ICD-11:2A00-2F9Z;覆盖 9 大癌种组织,见 §2.1) |
| SNOMED CT | 363346000 Malignant neoplastic disease 等(见 §2.1b) |
| 数据模态 | 体外抗癌药两两联用剂量-效应筛选(细胞增殖/活力定量) |
| AI 任务类型 | 药物联用协同预测(回归)、矩阵补全、药物对推荐、机制-响应关联挖掘 |
| 样本总数 | 104 种药物 / 5,232 个药物对 / 60 个细胞系 / 304,549 次实验 / 2,809,671 个剂量组合观测点 |
| 数据格式 | XLSX/CSV 表格(DTP wiki 与 CellMiner 批量下载);社区预处理 CSV(Zenodo) |
| 许可证 | Public Domain(NCI 信息复用政策:无版权、需注明 NCI 来源) |
| 访问级别 | 开放(无需注册与申请) |
| DUO 标签 | NRES(无限制) |
| 语言 | 英文 |
| 首发日期 | 2017-04(论文在线发表)/ 2017(数据库上线) |
| 最后更新 | 2017 首发;截至 2026-09 官方未见重大版本更替公告 |
| 发布机构 | 美国国家癌症研究所(NCI)Developmental Therapeutics Program |
| 官方主页 | https://dtp.cancer.gov/ncialmanac |
| 下载地址 | https://wiki.nci.nih.gov/display/NCIDTPdata/NCI-ALMANAC |
| DOI | 10.1158/0008-5472.CAN-17-0489(论文) |
| 引用次数 | 249+(Europe PMC,截至 2026-06) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 开放获取、规模大、标签定义清晰且有社区预处理版;扣分项:无官方 ML 划分、表格格式需清洗、三筛查中心批次完全混杂、QC 剔除导致缺失非随机 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 映射、细胞系面板构成与联用协同的临床任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(ComboScore 定义与三中心字段体系)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与美国国家癌症研究所(NCI)、NCI Developmental Therapeutics Program 无任何商业利益关联。本页面不销售 NCI-ALMANAC 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受 NCI 的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。NCI-ALMANAC 按 NCI 信息复用政策无版权开放,引用时请注明 National Cancer Institute 为数据来源。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? NCI-ALMANAC 是美国国家癌症研究所(NCI)用近六年时间完成的一项系统性实验:把 104 种已被 FDA 批准的抗癌小分子药两两配对,组成 5,232 个药物对,逐一铺到 60 个人类肿瘤细胞系(NCI-60 面板)上,用 9 或 15 个组合剂量点测试 48 小时,观察两个药合起来是否比各自单独使用"更能杀死癌细胞"。全部结果汇总为一个可公开下载的数据库(Holbeck et al. 2017)。
为什么重要? 联合用药是对抗肿瘤耐药的核心策略,但药物两两组合的数量呈爆炸式增长,临床试验不可能逐一尝试。这项研究启动时,超过 5,000 个药物对中约 75% 从未被注册进任何临床试验——这意味着大量"从未被一起试过的已知安全药物组合"里可能藏着有效方案。数据库的产出链条已经走通:1,898 个在至少一个细胞系上呈阳性活性的组合中,多个组合经小鼠异种移植验证后推动了 NCI 的两项 I 期临床试验(clofarabine+bortezomib,nilotinib+paclitaxel)。
我能用它做什么? 如果你做机器学习,它是药物联用协同预测最经典的大规模训练/基准数据之一:约 29.4 万个"药物对×细胞系"带标签样本,标签(ComboScore)定义完全公开可复现。如果你做药理学或转化研究,它可以按细胞系/机制类别查询"哪个药与我的候选药联用最好",并与 NCI-60 丰富的分子表征数据联动做生物标志物挖掘。
§1.1 摘要
NCI-ALMANAC 由 NCI Developmental Therapeutics Program(DTP)主导,2011 年 6 月启动筛查。设计上刻意只使用 FDA 已批准药物:104 种小分子(含顺铂等铂类与三氧化二砷等无机化合物)覆盖细胞毒与分子靶向两大类,其人体安全性与药代动力学已知,使候选组合可以直接走向 IND 豁免的早期临床试验。筛查由三个中心分担——NCI Frederick(96 孔板、SRB 染色、单药 5 浓度、5×3=15 个组合剂量点)、SRI International 与匹兹堡大学(384 孔板、CellTiter-Glo 发光法、单药 3 浓度、3×3=9 个剂量点),共完成 304,549 次实验、2,809,671 个剂量组合观测(Holbeck et al. 2017, Cancer Res 77(13))。
定量核心是 ComboScore:以改良 Bliss independence 模型计算每个剂量组合的"期望加和生长分数",把观测值与期望值之差在全部剂量点上求和。正值代表大于加和(协同),负值代表小于加和(拮抗),纯加和为零。筛查发现 1,898 个药物对在至少 1 个细胞系上 ComboScore 为正,且大多数组合具有细胞系选择性(多在 11-30 个细胞系中呈阳性),为"机制驱动、组织无关(白血病除外)"的组合敏感性模式提供了数据支撑(论文 Fig.2)。
数据以网页可视化(全库热图/药物对柱状图/剂量-反应曲线)与表格下载两种方式公开,托管于 dtp.cancer.gov/ncialmanac,并被 CellMiner、DrugComb、SYNERGxDB 等平台整合,成为联用协同预测模型常用的标准基准之一。
从 AI 建模视角看,该数据集的标签体系有三层可用形态:对-细胞系级 ComboScore(主回归目标,约 29.4 万个样本)、剂量级生长百分比(约 281 万个观测,可做曲线建模与两级学习)、每细胞系 104×104 对称矩阵(可做矩阵补全与推荐)。三层形态均由同一实验事实导出,互为校验,是少见的"标签层级完整"的化学组学资源。
§1.2 战略价值
维度一:临床转化管线的完整性。 多数药物联用筛查数据集止步于体外读数;NCI-ALMANAC 的独特之处在于官方配套完成了后续验证链条——对 13 个已临床组合与 20 个全新组合开展小鼠异种移植实验,44 个"新组合×模型"实验中 14 个达统计学显著(P<0.05)、另 7 个经专家判定优于单药,合计 48% 的全新组合在至少一个模型中优于单药;两个组合(clofarabine+bortezomib,NCT02211755;nilotinib+paclitaxel,NCT02379416)进入 NCI 的 I 期临床试验(Holbeck et al. 2017)。对 AI 研究者而言,这条"体外→体内→临床"的标注链是难得的弱监督外部验证资源:模型的 Top 预测可以对照这些真实前进的组合进行校准。
维度二:药物重定位的低成本组合空间。 数据集只覆盖已批准药物,这意味着任何阳性组合都跳过了安全性的最早期风险,转化为试验的监管成本最低。2011 年研究启动时约 75% 的药物对从未有联合临床试验记录(论文),说明该矩阵为"临床空白区"提供了系统性普查——对做组合推荐、主动学习与实验设计(active learning)的团队,这是明确"哪里没被试过"的地图。
维度三:与 NCI-60 分子表征生态的联动。 NCI-60 是分子层面表征最全面的细胞系面板:外显子测序、mRNA、microRNA、蛋白定量、蛋白修饰、DNA 甲基化、酶活性与代谢组数据全部公开(论文)。联用数据因此可以天然地与单药响应、分子特征做跨模态对齐,支持"哪个生物标志物预测哪个组合有效"的机制研究,这也是深度学习模型(如 ResNet 多特征融合)在该数据集上的主要玩法(Xia et al. 2018)。
维度四:方法学教学的完整性。 从筛查设计(剂量矩阵)、QC 规则(reversal 剔除)、标签推导(改良 Bliss)到转化验证(xenograft/I 期),全链路在单一论文内闭环且可复算。对教学与复现研究而言,这是讲授"高通量筛选数据如何变成可信 ML 标签"的完整案例——多数同类数据集只有终点读数而无过程文档。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态/设计 | 标签 | 与 NCI-ALMANAC 的差异化 |
|---|---|---|---|---|
| NCI-ALMANAC | 104 药 / 5,232 对 / 60 细胞系 / 2,809,671 剂量点 | 两两全组合矩阵式筛查,3 中心,48 h | ComboScore(改良 Bliss 求和)+ 剂量级生长百分比 | 唯一配齐 xenograft + I 期临床后续的官方数据;全部 FDA 已批准药 |
| O’Neil/AstraZeneca 筛查 | 多种药 × 数十细胞系(O’Neil et al. 2016) | 交替/固定比率设计,单中心 | HSA/Bliss/Loewe/ZIP 多指标 | 工业化单中心质控好,指标多元;无临床后续链 |
| CTRP v2 | 数百化合物单药 × 数百细胞系 | 单药敏感性(CTRP) | AUC/IC50 | 单药基准大,可作联用模型的辅助特征源 |
| DrugComb | 聚合多来源联用数据(含本数据集) | 整合库(DrugComb) | 多协同指标标准化 | 二手整合、口径统一工程已做;适合快速入门 |
| SYNERGxDB | 整合多家联用/单药筛查 | 整合库(SYNERGxDB) | 多指标 | 提供跨库对齐的细胞系/药物注释 |
| NCI-60 单药筛选 | 约 10 万+ 化合物/提取物历史筛查 | 单药生长抑制(DCTD) | GI50/TGI/LC50 | 同面板单药基线,是 ComboScore 期望项的来源 |
| GDSC/PRISM 等 | 大规模单药敏感性面板 | 单药(GDSC) | IC50/AUC | 药物覆盖广但无联用维度 |
§1.4 版本时间轴
| 时间 | 事件 | 说明 |
|---|---|---|
| 2011-06 | 筛查启动 | 当时的临床空白分析纳入研究设计(论文) |
| 2017-04-27 | 论文在线发表 | Cancer Research(DOI: 10.1158/0008-5472.CAN-17-0489)(NCI 博客) |
| 2017-07 | 印刷版 + 数据库运营 | Cancer Res 77(13):3564-3576;dtp.cancer.gov/ncialmanac 上线(PubMed) |
| 2018-01 | 第三方目录收录 | Database Commons 建立记录(记录) |
| 2020-12 | comboFM 预处理版发布 | Zenodo 10.5281/zenodo.4135059,含可直接建模的清洗数据(Julkunen et al. 2020) |
| 截至 2026-09 | 持续托管 | 官方未见重大版本更替公告(Database Commons) |
§1.5 典型应用场景
- 联用协同预测基准:以 ComboScore 为回归目标训练深度模型,在 5 折交叉验证或留药物/留组合外推场景下评估(Xia et al. 2018;Sidorov et al. 2019)。
- 矩阵补全与主动学习:把 91.35% 完整度的"药物对×细胞系"矩阵当推荐系统问题建模,指导下一轮实验最有信息量的补测点(PMF 研究)。
- 机制生物标志物挖掘:联用响应 × NCI-60 分子表征(表达/突变/甲基化)找"哪些靶点状态预测哪个组合有效"(Xia et al. 2018)。
- 组合试验设计的临床空白地图:对照 clinicaltrials.gov 已测组合集,从阳性 ComboScore 中筛"从未被临床联合测试"的候选(论文 Fig.1B)。
- 教学与复现研究:标签定义、剂量矩阵与 QC 规则全部文档化,是讲授药效定量(Bliss 独立性)与数据质控的完整案例。
- 跨库模型预训练:作为 DrugComb 等整合库中的大子集参与多库联合训练,检验协同表征的跨面板迁移性(注意坑点 7 的指标口径)。
§2 医学背景
§2.1 ICD-11 编码映射
NCI-ALMANAC 覆盖 9 大癌种组织的体外模型,疾病谱对应 ICD-11 第 2 章"肿瘤"类目范围如下:
| 覆盖领域 | ICD-11 编码 | 中文名称 |
|---|---|---|
| 全部恶性肿瘤(数据集总体) | 2A00-2F9Z | 恶性肿瘤类目范围 |
| 白血病细胞系(6 株) | 2A60-2A8Z | 白血病类目范围 |
| 结肠癌细胞系(7 株) | 2B90 | 结肠恶性肿瘤 |
| 非小细胞肺癌细胞系(9 株) | 2C25 | 肺恶性肿瘤 |
| 皮肤黑色素瘤细胞系(含 MDA-MB-435 等) | 2C30 | 皮肤黑色素瘤 |
| 乳腺癌细胞系(5 株) | 2C60 | 乳腺恶性肿瘤 |
| 卵巢癌细胞系(7 株,含 NCI/ADR-RES) | 2C73 | 卵巢恶性肿瘤 |
| 前列腺癌细胞系(2 株) | 2C82 | 前列腺恶性肿瘤 |
| 肾癌细胞系(8 株) | 2C90 | 肾恶性肿瘤(肾盂除外) |
| 中枢神经系统肿瘤细胞系(6 株) | 2A00 | 脑胶质瘤 |
注:MDA-MB-435 与 MDA-N 虽按乳腺来源命名,但已被证实为黑色素瘤来源(见坑点 4);编码映射仅供检索对齐参考,细胞系-疾病归属应以 Cellosaurus 等权威注释为准。
§2.1b SNOMED CT 映射
| 标签概念 | SNOMED CT 码 | 英文术语 |
|---|---|---|
| 恶性肿瘤(总体) | 363346000 | Malignant neoplastic disease |
| 乳腺癌 | 254837009 | Primary malignant neoplasm of breast |
| 肺恶性肿瘤 | 93880000 | Primary malignant neoplasm of lung |
| 黑色素瘤 | 372044004 | Malignant melanoma |
| 白血病 | 93143009 | Leukemia disease |
| 结肠恶性肿瘤 | 363406005 | Malignant tumor of colon |
§2.2 疾病简介与流行病学
癌症是全球第二大死因。据 IARC GLOBOCAN 2022 估计,2022 年全球新发癌症约 2,000 万例、死亡约 970 万例(IARC)。由于肿瘤内部异质性与克隆选择,单一药物几乎总会遇到耐药亚群,联合用药因此成为晚期癌症治疗的标准策略——不同机制的药物组合可以互相压制耐药逃逸通路(Holbeck et al. 2017)。
与数据集面板对应的头部瘤种负担(GLOBOCAN 2022,全球新发病例数):
| 瘤种 | 2022 新发(约) | 2022 死亡(约) | 面板覆盖 |
|---|---|---|---|
| 肺癌 | 248 万 | 182 万 | 9 个 NSCLC 系 |
| 乳腺癌 | 230 万 | 67 万 | 5 个乳腺系(含三阴性模型) |
| 结直肠癌 | 193 万 | 90 万 | 7 个结肠系 |
| 前列腺癌 | 147 万 | 40 万 | 2 个前列腺系 |
| 胃癌 | 97 万 | 66 万 | 无对应面板分组 |
| 黑色素瘤 | 33 万 | 6 万 | 10 个黑色素瘤系 |
来源:IARC GLOBOCAN 2022。胃癌虽是 top 5 瘤种但 NCI-60 无对应分组,这也是面板时代局限的一部分。
问题在于组合搜索空间:仅以 100 余种已批准药物计,两两组合即超过 5,000 种,再乘以剂量、方案与瘤种,临床试验根本无法穷举。NCI-ALMANAC 的设计目标正是用统一的体外平台对"已批准药物的全部两两空间"做一次系统性普查,把体内/临床资源集中到最有苗头的组合上。其筛查结论亦提示:除白血病外,联用敏感性与组织学来源相对独立,同一组织的细胞系并不聚在一起——组合敏感性更多由分子机制而非解剖部位决定(论文 Fig.2)。
§2.3 临床任务定义
本数据集对应的临床任务不是传统"筛查/诊断/分级",而是治疗发现链条的最前端:
- 体外协同发现(本数据集的角色):在 60 个细胞系上量化药物对是否"大于加和",输出 ComboScore 排名,充当候选组合过滤器。
- 体内确认(配套完成):候选组合进入人肿瘤异种移植模型,以时间-肿瘤体积倍增(Kaplan-Meier + log-rank)比较组合与单药(论文方法)。
- 早期临床(配套推动):优胜组合进入 I 期试验(IND 豁免路径),如 nilotinib+paclitaxel 针对三阴性乳腺癌等晚期实体瘤。
对应的 AI 任务即"给定两种药物(结构/靶点特征)与一个细胞系(分子特征),预测联用效应(ComboScore)",本质是有监督回归 + 大规模矩阵补全。
把数据集标签与临床证据链逐级对应:
| 证据层级 | 数据形态 | 对应数据集产出 |
|---|---|---|
| L0 体外剂量-效应 | 剂量矩阵生长百分比 | 2,809,671 个剂量组合观测 |
| L1 体外联用效应 | 对-细胞系 ComboScore | 约 29.4 万元组(官方主交付) |
| L2 体内确认 | xenograft 时间-倍增分析 | 44 个新组合实验 + 13 个已知组合(论文配套) |
| L3 早期临床 | I 期试验 | NCT02211755、NCT02379416 |
AI 模型直接学习的是 L1;L2/L3 不能作为训练标签(样本极不均衡且非本数据集交付内容),但应作为评估锚点使用——这正是 §7.8 外部验证矩阵与坑点 6 的设计逻辑。
§2.4 细胞系面板构成
本数据集无人类受试者;"受试群体"为 NCI-60 细胞系(按 CellMiner combo score 表 分组):
| 组织分组 | 株数 | 代表细胞系 | 说明 |
|---|---|---|---|
| 白血病(LE) | 6 | CCRF-CEM、K-562、HL-60(TB) | 唯一与组织学强聚类的分组 |
| 非小细胞肺癌(LC) | 9 | A549/ATCC、NCI-H460、NCI-H522 | 含腺癌/鳞癌等亚型 |
| 黑色素瘤(ME) | 10 | SK-MEL-5、UACC-62、MDA-MB-435* | *MDA-MB-435/MDA-N 实为黑色素瘤来源 |
| 肾癌(RE) | 8 | 786-0、CAKI-1、ACHN | — |
| 结肠癌(CO) | 7 | HCT-116、HT29、SW-620 | xenograft 验证主力组织之一 |
| 卵巢癌(OV) | 7 | OVCAR-8、NCI/ADR-RES* | *NCI/ADR-RES 源自 OVCAR-8 |
| 中枢神经系统(CNS) | 6 | U251、SF-295、SNB-19* | *SNB-19 与 U251 同源 |
| 乳腺癌(BR) | 5 | MCF7、MDA-MB-231、T-47D | 含三阴性模型 MDA-MB-231 |
| 前列腺癌(PR) | 2 | PC-3、DU-145 | 面板中最小分组 |
NCI-60 建立已有数十年,是分子表征最全面的公开细胞系面板;全部细胞系为实验室长期传代系,不携带任何可识别个人信息。
面板的历史也解释了它的一些"怪癖":多数株建于 1980-1990 年代,彼时 STR 指纹鉴定尚未普及,因此才会出现 MDA-MB-435/MDA-N、NCI/ADR-RES、SNB-19 等身份问题(后来经分子鉴定逐一确认并保留原名以便历史可比)。NCI 对面板持续投入分子表征(外显子、转录组、蛋白、甲基化、代谢组),使同一批细胞系成为"药物响应 × 多组学"联合建模的标准试验床——这也是 NCI-ALMANAC 选择在 NCI-60 上执行的根本原因:联用数据的价值很大程度上来自它可与这套多组学数据无缝对接。
§2.5 临床价值
对临床端而言,NCI-ALMANAC 的价值在于把"哪些老药值得联"的经验性问题变成可检索的定量问题:某个在研/常用药的最佳联用搭档可按机制类别直接查询官方网页工具;阳性组合因组分安全性已知,可走 IND 豁免的快速通道进入 I 期。官方配套的异种移植验证与两项 NCI I 期试验(NCT02211755、NCT02379416)证明了这条管线的可行性(Holbeck et al. 2017)。同时,论文也明确其局限:筛查规模无法覆盖全部给药剂量与方案,且体外 2D 结果到体内疗效的转化率有限(新组合约 48% 在至少一个模型中有效),因此体外 ComboScore 应被视作"假设生成器"而非疗效结论。
从患者获益路径看,数据集的价值集中在三类人群:(1) 耐药/难治患者——组合策略是对抗耐药的主力手段,阳性组合提供了绕开单药耐药机制的候选;(2) 罕见瘤种患者——已批准药物的意外组合可能在罕见瘤种细胞系中表现出强选择性,且无需新的安全性数据包;(3) 早期试验人群——I 期剂量探索试验直接受益于"组分 MTD 已知"的组合,爬坡设计更安全。当然,以上路径都以体外→体内→临床的逐级验证为前提。
§2.6 金标准与标注体系
| 维度 | 内容 |
|---|---|
| 标签定义 | ComboScore = 改良 Bliss independence 下观测与期望生长分数之差在全部剂量点求和(公式见坑点 3) |
| 标注方式 | 实验仪器定量(SRB 吸光度 / CellTiter-Glo 发光)+ 算法计算,非人工标注 |
| 标注者 | 三个筛查中心标准化实验流程 + NCI 统一 QC 与计算(论文方法) |
| 标签性质 | 连续定量回归目标;0=纯加和,正=协同,负=拮抗;每细胞系构成对称药物对矩阵 |
| 质控 | 相邻剂量生长反升 ≥50% 的药物对/细胞系整块剔除;59/60 细胞系 >90% 药物对达标 |
金标准的三点判读:(1) 它是测量型金标准——可靠性来自协议与 QC 的标准化,而非多人盲评一致性,因此"标注质量"问题在本数据集中表现为测量方差问题;(2) 它是单一指标口径——官方只交付 ComboScore,Loewe/HSA/ZIP 等其他口径需使用者自行重算(坑点 7);(3) 它是假设生成级证据——官方论文明确将阳性组合定位为后续机制研究/试验的候选,而非疗效结论。
§3 数据集规格
§3.0 版本抉择矩阵
| 你的需求 | 推荐版本 | 获取入口 | 理由 |
|---|---|---|---|
| 复现论文口径的完整 ComboScore | DTP 官方批量下载 | wiki.nci.nih.gov NCI-ALMANAC | 官方原始表,含全部 5,232 药物对 |
| 查询单个药物对/机制类别 | 官方网页工具 | dtp.cancer.gov/ncialmanac | 热图/柱状图/剂量-反应曲线交互查询 |
| 机器学习快速上手 | comboFM 预处理版 | Zenodo 4135059 | 已清洗对齐,省去 Excel 解析(Julkunen et al. 2020) |
| 与分子表征联合建模 | CellMiner 全套数据 | CellMiner 下载页 | 同一细胞系的表达/突变/甲基化数据可对齐 |
| 单药剂量-反应参考 | DTP 单药筛选数据 | DCTD 数据页 | NCI-60 单药生长抑制批量数据 |
| 复现论文聚类热图 | 论文口径子集 | 官方下载后按 §4.5 剔除 3 系 | 57 细胞系 × 4,629 组合(论文 Fig.2 口径) |
| 剂量级曲线建模 | 官方网页 + 论文补充材料 | dtp.cancer.gov 查询导出 | 官方主交付为对-细胞系级,剂量级需查询导出 |
§3.1 模态详情
唯一模态:体外药物联用剂量-效应筛选。 每个药物对在每条细胞系上是一个剂量矩阵实验:药物 A 与药物 B 各按其单药浓度梯度组合(3×3 或 5×3 网格),48 小时暴露后测定孔内细胞量,换算为"生长百分比"(相对时间零点与未加药对照,见坑点 3 公式)。该读数同时编码了细胞杀伤(负生长百分比)与生长抑制两种效应。单药梯度同时产出两药各自的剂量-反应曲线,作为 ComboScore 期望值的基线。数据不含影像、文本或序列模态,但可通过 NCI-60 分子表征数据集做跨模态扩展。
剂量矩阵的语义可用下面的示意理解(以 3×3 为例)——每一格是一次独立实验,行是药物 B 的浓度梯度、列是药物 A 的浓度梯度,边缘是两药的单药梯度:
药物 A 浓度 →
a1 a2 a3
b1 Y(a1,b1) Y(a2,b1) Y(a3,b1)
药物 B b2 Y(a1,b2) Y(a2,b2) Y(a3,b2)
浓度 ↓ b3 Y(a1,b3) Y(a2,b3) Y(a3,b3)
单药基线:Y(a1..a3, 0) 与 Y(0, b1..b3) 决定 Bliss 期望值
ComboScore 把"整张矩阵观测值 − 期望值"求和成一个标量;这意味着同一药物对在 9 点与 15 点设计下的求和基数不同(坑点 3),而矩阵内的单药列同时是两药单药响应的测量,可用于独立的质量校核。
§3.2 按子集样本数
| 子集 | 数量 | 来源(Sidorov et al. 2019) |
|---|---|---|
| 药物 | 104 | 全部 FDA 批准小分子抗癌药(含铂类与三氧化二砷) |
| 药物对 | 5,232 | 理论 104×103/2=5,326,实际评估 5,232(论文) |
| 细胞系 | 60 | NCI-60 面板 |
| NCI Frederick(编码 1A)组合-细胞系数据 | 11,259 | 96 孔板 / SRB |
| SRI International(编码 FF)组合-细胞系数据 | 146,147 | 384 孔板 / CellTiter-Glo |
| 匹兹堡大学(编码 FG)组合-细胞系数据 | 136,129 | 384 孔板 / CellTiter-Glo |
| 合计组合-细胞系数据点 | 293,565 | 矩阵完整度 91.35%(三中心间元组不重叠) |
| 实验次数 / 剂量组合观测 | 304,549 / 2,809,671 | 每药物对 9 或 15 个剂量点(论文) |
| 至少 1 细胞系 ComboScore 为正的药物对 | 1,898(约 36%) | (论文) |
§3.3 数据格式
| 交付形态 | 格式 | 内容 |
|---|---|---|
| DTP wiki 批量下载 | 表格文件(XLSX/CSV 类) | 药物对 × 细胞系 ComboScore 汇总与相关元数据 |
| CellMiner “DTP Almanac Combo Score” | Excel 输出 + 批量数据 | 单药对柱状图数据与全库下载(文档) |
| 官方网页工具 | 交互查询 | 热图、剂量-反应曲线、机制类别视图 |
| Zenodo 4135059 | CSV | comboFM 论文使用的预处理数据与源数据(数据可用性声明) |
§3.4 存储大小
官方未公布精确文件大小。核心数据为表格型:对-细胞系级约 29.4 万行、剂量级约 281 万行,叠加剂量矩阵明细后仍是普通工作站内存可直接加载的量级;无需分布式存储或专用数据库。完整分析环境(含 NCI-60 分子表征联合建模)建议预留 10 GB 级磁盘与 8-16 GB 内存。
加载时的内存估算可粗略按"每行 8 个浮点/文本列"计:281 万行剂量级长表转宽后仅数百 MB,pandas 单机即可;如做矩阵形态分析(60 张 104×104 对称矩阵),总元素约 65 万个,内存占用可忽略。真正需要工程投入的不是存储而是解析与对账(坑点 8)。
§3.5 标注方式
标注属于仪器测量 + 算法推导,非人工判读:每孔信号(吸光度/发光值)经标准 NCI-60 生长百分比公式转换为定量读数;QC 规则(reversal 剔除)与 ComboScore 公式在论文中完全公开,任何人可从原始生长百分比复算标签。标签的"金标准"属性来自标准化实验协议(MTD 附近、低于 Cmax 的浓度选择、复孔)而非多人一致性评分。
§3.6 质检与一致性
- 面板级:59/60 细胞系在 >90% 药物对上通过预设 QC;SK-MEL-2 是唯一例外,仅 65% 达标(384 孔板中生长不良)(论文)。
- 实验级:任一药物相邻剂量间生长百分比反升 ≥50%(“reversal”,集中于一个筛查点)即剔除该药物对/细胞系全部数据——官方判断该频度不符合真实激效(hormesis)。
- 跨中心:三中心协议不同(孔板/检测法/剂量点数)且元组不重叠,无法做中心间技术重复比较,一致性只能靠协议标准化保证(见坑点 2)。
§3.7 采集周期
筛查自 2011 年 6 月启动,至 2017 年论文发表时汇总完成;论文未公布各药物对的逐次检测日期,但每个中心的数据是跨多天、多批次累积完成(同一药物在不同中心/不同日期重复出现,Sidorov et al. 2019)。
对建模者的两点推论:(1) 日间变异已不可剥离——公开表不含检测日期,无法做"按日期去趋势",唯一可用的噪声代理是"药物被重复检测的次数/方差"(Sidorov 用此方法量化了 FF 中心噪声);(2) 时间信息不是完全缺失——中心编码与剂量点数(9/15)共同构成协议指纹,可作为批次的粗粒度代理变量保留在特征中。
§3.8 地域覆盖
实验全部在美国本土三个机构完成(马里兰州 NCI Frederick、加州 SRI International、匹兹堡大学);细胞系来源为全球多个机构的建库株。数据集不携带人群地理属性。
§3.9 设备与平台规格
| 中心 | 孔板 | 检测方法 | 单药浓度数 | 组合剂量点 |
|---|---|---|---|---|
| NCI Frederick(1A) | 96 孔 | Sulforhodamine B(SRB)染色 | 5 | 5×3=15 |
| SRI International(FF) | 384 孔 | CellTiter-Glo 发光法(FBS 10%) | 3 | 3×3=9 |
| 匹兹堡大学(FG) | 384 孔 | CellTiter-Glo 发光法 | 3 | 3×3=9 |
浓度选择原则:尽量低于 FDA 批准剂量下的人体血浆峰浓度(Cmax),个别药物选取高于 Cmax 的浓度以获得可测量的体外活性;所有实验含时间零点孔以区分细胞杀伤与生长抑制(论文方法)。
§3.10 深度溯源链
| 层级 | 环节 | 可核查锚点 |
|---|---|---|
| 1 | 筛查执行(2011-06 起) | Holbeck et al. 2017 方法部分(三中心协议、QC 规则) |
| 2 | 论文发表与同行评审 | Cancer Research 77(13):3564-3576,DOI: 10.1158/0008-5472.CAN-17-0489 |
| 3 | 官方数据门户 | dtp.cancer.gov/ncialmanac(交互查询)+ wiki 批量下载 |
| 4 | 平台整合 | CellMiner(discover.nci.nih.gov)“DTP Almanac Combo Score” |
| 5 | 第三方目录收录 | Database Commons 记录 #5024(2018-01 建档) |
| 6 | 社区再分发 | Zenodo 4135059(comboFM 预处理数据)+ 4129688(代码) |
每个环节均有公开可核查的落地页;使用数据时建议在论文中同时引用原始论文与实际获取入口,并把你所用文件版本的下载日期写入实验记录——官方无版本号(坑点外的工程习惯),下载日期即你的事实版本锚点。
§4 数据结构
§4.0 目录树
官方以网页 + 表格文件形式发布,无固定压缩包结构。以下为本指南建议的分析目录布局(下载官方文件后重命名归位):
data_root/
├── raw/ # 官方原始文件(保持原样,勿改动)
│ ├── dtp_almanac_combo_scores.* # DTP wiki / CellMiner 下载的 ComboScore 汇总表
│ └── almanac_supplement_s1.docx # 论文补充材料(104 药名单 Suppl. Table S1)
├── interim/
│ ├── almanac_long.csv # §6.3 转换后的长表(drug_a, drug_b, cell_line, combo_score)
│ └── almanac_matrix/{cell_line}.csv # 每细胞系 104×104 对称矩阵(可选形态)
├── meta/
│ ├── celline_meta.csv # 细胞系注释:panel 前缀、组织分组、同源关系标记
│ └── center_map.csv # 组合-细胞系 → 筛查中心编码(1A/FF/FG)
└── external/
└── combofm_zenodo/ # Zenodo 4135059 社区预处理版(快速基线用)
§4.1 DAIMS 字段字典
核心字段(以对-细胞系级长表为视角;官方列名因下载入口而异,此处为语义定义):
| 字段 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失 | 取值范围 |
|---|---|---|---|---|---|---|---|
| NSC_A / NSC_B | 文本 | 两药的 NSC 编号(DTP 化合物唯一标识) | NSC 119875(顺铂) | 药物特征主键、跨库对齐 | 命名变体需映射(见坑点 8) | 无 | DTP NSC 编号域 |
| DRUG_NAME_A / B | 文本 | 药物通用名 | paclitaxel | 可读性、机制类别 join | 同名异写 | 无 | 104 药名表(Suppl. S1) |
| CELL_NAME | 文本 | 细胞系名 | NCI-H460 | 面板索引、分层划分 | 含空格/括号变体(“HS 578T”) | 无 | 60 个 NCI-60 名称 |
| PANEL | 文本 | 组织分组前缀 | ME | 分组评估、分层抽样 | MDA-MB-435 归属有历史误标 | 无 | BR/CNS/CO/LE/ME/LC/OV/PR/RE |
| N_DOSE_POINTS | 整数 | 该药物对-细胞系的组合剂量点数 | 9 或 15 | 中心代理变量、口径校正 | 由中心协议决定 | 无 | |
| GROWTH_PCT | 浮点 | 各剂量组合的观测生长百分比 | 35.2 | 剂量级建模、曲线拟合 | 孔间/日间变异(FF 中心较大) | 剔除块整体缺失 | 可为负(净杀伤)至 >100 |
| COMBO_SCORE | 浮点 | 全剂量点求和的改良 Bliss 得分 | 21 | 回归标签 | 由 GROWTH_PCT 误差传播 | QC 剔除 → 整行缺失 | 实数,跨药物对量纲不一 |
| SCREENING_CENTER | 文本 | 筛查中心编码 | 1A / FF / FG | 批次协变量(见坑点 2) | 三中心元组不重叠 | 无 | |
| SINGLE_AGENT_Y_A / Y_B | 浮点 | 单药各浓度的生长分数 | 0.8 | Bliss 期望基线复算 | 同 GROWTH_PCT | 单药 QC 失败时缺失 | [0, 100] 截断规则见坑点 3 |
| MECH_CLASS | 文本 | 药物机制类别(官方网页视图维度) | microtubule stabilizer | 分组查询、稀有机制分层 | 类别归属随药典更新 | 无 | DTP 机制分类表 |
| PAIR_KEY | 派生 | 去序药物对键(规范化产物) | (NSC 119875, NSC 125973) | 分组划分主键(坑点 1) | 由解析脚本生成 | 无 | 5,232 个唯一键 |
§4.2 标签分布
- 二元视角:1,898/5,232(约 36%)药物对在至少 1 个细胞系 ComboScore 为正;大多数阳性药物对仅在 11-30 个细胞系中呈正(论文 Fig.2B)。另一口径下约 21% 的组合显示大于加和活性(Xia et al. 2018,阈值口径不同)。
- 连续视角:ComboScore 为实数且分布不对称——正负两翼皆存在,0(纯加和)是参考点;不同细胞系的量纲与离散度差异明显(以 RMSE 与 Rp 排序模型时结论可反转,Sidorov et al. 2019)。
- 层级视角:全库热图显示"蓝红异质"为主(组合具选择性),只有少数组合在几乎所有细胞系上一致为正或一致为负。
把三层视角合并成一张速查表:
| 视角 | 统计口径 | 数值/结论 | 建模含义 |
|---|---|---|---|
| 二元(对级) | ComboScore>0 于 ≥1 系 | 1,898/5,232(约 36%) | 正类并不稀缺,但跨系泛化才是难点 |
| 二元(Xia 口径) | 大于加和活性组合 | 约 21% | 阈值口径不同导致的差异,引用时注明 |
| 连续(系内) | 每细胞系得分分布 | 量纲/离散度差异大 | 系内标准化或秩变换 |
| 连续(剂量级) | 生长百分比 | 可为负(净杀伤) | 两级建模时保留原始读数 |
| 选择性 | 阳性药物对的跨系宽度 | 多数 11-30 系 | 全局"广谱协同"是少数派 |
建模上最实用的一条:类别不平衡不是本数据集的主要矛盾(正样本占比不低),主要矛盾是"量纲不一致 + 缺失非随机 + 中心混杂"三者叠加,评估设计应围绕它们展开。
§4.3 关键统计
| 统计项 | 数值 | 来源 |
|---|---|---|
| 理论药物对 × 细胞系元组 | 313,920(5,232×60) | 由论文数字推算 |
| 实际组合-细胞系数据点 | 293,565(完整度 91.35%) | Sidorov et al. 2019 |
| 剂量组合观测 | 2,809,671 | 论文 |
| 聚类分析可用子集 | 57 细胞系 × 4,629 组合 | 剔除 SK-MEL-2/SNB-75/LOX-IMVI(论文) |
| 临床空白(2011-06) | 约 75% 药物对无联合试验记录 | 论文 Fig.1B |
| 新组合 xenograft 阳性率 | 48%(44 个组合-模型实验) | 论文 |
§4.4 数据层级
数据集为三层结构:药物(104)→ 药物对(5,232)→ 组合-细胞系(约 29.4 万)→ 剂量组合观测(约 281 万)。同一药物对在 60 个细胞系上重复出现,同一细胞系下构成对称矩阵;建模时应明确工作层级(对-细胞系级回归 vs 剂量级曲线建模),并在划分时保持层级一致性(见坑点 1 与坑点 7)。
长表形态下,同一药物对在文件中长这样(示意,列名经 §6.3 规范化后):
drug_a drug_b cell_line n_dose_points combo_score center
NSC 125973 NSC 119875 NCI-H460 15 112.0 1A
NSC 125973 NSC 119875 HCT-116 15 87.0 1A
NSC 125973 NSC 119875 K-562 9 -34.0 FG
... ... ... ... ... ...
同一药物对出现至多 60 次(每细胞系一次);n_dose_points 随中心不同而不同;combo_score 的绝对值跨系可比性有限——这就是 §5 划分策略必须以"药物对"为分组单位的原因。
§4.5 缺失值与信息性缺失
| 缺失来源 | 表现 | 处理建议 |
|---|---|---|
| QC 剔除(reversal 规则) | 该药物对/细胞系整块无数据 | 视为 MNAR;不要均值填补,保留缺失掩码特征 |
| SK-MEL-2 生长不良 | 仅 65% 药物对通过 QC | 该系单独评估或降权 |
| SNB-75、LOX-IMVI | 缺失过多,官方聚类直接剔除 | 复现论文热图时排除 |
| MDA-N 等 | 部分官方查询显示 “-” | 解析为 NaN,禁止按 0 处理 |
| 三中心元组不重叠 | 未测组合天然缺失 | 矩阵补全任务的训练信号本身 |
缺失率的快速审计代码(接入 §6.1 的长表即可运行):
def missing_audit(df):
# 1) 每细胞系缺失:SK-MEL-2 应显著高于其他系(QC 生长不良)
full_pairs = 5232
by_cell = df.groupby("cell_line").pair_key.nunique().rsub(full_pairs)
print(by_cell.sort_values(ascending=False).head(8))
# 2) 每药物缺失:找出在最少细胞系中被评估的药物(协议性缺测)
by_drug = pd.concat([
df.groupby("drug_a").cell_line.nunique(),
df.groupby("drug_b").cell_line.nunique()]).groupby(level=0).max()
print(by_drug.sort_values().head(8))
# 3) 全局完整度:参考值约 0.9135(Sidorov et al. 2019 口径)
n_tuples = df.drop_duplicates(subset=["pair_key", "cell_line"]).shape[0]
print("completeness:", n_tuples / (5232 * 60))
§5 数据划分与使用建议
官方划分:无。 数据集以研究资源发布,未提供任何训练/验证/测试切分,使用者必须自行设计并如实报告。
社区惯例:按单细胞系建模 + 90/10 随机划分(Sidorov et al. 2019)、80/10/10 k 折交叉验证(SynAI 2023)、5 折交叉验证(Xia et al. 2018)。这些随机划分回答的是"插值"问题;外推能力需专门设计。
划分策略建议(按科学问题选择):
| 场景 | 推荐划分 | 关键点 |
|---|---|---|
| 新组合预测(两药均见于训练) | 随机留出药物对(去对称后) | 逐细胞系建模或加入细胞系特征 |
| 全新药物外推 | leave-drug-out | 测试集药物的任何组合都不在训练中 |
| 新细胞系外推 | leave-cell-line-out | 检验分子特征迁移能力 |
| 稳健性审计 | 分中心训练/测试 | 三中心元组不重叠,混合划分会被中心变量主导 |
泄漏风险(§5.3 重点):(1) 对称矩阵使 (A,B) 与 (B,A) 成对出现;(2) 同源细胞系(M14/MDA-MB-435/MDA-N;OVCAR-8/NCI/ADR-RES;U251/SNB-19)在随机划分中互为副本;(3) 同一药物对跨剂量级的行共享实验背景。三者叠加会让随机划分的指标虚高,务必先去重再划分。
常见划分误用对照表(自查用):
| 误用做法 | 为什么错 | 正确做法 |
|---|---|---|
| 按行随机划分后报告全局 R² | 药物对跨系重复 + 对称性 → 泄漏 | GroupKFold(药物对)为最低要求 |
| 把 (A,B)/(B,A) 都放进训练集 | 等效样本双计,指标虚高 | 规范对顺序后去重 |
| 同源细胞系分散在训练/测试 | M14/MDA-MB-435/MDA-N 等互为副本 | 同源组同折 |
| 混合三中心后只报一个指标 | 中心与药物覆盖完全混杂 | 分中心指标必报 |
| 用绝对 ComboScore 阈值做分类 | 量纲随剂量点数/细胞系漂移 | 系内分位数阈值 |
| 只报均值不报逐系分布 | SK-MEL-2 等系会拖尾隐藏 | 中位数 + IQR |
交叉验证方案对照表:
| 方案 | 分组单位 | 回答的问题 | 代表文献 |
|---|---|---|---|
| 随机 5 折 | 行 | 插值上限(虚高风险高) | Xia 2018 |
| GroupKFold(药物对) | 去序药物对 | 新组合在熟悉细胞系上的表现 | 本指南推荐主表 |
| Leave-drug-out | 药物 | 全新药物外推 | Sidorov 2019 场景设计 |
| Leave-cell-line-out | 细胞系 | 分子特征迁移 | 社区惯例 |
| 分中心 holdout | 中心 | 协议稳健性 | 坑点 2 |
交叉验证建议:以药物对为单位做 5 折分组交叉验证(GroupKFold,key=去序药物对);报告逐细胞系 Rp 分布而非仅均值;所有划分都先过一遍上面的误用对照表。
外部验证建议:与 O’Neil/AstraZeneca 筛查(O’Neil et al. 2016)做跨数据集测试;用官方 xenograft 结论(48% 阳性率)作为 Top-K 预测的弱监督校准;与 CTRP v2 单药数据交叉验证特征贡献;若发布新方法,建议同时报告 comboFM Zenodo 预处理版上的可复现数字以便社区对齐。
§6 AI 就绪指南
§6.0 云端快速启动
数据集体量小,无需云端集群:Colab/Kaggle 免费档即可完成全部流程;若需复现 comboFM 基线,直接下载其 Zenodo 预处理数据(约数十 MB)。深度模型(two-tower MLP)在单张消费级 GPU 上数分钟内可收敛。
三条上手路线按耗时排序:
| 路线 | 耗时(约) | 前置条件 |
|---|---|---|
| Zenodo 预处理版 → XGBoost 基线 | 1-2 小时 | 无 |
| 官方表格 → §6.3 清洗 → §6.4 two-tower | 半天 | 完成对账审计 |
| CellMiner 分子表征联合建模 | 1-2 天 | 熟悉多组学数据对齐 |
建议路线二起步:先走一遍官方原始文件,把对账断言(§6.3)跑通,之后再用任何预处理版都心里有底。
§6.1 快速上手
# 目录结构预期:data_root/ 下有 §4.0 布局;本例使用 interim/almanac_long.csv
# data_root 拼接关系:DATA_ROOT / 相对路径;最小可用子集 = 任一 panel 的长表切片
from pathlib import Path
import pandas as pd
DATA_ROOT = Path("data_root")
df = pd.read_csv(DATA_ROOT / "interim" / "almanac_long.csv") # 一行 = 药物对 × 细胞系
df["combo_score"] = pd.to_numeric(df["combo_score"], errors="coerce") # "-" → NaN
df = df.dropna(subset=["combo_score"]) # QC 缺失整块剔除(§4.5)
# 对称去重:规范药物对顺序后保留首条,避免 (A,B)/(B,A) 双计(坑点 1/7)
pair = pd.Series(list(zip(df.drug_a, df.drug_b))).apply(lambda t: tuple(sorted(t)))
df["pair_key"] = pair
df = df.drop_duplicates(subset=["pair_key", "cell_line"])
print(df.shape) # 完整数据约 293,565 行(三中心合计,Sidorov et al. 2019)
print(df.combo_score.describe()) # 注意分布不对称:0 为加和参考点(坑点 3)
如果你拿到的是宽矩阵形态(每细胞系一张 104×104 表),可用下面的等价入口直接转长表:
# 宽矩阵 → 长表:matrix 为以药物名为行列索引的 DataFrame(单一细胞系)
def matrix_to_long(matrix, cell_line):
s = matrix.stack().rename("combo_score").reset_index()
s.columns = ["drug_a", "drug_b", "combo_score"]
s = s[s.drug_a != s.drug_b] # 去对角线(自组合无意义)
keys = [tuple(sorted((a, b))) for a, b in zip(s.drug_a, s.drug_b)]
s["drug_a"], s["drug_b"] = zip(*keys) # 规范对顺序
s = s.drop_duplicates(subset=["drug_a", "drug_b"])
s.insert(0, "cell_line", cell_line)
return s
long_all = pd.concat([matrix_to_long(m, c) for c, m in matrices.items()],
ignore_index=True)
§6.2 数据获取
| 渠道 | 链接 | 形态 | 是否需注册 |
|---|---|---|---|
| DTP 官方批量下载 | wiki.nci.nih.gov NCI-ALMANAC | 表格文件 | 否 |
| 官方网页工具 | dtp.cancer.gov/ncialmanac | 交互查询/导出 | 否 |
| CellMiner 批量 | loadDownload.do → DTP Almanac Combo Score | Excel/表格 | 否 |
| 社区预处理版 | Zenodo 4135059 | CSV | 否 |
# 脚本化获取社区预处理版(文件清单 + 直链由 Zenodo API 提供)
curl -sL https://zenodo.org/api/records/4135059 \
| python3 -c "import json,sys; [print(f['key'], f['links']['self']) for f in json.load(sys.stdin)['files']]"
官方入口的导出路径(交互式,无法 curl 直取):
- 打开 dtp.cancer.gov/ncialmanac,用顶部下拉框选两个药物 → 得到该药物对全部 60 系的柱状图与剂量-反应曲线。
- 打开 wiki 批量下载页,下载全量表格文件到
data_root/raw/。 - 打开 CellMiner 下载页 → “DTP Almanac Combo Score” 获取与 CellMiner 口径一致的汇总(用于与分子数据对齐时的口径核对)。
- 无论走哪条路,都在
data_root/meta/download_log.txt记录下载日期与文件哈希(官方无版本号,日期即版本)。
§6.3 预处理全流程
import numpy as np
import pandas as pd
def build_dataset(df: pd.DataFrame) -> pd.DataFrame:
"""从官方宽表到可训练长表:清洗 → 去重 → 中心标注 → 标准化。"""
# 1) 数值化:官方表中 "-" 与空串表示缺失(§4.5),一律转 NaN
df["combo_score"] = pd.to_numeric(df["combo_score"], errors="coerce")
# 2) 规范细胞系名:统一大小写、压缩多余空格("HS 578T" 等含空格名,坑点 8)
df["cell_line"] = df["cell_line"].str.strip()
# 3) 规范药物对顺序并去对称
keys = [tuple(sorted((a, b))) for a, b in zip(df["drug_a"], df["drug_b"])]
df["drug_a"], df["drug_b"] = zip(*keys)
df = df.drop_duplicates(subset=["drug_a", "drug_b", "cell_line"])
# 4) 中心信息:若下载表含中心编码列则保留,否则按 §3.2 的分中心行数对账
if "screening_center" not in df.columns:
df["screening_center"] = "unknown" # 官方网页口径可能不含该列,需记录来源
# 5) 标签标准化:按细胞系 z-score(跨细胞系量纲差异大,坑点 3/7)
df["cs_z"] = df.groupby("cell_line")["combo_score"].transform(
lambda s: (s - s.mean()) / s.std())
return df.dropna(subset=["combo_score"])
def assert_consistency(df):
"""对账断言:任何一环失败都说明解析或映射出了问题(坑点 8)。"""
assert df.drug_a.nunique() <= 104 and df.drug_b.nunique() <= 104
assert df.cell_line.nunique() <= 60
assert df.duplicated(subset=["drug_a", "drug_b", "cell_line"]).sum() == 0
assert df.combo_score.notna().all()
要点:不做均值/中位数填补(缺失是 MNAR,见坑点 5);保留 n_dose_points(9 vs 15)作为协变量;如需复现官方聚类口径,剔除 SK-MEL-2/SNB-75/LOX-IMVI;assert_consistency 的三个数字(104/60/零重复)来自 §3.2 的官方统计,是解析正确性的最低门槛。
§6.4 PyTorch DataLoader
<details>
<summary>完整可运行的 two-tower MLP(药物嵌入 + 细胞系嵌入 → ComboScore 回归)</summary>
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
from torch.utils.data import Dataset, DataLoader
class AlmanacDataset(Dataset):
"""行 = 去对称后的药物对 × 细胞系;标签 = combo_score。
期望 df 已经过 §6.3 清洗(无缺失、已去重)。"""
def __init__(self, df: pd.DataFrame):
self.drug_idx = {d: i for i, d in enumerate(
pd.unique(pd.concat([df.drug_a, df.drug_b])))}
self.cell_idx = {c: i for i, c in enumerate(pd.unique(df.cell_line))}
x = torch.tensor([[self.drug_idx[a], self.drug_idx[b], self.cell_idx[c]]
for a, b, c in zip(df.drug_a, df.drug_b, df.cell_line)],
dtype=torch.long)
# 对称增强:以 50% 概率交换两药位置,等价于 (B,A) 样本(矩阵对称性)
swap = torch.rand(len(x)) < 0.5
x[swap, 0], x[swap, 1] = x[swap, 1].clone(), x[swap, 0].clone()
self.x, self.y = x, torch.tensor(df.combo_score.values,
dtype=torch.float32).unsqueeze(1)
def __len__(self): return len(self.x)
def __getitem__(self, i): return self.x[i], self.y[i]
class TwoTowerMLP(nn.Module):
def __init__(self, n_drugs, n_cells, emb=64, hidden=256, p=0.2):
super().__init__()
self.drug_emb = nn.Embedding(n_drugs, emb)
self.cell_emb = nn.Embedding(n_cells, emb)
self.tower = nn.Sequential(
nn.Linear(emb * 3, hidden), nn.ReLU(), nn.Dropout(p),
nn.Linear(hidden, hidden // 2), nn.ReLU(), nn.Dropout(p),
nn.Linear(hidden // 2, 1))
def forward(self, x):
d_a, d_b, c = x[:, 0], x[:, 1], x[:, 2]
feats = torch.cat([self.drug_emb(d_a), self.drug_emb(d_b),
self.cell_emb(c)], dim=1)
return self.tower(feats)
def run(df, epochs=30, bs=1024, lr=1e-3):
dev = "cuda" if torch.cuda.is_available() else "cpu"
tr = AlmanacDataset(df); dl = DataLoader(tr, batch_size=bs, shuffle=True)
model = TwoTowerMLP(len(tr.drug_idx), len(tr.cell_idx)).to(dev)
opt = torch.optim.AdamW(model.parameters(), lr=lr)
lossf = nn.SmoothL1Loss() # ComboScore 有重尾,Huber 比 MSE 稳健
model.train()
for ep in range(epochs):
for x, y in dl:
x, y = x.to(dev), y.to(dev)
opt.zero_grad(); loss = lossf(model(x), y)
loss.backward(); opt.step()
if (ep + 1) % 10 == 0:
print(f"epoch {ep+1}: loss={loss.item():.4f}")
return model
</details>
进阶方向:把药物嵌入替换为 PubChem 881 位 + Morgan 1024 位指纹拼接(SynAI 2023 的特征方案),或融合 NCI-60 表达/miRNA/蛋白特征的多模态 ResNet(Xia et al. 2018)。指纹版只需替换特征构造一段:
# 指纹版特征:用 rdkit 从 SMILES 生成 Morgan 指纹,替换 drug_emb 查表
# 依赖:pip install rdkit;SMILES 可经 DTP 化学数据库按 NSC 号获取
import numpy as np
from rdkit import Chem
from rdkit.Chem import AllChem
def morgan_fp(smiles: str, n_bits: int = 1024) -> np.ndarray:
mol = Chem.MolFromSmiles(smiles)
fp = AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=n_bits)
return np.array(fp, dtype=np.float32)
# forward 中改为:feats = concat([fp_a, fp_b, cell_emb(c)]),
# 输入层维度 emb*2 + emb → 1024*2 + emb;其余结构不变
注意:无机药物(顺铂类、三氧化二砷)无标准 SMILES 指纹,需单列"无机标记 + 元素组成"特征,否则这部分药物会静默退化为全零向量(坑点 8 的化学版)。
§6.5 八个坑点
⚠️ 坑点 1:随机划分造成药物对泄漏(分类:数据泄漏)
问题:同一药物对在 60 个细胞系上各有一行,且矩阵对称((A,B)=(B,A));随机按行划分会让"同一个实验事实"同时进入训练与测试集。
症状:5 折交叉验证 R²/Rp 异常漂亮,但换一个"未见过的药物对"场景指标崩塌。
解决:
- 简单方法:先
tuple(sorted((a,b)))规范药物对顺序并去重,再以GroupKFold(groups=pair_key)按药物对分组划分。- 进阶方法:实现 leave-drug-out——测试集中任一药物不得出现在训练集;与随机划分同时报告,差距即插值/外推能力之比(Sidorov et al. 2019 验证了常见预测场景需要分开评估)。
- SOTA 方法:同时报告留药物对、留药物、留细胞系、留中心四种划分的指标矩阵,并把同源细胞系(M14/MDA-MB-435/MDA-N、OVCAR-8/NCI/ADR-RES、U251/SNB-19)划入同一折。
参考:Holbeck et al. 2017(矩阵结构);Sidorov et al. 2019, Front Chem 7:509。
⚠️ 坑点 2:三筛查中心与批次完全混杂(分类:偏倚陷阱)
问题:1A/FF/FG 三中心各自负责不重叠的药物对-细胞系子集且协议不同(96 孔 SRB/15 点 vs 384 孔 CTG/9 点),"中心"与"哪些药物被测过"完全混淆变量。
症状:混合建模时模型学会按中心特征区分数据分布;FF 中心因生长抑制测量方差更大,其 ComboScore 噪声更高,同一模型在 FF 数据上预测力显著更差(NCI/ADR-RES 上 FF Rp=0.14 vs FG Rp=0.65)。
解决:
- 简单方法:把
screening_center加入特征并做分中心指标报告。- 进阶方法:分中心训练独立模型;对 FF 中心按药物-日期重复次数评估方差并考虑去噪或降权(Sidorov et al. 2019)。
- SOTA 方法:多任务/域自适应框架,把中心视为域标签;论文级结论必须注明"跨中心不可比"(三中心无重叠元组,无法估计批次效应)。
参考:Sidorov et al. 2019;Holbeck et al. 2017 方法部分。
⚠️ 坑点 3:把 ComboScore 当普通"协同分数"理解(分类:标签理解)
问题:ComboScore 是全剂量点求和的改良 Bliss 统计量,不是 0-1 协同判定,也不等于常见逐点平均的 Bliss/Loewe/HSA/ZIP 分数;0 表示"纯加和"而非"无活性"。
症状:把 0 当"无信息"、把跨药物对的绝对值当可比强度、用 MSE 直接回归原始值都出错;9 点(3×3)与 15 点(5×3)药物对的分数尺度天然不同。
解决:
- 简单方法:生长分数 Y=100×(T1−T0)/(T1₀−T0);期望 Z 在单药 Y≤0 时取 min(Y_A,Y_B),否则取 (1/100)×min(Y_A,100)×min(Y_B,100);ComboScore=Σ(Y−Z)。理解后再设计目标变换。
- 进阶方法:按细胞系做 z-score 或分位数变换后再回归;把
n_dose_points作为协变量;分类任务用"逐细胞系 Top-K 药物对"而非全局阈值。- SOTA 方法:同时建模剂量级生长百分比(曲线)与对-级 ComboScore 两级目标,或使用对量纲稳健的秩相关与 Huber 损失(Sidorov et al. 2019 显示 RMSE 与 Rp 排名可反转)。
参考:Holbeck et al. 2017(NCI ComboScore 完整公式);Vlot et al. 2019, Drug Discov Today 24:2286。
⚠️ 坑点 4:细胞系身份错位与同源重复(分类:偏倚陷阱)
问题:NCI-60 中多对细胞系身份有历史问题——MDA-MB-435 与 MDA-N 实为黑色素瘤来源(M14 同源)、NCI/ADR-RES 实为卵巢癌(源自 OVCAR-8)、SNB-19 与 U251 同源。
症状:按 PANEL 字段做"组织特异性"结论时乳腺/黑色素瘤分组结论失真;同源系分属训练/测试集时指标虚高。
解决:
- 简单方法:在元数据中显式标记同源组与误分类系,避免用其组织标签下结论。
- 进阶方法:划分时把同源组放同一侧;分子特征分析改用经 STR/重测序确认的谱系注释。
- SOTA 方法:引用 NCI-60 DNA 指纹图谱资源做谱系校正(Lorenzi et al. 的指纹分析)。
参考:NCI-60 DNA fingerprinting(PMC4020356);Holbeck et al. 2017 补充材料。
⚠️ 坑点 5:缺失非随机(MNAR)与 QC 剔除规则(分类:预处理陷阱)
问题:约 8.65% 元组缺失且缺失机制与实验质量相关——reversal(相邻剂量生长反升 ≥50%)触发整块剔除;SK-MEL-2 仅 65% 达标。
症状:均值/中位数填补后标签分布失真;"缺失率"本身携带信息却未建模。
解决:
- 简单方法:不填补,直接以完整对训练;统计并报告每个细胞系的缺失率。
- 进阶方法:把缺失掩码作为附加特征(矩阵补全模型天然支持,如 comboFM 与 PMF 都显式处理未观测元组)。
- SOTA 方法:把"补测哪些元组"做成主动学习目标——PMF 研究显示仅 50% 元组已知时即可 95% 准确分类缺失组合(PMF)。
参考:Holbeck et al. 2017 QC 规则;Julkunen et al. 2020(Zenodo 4135059)。
⚠️ 坑点 6:从 2D 体外筛选直接外推临床结论(分类:评估误用)
问题:48 小时 2D 培养、低于 Cmax 的浓度、无代谢与免疫成分——ComboScore 只回答"这两个药在该细胞系里是否大于加和",不回答"病人是否获益"。
症状:论文/报告直接写"AI 发现临床有效组合";Top 预测在 xenograft 或患者层面复现率远低于体外指标。
解决:
- 简单方法:表述限定为"体外大于加和活性";引用官方转化率——新组合 xenograft 阳性率 48%,两项进入 I 期(NCT02211755/NCT02379416)。
- 进阶方法:以官方 xenograft 结论为外部验证集,评估模型 Top-K 的富集度(Xia et al. 2018 的 Top 对恢复率 80% 即此思路)。
- SOTA 方法:建立"体外→体内→临床"三级评估链,逐级报告衰减;机制类结论结合 NCI-60 分子标志物证据。
参考:Holbeck et al. 2017 讨论(作者自述局限:剂量/方案未系统优化、动物验证覆盖不全)。
⚠️ 坑点 7:协同指标混用与阈值漂移(分类:评估误用)
问题:文献中 Bliss/Loewe/HSA/ZIP 各指标对同一数据分歧很大;ComboScore(改良 Bliss 全点求和)与其他库(如 DrugComb 的逐点分数)不可直接比较。
症状:跨论文比较 SOTA 时数字对不上;把本数据集分数与 O’Neil 数据集分数混排排名。
解决:
- 简单方法:全文锁定一个指标口径,并注明"ComboScore=改良 Bliss 求和"。
- 进阶方法:如需跨库联合训练,重算统一指标或按库分别校准(方法学参考 Vlot et al. 2019:各指标一致性与分歧的系统分析)。
- SOTA 方法:多指标多任务输出,让模型显式学习指标间残差;评估用秩相关规避量纲。
参考:Vlot et al. 2019;Meyer et al. 2020, Trends Pharmacol Sci 41:266(协同指标全景综述)。
⚠️ 坑点 8:表格解析的工程陷阱(分类:工程陷阱)
问题:官方表格中细胞系名含空格与括号(“HS 578T”、“RXF 393”、“HL-60(TB)”)、缺失以 “-” 表示、药物同时以 NSC 编号与名称出现,Excel/CSV 混用易错。
症状:join 后行数暴涨或归零;“-” 被 pandas 当字符串导致整列变 object;NSC 数字被读成浮点丢失匹配。
解决:
- 简单方法:
pd.to_numeric(..., errors="coerce")统一数值列;细胞系名str.strip()后建映射表;NSC 保留为字符串。- 进阶方法:以 DTP 化学数据库(NSC → 结构/名称)为字典表做显式映射与对账(行数应回到 §3.2 的 293,565)。
- SOTA 方法:把"原始文件 → 长表"的全过程写成带断言的幂等脚本(对账数字:104 药、5,232 对、60 系),进版本库,杜绝手工 Excel 操作。
参考:CellMiner combo score 文档页(含官方表格样例与本坑点所示命名形态)。
§6.6 数据增强
| 策略 | 判定 | 理由 |
|---|---|---|
| 对称交换两药输入顺序 | 安全 ✅ | 利用矩阵对称性的等价增强(§6.4 已内置) |
| 剂量级读数高斯抖动 | 安全 ✅(谨慎) | 仅在剂量级建模且抖动量级 ≤ 已知测量方差时 |
| 特征级 dropout(指纹位/基因掩码) | 安全 ✅ | 表征鲁棒性训练的常规手段 |
| 跨中心混采过采样 | 危险 ❌ | 放大中心偏倚(坑点 2),制造不存在的"混合协议" |
| 随机插值造新药物对 | 危险 ❌ | 破坏 Bliss 求和语义(坑点 3),标签不再可解释 |
| 按组织分组过采样 | 危险 ❌ | 误分类系(坑点 4)会让组织标签噪声被放大 |
一句话原则:本数据集的增强空间来自结构先验(对称性、剂量矩阵形状),而不是"造样本"——任何改变标签语义的增强都会让 ComboScore 失去可复算性。
§6.7 模型推荐
| 模型 | 适配场景 | 依据 |
|---|---|---|
| RF / XGBoost(逐细胞系) | 快速基线、单系解读 | Rp 0.43-0.86(FG 中心,Sidorov 2019) |
| 多特征 ResNet | 分子特征融合(表达/miRNA/蛋白) | R²=0.94、PCC=0.97(5 折 CV 子集,Xia 2018) |
| comboFM(张量分解) | 矩阵补全 + 多视角特征 | 外部验证于自产组合数据(Julkunen 2020) |
| 概率矩阵分解(PMF) | 缺失元组分类/实验设计 | 50% 观测下 95% 分类准确(PMF 2022) |
| 指纹 MLP(two-tower) | 纯药物结构输入的扩展 | PubChem+Morgan 拼接方案(SynAI 2023) |
选型顺序建议:先用 XGBoost 建立逐细胞系基线(半天工作量);two-tower/ResNet 作为主模型;comboFM 用于矩阵补全视角;任何模型上线前用 §6.9 的逐细胞系指标与 Top-K 富集做双向审计(回归精度与筛查召回可能不同步)。
§6.8 硬件需求
| 配置 | 规格 | 适用 |
|---|---|---|
| 最低 | 8 GB 内存 + CPU | 表格清洗、RF/XGB 基线 |
| 推荐 | 16 GB 内存 + 单张 8 GB GPU | two-tower/ResNet 训练(分钟级) |
| 不必要 | 多卡分布式 | 数据体量不构成瓶颈 |
§6.9 评估指标代码
from scipy.stats import pearsonr, spearmanr
from sklearn.metrics import r2_score
def eval_combo(y_true, y_pred, df_test):
# 1) 全局指标:注意 R² 与秩相关可能给出不同排名(坑点 3)
rp = pearsonr(y_true, y_pred)[0]
rs = spearmanr(y_true, y_pred).statistic
r2 = r2_score(y_true, y_pred)
# 2) 逐细胞系 Rp 分布:报告中位数与 IQR,而非仅均值
per_cell = df_test.assign(p=y_pred).groupby("cell_line")
rp_by_cell = per_cell.apply(
lambda g: pearsonr(g.combo_score, g.p)[0] if len(g) > 2 else float("nan"))
# 3) Top-K 富集:每细胞系真实 Top-50 药物对的召回(对齐筛查用途)
def topk_recall(g, k=50):
top = g.nlargest(k, "combo_score")
return len(set(top.index) & set(top.sort_values("p", ascending=False).head(k).index)) / k
return {"Rp": rp, "Rs": rs, "R2": r2,
"Rp_median_by_cell": float(rp_by_cell.median())}
除回归指标外,建议补充两个面向真实使用的指标:(1) Top-K 富集度(上面代码第 3 部分)——筛查场景下使用者只看每细胞系排名前几十的组合;(2) 分中心分解误差——按 screening_center 拆开重复评估,若 FF 中心误差显著更高,说明模型吃进了协议噪声而非生物学信号(坑点 2 的量化证据)。分类式报告(如"Top-10% 判为协同")务必写明阈值来自训练分布分位数而非绝对分数(坑点 3)。
§6.10 MLOps 笔记
- 数据版本化:官方数据为静态首发版(截至 2026-09 无重大更新),但你的清洗产物(长表/矩阵)必须版本化(DVC 或带哈希的 parquet),记录与官方对账数字(104/5,232/60/293,565)。
- 实验可复现:划分策略(留对/留药/留系/留中心)写入配置;每份模型卡注明训练子集的中心构成(坑点 2)。
- 漂移监控:若用于指导新实验,关注 DTP 后续筛查(如 HTS384、NCI-60 Next Phase)新数据与本集的分布差。
- 许可与署名:产物引用 NCI 来源(公共域政策);同时引用 Holbeck 2017。
最小模型卡字段建议:
| 字段 | 内容 |
|---|---|
| 训练数据版本 | 官方下载日期 + 文件哈希 + 对账数字 |
| 划分协议 | 留药物对 5 折 + 留药物外推附录 |
| 中心构成 | 训练/验证/测试中 1A/FF/FG 的样本占比 |
| 指标 | 全局 Rp/R² + 逐细胞系中位数 + Top-K 富集 + 分中心分解 |
| 已知局限 | 不含免疫/微环境;剂量未优化;组织学标签部分失真(坑点 4) |
| 许可 | 数据公共域(注明 NCI);模型不构成医疗建议 |
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解 |
|---|---|---|---|
| 筛查中心混杂 | 三中心元组不重叠、协议不同,无法估计批次效应 | 高 | 分中心建模、中心协变量、分中心报告 |
| 测量噪声不均 | FF 中心生长抑制方差大 → ComboScore 噪声高 | 高 | 方差估计与降权(Sidorov 2019) |
| 细胞系身份错位 | MDA-MB-435/MDA-N/NCI/ADR-RES/SNB-19 误分类或同源 | 中 | 谱系校正注释、同源组同折划分 |
| 面板覆盖失衡 | 前列腺仅 2 株;黑色素瘤 10 株(含误标) | 中 | 分组结论须考虑样本量 |
| 组织学无关性 | 除白血病外敏感性不按组织聚类 | 中 | 避免按瘤种外推;用分子特征解释 |
| 药物选择偏倚 | 仅 104 种 FDA 已批准小分子 | 低(设计使然) | 明确"可转译优先"的定位 |
| 剂量未优化 | 筛查无法覆盖给药剂量与方案空间 | 中 | 结果视为假设生成器(论文讨论) |
§7.2 标注质量
标签来自标准化仪器测量与公开公式计算:59/60 细胞系 >90% 药物对通过 QC;QC 失败与 reversal 剔除规则公开可复现;无人工判读环节,不存在标注者间差异问题。主要质量风险是跨中心/跨日期的测量方差(尤其 FF 中心)而非标注错误。浓度选择以临床 Cmax 为锚点,保证了"临床可及浓度下的活性"这一定位,但也意味着部分药物在体外处于亚有效浓度区间。
可复算性核查清单(发表前建议全部通过):
| 核查项 | 通过标准 |
|---|---|
| 单药期望复算 | 从单药梯度复算的 Bliss 期望与官方 ComboScore 方向一致 |
| 对称性核查 | (A,B) 与 (B,A) 的分数一致(规范排序后应完全相同) |
| QC 剔除复现 | reversal 规则复算的缺失块与官方缺失位置吻合 |
| 对账数字 | 104 药 / 5,232 对 / 60 系 / 约 29.4 万元组 |
§7.3 泛化性
| 外推场景 | 失效风险 | 证据 |
|---|---|---|
| 新药物对(两药均见过) | 低-中 | 逐细胞系模型 Rp 0.43-0.86(Sidorov 2019) |
| 全新药物 | 高 | leave-drug-out 显著掉点(社区共识,无官方数字则不引具体值) |
| 新细胞系 | 高 | 60 系样本不足以让模型充分利用分子特征(Xia 2018 结论) |
| 体外 → 体内 | 高 | 新组合 xenograft 阳性率 48%(论文) |
| 2D → 3D/免疫活性模型 | 高 | 数据不含微环境;白血病外组织学相关性弱 |
| 跨数据集(O’Neil/AZ) | 中-高 | 指标口径与设计不同,需重算统一指标(坑点 7) |
§7.4 伦理
数据不含人类受试者信息(建库细胞系 + 仪器测量),无需 IRB 或知情同意;动物异种移植实验按论文声明遵循 AAALAC 认可机构与《实验动物护理与使用指南》执行。开放许可下复用数据无伦理障碍,但涉及后续动物/人体研究须另行审批。
需要留意的两条边界:(1) 细胞系虽非人体数据,但源自特定供者的历史建库株,跨库发布时不应附带任何可回溯供者的注释信息;(2) 基于该数据训练的模型若输出"某患者应使用某组合"级别的建议,即越过数据集证据等级(体外),在发表与产品设计中都应明确禁止(宪法外提醒:这也是坑点 6 的表述纪律)。
§7.5 公平性
细胞系面板的祖先/性别谱系覆盖有限(60 株多为历史建库系),且前列腺仅 2 株、无儿科来源系;任何"跨人群有效性"的表述都超出数据支撑范围。公平性评估在此数据集上主要体现为"谱系代表性"审查,而非患者级亚组分析。
| 代表性缺口 | 表现 | 对建模的影响 |
|---|---|---|
| 谱系多样性不足 | 建库年代早、以欧美实验室株为主 | 分子特征迁移到非代表谱系的效果未知 |
| 瘤种覆盖失衡 | 前列腺 2 株、无儿科/罕见瘤种系 | 稀有分组结论方差大 |
| 同源重复 | 3 组同源系占 8 席 | 有效独立性低于 60 |
| 药物时代断层 | 104 药止于 2017 前批准 | 免疫/ADC 时代药物不在覆盖内 |
缓解方式:把"代表性缺口"写进模型卡的已知局限(§6.10),并在跨人群/跨瘤种应用前补做独立验证,而非假设面板分布等于临床人群分布。
§7.6 数据漂移
数据集为静态快照(2011-2017 筛查),本身不漂移;漂移风险在下游——新药进入临床(免疫治疗、ADC 时代的主力药物不在 104 药之列)、检测技术演进(HTS384 等新平台)。把本集模型用于今日的联合用药决策前,应显式评估"药物时间覆盖"这一缺口。
实操上推荐三层监控:(1) 输入层——新请求药物的批准日期与机制类别是否落在 104 药分布之外,超出即触发"外推警告";(2) 输出层——模型预测分布与训练分布的统计距离(如分位数偏移)定期复检;(3) 证据层——新发表的联用筛查/试验结果回流为外部校准集(§7.8 的矩阵可随时间扩充)。
§7.7 DAIMS 24 项评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式可用性 | ✅ | 每细胞系可整理为 104×104 对称药物对矩阵 |
| 2 | 唯一标识 | ✅ | NSC 编号 + 细胞系名构成稳定主键 |
| 3 | 特殊字符处理 | ✅ | 含空格/括号名称(“HS 578T”)需规范解析但规则简单 |
| 4 | 重复行 | ⚠️ | 对称性使 (A,B)/(B,A) 双计;需去重后使用 |
| 5 | 缺失编码 | ✅ | 缺失以空值/“-” 表示,语义统一 |
| 6 | 标签标识 | ✅ | ComboScore 公式完全公开可复算 |
| 7 | 罕见类分组 | ✅ | 机制类别视图支持稀有机制药物的分组查询 |
| 8 | 偏倚评估 | ⚠️ | 中心混杂与面板失衡有文献支撑,但官方未发布偏倚审计 |
| 9 | 数据字典 | ✅ | 论文方法 + CellMiner 元数据页完整描述字段 |
| 10 | 信息性缺失解释 | ✅ | reversal/QC 剔除规则官方明文规定 |
| 11 | 设备记录 | ⚠️ | 孔板/检测法记录到中心级,无逐板元数据 |
| 12 | 共线性 | ✅ | 同源细胞系(M14 组等)已被文献明示 |
| 13 | 编码映射 | ✅ | NSC ↔ 药物名 ↔ 机制类别经 DTP 数据库可映射 |
| 14 | 时间戳处理 | ⚠️ | 公开 ComboScore 表不含逐实验检测日期 |
| 15 | 划分建议 | ⚠️ | 无官方 ML 划分;社区有惯例方案可循 |
| 16 | 泄漏讨论 | ✅ | 对称性/同源系泄漏风险明确且可操作(见坑点 1/4) |
| 17 | 标签分布 | ✅ | 1,898 阳性对、11-30 系选择性等分布统计有论文支撑 |
| 18 | 测量偏倚 | ⚠️ | 中心间噪声差异已量化(FF vs FG),但无官方修正版数据 |
| 19 | 外部验证建议 | ✅ | O’Neil/AZ、CTRP v2、官方 xenograft 链可直接对接 |
| 20 | 版本记录 | ⚠️ | 无正式版本号/变更日志(截至 2026-09) |
| 21 | 预处理脚本 | ⚠️ | 官方未提供;社区版(Zenodo 4135059)可替代 |
| 22 | 合规要求 | ✅ | 公共域,注明 NCI 来源即可复用 |
| 23 | 多模态对齐 | ✅ | 与 NCI-60 分子表征经细胞系/NSC 双键对齐 |
| 24 | 去标识化 | ✅ | 无人类受试者数据,不适用且无负担 |
DAIMS 评分:20.0 / 24
评分解读:16 项完全达标、8 项部分达标、0 项不达标。数据集在"标识、标签定义、缺失语义、合规、多模态对齐"五个维度接近教科书级——这得益于官方论文把公式与 QC 规则全部公开;失分集中在"机器学习工程化"侧:无官方划分、无版本管理、无逐板/逐日期元数据、对称重复需自行处理。这四项恰好都是社区可以自行修复的工程问题(预处理版 Zenodo 数据已解决大半)。
对你意味着什么:(1) 可以放心把该数据集作为联用协同模型的训练与基准主力,标签语义不必怀疑;(2) 上手第一天先完成三件事——对称去重、缺失掩码保留、中心字段对账(§6.3 代码已内置);(3) 论文写作时避免跨中心混合口径的全局均值指标,改报逐细胞系与分中心指标;(4) 若需要"开箱即跑",直接用 Zenodo 预处理版起步,再回官方表做对账审计;(5) 涉及组织学特异性的结论必须先核对坑点 4 的误分类名单。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| 小鼠异种移植模型 | NCI(论文配套) | 新组合体内有效性 | 14/44 实验统计显著 + 7/44 专家判定 | 体外→体内衰减 | 48% 新组合至少一个模型优于单药(论文) |
| I 期临床试验 | NCI Clinical Center | 安全性/早期信号 | NCT02211755、NCT02379416 | — | 两个 ALMANAC 衍生组合进入临床 |
| Top 预测恢复 | Argonne/LLNL(Xia 2018) | Top 对恢复率 | 80%(逐细胞系排名) | 体外内部验证 | 深度模型可恢复多数官方阳性 Top 对(论文) |
| 自产组合筛查数据 | FIMM(comboFM) | 跨面板泛化 | 外部验证一致(论文) | 跨面板 | 张量分解特征可迁移至独立实验数据 |
| 缺失组合分类 | PMF 研究 | 矩阵补全 | 95% 准确(50% 观测) | — | 支撑主动学习实验设计(论文) |
§8 基准性能与生态
§8.1 代表性模型结果
本数据集没有官方排行榜;下表为代表性同行评审结果。⚠️ 各行使用了不同的子集、划分与指标口径,数字不可直接横向比较:
| 排名 | 模型 | 性能 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | 多特征 ResNet(响应预测) | R²=0.94、PCC=0.97、MAE<10%(5 折 CV,子集) | 2018 | 残差网络 + 基因表达/miRNA/蛋白融合 | Xia et al., 2018, BMC Bioinformatics 19(S18):486. DOI: 10.1186/s12859-018-2509-3 | — |
| 2 | RF / XGBoost(逐细胞系) | Rp 0.43-0.86(FG 中心) | 2019 | MFPC 指纹 + 物化特征 + 数据增强 | Sidorov et al., 2019, Frontiers in Chemistry 7:509. DOI: 10.3389/fchem.2019.00509 | — |
| 3 | comboFM | 多视角张量分解,外部 FIMM 数据验证一致 | 2020 | 因子分解机 + 药物/细胞系多模态 | Julkunen et al., 2020, Nature Communications 11. DOI: 10.1038/s41467-020-19950-z | Zenodo 4129688 |
| 4 | 概率矩阵分解(PMF) | 50% 观测下缺失组合 95% 分类准确 | 2022 | 协同过滤式低秩分解 | “Predicting the Effects of Drug Combinations Using Probabilistic Matrix Factorization”, 2022(PMC9581062) | — |
| 5 | SynAI MLP | PubChem+Morgan 指纹基线平台 | 2023 | 指纹拼接 + 对称输入增强 | SynAI, 2023(PMID: 38023331,论文) | — |
| 6 | REFINED CNN(双臂) | ComboScore 预测,贝叶斯超参优化 | 2020 | 化学描述符重构为图像 + 双臂 CNN | Bazgir O et al., 2020, arXiv:2009.04076 | — |
排名仅为引用顺序而非性能排序:各行的子集、划分与指标口径互不相同(见 §8.3 协议清单),横向比较无意义。
§8.2 SOTA 总结与选型建议
结论层面可放心引用的事实是:深度学习在本数据集上能解释绝大部分响应方差(R²≈0.94,随机划分口径),但预测力主要来自药物描述符而非细胞系分子特征——细胞系数量(60)是结构性瓶颈(Xia 2018)。选型建议:基线用逐细胞系 XGBoost(便宜、可解读);追求单点精度用特征融合 ResNet;做实验设计/补全用 comboFM 或 PMF;一切结论以"外推划分"复核,随机划分的漂亮数字只代表插值能力。
方法学趋势上有两条已被多次验证的规律:(1) 药物侧特征强于细胞系侧特征——ECFP/Morgan 指纹、MFPC+物化性质等结构特征贡献了大部分预测力(Sidorov 2019;Xia 2018),基于先验知识的特征筛选(如限制到癌症/药物响应相关基因)能进一步提升表达特征的价值(系统评估文献结论);(2) 简单架构往往不输复杂架构——全连接特征编码子网络在多数对比中表现稳健,集成(DL+ML top 模型融合)可再抬升数个百分点。给新入场的团队:把创新花在"划分协议与外推审计"上,比堆架构更容易做出可发表的贡献。
§8.3 评测协议
建议协议:目标变量 = 对-细胞系级 ComboScore(或按细胞系 z-score);划分 = 留药物对(主表)+ 留药物 + 留细胞系(附录);指标 = 全局 Rp/Rs/R² + 逐细胞系 Rp 中位数与 IQR + Top-K 富集;对照组 = 逐细胞系 XGBoost 与"仅药物对均值"启发式;所有结果注明筛查中心构成(坑点 2)。禁止与逐点平均 Bliss 分数的论文数字直接混排(坑点 7)。
协议清单(照此执行即可与主流文献对齐):
| 协议要素 | 推荐设置 | 备注 |
|---|---|---|
| 目标 | 对-细胞系级 ComboScore | 剂量级目标需另行声明 |
| 主划分 | GroupKFold 5 折(去序药物对) | 去对称后划分 |
| 外推划分 | leave-drug-out / leave-cell-line-out | 附录必报 |
| 主指标 | 全局 Rp + 逐细胞系 Rp 中位数 | R² 作参考 |
| 筛查指标 | Top-50 召回(每细胞系) | 对齐官方筛查用途 |
| 基线 | 逐细胞系 XGBoost + 药物对均值启发式 | 缺一不可 |
| 中心审计 | 分中心误差分解 | 坑点 2 的证据 |
| 数据版本 | 下载日期 + 对账数字(104/5,232/60) | 写入论文数据可用性声明 |
§8.4 相关数据集
| 数据集 | 关系 | 链接 |
|---|---|---|
| NCI-60 单药筛选 | 同面板单药基线,ComboScore 期望项来源 | DCTD 数据页 |
| O’Neil/AstraZeneca 筛查 | 独立联用筛查,天然外部验证集 | O’Neil et al. 2016 |
| CTRP v2 | 大规模单药敏感性,辅助特征源 | CTRP |
| DrugComb | 整合多源联用数据(含本集) | drugcomb.fimm.fi |
| DrugCombDB | 联用网络数据库 | DrugCombDB |
| SYNERGxDB | 跨库协同数据整合与可视化 | synergxdb.fimm.fi |
| CellMiner | NCI-60 药物+分子表征一体化平台 | discover.nci.nih.gov/cellminer |
| GDSC | 大规模单药敏感性(跨库特征源) | cancerrxgene.org |
| CTRP v2 | 单药敏感性 + 派生特征(AUC/IC50) | portals.broadinstitute.org/ctrp |
与相邻数据集的关系可用一句话概括:NCI-ALMANAC 提供"联用维度"的纵深(全对组合 + 剂量矩阵 + 转化链),单药库(GDSC/CTRP)提供"药物×细胞系"的广度,整合库(DrugComb/SYNERGxDB)负责把两者放到同一张桌子上——但桌子上的口径要靠你自己统一(坑点 7)。
§8.5 关键论文 Top 9
- Holbeck SL et al., 2017, Cancer Research 77(13):3564-3576. DOI: 10.1158/0008-5472.CAN-17-0489 — 数据集原始论文:筛查设计、ComboScore 公式、QC 规则、xenograft 与 I 期转化全链记录。
- Xia F et al., 2018, BMC Bioinformatics 19(Suppl 18):486. DOI: 10.1186/s12859-018-2509-3 — 首个大规模深度学习建模:R²=0.94,揭示药物描述符主导预测力。
- Sidorov P et al., 2019, Frontiers in Chemistry 7:509. DOI: 10.3389/fchem.2019.00509 — 系统的逐细胞系 RF/XGB 建模:量化三中心差异与 FF 中心噪声问题。
- Julkunen H et al., 2020, Nature Communications 11. DOI: 10.1038/s41467-020-19950-z — comboFM 多视角张量分解 + Zenodo 预处理数据发布,社区事实标准之一。
- O’Neil J et al., 2016, Molecular Cancer Therapeutics 15:1155. DOI: 10.1158/1535-7163.MCT-15-0843 — 工业界平行筛查(AZ),跨数据集外部验证首选。
- Vlot AHC et al., 2019, Drug Discovery Today 24:2286. DOI: 10.1016/j.drudis.2019.09.002 — 协同指标间一致性与分歧的系统分析,坑点 7 的方法学依据。
- Lorenzi PL et al.(NCI-60 DNA fingerprinting,PMC4020356) — NCI-60 指纹图谱:MDA-MB-435/NCI/ADR-RES/SNB-19 身份问题的权威参照。
- Bazgir O et al., 2020, arXiv:2009.04076(REFINED CNN) — 以 REFINED 超网组织化学描述符并双臂 CNN 预测 ComboScore 的代表性架构探索。
- Meyer CT et al., 2020, Trends in Pharmacological Sciences 41:266. DOI: 10.1016/j.tips.2020.01.011 — 协同指标"碎片化景观"综述,跨库比较必读。
§8.6 社区活跃度
- 论文引用 249+(Europe PMC,截至 2026-06),另被 Database Commons 收录并列为 DrugComb、DrugCombDB、SYNERGxDB、CellMinerCDB 的上游数据源(收录记录)。
- 长期作为药物联用协同预测的方法学基准出现在 2018-2023 年多篇建模论文中(Xia 2018 → Sidorov 2019 → Julkunen 2020 → SynAI 2023),基准问题定义稳定。
- 官方数据门户由 NCI DTP 持续托管;NCI 还配套发布了博客解读与两个临床试验的公共注册记录。
活跃度的时间线亦说明问题:2017 年发布当年即出现官方博客与首批建模预印本,2018-2020 年是方法学产出的高峰(深度学习、逐系机器学习、张量分解三个流派都在这三年定型),2020 年后增量工作转向整合库(DrugComb/SYNERGxDB)与多库联合建模。对研究者而言,这意味着:单库刷点的边际收益在下降,跨库口径统一与外推审计是当前的开放问题。
§8.7 生态快照
| 资源 | 类型 | 链接 | Star/使用(截至 2026-09,约) | 推荐理由 |
|---|---|---|---|---|
| DTP NCI-ALMANAC 门户 | 官方数据 | https://dtp.cancer.gov/ncialmanac | — | 权威入口:热图/柱状图/剂量-反应三视图 |
| DTP wiki 批量下载 | 官方数据 | https://wiki.nci.nih.gov/display/NCIDTPdata/NCI-ALMANAC | — | 全量表格下载 |
| CellMiner | 分析平台 | https://discover.nci.nih.gov/cellminer | — | ComboScore 与分子表征同台分析 |
| comboFM Zenodo 数据 | 预处理数据 | https://zenodo.org/records/4135059 | — | 可直接建模的清洗版 + 源数据 |
| comboFM Zenodo 代码 | 代码 | https://zenodo.org/records/4129688 | — | 复现 Nat Commun 基线 |
| DrugComb | 整合库 | https://drugcomb.fimm.fi/ | — | 多源协同指标标准化,快速跨库查询 |
| SYNERGxDB | 整合库 | https://synergxdb.fimm.fi/ | — | 跨库细胞系/药物注释对齐 |
| Cellosaurus | 注释库 | https://www.cellosaurus.org/ | — | NCI-60 各株 RRID 与身份鉴定的权威参照(坑点 4) |
| DCTD Bulk Data | 官方数据 | https://dctd.cancer.gov/data-tools-biospecimens/data | — | NCI-60 单药/HTS384 等姊妹数据集总入口 |
§9 相关资源与引用
§9.1 官方资源
- 官方主页与查询工具:dtp.cancer.gov/ncialmanac — 热图、药物对柱状图、剂量-反应曲线、机制类别视图。
- 批量下载:wiki.nci.nih.gov/display/NCIDTPdata/NCI-ALMANAC。
- CellMiner 下载页:discover.nci.nih.gov/cellminer/loadDownload.do(“DTP Almanac Combo Score”)。
- CellMiner combo score 文档:drug_almanac_combo_score.html — 官方字段与查询口径说明。
- DCTD 数据总目录:dctd.cancer.gov/data-tools-biospecimens/data(“NCI ALMANAC Data”)。
- NCI 官方解读博客:Cancer Currents, 2017。
- 社区预处理数据:Zenodo 4135059(comboFM)。
- 配套临床试验注册:NCT02211755(clofarabine+bortezomib)、NCT02379416(nilotinib+paclitaxel)。
- 许可与署名政策:Reuse of NCI Information。
- 细胞系权威注释:Cellosaurus(NCI-60 各株 RRID 与身份说明,坑点 4 的外部参照)。
§9.2 BibTeX 引用
@article{holbeck2017national,
title = {The National Cancer Institute ALMANAC: A Comprehensive Screening
Resource for the Detection of Anticancer Drug Pairs with Enhanced
Therapeutic Activity},
author = {Holbeck, Susan L. and Camalier, Richard and Crowell, James A. and
Govindharajulu, Jeevan Prasaad and Hollingshead, Melinda and
Anderson, Lawrence W. and Polley, Eric and Rubinstein, Larry and
Srivastava, Apurva and Wilsker, Deborah and Collins, Jerry M. and
Doroshow, James H.},
journal = {Cancer Research},
volume = {77},
number = {13},
pages = {3564--3576},
year = {2017},
doi = {10.1158/0008-5472.CAN-17-0489}
}
@article{xia2018predicting,
title = {Predicting tumor cell line response to drug pairs with deep learning},
author = {Xia, Fangfang and Shukla, Maulik and Brettin, Thomas and
Garcia-Cardona, Cristina and Cohn, Judith and Allen, Jonathan E. and
Maslov, Sergei and Holbeck, Susan L. and Doroshow, James H. and
Evrard, Yvonne A. and Stahlberg, Eric A. and Stevens, Rick L.},
journal = {BMC Bioinformatics},
volume = {19},
pages = {486},
year = {2018},
doi = {10.1186/s12859-018-2509-3}
}
@article{sidorov2019predicting,
title = {Predicting Synergism of Cancer Drug Combinations Using NCI-ALMANAC Data},
author = {Sidorov, P. and others},
journal = {Frontiers in Chemistry},
volume = {7},
pages = {509},
year = {2019},
doi = {10.3389/fchem.2019.00509}
}
@article{julkunen2020leveraging,
title = {Leveraging multi-way interactions for systematic prediction of
pre-clinical drug combination effects},
author = {Julkunen, Heiko and others},
journal = {Nature Communications},
volume = {11},
year = {2020},
doi = {10.1038/s41467-020-19950-z}
}
@article{oneil2016unbiased,
title = {An Unbiased Oncology Compound Screen to Identify Novel Combination Strategies},
author = {O'Neil, Joe and others},
journal = {Molecular Cancer Therapeutics},
volume = {15},
pages = {1155},
year = {2016},
doi = {10.1158/1535-7163.MCT-15-0843}
}
@article{vlot2019applying,
title = {Applying synergy metrics to combination screening data:
agreements, disagreements and pitfalls},
author = {Vlot, A. H. C. and others},
journal = {Drug Discovery Today},
volume = {24},
pages = {2286},
year = {2019},
doi = {10.1016/j.drudis.2019.09.002}
}
@article{meyer2020charting,
title = {Charting the Fragmented Landscape of Drug Synergy},
author = {Meyer, Christian T. and others},
journal = {Trends in Pharmacological Sciences},
volume = {41},
pages = {266},
year = {2020},
doi = {10.1016/j.tips.2020.01.011}
}
§9.3 引用指南
引用本数据集时:必须引用原始论文(Holbeck et al. 2017);建议同时注明实际获取入口(DTP wiki / CellMiner / Zenodo)与访问日期;数据复用遵守 NCI 信息复用政策(无版权,注明 National Cancer Institute 为来源);若使用了社区预处理版或 comboFM 代码,请同时引用对应 Zenodo DOI。
§10 AI 使用声明卡
§10.1 AI 模型使用
| AI 模型 | 版本 | 用途 |
|---|---|---|
| fast-model(CodeBuddy Code) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09-12 | 6 组检索:官方门户、论文方法与全文、许可政策、基准文献、引用数快照、坑点与细胞系注释交叉验证 |
§10.2 AI 参与范围
AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。
AI 在本页面的工作中负责:(1) 从 Holbeck 2017 原始论文、DTP/CellMiner 官方页面、Database Commons 收录记录与相关建模论文中整理结构化信息;(2) 生成 §6 的 Python/Bash 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。
§10.3 输入来源
- Holbeck SL et al. (2017), Cancer Research 77(13):3564-3576 — 数据集原始论文(DOI: 10.1158/0008-5472.CAN-17-0489,PMCID: PMC5499996)
- NCI DTP NCI-ALMANAC 官方门户(dtp.cancer.gov/ncialmanac)
- DTP wiki 批量下载页(wiki.nci.nih.gov/display/NCIDTPdata/NCI-ALMANAC)
- CellMiner Drug Almanac Combo Score 文档页(discover.nci.nih.gov)
- DCTD 数据总目录(dctd.cancer.gov/data-tools-biospecimens/data)
- NCI Cancer Currents 官方博客(2017,NCI ALMANAC 发布解读)
- Database Commons 收录记录 #5024(含 Europe PMC 引用数快照与关联数据库清单)
- Xia F et al. (2018), BMC Bioinformatics 19(S18):486(DOI: 10.1186/s12859-018-2509-3)
- Sidorov P et al. (2019), Frontiers in Chemistry 7:509(DOI: 10.3389/fchem.2019.00509)
- Julkunen H et al. (2020), Nature Communications 11(DOI: 10.1038/s41467-020-19950-z)及其 Zenodo 数据/代码(4135059/4129688)
- O’Neil J et al. (2016), Molecular Cancer Therapeutics 15:1155(DOI: 10.1158/1535-7163.MCT-15-0843)
- Vlot AHC et al. (2019), Drug Discovery Today 24:2286(DOI: 10.1016/j.drudis.2019.09.002)
- NCI-60 DNA fingerprinting 论文(PMC4020356)与 NCI-60 细胞系误分类文献记录
- NCI Reuse of NCI Information 政策页(cancer.gov/policies/copyright-reuse)
- Probabilistic Matrix Factorization 应用研究(PMC9581062)与 SynAI 平台论文(PMID: 38023331)
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED 映射、面板构成、金标准) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §3 数据集规格(规模数字、三中心协议、版本矩阵) | 千方病案医学编辑部 | 与 Holbeck 2017 原文及 Database Commons 记录交叉比对 | ✅ 已验证 |
| §4 数据结构(DAIMS 字段字典、目录树、缺失语义) | 千方病案医学编辑部 | 与官方文档及 Sidorov 2019 数据描述交叉比对 | ✅ 已验证 |
| §5 数据划分策略 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §6 代码示例与坑点 | 千方病案医学编辑部 | 逻辑审查 + 与论文公式(ComboScore/QC 规则)比对 | ✅ 已通过 |
| §7 质量评估与 DAIMS 评分 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 基准与引用数表述 | 千方病案医学编辑部 | 与原文及 Europe PMC 快照交叉比对 | ✅ 已验证 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§3.0 版本抉择矩阵、§6.0-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.5 公平性评估、§7.7 DAIMS 评估表与评分、§8.7 生态快照、§C JSON-LD。
§10.6 最后人工审核日期
最后人工审核日期:2026-09-05(与 §0.3 审核日期一致)。
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- prism — 共享标签:药物发现与化学 / 虚拟筛选 / 肿瘤学
- depmap-ccle — 共享标签:药物发现与化学 / 虚拟筛选 / 肿瘤学
- dud-e — 共享标签:药物发现与化学 / 虚拟筛选
- drugcomb — 共享标签:药物发现与化学 / 虚拟筛选
- zinc — 共享标签:药物发现与化学 / 虚拟筛选
- drugcentral — 共享标签:药物发现与化学 / 虚拟筛选
- drugbank — 共享标签:药物发现与化学 / 虚拟筛选
- bindingdb — 共享标签:药物发现与化学 / 虚拟筛选
- ctrp-v2 — 共享标签:药物发现与化学 / 肿瘤学
- ttd — 共享标签:药物发现与化学 / 肿瘤学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

