信息速览

Tabula Muris — 小鼠跨组织单细胞图谱 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | Tabula Muris |
| 英文全称 | Tabula Muris: Transcriptomic characterization of 20 organs and tissues from Mus musculus at single cell resolution |
| 别名/简称 | TM、Tabula Muris 2018(原版);与衰老版 Tabula Muris Senis(2020)区分 |
| 疾病分类 | 健康小鼠参考图谱,无疾病专属性;下游疾病建模应用涉及 ICD-11:5A11 2 型糖尿病 / CB4Z 心力衰竭 / 8A80 阿尔茨海默病 / 1G4Z 脓毒症等(详见 §2) |
| SNOMED CT | 73211009 Diabetes mellitus(disorder)/ 84114007 Heart failure(disorder)/ 26929004 Alzheimer’s disease(disorder)(下游应用领域,详见 §2.2) |
| 数据模态 | 单细胞 RNA 测序(Smart-seq2 全长转录本 + 10x Genomics droplet 3’-end 计数) |
| AI 任务类型 | 细胞类型注释与分类、跨组织细胞图谱比对、跨平台数据整合、批次效应量化、疾病模型基线参照、scRNA-seq 基础模型预训练语料 |
| 样本总数 | 100,605 个单细胞(FACS 过 QC 44,949 + droplet 55,656)/ 20 个器官 / 7 只小鼠 / 23,433 个基因 |
| 数据大小 | FACS 计数矩阵压缩包约 290 MB(figshare);原始 fastq 数十 GB(GEO/SRA,单张 10x BAM 约 12-22 GB) |
| 数据格式 | CSV/TSV、10x MTX 稀疏矩阵、Seurat .Robj、FASTQ |
| 许可证 | CC BY 4.0 |
| 访问级别 | 开放(无需注册、无 DUA,直接下载) |
| DUO 标签 | NRES(无限制;动物数据,不含人类隐私信息) |
| 语言 | 英文(元数据与注释字段) |
| 首发日期 | 2017-12-20(figshare 首个数据条目)/ 2018-10-03(Nature 论文) |
| 最后更新 | 2018-09-20(figshare v8,FACS 数据定稿;后续扩展由 Tabula Muris Senis 承接) |
| 发布机构 | Tabula Muris Consortium(斯坦福大学、Chan Zuckerberg Biohub、UC 系统院校等) |
| 官方主页 | http://tabula-muris.ds.czbiohub.org/ |
| 下载地址 | https://figshare.com/projects/Tabula_Muris_Transcriptomic_characterization_of_20_organs_and_tissues_from_Mus_musculus_at_single_cell_resolution/27733 |
| DOI | 10.1038/s41586-018-0590-4(论文)/ 10.6084/m9.figshare.5829687(FACS 数据) |
| 引用次数 | 2,691+(Scopus,截至 2026-09;Google Scholar 主版本 1,387+) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 官方计数矩阵+注释+全部分析代码公开、多格式分发、可复现性极佳;扣分项:无官方 ML 划分、FACS 与 droplet 双平台需自行整合、R 对象为旧版 Seurat 格式需转换 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、实验动物与临床任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(FACS/droplet 双平台矩阵结构、Cell Ontology 注释体系)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与斯坦福大学、Chan Zuckerberg Biohub 及 Tabula Muris Consortium 无任何商业利益关联。本页面不销售 Tabula Muris 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Tabula Muris 以 CC BY 4.0 许可开放分发,无需注册、培训或签署 DUA,但再分发与成果发表时必须按 CC BY 4.0 要求给出恰当署名(引用 Nature 原始论文)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? Tabula Muris 是一张"小鼠全身细胞地图"。2018 年,斯坦福大学与 Chan Zuckerberg Biohub 牵头的十几个实验室协同行动:同一批 7 只 3 月龄小鼠被处死后,各实验室同步摘取自己专长的器官,共取下 20 个器官,解离成单细胞后测序,最终记录了 100,605 个细胞里每个细胞"开着哪些基因"(约 2 万多个基因)的表达谱 [10.1038/s41586-018-0590-4]。
为什么重要? 在它之前,单细胞研究大多一次只看一个器官、各家技术互不可比。Tabula Muris 第一次做到了"同一批动物、同一套流程、跨 20 个器官",因此 T 细胞、内皮细胞这类"走遍全身"的细胞第一次可以在受控条件下跨器官直接比较;它还同时用了两种互补测序技术(FACS 高灵敏全长 vs droplet 高通量计数),成为方法学对照的黄金样本 [Nature 562:367-372]。
我能用它做什么? 给你的新单细胞数据做细胞类型自动注释(它是常用参考图谱);把疾病模型小鼠与它对比,看病变出现在全身哪些细胞;评测你的批次校正/数据整合算法;或把它当作单细胞基础模型的预训练语料。注意:它只有 3 月龄年轻小鼠,衰老研究请用其续作 Tabula Muris Senis。
§1.1 技术摘要
Tabula Muris 的生产流程是"协同取材—双平台测序—专家标注"。7 只 3 月龄 C57BL/6JN 小鼠(3 雌 4 雄)的 20 个器官(主动脉、膀胱、骨髓、脑 4 区、膈肌、脂肪 4 种、心、肾、大肠、四肢骨骼肌、肝、肺、乳腺、胰腺、皮肤、脾、胸腺、舌、气管)在动物处死后立即同步解离,送至中央设施统一分选测序:全部 20 个器官经 FACS 分选后用 Smart-seq2 测全长转录本(53,760 个细胞测序,44,879 个通过 ≥500 基因且 ≥50,000 reads 的 QC),其中 12 个器官另用微流控 droplet(10x Genomics 3’-end 计数)获得 55,656 个细胞;合计 100,605 个细胞、23,433 个基因。细胞类型由各器官专家按 Cell Ontology 受控词表标注,全部分析在 Seurat 管线中完成并以 33 个 R notebook 公开。这一设计的直接收益是"可比性":同一动物内的多器官样本,把供体遗传背景、饲养环境与月龄全部固定,剩下的差异即可归因于组织与细胞类型本身。论文发表于 Nature 562:367-372(2018-10-03),被引 2,691+ 次(Scopus,截至 2026-09)[10.1038/s41586-018-0590-4]。
§1.2 战略价值
参考基线维度:Tabula Muris 是"健康年轻成年小鼠"的标准参照。同一动物取多个器官的设计控制了年龄、环境与表观遗传噪声,使得"细胞类型 X 在器官 A 与器官 B 的差异"首次可以干净归因于组织本身而非批次。任何疾病模型(如阿尔茨海默病模型小鼠)都可以与之对比,把病变定位到全身细胞类型而非单一器官——这正是 phys.org 报道中"全身体视角研究疾病"的承诺 [phys.org 2018-10]。
方法学维度:FACS/Smart-seq2 与 droplet/10x 两条技术路线在大部分器官上平行取样,天然构成"高灵敏全长 vs 高通量 3’ 端"的对照实验。官方明确把"跨方法整合、量化批次效应、验证新方法"列为该数据集的预期用途 [biohub.org]。这使它成为单细胞整合算法(bbknn、scVI、Canek 等)与注释迁移方法论文中最常用的基准之一;对工程团队而言,一个数据集同时覆盖"标签全、精度高"(FACS)与"通量大、稀疏高"(droplet)两种极端场景。
可复现性维度:从 figshare 计数矩阵、GEO 原始 fastq 到 GitHub 上逐组织 notebook,全部链条开放且互相对应,论文声明"该版本允许精确复现所有结果" [PMC6642641]。对需要审计数据来源的合规场景(如医药企业内部数据治理),这种"每一层都有持久标识符"的完整溯源链并不多见。此外,其后续版本 Senis 保持同一注释体系,使基于原版建立的管线可以平滑迁移到更大规模的数据上,保护了工程投入。
§1.3 同类数据集横向对比
| 数据集 | 物种与规模 | 模态/平台 | 标注 | 差异化定位 |
|---|---|---|---|---|
| Tabula Muris(本页) | 小鼠,100,605 细胞 / 20 器官 / 3 月龄 | Smart-seq2 全长 + 10x droplet 双平台 | Cell Ontology 人工标注 | 同一动物多器官 + 双方法对照,方法学基准首选 |
| Tabula Muris Senis | 小鼠,35 万+ 细胞 / 23 组织 / 1-30 月龄 6 个时间点 | 10x droplet + Smart-seq2 | 沿用 Cell Ontology,半自动注释 | 衰老研究的正确选择,含本数据集 3 月龄数据 [senis 官网] |
| Mouse Cell Atlas(Microwell-Seq) | 小鼠,61,637 细胞(去批次版本,GSE108097) | Microwell-Seq 单平台 | 聚类 + marker | 覆盖发育阶段更广,平台不同不可直接混用 [FUMA] |
| Tabula Sapiens | 人,多器官单细胞图谱(2022) | 单细胞转录组 | Cell Ontology 体系 | 人类对照图谱,做跨物种比较时使用 |
| Human Cell Atlas(生态参照) | 人,国际协作计划 | 多模态单细胞 | 社区共建 | 本数据集所属的 CZ Biohub 图谱生态同为 HCA 的重要支撑 [phys.org] |
§1.4 版本时间轴
| 时间 | 版本/事件 | 说明 |
|---|---|---|
| 2017-12-20 | figshare 首个条目(FACS 计数矩阵 v1) | 项目以 CC BY 4.0 先行开放数据 [figshare 5715040] |
| 2017 | bioRxiv 预印本 | 《…20 organs and tissues from individual mice creates a Tabula Muris》[Google Scholar] |
| 2018-01 至 2018-03 | figshare v2-v7 密集修订 | 组织改名(Colon→Large_Intestine 等)、修复 Aorta/Heart 误混入 Diaphragm/Muscle 数据(2018-02-20)[figshare 5829687 history] |
| 2018-10-03 | Nature 论文发表 | 562:367-372,DOI 10.1038/s41586-018-0590-4 |
| 2018-02-20 | figshare v3 关键修复 | Aorta/Heart 误混入 Diaphragm/Muscle 数据被修正(坑点 4)[figshare history] |
| 2018-09-20 | figshare v8(FACS 最终版) | 53,760 细胞测序 / 44,879 过 QC 口径确定;数据自此定稿 |
| 2020-07-15 | Tabula Muris Senis 发表 | Nature 583,23 组织、6 个月龄点;原版 3 月龄数据并入 [senis 官网] |
§1.5 典型应用场景
- 疾病模型全身对照:以本图谱为健康基线,把阿尔茨海默病、糖尿病等模型小鼠的各组织单细胞数据与之对齐,定位病变波及的细胞类型与器官(phys.org 报道原文即以此为主要用途)。→ 入口:§3.1 双平台对照、§7.3 泛化性。
- 新数据细胞类型注释:将自家 scRNA-seq 数据映射到 FACS 全长参考上做 label transfer(SingleR、scmap、scANVI 等),FACS 数据每细胞基因检出高、标签全,是理想的参考底座。→ 入口:§6.4、§6.7。
- 整合算法基准评测:FACS 与 droplet 跨平台、多批次(plate/channel)、多供体(7 只小鼠)三重结构,是检验批次校正与数据整合方法保留生物学信号能力的标准考场。→ 入口:坑点 6、§8.3。
- 跨组织共享细胞类型研究:如官方论文对全体 T 细胞(n=2,847)与转录因子的跨器官分析,可直接复用其注释做二次发现。→ 入口:§4.2 标签分布。
- 单细胞基础模型预训练:作为标注密度高、协议统一的公开语料,用于基因表征/细胞表征预训练语料库的一小块拼图。→ 入口:§3.3 格式、§6.3 预处理。
每个场景的共同前提:先完成 §6.3 的分平台预处理与 §5.3 的防泄漏划分,否则任何场景的结论都可能被口径混乱或批次伪影污染。
§2 医学背景
§2.1 疾病领域与 ICD-11 映射
Tabula Muris 本身是健康小鼠参考图谱,不对应任何单一疾病;它的医学价值在于为下游疾病建模提供"健康成年基线"。下表列出社区使用该图谱开展建模的主要疾病领域及其编码(映射的是下游应用领域,非数据集本身的诊断标签):
| 应用领域 | ICD-11 编码 | ICD-11 中文名 | 与本数据集的关系 |
|---|---|---|---|
| 2 型糖尿病 | 5A11 | 2 型糖尿病 | 胰腺、脂肪等组织的细胞基线;模型小鼠胰岛细胞变化定位 |
| 心力衰竭 | CB4Z | 心力衰竭 | 心脏、主动脉细胞类型参照;心室重构细胞学解释 |
| 阿尔茨海默病 | 8A80 | 阿尔茨海默病 | 脑(皮层/海马等 4 区)基线;AD 模型小鼠全脑细胞图谱对照 |
| 脓毒症 | 1G4Z | 脓毒症 | 脾、骨髓、胸腺免疫细胞基线;全身炎症反应的细胞来源分析 |
| 急性肾损伤 | 8B6Z | 急性肾损伤 | 肾脏各段上皮细胞参照;损伤后修复过程比对 |
| 衰老相关疾病 | —(多系统) | 多系统老龄化 | 原版仅 3 月龄,衰老方向应使用 Tabula Muris Senis |
§2.1b SNOMED CT 映射表
| 标签 | ICD-11 | SNOMED CT 码 | 术语 |
|---|---|---|---|
| 2 型糖尿病 | 5A11 | 73211009 | Diabetes mellitus(disorder) |
| 心力衰竭 | CB4Z | 84114007 | Heart failure(disorder) |
| 阿尔茨海默病 | 8A80 | 26929004 | Alzheimer’s disease(disorder) |
| 脓毒症 | 1G4Z | 91302008 | Sepsis(disorder) |
注:SNOMED CT 无"小鼠正常组织"专用概念集;细胞类型层面的标准本体请使用数据集自带的 Cell Ontology(OBO Foundry,
cell_ontology_id字段),这是本数据集真正的一级标注体系 [biohub.org]。
§2.2 疾病简介与流行病学视角
Tabula Muris 服务的不是某一疾病的诊断,而是疾病机制研究中最基础的一步:把"正常"定义清楚。它以 7 只 3 月龄 C57BL/6JN 小鼠为样本,论文将 3 月龄对应为约 20 岁人类的发育阶段 [PMC6642641]。这个"年轻成年"时点的选择,使任何后续在模型动物身上观察到的表达变化都可以与之比较,从而回答"这是疾病所致,还是发育/老化本底"。
从流行病学视角看,其覆盖的应用领域多为重大慢病:糖尿病、心力衰竭、神经退行性疾病、脓毒症与急性肾损伤,均是单细胞技术最活跃的疾病建模场景。该数据集发布后的高引用(Scopus 口径 2,691+,截至 2026-09)[OUCI] 在很大程度上来自这些领域将其作为对照或注释参考。需要强调:它是动物实验数据,不涉及人类受试者,不存在人类流行病学抽样设计。
为什么"健康基线"本身是医学基础设施:一篇疾病模型论文如果没有可信的对照,其"差异基因"可能是饲养批次、解离批次或测序批次的伪影。Tabula Muris 用十余个实验室协同取材的极端流程,把这类技术噪声压到可量化水平,并公开了量化结果(同类细胞跨器官共聚、异质性评分等),等于给社区提供了一份"经过质检的正常对照标准品"。在精准医学语境下,它的角色类似于参考区间(reference interval)之于临床检验——单个数值没有意义,放到健康基线里才有意义。
§2.3 临床前任务定义
该数据集支持的是临床前研究任务,与临床"筛查/诊断/分级/预后"任务的对应关系如下:
| 临床任务 | 本数据集中的对应任务 | 说明 |
|---|---|---|
| 筛查 | 疾病模型的全身细胞普查 | 将模型小鼠多组织数据与基线对齐,筛查受累细胞类型 |
| 诊断 | 细胞类型自动注释 | 以 FACS 参考为底座对新样本做 label transfer,输出细胞身份 |
| 分级 | 细胞状态/活化程度量化 | 如 T 细胞活化簇(Il2ra 高表达)与静息态的区分 [PMC6642641] |
| 预后 | 细胞组成变化的纵向追踪 | 结合 Senis 的多时点数据,追踪组成漂移与疾病进展 |
§2.4 样本群体表
| 维度 | 内容 |
|---|---|
| 物种/品系 | 小鼠 C57BL/6JN 近交系 |
| 来源 | 实验室标准化养殖,多实验室协同取材(同一动物)[biohub.org] |
| 年龄 | 3 月龄(10-15 周),约相当于人类 20 岁 [PMC6642641] |
| 性别 | 3 雌 4 雄,共 7 只 |
| 健康状态 | 健康(无疾病模型、无干预) |
| 数据发布 | 2017-12 至 2018-09(figshare v1-v8);测序 2017 年完成 |
| 与人类对照的换算 | 3 月龄 ≈ 20 岁;如需老年对照(70 岁当量),改用 Senis 的 24-30 月龄组 [senis 官网] |
注意"样本"在本数据集语境下的三重含义:统计意义上的独立样本是动物(n=7),数据意义上的样本是细胞(n=100,605),而很多论文把细胞当独立样本计算 p 值——这会严重高估显著性,属于典型的伪重复(pseudoreplication),建模时请以供体为单位汇报不确定性。
§2.5 转化与临床价值
跨物种桥梁:小鼠是临床前研究的主力模式动物。Tabula Muris 把"每种细胞类型在健康状态下表达什么"系统化后,靶点验证、毒理评估、基因编辑模型表型解释都有了统一参照,缩短"模型动物观察 → 人体临床试验"之间的解释链条。全身体视角:传统研究只盯病变器官;本图谱使"AD 药物为何改变肝脏代谢细胞"这类全身性问题可量化(phys.org 报道明确将全身视角列为首要价值)。方法学医疗化:跨平台整合、注释迁移等方法在其上打磨成熟后,才有人体图谱(Tabula Sapiens 等)与临床单细胞应用的可行路径。
对 AI 医疗产品的间接价值:临床单细胞检测(如免疫细胞治疗质检、肿瘤微环境解析)的算法都建立在"细胞类型定义"之上;这一定义体系正是由 Tabula Muris 这类参考图谱奠定的。若你的产品管线使用小鼠实验数据做临床前证据(毒理、药效、基因治疗安全性评估),把本图谱作为基线参照可以直接提升证据链的可比性与审计友好度。
§2.6 金标准表
| 维度 | 内容 |
|---|---|
| 划分 | 无官方 ML 划分(图鉴型数据集);社区惯例为按供体小鼠或按组织留出 |
| 标注方式 | 人工标注:Seurat 聚类 → 已知 marker 基因差异表达 → cluster 级命名 |
| 标注者 | 十余个参与实验室的各器官专家,33 个 per-tissue R notebook 公开 [biohub.org] |
| 性质 | 实验测量数据(非诊断金标准);类型标签遵循 Cell Ontology 受控词表 + free_annotation 自由文本补充 |
| 已知标注局限 | 罕见群体(<30 个细胞,占全数据集 <4%)可能被 cluster 级标注误标 [PMC6642641] |
使用提示:把上表当作"该信什么、别信什么"的清单——类型标签整体可信(专家+本体+聚类三方印证),但细粒度亚型与罕见类标签要打折使用;任何以标签为真值训练的模型,其指标上限都被上表最后一行约束。
§3 数据集规格
§3.0 版本抉择矩阵
| 你的需求 | 推荐版本 | 大小 | 理由 |
|---|---|---|---|
| 健康年轻成年基线(原版口径) | 本页 Tabula Muris(figshare v8/v2) | 处理后矩阵数百 MB | 3 月龄、双平台、人工标注齐全 |
| 复现 2018 论文全部图表 | figshare v8 + GitHub czbiohub/tabula-muris | 矩阵 + 代码 | 论文即基于该版本;33 个 notebook 可逐图复现 [Nature] |
| 衰老/多时点研究 | Tabula Muris Senis(Nature 2020) | 更大(35 万+ 细胞) | 含 1/3/18/21/24/30 月龄 6 个时间点;原版 3 月龄数据已并入 [senis 官网] |
| 快速交互浏览不下载 | 官方数据浏览器 tabula-muris.ds.czbiohub.org | 0 | 网页直查各组织基因表达分布 [PMC6642641] |
| 原始 reads 重分析 | GEO GSE109774(SRA) | 数十 GB | fastq/BAM 级原始数据,含 10x P4/P7 批次 [seqout] |
| 与 CELLxGENE 生态衔接 | Senis 生态内的 CELLxGENE 会话 | 0 | 网页交互探索,含原版 3 月龄数据 [senis 官网] |
| R/Python 一行加载体验 | easy-data repo(GitHub) | 矩阵级 | 官方提供的两行加载脚本入口 [biohub.org] |
§3.1 模态详情
FACS + Smart-seq2(全长平台):解离后的单细胞经荧光激活分选(FACS)逐个进入 384 孔板,以 Smart-seq2 化学法构建全长 cDNA 文库测序。特点:每细胞 reads 数高、基因检出敏感(可检测低表达转录本与可变剪接),并含 ERCC spike-in 外参,适合定量与亚型分辨。覆盖全部 20 个器官 [PMC6642641]。
微流控 droplet 3’-end 计数(10x):细胞悬液与凝胶珠共包裹进油滴,每个细胞获得带 UMI 的条码,仅测 3’ 端。特点:通量大(数千细胞/器官)、成本低,但每细胞基因检出低、矩阵稀疏(零值可达 90%)。覆盖 12 个器官 [PMC6642641] [jingbio 教程]。
双平台对照要点表:
| 维度 | FACS + Smart-seq2 | droplet(10x 3’-end) |
|---|---|---|
| 器官覆盖 | 20/20 全覆盖 | 12/20 |
| 每细胞测序深度 | 高(reads 数大,QC 阈值 ≥50,000 reads) | 低(UMI 计数) |
| 每细胞基因检出 | 高,敏感检测低表达 | 低,稀疏矩阵(零值可达 90%) |
| 转录本覆盖 | 全长(可及可变剪接) | 仅 3’ 端 |
| 外参 | 含 ERCC spike-in | 无 |
| 批次变量 | plate.barcode(PCR 板) | channel(10X_P4/P7 批次) |
| 适用任务 | 参考注释、亚型分辨、定量 | 组成统计、大规模普查 |
| 数据格式 | 按组织 CSV | 按批次 10x MTX 三件套 |
双平台的科学意义:同一器官两种方法平行采样,使"测序技术差异"与"生物学差异"首次可以解耦;官方 t-SNE 显示两平台各自内部生物学信号(细胞类型)均强于批次信号 [PMC6642641]。
§3.2 按子集样本数
| 子集 | 器官数 | 细胞数(测序) | 细胞数(QC/注释口径) | 说明 |
|---|---|---|---|---|
| FACS + Smart-seq2 | 20 | 53,760 | 44,879(QC:≥500 基因且 ≥50,000 reads)[figshare 5829687] | annotation file 含 44,949 条 [FUMA/phys.org] |
| droplet(10x) | 12 | 55,656 | 54,837(有注释)[FUMA] | 覆盖脑、脂肪、骨髓、大肠、心、肾、肝、肺、乳腺、胰腺、脾、胸腺等 |
| 合计(论文口径) | 20 器官 | — | 100,605 | 44,949 + 55,656 = 100,605 [phys.org] |
器官清单(20):主动脉、膀胱、骨髓、脑(小脑/皮层/海马/纹状体)、膈肌、脂肪(棕色/性腺/肠系膜/皮下)、心、肾、大肠、四肢骨骼肌、肝、肺、乳腺、胰腺、皮肤、脾、胸腺、舌、气管 [PMC6642641]。其中脂肪与脑内部还按亚组织/脑区进一步拆分(fat 4 种亚型、brain 4 个脑区),对应元数据的 subtissue 字段——建模时可用它做细粒度分层。
§3.3 数据格式
| 内容 | 格式 | 位置 |
|---|---|---|
| FACS 基因×细胞 UMI/reads 计数(按组织分文件) | CSV | figshare 10.6084/m9.figshare.5829687(v8) |
| FACS 元数据(mouse.id、tissue、sex、channel 等) | metadata_FACS.csv |
同上 |
| FACS 细胞类型标注(Cell Ontology) | annotations_FACS.csv |
同上 |
| droplet 计数(每批次 10x 标准三件套) | MTX + genes.tsv + barcodes.tsv | figshare 10.6084/m9.figshare.5968960(v2) |
| droplet 元数据/标注 | CSV | 同上 |
| 分析用 R 对象(每组织 Seurat) | .Robj(旧版格式) | figshare 10.6084/m9.figshare.5821263 |
| FACS 分选 index 数据 | CSV | figshare 10.6084/m9.figshare.5975392 |
| 原始数据 | FASTQ/BAM | GEO GSE109774 / SRA |
FACS 条目版本史(figshare 5829687,日期均经页面核实):
| 版本 | 日期 | 修订要点 |
|---|---|---|
| v1 | 2018-01-27 | 首次发布(前身条目 2017-12-20) |
| v2 | 2018-02-16 | 膈肌与肌肉、主动脉与心脏拆分 |
| v3 | 2018-02-20 | 修复 Aorta/Heart 误混入 Diaphragm/Muscle 的数据(坑点 4) |
| v4 | 2018-03-09 | 组织名标准化(Colon→Large_Intestine 等,坑点 3) |
| v5 | 2018-03-22 | 亚组织命名修复(Heart/Skin) |
| v6 | 2018-03-23 | 移除 metadata 首列行号 |
| v7 | 2018-03-27 | 增补组织 t-SNE 与 cluster id |
| v8 | 2018-09-20 | 最终版:53,760 细胞 / 44,879 过 QC 口径 |
§3.4 存储大小
处理级数据紧凑:FACS 压缩包 290.08 MB [figshare 5715040],droplet 同量级;全量载入内存做 Scanpy 分析建议预留 16-64 GB RAM(见 §6.8)。原始数据体积大一个数量级以上:单张 10x BAM 12-22 GB [seqout],全部 SRA fastq 达数十 GB。磁盘规划建议:处理级数据 5 GB、原始数据预留 200 GB 以上。
内存换算提示:53,760×23,433 的稠密 float64 矩阵约 10 GB——这正是 §6.3 坚持稀疏存储(CSR)的原因;droplet 合并全部批次后细胞数更多,虽然零值占比可达 90% 使稀疏矩阵本身不大,但 QC 与归一化过程的中间副本会放大内存峰值,实践上按"峰值为稳态 2-3 倍"规划。
§3.5 标注方式
人工标注(半监督流程):每组织一个 R notebook,Seurat 归一化 → 高变基因选择 → PCA → 最近邻图聚类 → 专家查已知 marker 表达命名 cluster;marker 缺失时辅以 cluster 间差异表达基因计算。整体属"专家人工 + 算法辅助",非弱监督也非自动 pipeline 产物 [biohub.org]。
流程的可复用价值:官方把标注过程拆成 33 个 per-tissue notebook 并全文公开,任何一个新组织都可以照抄该模板跑完"读数 → QC → 聚类 → 注释"闭环;对 annotation 参数(PC 数、resolution)的选择逻辑也在 notebook 与 Organ Annotation Vignette 中有逐步示范 [biohub.org]。此外,标注结果同时给出受控标签(cell_ontology_class/id)与非受控补充(free_annotation),这种"受控 + 自由"的双轨设计兼顾了机器可读性与专家表达力,值得自建数据集时借鉴。
§3.6 标注者资质与一致性
标注由十余个参与实验室的器官专家完成——“谁取的器官谁负责注释”,专业知识直接注入标签 [biohub.org]。一致性证据:跨器官的同类细胞(T 细胞、B 细胞、内皮细胞)在联合 t-SNE 中共聚为一簇,且与人工标签一致,说明标注在不同实验室间可复现 [PMC6642641]。已知系统性局限:cluster 级标注使 <30 细胞的罕见群体可能错挂到邻近大类(见坑点 8)。
§3.7 采集周期
关键设计是**“同一动物、同一时刻”**:动物处死后,各器官由专职实验室同步摘取、解离并送中央设施统一分选测序,全程一次完成(官方称"精细的多实验室接力")[biohub.org]。这种设计的代价是极低的产出弹性——任何一家实验室延误都会拖累整批样本——换来的则是跨器官数据前所未有的可比性。数据发布周期:2017-12(figshare v1)→ 2018-09(v8 定稿)→ 2018-10 论文见刊 [figshare] [Nature]。值得注意的是发布节奏"数据先行、论文滞后"近 10 个月:从 2017 年底起社区就能直接下载并用起来,这也是其引用曲线在论文发表前已有积累的原因之一 [figshare 5715040]。
§3.8 地域覆盖
单一地理与遗传背景:美国加州湾区机构(斯坦福大学、Chan Zuckerberg Biohub),单一近交系 C57BL/6JN,标准化养殖环境。不存在地理、人群或品系多样性——这是刻意的对照设计(控制环境/表观遗传),也是使用时的硬边界(见 §7.3)。换句话说:它的"覆盖窄"不是缺陷而是特性;真正要小心的是使用者把"20 个器官"误读为"20 种生物学背景",实际上它们共享同一只动物的全部背景变量。
§3.9 设备规格
分选端:流式细胞分选仪(FACS)将单细胞排序入板;文库端:Smart-seq2 全长建库 + 高通量短读长测序(读段规模见 GEO fastq);droplet 端:10x Genomics 微流控装置,批次以 10X_P4_*、10X_P7_* 命名,单张 BAM 12-22 GB [seqout]。具体仪器型号以论文 Methods 为准,本页不转录以避免转抄误差。
§3.10 深度溯源链
| 层级 | 标识符 | 位置 |
|---|---|---|
| 预印本 | bioRxiv 2017(《…from individual mice creates a Tabula Muris》) | bioRxiv |
| 论文 | DOI 10.1038/s41586-018-0590-4(PMID 30283141) | Nature 562:367-372 [Nature] |
| 处理级数据 | figshare DOI 10.6084/m9.figshare.5829687(FACS)、10.6084/m9.figshare.5968960(droplet) | figshare project 27733 |
| 原始数据 | GEO GSE109774(BioProject PRJNA432002) | GEO/SRA [seqout] |
| 分析代码 | GitHub czbiohub/tabula-muris(含 33 个 notebook) | GitHub [PMC6642641] |
| 本 Wiki 条目 | /tabula-muris/339(基于上述一手来源整理) |
千方病案医数集 |
§4 数据结构
§4.0 目录树
从 figshare 下载并解压后(FACS 条目为例),目录结构与文件职责如下:
tabula-muris/
├── FACS/ # Smart-seq2 全长平台(20 个器官全覆盖)
│ ├── Aorta-UMIs.csv # 每组织一个计数矩阵:首列基因名,其余列=细胞
│ ├── Bladder-UMIs.csv
│ ├── ...(每组织一个 *-UMIs.csv) # 共 20 个组织文件(含脑 4 区拆分)
│ ├── metadata_FACS.csv # 细胞级元数据(mouse.id/tissue/subtissue/sex/channel…)
│ └── annotations_FACS.csv # Cell Ontology 细胞类型标注(cell_ontology_class/id + free_annotation)
├── droplet/ # 10x 3'-end 计数平台(12 个器官)
│ ├── 10X_P4_5/ # 每批次一个 10x 标准输出目录
│ │ ├── matrix.mtx # 稀疏计数矩阵(Market Matrix 格式)
│ │ ├── genes.tsv # 基因列表
│ │ └── barcodes.tsv # 细胞条码列表(跨批次不唯一,见坑点 2)
│ ├── 10X_P7_12/ # …共十余个批次目录
│ ├── metadata_droplet.csv
│ └── annotations_droplet.csv
└── Robj/(figshare 第 3 项) # 每组织 Seurat 对象(旧版格式,需 UpdateSeuratObject)
配套分发:原始 fastq/BAM 在 GEO GSE109774;分析代码与 33 个 per-tissue notebook 在 GitHub czbiohub/tabula-muris [PMC6642641]。
figshare 项目页共含 4 个数据条目,职责划分如下(下载前先确认条目,避免重复抓取):
| 条目 | DOI | 内容 | 何时需要 |
|---|---|---|---|
| FACS Smart-seq2 计数 | 10.6084/m9.figshare.5829687 | 矩阵+元数据+标注+tSNE/cluster | 参考注释、定量分析 |
| droplet 微流控计数 | 10.6084/m9.figshare.5968960 | 10x 三件套+元数据+标注 | 组成统计、跨平台整合 |
| R objects 汇总 | 10.6084/m9.figshare.5821263 | 每组织 Seurat 对象 | R 用户复用官方中间产物 |
| FACS Index 数据 | 10.6084/m9.figshare.5975392 | 分选 index | 溯源分选批次 |
§4.1 DAIMS 字段字典(核心字段 12 项)
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| cell_id | 文本 | 细胞唯一标识(文件内) | 组织名+编号组合字符串 | 主键/样本索引 | 跨批次不唯一(droplet,见坑点 2) | 无 | 每文件唯一 |
| tissue | 分类型 | 器官/组织(已标准化命名) | Limb_Muscle |
多任务/分组特征 | 旧版本曾用 Colon/Muscle 等旧名(坑点 3) | 无 | 20 个枚举值 |
| subtissue | 分类型 | 亚解剖位置 | 棕色脂肪/肠系膜脂肪 | 细粒度定位 | 早期版本空值/?,后统一为 Unknown |
Unknown |
依组织而定 |
| mouse.id | 文本 | 供体小鼠编号 | 3_8(FACS 风格) |
供体级划分防泄漏(§5.3) | FACS 与 droplet 命名格式不一致(坑点 5) | 混合样本无法归属单鼠 | 7 只(含混合样本标记) |
| sex | 分类型 | 小鼠性别 | F |
性别分层评估 | 无 | 无 | F / M |
| method | 分类型 | 测序平台(由文件归属推断) | FACS=Smart-seq2;droplet=10x | 平台效应建模 | 无 | 无 | 2 个枚举值 |
| channel | 文本 | 测序批次(droplet)/ plate.barcode(FACS) | 10X_P4_5 |
批次协变量 | 与供体小鼠完全混淆(坑点 6) | 无 | 每平台数十个 |
| cell_ontology_class | 标签 | 细胞类型主标签(受控词表) | endothelial cell |
分类目标 | cluster 级标注,罕见类误标(坑点 8) | unknown(潜在新类型) |
数十种 CL 术语 |
| cell_ontology_id | 文本 | Cell Ontology 术语 ID | CL 命名空间 ID | 跨数据集对齐本体 | 本体随版本演进 | 同上 | OBO CL 术语集 |
| free_annotation | 文本 | 专家自由补充(亚型/定位) | periportal hepatocyte |
细粒度标签/弱监督 | 非受控、覆盖不全 | 空串 | 自由文本 |
| nUMI / n_genes | 整数 | 每细胞 UMI(droplet)或检测基因数 | QC 过滤阈值参考 | QC/质量协变量 | 平台间不可比(坑点 7) | 无 | FACS ≥500 基因 |
| n_reads | 整数 | 每细胞 reads 数(FACS/Smart-seq2) | QC 阈值 ≥50,000 的统计量 | 全长平台深度质控 | 仅 FACS 平台存在 | 无 | FACS QC ≥50,000 |
| cluster / t-SNE 坐标 | 整数/浮点 | 官方聚类与可视化结果 | 0,1,2…;二维坐标 | 复现论文图 | 依赖参数选择 | 无 | 每组织若干簇 |
§4.2 标签分布
标签分布呈典型长尾:绝大多数细胞集中于各器官的主要类型(上皮、内皮、免疫、基质),罕见类型(<30 个细胞)合计不足全数据集 4% [PMC6642641]。论文级别的已核实子集计数:跨器官合并的全部 FACS T 细胞 2,847 个(论文图 4 的专项分析);胸腺某大簇 2,379 个细胞 [PMC6642641]。获取完整分布请直接统计(禁止凭记忆引用第三方转述):
import pandas as pd
meta = pd.read_csv("tabula-muris/FACS/annotations_FACS.csv")
dist = meta["cell_ontology_class"].value_counts()
print(dist.describe()) # 类型数、中位规模
print(dist[dist < 30]) # 罕见类型清单(对应坑点 8)
平台间的分布口径差异同样要留意:FACS 与 droplet 的注释文件各自独立维护(FACS 44,949 条、droplet 54,837 条)[FUMA],同一细胞类型在两平台的计数天然不同(门控与捕获效率不同),做组成比较时必须分平台统计后再对齐,禁止把两平台计数直接相加当作"该类型总量"。
§4.3 关键统计
- 总细胞数 100,605;基因数 23,433(基因名映射到人类同源基因 15,131 个,跨物种分析参考)[FUMA]
- FACS QC 通过率 44,879/53,760 ≈ 83.5%(阈值:≥500 基因且 ≥50,000 reads)[figshare 5829687]
- droplet 占总量 55,656/100,605 ≈ 55.3%,但只覆盖 12/20 器官 [phys.org] [PMC6642641]
- 供体数 7(3 雌 4 雄),全部 3 月龄 [PMC6642641]
- 引用 2,691+(Scopus,截至 2026-09)[OUCI]
- droplet 原始条目下载 15,965 次(figshare 前身条目,截至 2026-09)[figshare 5715040]
- FACS 数据压缩包 290.08 MB;单张 10x BAM 12-22 GB(原始层体量比处理层大约两个数量级)[figshare] [seqout]
引用以上任何数字时请注明口径与来源:同一"细胞数"在不同文档中有 53,760 / 44,879 / 44,949 / 54,837 / 55,656 / 100,605 六种出现形式,是本数据集最高频的引用事故来源(见坑点 1)。
§4.4 数据层级
实验动物(7 只 C57BL/6JN,3 雌 4 雄)
└── 器官/组织(20 个,同一动物内多器官)
└── 单细胞悬液批次(FACS: plate.barcode;droplet: 10X_P4/P7 channel)
└── 文库与测序 lane
└── 单细胞(100,605 个,每细胞一条记录:计数向量 + 元数据 + 标签)
层级要点:动物层是统计独立性的天然边界(同一动物的多器官共享遗传与环境背景);plate/channel 层与动物层完全混淆(坑点 6),建模时不可同时当作两个自由变量。
从建模视角看各层级的用途:
- 动物层:GroupKFold/LOGO 的分组键,一切泛化声明的立足点(§5.3);
- 组织层:跨组织迁移的"域",官方对共享类型(T 细胞、内皮)的分析即在此层展开 [PMC6642641];
- 批次层:仅作协变量与技术质量监控,绝不作为切分键;
- 细胞层:模型输入的最小单位,但绝不作为独立样本做统计检验(§2.4 伪重复提示)。
§4.5 缺失值与信息性缺失编码
| 现象 | 编码方式 | 是否信息性缺失 | 处理建议 |
|---|---|---|---|
| 未能归类的细胞 | cell_ontology_class = "unknown" |
是——官方声明保留为"潜在新类型",非随机缺失 [FUMA] | 注释迁移任务中作为开放集样本,勿当噪声删除 |
| subtissue 未知 | subtissue = "Unknown" |
部分信息性(早期版本 ?/NA 统一而来)[figshare history] |
亚组织分析前单独分层 |
| 混合样本归属 | droplet 元数据 3-m-5/6 类 ID |
是——无法回溯单只供体 | 防泄漏划分时并入独立验证组(坑点 5) |
| 自由注释缺省 | free_annotation 为空 |
否(覆盖不全) | 仅作辅助字段,勿做主标签 |
§5 数据划分与使用建议
§5.1 官方划分
无。Tabula Muris 是图鉴型参考数据集,官方只提供全量数据与注释,没有 train/val/test 划分。任何论文中出现的划分都是作者自定义,跨论文不可比。
§5.2 社区惯例划分
- 供体留出:按
mouse.id留出 1-2 只作测试(最严格,模拟"新个体"泛化)。 - 组织留出:留出整个组织测试跨组织迁移能力。
- 跨平台迁移:FACS 训练 → droplet 测试(或反向),检验平台鲁棒性;Canek 等整合方法即以胸腺双平台数据演示 [rdrr.io Canek]。
- FUMA 式子集化:按组织×平台切成独立子数据集分别建模 [FUMA]。
最小可复现的供体级划分示意(与 §6.4 的 DataLoader 配合):
from sklearn.model_selection import LeaveOneGroupOut
# 7 只供体做留一供体交叉验证(LOGO):最贴合"新个体泛化"的业务问题
logo = LeaveOneGroupOut()
groups = anno.set_index("cell_id").loc[list(common_cells), "mouse.id"]
for fold, (tr, te) in enumerate(logo.split(X, y, groups)):
held_out = groups.iloc[te].unique()
print(f"fold {fold}: 训练细胞 {len(tr)},留出供体 {held_out}")
# 在此训练/评估,记录 per-fold 宏 F1
注意:7 折 LOGO 的每折训练集只有 6 只供体的细胞,方差较大;快速迭代时可改用 GroupShuffleSplit(§6.4),终版实验再用 LOGO。
§5.3 数据泄漏风险(重点)
| 泄漏类型 | 机制 | 严重度 | 防御 |
|---|---|---|---|
| 供体泄漏 | 同一小鼠的细胞高度相关,随机切分让测试集"记住"供体 | 高 | 按 mouse.id GroupKFold/LOGO |
| 批次泄漏 | plate.barcode ≡ 供体(坑点 6),按批次切分形同虚设 | 高 | 切分只认供体组,批次仅作协变量 |
| 归一化泄漏 | 全量拟合归一化/HVG/PCA 后再切分 | 中 | 一切统计量在训练折内估计 |
| 稀有类近重复 | 过采样+随机切分让近重复细胞跨集 | 中 | 先切分后重采样;稀有类入独立组 |
| 预处理泄漏 | 用测试折 marker 信号挑特征 | 中 | 特征选择只看训练折 |
| 时间泄漏 | 用后续版本(Senis)信息"预言"原版结论 | 低 | 版本时间线内自洽实验 |
一句话原则:凡是"跨细胞共享"的信息(供体、板、批次、归一化统计量),都不允许在训练与测试之间流动。本数据集 7 只供体的极小 n 使这一点尤其致命——随机切分的指标可以好看得毫无意义。
§5.4 交叉验证建议
GroupKFold(group=mouse.id)+ 分层(组织×细胞类型);超参调优用嵌套 CV;报告宏平均 F1 与按组织分解指标(见 §6.9 代码)。跨平台迁移实验中,训练与测试折内不得混合平台后再拟合预处理。
§5.5 外部验证建议
训练好的注释器/整合模型应在外部数据上验证:首选拥有同源注释体系的 Tabula Muris Senis(含本数据集 3 月龄数据,注意时间点重叠)[senis 官网];次选平台完全不同的 Mouse Cell Atlas(Microwell-Seq,GSE108097)[FUMA];人类数据只能做跨物种同源基因层面验证,不能直接迁移。
§6 AI 就绪指南
§6.0 起步方式选择
本数据集无官方云端托管(原始数据在 GEO/SRA,处理级在 figshare)。三条起步路径:
- 零下载:官方浏览器 tabula-muris.ds.czbiohub.org 网页查询各组织基因表达分布,适合快速核对 marker [PMC6642641];
- 轻量分析:按 §6.2 下载处理级矩阵(数百 MB)本地跑通 §6.1/§6.3 全流程,95% 的任务止步于此;
- 原始重分析:从 GSE109774 拉 fastq 自行比对话细胞(数十 GB 起步),仅当需要自定义比对参数或调用体细胞变异时才值得。
§6.1 快速上手
# ── 目录结构预期 ─────────────────────────────────────────────
# TM_DATA_ROOT/
# └── FACS/
# ├── Aorta-UMIs.csv … Trachea-UMIs.csv # 20 个组织矩阵(行=基因,列=细胞)
# ├── metadata_FACS.csv # 细胞元数据
# └── annotations_FACS.csv # Cell Ontology 标注
# ── data_root 拼接关系 ───────────────────────────────────────
# 矩阵路径 = TM_DATA_ROOT / "FACS" / f"{tissue}-UMIs.csv"(tissue 用标准化名,如 Limb_Muscle)
# ── 最小可用子集 ─────────────────────────────────────────────
# 单组织矩阵 + 元数据 + 标注(数十 MB)即可跑通全流程
import os
import pandas as pd
DATA_ROOT = os.environ.get("TM_DATA_ROOT", "tabula-muris")
tissue = "Bladder"
# 1) 单组织计数矩阵:首列基因名,其余列为细胞
counts = pd.read_csv(os.path.join(DATA_ROOT, "FACS", f"{tissue}-UMIs.csv"), index_col=0)
# 2) 标注与元数据:正式列名以文件表头为准(cell_id / cell_ontology_class / mouse.id …)
anno = pd.read_csv(os.path.join(DATA_ROOT, "FACS", "annotations_FACS.csv"))
# 3) 细胞交集对齐(QC 口径差异见坑点 1)
common_cells = counts.columns.intersection(set(anno["cell_id"].astype(str)))
X = counts[list(common_cells)].T # 细胞 × 基因
y = anno.set_index("cell_id").loc[list(common_cells), "cell_ontology_class"]
print(X.shape) # 期望:数千细胞 × 2 万余基因
print(y.value_counts().head()) # 该组织主要细胞类型
droplet 侧的对称最小读取(注意条码前缀,坑点 2):
import scanpy as sc, glob, os
batch_dir = sorted(glob.glob(os.path.join(DATA_ROOT, "droplet", "10X_*")))[0]
batch = os.path.basename(batch_dir) # 如 10X_P4_5
a = sc.read_10x_mtx(batch_dir, var_names="gene_symbols", make_unique=True)
a.obs_names = [f"{batch}_{b}" for b in a.obs_names] # 跨批次去重的最小实现
anno_d = pd.read_csv(os.path.join(DATA_ROOT, "droplet", "annotations_droplet.csv"))
# 同样按 cell_id 交集对齐后再取标签
§6.2 数据获取
| 来源 | 内容 | 大小 | 前置要求 |
|---|---|---|---|
| figshare 5829687(v8) | FACS 矩阵+元数据+标注 | 压缩包 290.08 MB | 无(CC BY 4.0) |
| figshare 5715025(v2) | droplet 10x 三件套+元数据+标注 | 同量级 | 无 |
| figshare 5821263 | 每组织 Seurat .Robj | 数百 MB | 无(旧版格式需转换,见 §6.3) |
| GEO GSE109774 | fastq/BAM 原始数据 | 数十 GB | 无 |
| GitHub czbiohub/tabula-muris | 33 个分析 notebook | 数 MB | 无 |
# 用 figshare 公开 API 查询条目内文件与直链(5829687 = FACS v8 条目)
curl -s "https://api.figshare.com/v2/articles/5829687" \
| python3 -c "import json,sys;[print(f['name'], f['size'], f['download_url']) for f in json.load(sys.stdin)['files']]"
# 用返回的 download_url 直接下载解压
curl -L -o FACS.zip "<download_url>" && unzip -q FACS.zip
§6.3 预处理全流程
# 步骤 1:FACS CSV → AnnData(稀疏存储,23,433 基因 × 全细胞直接稠密化会爆内存)
import glob, os
import numpy as np
import scanpy as sc
import anndata as ad
import scipy.sparse as sp
X_sp = sp.csr_matrix(X.values.astype(np.float32))
adata = ad.AnnData(X_sp, obs=y.to_frame("cell_ontology_class"))
adata.var_names = counts.index.tolist()
# 步骤 2:QC——官方 FACS 阈值 ≥500 基因且 ≥50,000 reads [figshare 5829687]
sc.pp.filter_cells(adata, min_genes=500)
# QC 分布自检:确认过滤后仍有 80% 量级细胞存活(论文口径 83.5%)
qc = pd.DataFrame({
"n_genes": (adata.X > 0).sum(axis=1).A1,
})
print(qc.describe(percentiles=[0.05, 0.25, 0.5, 0.75, 0.95]))
# 若中位基因数远低于预期(全长平台通常数千),先检查是否误读了 reads 矩阵或混入 droplet 文件
# 步骤 3:剔除 ERCC spike-in(FACS/Smart-seq2 特有,droplet 没有——坑点 7)
adata = adata[:, ~adata.var_names.str.upper().str.startswith("ERCC")].copy()
# 步骤 4:归一化(CP10K + log1p)并保存 counts 层
adata.layers["counts"] = adata.X.copy()
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata, n_top_genes=3000)
# 步骤 5:降维与邻域图(复现论文式 t-SNE/UMAP 视角)
sc.tl.pca(adata, n_comps=50, use_highly_variable=True)
sc.pp.neighbors(adata, n_pcs=30)
sc.tl.umap(adata)
# 步骤 6(可选,回归式校正):把技术协变量从表达里"回归掉"
# 注意坑点 6:plate.barcode 与 mouse.id 完全混淆,二者只能回归其一
adata.obs["n_genes"] = (adata.X > 0).sum(axis=1).A1 # 每细胞检出基因数
sc.pp.regress_out(adata, ["n_genes"]) # 深度协变量
sc.pp.scale(adata, max_value=10)
# 若需显式建模供体/平台协变量,改用 scVI(categorical_covariate_keys=["mouse.id","method"])
# droplet 平台:逐批次读取 10x 目录,条码必须加批次前缀(坑点 2),零值占比可达 90%
adatas = []
for d in sorted(glob.glob(os.path.join(DATA_ROOT, "droplet", "10X_*"))):
batch = os.path.basename(d)
a = sc.read_10x_mtx(d, var_names="gene_symbols", make_unique=True)
a.obs_names = [f"{batch}_{b}" for b in a.obs_names] # 关键:跨批次条码去重
a.obs["channel"] = batch
adatas.append(a)
adata_d = ad.concat(adatas) # 再统一 QC:sc.pp.filter_cells(min_genes=200)
双平台整合提醒:FACS 与 droplet 的每细胞基因检出差异巨大(全长 vs 3’-end),不要在未校正前把两平台矩阵直接拼在一起训练;先分平台处理,再用 scVI/bbknn/Canek 类方法整合 [rdrr.io Canek]。
§6.4 PyTorch DataLoader(完整可运行)
import torch
from torch.utils.data import Dataset, DataLoader
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import GroupShuffleSplit
class TabulaMurisDataset(Dataset):
"""细胞×基因 表达矩阵 → 细胞类型分类数据集。
X: 细胞×基因(log 归一化后的 DataFrame 或稀疏矩阵);labels: 细胞类型字符串;
transform: 可选张量变换(见 §6.6)。"""
def __init__(self, X, labels, transform=None):
self.X = sp.csr_matrix(X.values if hasattr(X, "values") else X)
self.le = LabelEncoder().fit(labels)
self.y = self.le.transform(labels)
self.transform = transform
def __len__(self):
return self.X.shape[0]
def __getitem__(self, i):
x = torch.from_numpy(self.X.getrow(i).toarray().ravel()).float()
if self.transform is not None:
x = self.transform(x)
return x, torch.tensor(self.y[i], dtype=torch.long)
# 供体分组划分:GroupShuffleSplit 按 mouse.id 切分,杜绝供体泄漏(§5.3)
groups = anno.set_index("cell_id").loc[list(common_cells), "mouse.id"]
gss = GroupShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
tr_idx, te_idx = next(gss.split(X, y, groups))
train_ds = TabulaMurisDataset(X.iloc[tr_idx], y.iloc[tr_idx])
test_ds = TabulaMurisDataset(X.iloc[te_idx], y.iloc[te_idx])
train_dl = DataLoader(train_ds, batch_size=256, shuffle=True, num_workers=2)
test_dl = DataLoader(test_ds, batch_size=512, num_workers=2)
# 训练时标签反查:train_ds.le.inverse_transform([pred_id])
# ── 配套最小模型与训练循环(完整可运行)────────────────────
import torch.nn as nn
class CellTypeMLP(nn.Module):
"""基因维输入 → 细胞类型 logits。.hidden 可按显存调大。"""
def __init__(self, n_genes: int, n_classes: int, hidden: int = 512):
super().__init__()
self.net = nn.Sequential(
nn.Linear(n_genes, hidden), nn.ReLU(), nn.Dropout(0.2),
nn.Linear(hidden, hidden // 2), nn.ReLU(),
nn.Linear(hidden // 2, n_classes),
)
def forward(self, x):
return self.net(x)
model = CellTypeMLP(n_genes=train_ds.X.shape[1], n_classes=len(train_ds.le.classes_))
opt = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=1e-4)
crit = nn.CrossEntropyLoss()
def run_epoch(dl, train: bool):
model.train(train)
total, correct, loss_sum = 0, 0, 0.0
with torch.set_grad_enabled(train):
for xb, yb in dl:
logits = model(xb)
loss = crit(logits, yb)
if train:
opt.zero_grad(); loss.backward(); opt.step()
loss_sum += loss.item() * len(yb)
total += len(yb); correct += (logits.argmax(1) == yb).sum().item()
return loss_sum / total, correct / total
for epoch in range(10):
tr_loss, tr_acc = run_epoch(train_dl, train=True)
te_loss, te_acc = run_epoch(test_dl, train=False)
print(f"epoch {epoch}: train acc={tr_acc:.3f} | test acc={te_acc:.3f}")
# 评估请用 §6.9 的宏 F1——本数据集类别长尾,accuracy 会严重失真
§6.5 坑点(8 个真实失败模式)
速查表(详情见各坑点块):
| 编号 | 一句话标题 | 分类 | 最高危场景 |
|---|---|---|---|
| 坑点 1 | 细胞数四个口径互相打架 | 工程陷阱 | 引用数字、论文复现 |
| 坑点 2 | droplet 条码跨批次重复 | 预处理陷阱 | 多批次合并 |
| 坑点 3 | 组织名历经多轮改名 | 工程陷阱 | 旧教程代码迁移 |
| 坑点 4 | 早期版本组织数据错位 | 标签理解 | 旧缓存/旧镜像复用 |
| 坑点 5 | 小鼠 ID 双格式与混合样本 | 数据泄漏 | 供体级划分 |
| 坑点 6 | 批次与供体完全混淆 | 偏倚陷阱 | 去批次/回归建模 |
| 坑点 7 | ERCC spike-in 只在 FACS 存在 | 预处理陷阱 | 跨平台归一化 |
| 坑点 8 | 罕见细胞类型 cluster 级误标 | 标签理解 | 细粒度分类评估 |
⚠️ 坑点 1:细胞数四个口径互相打架(分类:工程陷阱)
问题:53,760(FACS 测序)、44,879(过 QC)、44,949(annotation 文件)、100,605(论文总量)并存,混用口径导致复现数字对不上,引用错误数字会被审稿人抓住。
症状:自己算的细胞数比论文少/多几十到几千;不同教程的代码读出行数不一致。
解决:
- 简单方法:引用时注明口径——论文总量 100,605 = FACS 过 QC 44,949 + droplet 55,656 [phys.org];FACS 测序 53,760 中 44,879 过 QC(阈值 ≥500 基因、≥50,000 reads)[figshare 5829687]。
- 进阶方法:用原始矩阵自己重跑同一 QC 阈值,与 annotation 文件求差集,理解差异来自哪 70 个边界细胞。
- SOTA 方法:锁定 figshare v8 + 记录文件 checksum,把"数据版本 + QC 阈值"写进实验配置,杜绝口径漂移。
参考:figshare 5829687 条目描述;phys.org 2018 报道;FUMA 教程数据说明。
⚠️ 坑点 2:droplet 条码跨批次重复(分类:预处理陷阱)
问题:10x 每个批次复用同一套条码池,跨批次合并时 cell barcode 大量重名,直接 concat 会产生索引冲突或静默丢细胞。
症状:ad.concat报 duplicate obs_names;或合并后细胞总数比各批次之和小。
解决:
- 简单方法:读取每个批次目录时把批次名拼进条码(
10X_P4_5_AAACCTG…)。- 进阶方法:
sc.read_10x_mtx(..., make_unique=True)+ 手动前缀双保险;合并前assert adata_d.obs_names.is_unique。- SOTA 方法:以"批次_条码"组合作为 Croissant/数据库层主键,写入数据卡片,供下游所有成员复用。
参考:jingbio 单细胞分析教程(Tabula Muris 10x 数据读取节)。
⚠️ 坑点 3:组织名历经多轮改名(分类:工程陷阱)
问题:v2-v6 期间组织与亚组织命名标准化:Colon→Large_Intestine、Muscle→Limb_Muscle、Mammary→Mammary_Gland、Brain_Microglia→Brain_Myeloid、Brain_Neurons→Brain_Non-microglia [figshare 5829687 history];GEO 原始文件仍用旧名(如 GSE109774_Brain_Neurons.tar.gz)。
症状:按旧名拼接路径 FileNotFoundError;按 tissue 分组的组数与教程不一致。
解决:
- 简单方法:只用 v8 最终版命名书写代码。
- 进阶方法:维护新旧名映射字典,读取任意来源数据先做规范化。
- SOTA 方法:下载后以 annotations 文件的实际枚举值为准生成组织清单,杜绝硬编码。
参考:figshare 5829687 修订历史;seqout GSE109774 文件列表。
⚠️ 坑点 4:早期版本组织数据错位(分类:标签理解)
问题:2018-02-20 前的 figshare 版本中,Aorta 与 Heart 数据错误混入了 Diaphragm 与 Muscle 的细胞 [figshare 5829687 history];若使用旧缓存或旧教程镜像,标签本身就是错的。
症状:“主动脉"里出现成簇骨骼肌细胞且 marker(肌球蛋白等)表达"正常得可疑”。
解决:
- 简单方法:只从 figshare 条目页下载最新版本,删除本地旧缓存。
- 进阶方法:对每组织抽检 marker(如 Limb_Muscle 的 Tnnt1/Tnnt2、Aorta 的 Pecam1),核对组织-类型一致性。
- SOTA 方法:在 DVC/数据版本清单中登记"修复后版本(2018-02-20 v3)",旧版本标记 deprecated 不可引用。
参考:figshare 5829687 history(“Update 2018-02-20: Aorta and Heart erroneously contained Diaphragm and Muscle data”)。
⚠️ 坑点 5:小鼠 ID 双格式与混合样本(分类:数据泄漏)
问题:同一只小鼠在 FACS 与 droplet 元数据里 ID 格式不同(连字符 vs 下划线、性别字段位置不同),且存在混合样本 ID(如 3-m-5/6)无法归属单鼠 [jingbio]。
症状:按 mouse.id 做 GroupKFold 时组数远多于 7;跨平台合并后同供体被当成两个组,供体泄漏指标虚高。
解决:
- 简单方法:写一个 ID 规范化函数(提取数字编号为主键),FACS/droplet 两套映射统一。
- 进阶方法:混合样本(3-m-5/6)一律划入独立验证组,不参与任何训练折。
- SOTA 方法:划分前加断言
assert groups.nunique() <= 7 + n_mixed,并在数据卡片记录混合样本清单。
参考:jingbio 教程("老鼠 ID 是不同的格式…"节)。
⚠️ 坑点 6:批次与供体完全混淆(分类:偏倚陷阱)
问题:FACS 的 PCR 板(plate.barcode)与供体小鼠一一对应——每只小鼠一块板,两个"协变量"实为同一自由度 [jingbio];droplet 的 channel 同理。
症状:去批次算法(如按 plate 校正)把真实的供体间生物学差异也"校正"掉了;回归中 plate 与 mouse 系数无法解释。
解决:
- 简单方法:建模时只保留 mouse.id 一个分组变量。
- 进阶方法:评估去批次效果时以"细胞类型混合度 vs 供体分离度"双指标衡量,防止过度校正。
- SOTA 方法:使用保留了供体标签的整合方法(scVI 的 categorical covariates 设 mouse),在新数据上按供体分层验证。
参考:jingbio 教程(技术变量混淆检查节);PMC6642641 批次效应讨论。
⚠️ 坑点 7:ERCC spike-in 只在 FACS 平台存在(分类:预处理陷阱)
问题:Smart-seq2 数据含 ERCC 外参、10x droplet 没有 [jingbio];两平台共用一套归一化代码时,ERCC 行会混入 HVG 选择,尺寸因子计算被外参污染。
症状:HVG 列表前几十名全是 ERCC-xx;FACS 与 droplet 的表达分布无法对齐。
解决:
- 简单方法:归一化前按
ERCC前缀过滤基因行。- 进阶方法:分平台各跑完整预处理流水线,仅在最终表征层做整合。
- SOTA 方法:跨平台用 scVI 类深度生成模型(显式建模平台协变量),或 Canek/bbknn 做图级批次校正后再对齐 [rdrr.io Canek]。
参考:jingbio 教程(spike-in 处理);biohub.org 官方方法整合说明。
⚠️ 坑点 8:罕见细胞类型的 cluster 级误标(分类:标签理解)
问题:标注以 cluster 为单位进行,<30 个细胞的稀有群体会随大簇被冠以错误类型名(如胸腺大簇内 10 个 Pecam1+ 内皮细胞被标为 leukocytes),全数据集约 <4% 受影响 [PMC6642641]。
症状:稀有类 F1 接近 0;混淆矩阵呈系统性单向误挂(小类→大类)。
解决:
- 简单方法:设最小类阈值(如 ≥30 细胞才参与评估),小类合并进上级 ontology 概念。
- 进阶方法:把
unknown/小类当开放集样本,用带拒识的分类器输出"不认识"。- SOTA 方法:报告 per-class 指标 + 抽样专家复核;对 <30 细胞类用 marker 逐细胞覆核而非信任 cluster 标签。
参考:PMC6642641(“a sufficiently rare cell type … will be mis-annotated”);biohub.org 注释说明。
§6.6 数据增强
| 操作 | 评价 | 说明 |
|---|---|---|
| 随机基因 masking(模拟 dropout) | ✅ 安全 | 训练时随机置零少量表达值,提升对稀疏性鲁棒性 |
| 同类型细胞对 mixup | ✅ 安全(限同类) | 两个同类细胞的表达线性插值,标签按比例 |
| 供体级重采样 | ✅ 安全 | 平衡供体而非细胞,保持组结构 |
| 过采样罕见类后随机切分 | ❌ 危险 | 近重复细胞跨集泄漏,指标虚高(§5.3) |
| 加性高斯噪声直接加在 counts 上 | ❌ 危险 | 破坏计数-稀疏结构,负值无生物学意义 |
| 跨平台混拼后增强 | ❌ 危险 | 平台效应未校正时增强会放大伪差异 |
§6.7 模型推荐
| 模型/工具 | 任务 | 输入 | 备注 |
|---|---|---|---|
| Scanpy + 逻辑回归 | 细胞类型分类基线 | log 归一化矩阵 | 快速、可解释,首选基线 |
| SingleR | 参考注释迁移 | 全长参考(FACS 最佳) | 以相关性打分匹配参考类型 [Aran 2019] |
| scVI / scANVI | 整合+半监督注释 | counts + 批次协变量 | 显式建模 mouse/平台协变量 [Lopez 2018] |
| bbknn / Canek | 图级批次校正 | 邻域图 | Canek 官方以本数据集胸腺双平台演示 [rdrr.io] |
| Seurat(R) | 复现官方管线 | CSV/Robj | 33 个官方 notebook 即此路线 [biohub.org] |
| CellTypeMLP(§6.4) | 端到端分类实验 | 张量 | 教学/原型用;生产建议换 scANVI 级半监督 |
选型原则:先跑通"Scanpy 基线 → 指标基线"再引入深度模型;任何模型都必须用供体级划分评估(§5.4),否则数字不可信。
§6.8 硬件需求
| 场景 | RAM | CPU | GPU | 磁盘 |
|---|---|---|---|---|
| 单组织浏览与统计 | 8 GB | 2 核 | 不需要 | 5 GB |
| 全 FACS 数据 Scanpy 流程 | 32 GB | 8 核 | 建议(UMAP/PCA 加速) | 20 GB |
| 全量 FACS+droplet 整合/scVI | 64 GB | 16 核 | 8 GB 显存 | 100 GB |
| 原始 fastq 重分析 | 64 GB | 32 核 | 不需要 | 200 GB+ |
估算依据:FACS 矩阵 53,760×23,433 双精度稠密约 10 GB(务必用稀疏存储,§6.3);droplet 合并后细胞更多但稀疏度更高;scVI 训练峰值显存随批量与隐层调整;原始层体积按 SRA 单 BAM 12-22 GB 推算 [seqout]。
§6.9 评估指标代码
from sklearn.metrics import f1_score, classification_report, confusion_matrix
def evaluate(y_true, y_pred, tissue_names=None):
# 宏平均 F1:类别长尾(坑点 8),禁止只报 accuracy
f1_macro = f1_score(y_true, y_pred, average="macro")
f1_micro = f1_score(y_true, y_pred, average="micro")
print(f"F1-macro={f1_macro:.3f} F1-micro={f1_micro:.3f}")
# 按组织分解:跨组织模型必须证明没有"只记住大户"
if tissue_names is not None:
for t in set(tissue_names):
m = [i for i, x in enumerate(tissue_names) if x == t]
print(t, f1_score([y_true[i] for i in m], [y_pred[i] for i in m],
average="macro"))
print(classification_report(y_true, y_pred, zero_division=0))
# 混淆矩阵抽查:验证坑点 8 的"小类→大类"单向误挂是否发生
import numpy as np
labels = sorted(set(y_true) | set(y_pred))
cm = confusion_matrix(y_true, y_pred, labels=labels)
cm_off = cm.copy()
np.fill_diagonal(cm_off, 0) # 只看错分
for i in np.argsort(cm_off.sum(axis=1))[-5:]: # 错分最多的 5 个真实类
j = int(np.argmax(cm_off[i]))
print(f"{labels[i]} → 最常被误判为 {labels[j]}({cm_off[i, j]} 个细胞)")
# 发现系统性误挂后:回看 §7.7 的罕见类策略,而不是继续调参
§6.10 MLOps 笔记
- 版本锁定:figshare v8(2018-09-20)是数据终版;下载后记录 checksum,实验配置写入数据版本号。
- 本体版本:Cell Ontology 持续演进,
cell_ontology_id应连同 OBO 快照日期一起入库。 - 管道分层:counts(不可变)→ 归一化层(可重建)→ 表征层(模型相关),产物分目录存放。
- 数据漂移监控:新样本注释结果中
unknown与小类占比突升即触发人工复核(对应坑点 8)。 - 复现交付:以"数据版本 + notebook + 随机种子"三元组归档,官方 33 notebook 是天然模板 [biohub.org]。
- 协变量登记:mouse.id、plate.barcode/channel、sex、method 四个协变量必须进特征库而非散落在脚本里,供体级划分与公平性评估都依赖它们。
- 口径合同:团队内部约定"引用细胞数 = 论文口径 100,605 + 平台口径注释",写入 README 与数据卡片,从根上消灭坑点 1。
- 失败演练:把坑点 2(条码重复)与坑点 4(旧版本标签污染)做成 CI 断言测试,任何数据更新先跑断言再入库。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解方式 |
|---|---|---|---|
| 年龄单一 | 全部细胞来自 3 月龄小鼠,无老化维度(约相当于人类 20 岁)[PMC6642641] | 高(对衰老类任务) | 衰老研究改用 Tabula Muris Senis(1-30 月龄)[senis 官网] |
| 品系/环境单一 | 单一 C57BL/6JN 近交系、单地区标准化养殖,无遗传多样性 | 高(对外推任务) | 明确声明适用边界;跨品系结论需自采数据 |
| 性别不平衡 | 3 雌 4 雄,7 只样本 | 中 | 分层分析时合并性别或做性别协变量 |
| FACS 门控选择 | 分选参数决定哪些细胞入板,弱势群可能被系统性排除 | 中 | 与 droplet(无门控分选偏好)互为补充 [PMC6642641] |
| 平台覆盖不均 | droplet 仅 12/20 器官 [PMC6642641] | 中 | 跨平台结论限定在重叠器官 |
| 解离偏倚 | 解离对不同细胞类型存活影响不均(后续 Senis 论文明确提示解释组成数据时须注意)[biorxiv 661728] | 中 | 组成比较用"相对比例"而非绝对计数 |
| 罕见类标注伪影 | <30 细胞类型可能随大簇误标(<4% 数据集)[PMC6642641] | 中(对细粒度分类) | 见坑点 8 的三档处理 |
| 供体统计功效有限 | 7 只小鼠意味着"供体级"方差估计自由度极小,任何按供体分组的检验功效都很低 | 中 | 把供体当随机效应报告区间而非点估计;避免在小样本上做显著性断言 |
| 平台深度不可比 | FACS reads 与 droplet UMI 的每细胞深度差一个数量级以上,直接比较深度相关统计量无意义 | 中 | 分平台计算并报告各自的质量分布 |
§7.2 标注质量
优势:
- 十余个实验室的器官专家负责各自组织的注释,专业知识直接注入标签 [biohub.org];
- 主标签走 Cell Ontology 受控词表,跨数据集可对齐;
free_annotation保留亚型与定位细节(如围门静脉肝细胞); - 一致性有正面证据:跨器官同类细胞在联合 t-SNE 中共聚一簇,人工标注与无监督聚类高度吻合 [PMC6642641];
- 注释过程全公开(33 个 notebook),每个标签可回溯到聚类与 marker 证据。
局限:
- cluster 级标注的固有粒度:<30 细胞的稀有群体可能错挂大类(<4% 数据集)[PMC6642641];
free_annotation非受控、覆盖不全,不能当主标签用;- Cell Ontology 本身持续演进,历史快照需自行登记版本日期。
§7.3 泛化性
| 应用场景 | 失效风险 | 证据 |
|---|---|---|
| 老龄小鼠(18-30 月龄) | 高——本数据无老化样本 | 原版仅 3 月龄 [PMC6642641];请用 Senis [senis 官网] |
| 其他品系/供应商 | 中-高——遗传背景差异直接改变表达基线 | 单一品系设计 [PMC6642641] |
| 疾病模型小鼠 | 中——可作对照但疾病信号需独立验证 | 官方定位即"疾病模型比较框架" [PMC6642641] |
| 人类组织 | 高——跨物种仅同源基因层面可比 | 物种不同;人类对应见 Tabula Sapiens |
| 不同解离/建库协议 | 中——协议差异引入批次 | 多实验室协同控制后仍存在残余批次 [biohub.org] |
| 新版 10x 试剂批次 | 中——化学版本改变 UMI/条码结构 | 原始数据批次命名(10X_P4/P7)可溯源 [seqout];合并新数据前核对试剂版本 |
| 演进后的 Cell Ontology 版本 | 低-中——术语改名/废弃影响标签对齐 | cell_ontology_id 绑定 OBO 快照日期使用 |
§7.4 伦理
动物实验数据(小鼠安乐死与器官采集按研究机构规范执行,论文 Methods 载明);不含人类受试者信息,无隐私/去标识化负担。数据 CC BY 4.0 全开放,二次分发需署名。使用方仍需遵守本单位实验动物伦理规范引用与比较。
合规要点小结:① CC BY 4.0 允许商业用途,但署名不可省略;② 无 DUA/注册门槛,仍建议在内部数据台账登记来源与版本;③ 引用死亡动物实验数据时注意所在机构对动物研究表述的审查要求;④ 本页 DUO 标签(NRES)仅为参考,以官方许可文本为准。
§7.5 公平性
不适用传统"人群公平性"框架(无人类数据)。工程意义上的"公平"对应:性别(3F/4M 不平衡)与供体(7 只)两个维度的代表性有限,建模时避免把供体层面波动误学为类型特征。
§7.6 数据漂移
- 平台漂移:10x 试剂代际更新(新批次默认化学版本更高),新旧数据合并需显式声明版本。
- 本体漂移:CL 术语增删改名,
cell_ontology_id与 OBO 快照日期绑定。 - 生态漂移:社区重心已移向 Senis 与 CELLxGENE 生态;引用原版数字时注意口径(见坑点 1)。
§7.7 DAIMS 24 项数据质量检查
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | 基因×细胞矩阵 + 独立元数据/标注表,结构清晰 |
| 2 | 唯一标识 | ⚠️ | droplet 条码跨批次重复,须拼批次前缀(坑点 2) |
| 3 | 特殊字符 | ✅ | 基因符号/组织名均已标准化,无嵌入空白 |
| 4 | 重复行 | ✅ | v3 修复组织错位后无已知重复记录 [figshare history] |
| 5 | 缺失编码 | ⚠️ | unknown 标签与 Unknown subtissue 并存,需区分对待 |
| 6 | 标签标识 | ✅ | cell_ontology_class 主标签 + free_annotation 辅助 |
| 7 | 罕见类分组 | ⚠️ | <30 细胞类型存在 cluster 级误标风险(坑点 8) |
| 8 | 偏倚评估 | ✅ | 论文专节讨论批次效应与异质性评分 [PMC6642641] |
| 9 | 数据字典 | ✅ | figshare 条目描述 + 官方文档字段说明完整 |
| 10 | 信息性缺失解释 | ✅ | unknown 官方定义为"潜在新类型",非随机缺失 [FUMA] |
| 11 | 设备记录 | ⚠️ | 批次/通道可追溯,具体仪器型号需查论文 Methods |
| 12 | 共线性 | ⚠️ | plate.barcode 与 mouse.id 完全混淆(坑点 6) |
| 13 | 编码映射 | ⚠️ | 组织名 5 组历史改名,旧代码需映射表(坑点 3) |
| 14 | 时间戳处理 | ✅ | 无纵向时间戳;采集周期与版本日期记录完整 |
| 15 | 划分建议 | ⚠️ | 官方无划分;供体级方案需自建(§5) |
| 16 | 泄漏讨论 | ⚠️ | 供体/批次混淆未以 ML 泄漏语言讨论,需自行防御 |
| 17 | 标签分布 | ✅ | 论文 Extended Data 逐组织类型计数图 + 可自行统计 |
| 18 | 测量偏倚 | ⚠️ | FACS 门控与解离偏倚已识别、需在设计层缓解 |
| 19 | 外部验证建议 | ⚠️ | 数据集本身无验证协议;社区已有 Senis/MCA 迁移先例 |
| 20 | 版本记录 | ✅ | figshare v1-v8 修订史逐条可查 [figshare] |
| 21 | 预处理脚本 | ✅ | 33 个官方 notebook 全公开可复现 [biohub.org] |
| 22 | 合规要求 | ✅ | CC BY 4.0,零访问门槛,动物数据无隐私负担 |
| 23 | 多模态对齐 | ⚠️ | FACS 与 droplet 非配对样本,整合需专门方法 |
| 24 | 去标识化 | ✅ | 动物数据,无人类身份信息 |
DAIMS 评分:18.5 / 24
评分解读:13 项 ✅(各计 1 分)、11 项 ⚠️(各计 0.5 分)、0 项 ❌,合计 18.5/24。失分集中在两类:一是工程层历史包袱(条码重复、组织改名、版本口径、批次-供体混淆),二是ML 协议缺位(无官方划分、无泄漏讨论、无验证协议)——它们都不是数据科学质量问题,而是"图鉴型数据集"的先天属性。
对你意味着什么:这是一个"底子极好但要先拆历史包袱"的数据集。直接可做:注释参考、教育、探索性分析(✅ 项覆盖)。动手前必须先做四件事:① 锁定 v8 版本并核对细胞数口径;② droplet 条码加批次前缀;③ 建立 mouse.id 规范化 + 供体级划分;④ 决定 FACS/droplet 分平台还是整合处理。完成后,它即可胜任方法学基准与参考注释的重量级角色。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| Microwell-Seq(Mouse Cell Atlas) | Han et al.,浙江大学,Cell 2018 | 跨平台每细胞基因检出对比 | 每细胞检测基因数 | 全长平台显著高于 droplet 与 Microwell | 平台差异是方差主要来源之一,跨平台结论需校正 [PMC6642641 ED Fig.5] |
| Tabula Muris Senis(Nature 2020) | Tabula Muris Consortium | 3 月龄数据复用 + 半自动注释扩展 | 可自动注释比例 | 原版标签作为底座,自动注释可达约 70% | 原版标签可迁移、可扩展 [senis 官网] [oebiotech] |
| 衰老体系二次分析 | Zhang et al.,eLife 2021 | 组织-细胞类型级衰老基因识别 | 76 种组织-细胞类型中的老化基因 | TMS FACS 110,096 细胞、23 组织、120 类型 | 专家标签在大规模二次分析中保持有效 [eLife 62293] |
§8 基准性能与生态
§8.1 代表性基准与工具结果
Tabula Muris 是图鉴型数据集,没有官方排行榜;下表收录以它为基准/参考的代表性方法学结果。注意:各行任务、划分、预处理与指标不同,数值不可直接横向比较。
| 排名 | 模型/方法 | 性能(任务口径) | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| — | Seurat 官方管线(基线) | 20 器官细胞图谱 + 跨器官 T 细胞/转录因子分析 | 2018 | 图聚类 + marker 标注 | The Tabula Muris Consortium et al., 2018, Nature 562:367-372. DOI 10.1038/s41586-018-0590-4 | github.com/czbiohub/tabula-muris |
| — | Scanpy | 教程级复现与可扩展全流程 | 2018 | Python 稀疏矩阵分析 | Wolf, F. A., Angerer, P., & Theis, F. J., 2018, Genome Biology 19:15. DOI 10.1186/s13059-017-1382-0 | github.com/scverse/scanpy |
| — | scVI | 概率整合(平台/供体协变量显式建模) | 2018 | 深度生成模型(VAE) | Lopez, R., Regier, J., Cole, M. B., Jordan, M. I., & Yosef, N., 2018, Nature Methods 15:1053-1058. DOI 10.1038/s41592-018-0229-2 | github.com/scverse/scvi-tools |
| — | SingleR | 以 FACS 全长参考做注释迁移 | 2019 | 与参考的相关性打分 | Aran, D., Looney, A. P., Liu, L., et al., 2019, Nature Immunology 20:163-172. DOI 10.1038/s41590-018-0276-y | github.com/cellgeni/singler |
| — | Microwell-Seq(对照体系) | 跨平台基因检出与图谱互补对照 | 2018 | 微孔低通量单平台 | Han, X. et al., 2018, Cell 172:1091-1107. PMID 29474909 | bis.zju.edu.cn/MCA |
§8.2 SOTA 总结与选型建议
对"细胞类型注释"任务:先用 Scanpy+逻辑回归建立基线,再上 SingleR(FACS 参考)或 scANVI(带协变量);对"整合"任务:scVI 系是当前默认起点,Canek/bbknn 适合轻量图校正 [rdrr.io]。没有"一个模型打天下":FACS 全长参考适合注释,droplet 大样本适合组成统计,任务决定工具。
§8.3 评测协议建议
- 划分:供体级 GroupKFold(group=mouse.id),或 7 折 LOGO 做终版实验(§5.2)。
- 分层:按组织×细胞类型分层,确保每折覆盖主要类型。
- 指标:宏 F1 + 按组织分解 + 稀有类单独报告;禁止单报 accuracy。
- 预处理纪律:归一化/HVG/PCA 统计量只在训练折内拟合(§5.3)。
- 跨平台协议:FACS↔droplet 迁移单独成组实验,不与同平台结果混报。
- 版本声明:结果必须注明数据版本(figshare v8/v2)与 Cell Ontology 快照日期。
§8.4 相关数据集
| 数据集 | 关系 | 规模 | 平台 | 适用 |
|---|---|---|---|---|
| Tabula Muris Senis | 直接续作(含本集 3 月龄数据) | 35 万+ 细胞 / 23 组织 / 1-30 月龄 | 10x + Smart-seq2 | 衰老、多时点 [senis 官网] |
| Mouse Cell Atlas | 同物种异平台对照 | 61,637 细胞(去批次版,GSE108097) | Microwell-Seq | 跨平台方法验证 [FUMA] |
| Tabula Sapiens | 人类对应图谱 | 多器官(2022) | 单细胞转录组 | 跨物种比较 |
| GEO GSE109774 | 本集原始数据层 | fastq/BAM | Smart-seq2 + 10x | 从头重分析 [seqout] |
§8.5 关键论文 Top 9
- The Tabula Muris Consortium et al., 2018, Nature 562:367-372. DOI 10.1038/s41586-018-0590-4 —— 原始论文:20 器官、100,605 细胞、双平台对照图谱。
- The Tabula Muris Consortium et al., 2020, Nature 583 —— Senis:衰老扩展(1-30 月龄、23 组织、35 万+ 细胞)。
- Schaum, N. et al., 2020, Nature —— 衰老标志的器官特异性时间签名(与 Senis 背靠背)。
- Zhang, Y. et al., 2021, eLife 10:e62293. DOI 10.7554/eLife.62293 —— 76 组织-细胞类型的系统衰老基因分析。
- Pálovics, R. et al., 2022, Nature —— 异体共生单细胞解析(Senis 生态延伸)[senis 官网]。
- Han, X. et al., 2018, Cell 172:1091-1107 —— Microwell-Seq 小鼠细胞图谱,跨平台对照系 [FUMA]。
- Lopez, R. et al., 2018, Nature Methods 15:1053-1058. DOI 10.1038/s41592-018-0229-2 —— scVI 整合框架。
- Aran, D. et al., 2019, Nature Immunology 20:163-172. DOI 10.1038/s41590-018-0276-y —— SingleR 参考注释。
- Wolf, F. A., Angerer, P., & Theis, F. J., 2018, Genome Biology 19:15. DOI 10.1186/s13059-017-1382-0 —— Scanpy:Python 单细胞分析生态的事实标准,复现本数据集流程的主力工具。
§8.6 社区活跃度
引用 2,691+(Scopus,截至 2026-09)[OUCI];figshare FACS 条目下载 15,965 次(截至 2026-09,单条目口径)[figshare 5715040];官方浏览器与 Senis 生态持续在线;教程类资源(jingbio、Canek vignette、DeepWiki)常被课程采用,属"教科书级"复用度。
§8.7 生态快照
| 资源 | 类型 | 链接 | 活跃度指标(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| 官方数据浏览器 | 网页工具 | http://tabula-muris.ds.czbiohub.org/ | 在线服务 | 零下载查询组织-基因表达 |
| figshare project 27733 | 数据托管 | 见 §3.3 | FACS 前身条目下载 15,965 次 | 处理级数据一手来源 |
| GEO GSE109774 | 原始数据 | NCBI GEO | 20+ 组织子集 | fastq/BAM 重分析 |
| czbiohub/tabula-muris | 代码库 | github.com/czbiohub/tabula-muris | 33 notebook | 官方管线与图表复现 |
| easy-data repo | 加载工具 | github.com(biohub.org 页内入口) | 两行加载脚本 | R/Python 最快上手 [biohub.org] |
| Senis 官网 | 后续生态 | https://tabula-muris-senis.sf.czbiohub.org/ | 多论文入口 | 衰老方向与 CELLxGENE 交互 |
| Canek vignette | 教程 | rdrr.io/cran/Canek | CRAN 包 | 双平台批次校正动手示例 |
Star 数未采集验证值,故不填——禁止引用未核实的社区热度数字;如需 GitHub 热度,请以仓库页面当日数据为准。
§9 相关资源与引用
§9.1 官方资源
- 数据浏览器(零下载查表达):http://tabula-muris.ds.czbiohub.org/
- figshare 项目页(处理级数据一手来源):https://figshare.com/projects/Tabula_Muris_Transcriptomic_characterization_of_20_organs_and_tissues_from_Mus_musculus_at_single_cell_resolution/27733
- 原始数据:GEO GSE109774(https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE109774)
- 分析代码与 33 个 notebook:https://github.com/czbiohub/tabula-muris
- CZ Biohub 项目介绍(数据访问层级与设计说明):https://biohub.org?p=41304/
- 后续衰老版:Tabula Muris Senis(https://tabula-muris-senis.sf.czbiohub.org/)
- figshare 分条目直链:FACS 10.6084/m9.figshare.5829687 / droplet 10.6084/m9.figshare.5968960 / R objects 10.6084/m9.figshare.5821263 / FACS Index 10.6084/m9.figshare.5975392
§9.2 教程与社区
- jingbio《Analysis of single cell RNA-seq》(含 Tabula Muris 全套读取/清洗演示):https://jingbio.netlify.app/2019/06/06/analysis of single rna-seq data/
- Canek 官方 vignette(以本数据集胸腺双平台演示批次校正):https://rdrr.io/cran/Canek/
- FUMA 单细胞板块(本数据集在功能映射管线中的接入示例):https://fuma.ctglab.nl/tutorial
- DeepWiki 镜像解读(czbiohub-sf/tabula-muris,结构化导览官方 notebook):https://deepwiki.com/czbiohub-sf/tabula-muris
- 交互浏览(Senis 生态内 CELLxGENE 会话,含原版 3 月龄数据):见 Senis 官网 Datasets 页
- 中文社区解读(oebiotech 对 Senis 与原版关系的整理,注意其为二手转述,引用前回溯一手来源)
§9.3 BibTeX 完整引用
@article{tabula_muris_2018,
title = {Single-cell transcriptomics of 20 mouse organs creates a Tabula Muris},
author = {{The Tabula Muris Consortium}},
journal = {Nature},
volume = {562},
number = {7727},
pages = {367--372},
year = {2018},
doi = {10.1038/s41586-018-0590-4}
}
@article{tabula_muris_senis_2020,
title = {A single-cell transcriptomic atlas characterizes ageing tissues in the mouse},
author = {{The Tabula Muris Consortium}},
journal = {Nature},
volume = {583},
pages = {590--595},
year = {2020}
}
@article{zhang_2021_aging,
title = {Mouse aging cell atlas analysis reveals global and cell type-specific aging signatures},
author = {Zhang, Yanbao and others},
journal = {eLife},
volume = {10},
pages = {e62293},
year = {2021},
doi = {10.7554/eLife.62293}
}
@article{han_2018_mca,
title = {Mapping the Mouse Cell Atlas by Microwell-Seq},
author = {Han, Xiaoping and others},
journal = {Cell},
volume = {172},
number = {5},
pages = {1091--1107},
year = {2018},
note = {PMID: 29474909}
}
§9.4 引用指南
- 使用本数据集时必引原始论文(上块第一条);
- 数据再分发遵守 CC BY 4.0 署名要求,注明"CC BY 4.0"与来源链接;
- 若使用衰老维度,改引/加引 Senis 论文(第二、三条);
- 引用细胞数时注明口径:100,605 为论文总量口径,44,879 + 55,656 为分平台过 QC 口径(见坑点 1);
- 引用版本一律写 figshare v8(FACS)/ v2(droplet),并注明检索日期;
- 若页面信息与本 Wiki 有出入,以 figshare/论文一手来源为准,欢迎通过页面信息反馈渠道勘误。
§10 AI 使用声明卡
§10.1 AI 模型列表
本页面由 fast-model(CodeBuddy Code 平台内置大语言模型)辅助撰写,生成日期 2026-09-13。
§10.2 AI 参与范围
- AI 负责:多轮 Web 检索与事实整理、初稿撰写、代码示例起草、表格构建;
- AI 不负责:事实真伪的最终判断、医学表述的合规把关、引用数字的取舍(此三项为人工职责);
- 关键数字(细胞数、器官数、QC 阈值、引用量、版本日期)均逐条对应一手来源后采信,查证失败的字段直接省略而非编造;
- 检索过程遵循"先官方页、后论文、再社区"的顺序,共 5 次检索,原始发现固化于同目录 FACTS.md。
§10.3 输入来源列表
- The Tabula Muris Consortium et al. (2018). Single-cell transcriptomics of 20 mouse organs creates a Tabula Muris. Nature 562:367-372. DOI 10.1038/s41586-018-0590-4(PMC6642641 全文)
- Nature 出版社论文页(562:367-372,含 Data availability)
- PubMed 30283141 摘要与 Extended Data 图注
- figshare 条目 5829687(FACS Smart-seq2 计数矩阵,v7/v8 页面与修订史)
- figshare 条目 5715040(FACS v1 首发条目,含下载统计)
- figshare project 27733(项目总入口)
- CZ Biohub 官方介绍页(biohub.org?p=41304,数据访问与批次控制说明)
- phys.org 新闻(2018-10,机构名单与分平台细胞数)
- Tabula Muris Senis 官网(出版物列表与资源入口)
- bioRxiv 661728v3(Senis 预印本全文,含数据链接与组成分析提示)
- oebiotech 中文解读(2020,Senis 样本设计与原版关系)
- eLife 62293(Zhang et al. 2021,衰老体系二次分析)
- FUMA 教程页(fuma.ctglab.nl/tutorial,两平台单元格径说明)
- jingbio 教程(2019,Tabula Muris 读取/清洗/批次混淆实操)
- DeepWiki czbiohub-sf/tabula-muris §4.2(QC 与批次变量)
- rdrr.io Canek vignette(双平台校正演示与旧版 Robj 转换)
- seqout.org PRJNA432002(GSE109774 文件清单与 BAM 体积)
- OUCI 引用统计页(Scopus 口径 2,691)
- Google Scholar 论文条目(版本拆分引用数)
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| frontmatter 与 schema_org(含 Croissant 字段) | 千方病案医学编辑部 | 对照宪法 §3/§8 逐字段核验 | ✅ 已验证 |
| INFOBOX 23 行字段 | 千方病案医学编辑部 | 与 figshare/论文一手信息逐行比对 | ✅ 已验证 |
| §2 医学背景(ICD-11/SNOMED 映射) | 千方病案医学编辑部 | 医学编辑双人复核 | ✅ 已通过 |
| §4 数据结构与字段字典 | 千方病案医学编辑部 | 对照官方文件与教程交叉核验 | ✅ 已验证 |
| §6 预处理/DataLoader 代码与 8 坑点 | 千方病案医学编辑部 | 代码走查 + 坑点溯源至一手来源 | ✅ 已通过 |
| §7 DAIMS 24 项与评分 | 千方病案医学编辑部 | 逐项状态复核 + 分数复算 | ✅ 已验证 |
| §8-§9 引用与 BibTeX | 千方病案医学编辑部 | 逐条核对 DOI 与出处 | ✅ 已验证 |
| §C JSON-LD 序列化 | 千方病案医学编辑部 | JSON 语法校验 + URL 占位核对 | ✅ 已通过 |
§10.5 AI 生成章节标注
全文各章节由 AI 起草;§0、§2、§7 等涉及医学与合规表述的部分在 AI 草稿基础上经人工改写与确认。自动化工具仅用于格式校验(check_md.py),不参与内容判断。
具体而言:数字类内容(规模、日期、引用量)100% 可溯源至 §10.3 列表;代码类内容经人工走查确认逻辑自洽但未在本地全量执行;观点类内容(选型建议、价值分析)为编辑立场,不代表数据集官方。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核日期一致)。
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- human-cell-atlas — 共享标签:基因组学与多组学 / 医学影像 / 单细胞基因组学 / 病理图像
- hubmap — 共享标签:基因组学与多组学 / 医学影像 / 单细胞基因组学 / 病理图像
- tcga — 共享标签:基因组学与多组学 / 测序数据 / 病理图像
- gdsc — 共享标签:基因组学与多组学 / 医学影像 / 测序数据 / 病理图像
- cellxgene — 共享标签:基因组学与多组学 / 医学影像 / 病理图像
- hlca — 共享标签:医学影像 / 单细胞基因组学 / 病理图像
- human-protein-atlas — 共享标签:基因组学与多组学 / 医学影像 / 病理图像
- kpmp — 共享标签:基因组学与多组学 / 单细胞基因组学 / 病理图像
- multimedbench — 共享标签:基因组学与多组学 / 医学影像
- icgc — 共享标签:基因组学与多组学 / 医学影像 / 病理图像
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

