科学更正(2026-07-19): 初版把最高 marker program 直接用于 broad class 与 STR D1/D2-like 计数,缺少 top-two margin 拒判。现已按
top z >= 0.35且top-two margin >= 0.30(STR 为>= 0.35)重算:565 个 metacell 中 43 个 broad assignment 被拒判;52 个 STR metacell 中 13 个被拒判,D1-like 与 D2-like 各保留 6 个高置信 metacell。这里的所有数量都是 metacell profile 数,不是单细胞数或组织细胞比例;dotplot 仅作同一 marker 体系的内部一致性检查,不作为独立注释验证。
Saunders et al. 的 DropViz 成年小鼠脑图谱是单细胞脑图谱领域很经典的一篇文章。GSE116470 覆盖 9 个成年小鼠脑区,GEO 摘要中报告 690K 级别单细胞 transcriptomes,并提供每个脑区的 raw DGE 文件和一个 Brain Cell Atlas metacell count matrix。这样的数据最容易被误用:数据很大,图很多,于是文章一上来就想讲神经环路、脑区功能或稀有亚型。但从复现角度看,第一步更应该是 taxonomy audit。也就是说,先确认 neuron、glia、vascular/pericyte 等大类能不能被 marker 层级稳稳支撑,再选择一个能处理的子问题。本文把重点放在 broad taxonomy 和 striatum D1/D2 marker 边界上,而不能把表达矩阵写成神经环路机制。
这篇数据的痛点:脑图谱越大,越容易先讲错重点
成年小鼠脑图谱对很多项目都很有吸引力。一个旧的脑组织单细胞项目、一个特定脑区的数据、一个神经元亚群相关课题,都会想拿 DropViz 这样的公开 atlas 做参考。但这里有一个实际痛点:大脑数据不像 PBMC 或胰岛那样只要先分出几个大类就够。脑区、神经元兴奋/抑制属性、胶质细胞、血管/周细胞、局部亚型和 marker 命名都可能混在一起。如果一开始就追求“把所有细胞类型都讲完”,结果很容易变成一篇浅层目录。
所以这次复现不以“复刻完整 DropViz atlas”为目标,重点回答一个更实用的问题:面对一个 690K 级别、9 个脑区的公开脑图谱,怎样先把 broad taxonomy 和 marker hierarchy 跑稳?如果这个层次不稳,后面谈 striatum D1/D2、脑区差异、神经元亚型或旧项目再分析,都会建立在松散基础上。
论文和数据来源
论文、数据和公开矩阵信息如下。这里先把来源和矩阵层级交代清楚。
| 项目 | 内容 |
|---|---|
| 论文 | Saunders et al. Molecular Diversity and Specializations among the Cells of the Adult Mouse Brain |
| 发表信息 | Cell, 2018 |
| DOI | 10.1016/j.cell.2018.07.028 |
| PubMed | 30096299 |
| 公开数据 | GSE116470 |
| 公开输入 | BrainCellAtlas metacell count matrix + region raw DGE files |
公开矩阵进入分析前,先确认数据层级和规模。
| 项目 | 数值 |
|---|---|
| GEO summary single-cell transcriptomes | 690,000 |
| adult mouse brain regions | 9 |
| genes in metacell matrix | 32,307 |
| metacell profiles | 565 |
| striatum metacells for subset audit | 52 |
复现边界: 本文使用公开 metacell count matrix 进行 processed count 层级的再分析。它适合审计大类 taxonomy、marker hierarchy、脑区前缀和 striatum marker 轴,但不等于从 FASTQ 重新比对,也不等于单细胞级 doublet/QC/稀有亚型发现。文章中的比例均按 metacell 统计,不应直接解释为真实组织细胞比例。
方法和分析流程
本文的处理顺序从数据层级开始:下载 GSE116470 GEO 元信息和 supplemental file 列表,核对论文、PubMed、DOI、9 个脑区 raw DGE 文件和 metacell count matrix;读取 BrainCellAtlas metacell count matrix,得到 32,307 个基因和 565 个 metacell profile;按列名前缀解析脑区来源;按 metacell library size 做标准化和 log 转换,筛选高变基因,基于 PCA/UMAP 构建 metacell embedding;用 Slc17a7/Slc17a6、Gad1/Gad2/Slc32a1、Aqp4/Aldh1l1/Gfap、Mbp/Plp1/Mog、Pdgfra/Cspg4、C1qa/Csf1r/Tmem119、Pecam1/Kdr/Rgs5/Pdgfrb 等 marker module 给 broad class 打分;围绕 striatum metacell 子集计算 Drd1/Pdyn、Drd2/Penk 和 interneuron/non-neuronal marker,展示一个可以继续深入但不能直接过度解释的脑区子问题。这组处理先确认公开矩阵能支撑哪些问题,再把结果图解释限制在当前证据内。
数据层级:GEO 提供全量 raw DGE,也提供 metacell 矩阵
先要弄清楚“我们到底复现的是什么层级”。GSE116470 的 supplemental files 包括 9 个脑区的 raw DGE 文件,大小从几十 MB 到数百 MB,也包括一个 8.6 MB 的 metacell matrix。本文选择 metacell matrix 作为主输入,不是因为 raw 数据不重要;因为本文的问题是 taxonomy audit。对于这种问题,processed metacell 层级足以先做 broad marker 层面的证据链;如果后续要做 rare subtype、单细胞级差异、batch/donor 或更细脑区比较,则应该回到 region raw DGE。

图 1. GSE116470 同时提供各脑区 raw DGE 文件和 BrainCellAtlas metacell count matrix。本文从 565 个 metacell profile 入手,重点回答 broad taxonomy 是否稳,而不能直接做全量 raw 单细胞级重处理。
这张图的意义在于把边界放在最前面。很多公开数据复现最容易出问题的地方,不等于算法没跑起来,要把 processed matrix、metacell matrix、raw DGE、FASTQ 混成一回事。本文后面的每个结论都只在 metacell/processed count 层级成立。
矩阵可读性:先看 library size 和检测基因数
metacell 矩阵是聚合表达 profile,不能照搬单细胞 QC 的所有指标,但仍然需要检查每个 metacell 的总计数和检测基因数。这个步骤能帮助判断:不同脑区的 metacell 是否在可比较范围内,是否存在明显低质量 profile,marker 面板是否有足够信号。

图 2. 不同脑区 metacell 的 library size 和 detected genes 存在差异,但整体能支持 broad marker 审计。这里不把这些指标写成单细胞 QC 结论,因为输入层级已经是 metacell profile。
对旧项目再分析来说,这一步非常关键。一个客户拿来 h5ad 或 Seurat 对象时,最常见的问题之一就是对象已经被处理过很多轮,原始 reads 或完整 metadata 不一定在手。如果先不确认矩阵层级和可读性,后面写出的生物学解释就很容易超过数据本身能支持的范围。
全局 embedding:脑区信息和细胞大类不等于同一件事
随后用高变基因构建 PCA/UMAP。左图按脑区前缀着色,右图按 marker hierarchy 推断的 broad class 着色。一个重要现象是:脑区和细胞大类不等于同一层信息。脑区前缀能说明 profile 来源,但不能直接说明细胞身份;细胞身份需要 marker 证据。

图 3. 同一个 embedding 中,region 图显示 9 个脑区来源,broad taxonomy 图显示兴奋性神经元、抑制性神经元、星形胶质、少突、OPC、小胶质、血管/周细胞等大类。这个结果支持先搭 taxonomy,再谈脑区特异解释。
这张图是整篇复现的关键证据之一。它显示 metacell 层级已经能把大类结构分开,但也提醒我们不能把脑区颜色直接解释成机制。比如 striatum profile 在全局 embedding 的位置可以提示某些 marker 轴,但不等于说明某条神经环路被激活,也不等于说明行为状态。
marker hierarchy:命名必须被基因证据支持
broad class 命名不能只靠 embedding 形状。本文用一组常见脑细胞 marker 做 dotplot:Snap25 作为 pan-neuronal 线索,Slc17a7/Slc17a6 支持兴奋性神经元,Gad1/Gad2 支持抑制性神经元,Aqp4/Aldh1l1/Gfap 支持星形胶质,Mbp/Plp1/Mog 支持少突,Pdgfra/Cspg4 支持 OPC,C1qa/Tmem119 支持小胶质,Pecam1/Rgs5 支持血管/周细胞。

图 4. marker dotplot 显示各 broad class 的基因证据。对于脑图谱复用,marker hierarchy 是比“UMAP 看起来分开”更重要的审计层。表达稀疏或检测不稳定时,单个 marker 不能独立支撑命名,需要看一组 marker 的共同方向。
这里也能看出复现文章为什么不能写成纯教程。的重点不止于告诉读者“怎么画 dotplot”,而在于用 dotplot 审计命名是否可靠。一个旧脑数据项目如果只留下 cluster 名称,而没有对应 marker 证据,很难判断这些名称能不能进入论文图或汇报图。复现和再分析要做的正是把这些证据补齐。
module score:哪些大类信号真的在 embedding 上分开?
为了避免单个 marker 偏差,本文还计算了 module score,并把神经元、兴奋性、抑制性、星形胶质、少突、小胶质、血管/周细胞和 OPC 信号叠加回 embedding。

图 5. module score panel 显示不同 broad class 的信号在 embedding 中有相对清楚的空间分布。这支持 metacell 层级的 broad taxonomy 审计,但仍然不等于精细 subtype 发现。
这个结果对后续项目判断很有用。如果一个公开 atlas 或旧 h5ad 对象在 broad module 层面都不稳定,继续做 subtype 或机制解释风险很高。反过来,如果大类层面稳定,就可以选择一个更具体的问题继续推进,例如 striatum 中 D1/D2 marker 轴、cortex 中兴奋性神经元层级,或特定胶质群体的状态变化。
脑区构成:可以读 metacell 构成,不能直接读真实比例
按脑区统计 broad class 构成,可以帮助我们看到不同脑区在 metacell 层面的 profile 分布。但这张图必须谨慎读。metacell 数量不等于原始单细胞数量,也不等于组织真实细胞比例;它更像是作者处理后形成的表达 profile 单元。

图 6. 各脑区 broad class 构成可用于判断某些脑区是否富含特定类型的 metacell profile,但不能直接写成真实组织细胞比例或功能强弱。若要做严谨比例比较,需要回到单细胞级 metadata 和采样设计。
这一点也是很多脑图谱文章容易被过度解释的地方。看到某个脑区的某类 metacell 多,并不代表该脑区真实细胞比例一定更高,也不代表对应功能更强。它只能提示一个后续分析方向:需要回到 raw DGE 或单细胞 metadata,核对采样、细胞数、过滤策略和 cluster 定义。
选择一个子问题:striatum D1/D2 marker 边界
为了让文章不只是全局 taxonomy,本文选择 striatum 做一个子集示范。striatum 是脑图谱中很常见的再分析对象,D1-like 和 D2-like medium spiny neuron marker 也相对明确。本文用 Drd1/Pdyn 作为 D1-like 线索,用 Drd2/Penk 作为 D2-like 线索,同时保留 interneuron marker 和非神经元 marker,避免把所有 striatum metacell 都强行解释成 D1/D2。

图 7. Striatum 子集中,D1-like 和 D2-like marker axis 能把部分 metacell 拉开,同时还存在 interneuron、少突、星形胶质、小胶质、血管/周细胞和 mixed/low marker profile。这个图回答“有没有可继续深入的子问题”,而不能直接回答环路功能。
这个子问题的作用在于它足够具体。对一个 striatum 相关项目来说,第一步不等于写“纹状体参与奖赏/运动/行为调控”,应该先确认自己的数据或参考数据中 D1/D2 marker 是否能分开、非神经元 profile 是否混入、interneuron marker 是否需要单独处理。这些是后续分析能否靠谱的基础。
striatum marker dotplot:D1/D2 也不能只看一个基因
进一步看 striatum 子集的 marker dotplot。D1-like 不应该只看 Drd1,D2-like 也不应该只看 Drd2。在公开 matrix 中,表达稀疏、检测不稳定和聚合层级都会影响单个基因,所以更稳的做法是组合 marker 读方向。

图 8. Striatum dotplot 显示 D1-like、D2-like、interneuron 和非神经元 marker 的组合证据。该图支持把 D1/D2 作为 marker 轴来讨论,但不能把它写成投射、环路或行为机制。
这里尤其要强调“不能过度解释”具体体现在哪里。processed metacell 层级能说明某些 marker 组合在某些 metacell 中更高,但它没有单细胞级 cell count、完整空间位置、投射信息、行为实验或功能验证。因此我们可以说“D1/D2 marker 轴在 striatum metacell 子集中可读”,但不能说“某条 D1 或 D2 通路功能增强”。
与原文对照:这次复现缩小了问题,但保留了关键价值
Saunders et al. 原文的重点是成年小鼠脑细胞类型、状态和其他转录模式的大规模图谱。本文没有试图复刻原文所有分析,从公开 metacell matrix 中抽出一个实际项目更常见的工作流:先验证 broad taxonomy,再做一个局部子集问题。

图 9. 原文是 690K 级别单细胞、9 个脑区的大型 atlas;本文实际输入是 565 个 metacell count profile。这个缩小不等于弱点;明确了本文回答的问题:taxonomy audit 和 striatum marker 边界。
这里的重点是限制结论强度。公开矩阵能支持表达结构、marker 和 metadata 层面的复核;更强的机制、空间、功能或临床判断,需要 raw reads、原文模型、空间/病理信息或实验验证继续补证据。
这种缩小问题的方式更接近真实项目。很多时候,研究者不等于要重写一篇 Cell 文章,需要知道自己的旧数据能不能和经典 atlas 对齐,cluster 命名是否可靠,某个脑区或某个细胞群是否值得继续做深度分析。把问题切小,反而能把证据链讲清楚。
深度解读:证据链和解释边界
回答范围: 它回答的是:在 GSE116470 公开 metacell matrix 层级,成年小鼠脑图谱可在拒判规则下审计 broad neuron/glia/vascular marker program;striatum 子集可以进一步读出 D1-like、D2-like、interneuron 和非神经元 marker 边界。这个结果对脑图谱复用很实用,因为它把“能否对齐大类”和“能否展开局部问题”分成了两个层次。
processed metacell matrix 的边界在哪里? metacell matrix 是聚合 profile,不等于逐个细胞的原始 UMI 矩阵。它适合做 marker hierarchy 审计、脑区前缀检查、metacell-level embedding 和局部 marker 轴展示,但不能替代单细胞级 QC、doublet 排查、稀有亚型统计、donor/replicate 模型或 raw-read 级处理。本文的比例、数量和构成也都应按 metacell 来读。
主要图读法: 图 3 显示 region 和 taxonomy 是两层信息;图 4 和图 5 用 marker 和 module score 支撑 broad class;图 7 和图 8 把 striatum D1/D2 作为可继续深入的子问题;图 9 和图 10 则提醒哪些结论不能越界。读者不应该只看 UMAP 是否漂亮,而应该看每个命名是否有 marker 证据、每个子问题是否和输入矩阵层级匹配。
不能过度解释的部分: 不能把 striatum marker 轴写成神经环路功能,不能把 metacell 构成写成真实组织比例,不能把 processed count matrix 写成 FASTQ 级复现,也不能把一个 marker 的高低写成新的 rare subtype 发现。这些限制不等于保守;必要的科学边界。若要更精准解释脑区或发育/疾病问题,需要回到 region raw DGE 或单细胞级对象,补上采样、细胞级 metadata、cluster 稳定性和更细 marker 验证。
继续深入的下一步: 第一,可以选择一个脑区 raw DGE 文件,例如 striatum 或 cortex,重新做单细胞级降维聚类和 marker 审计。第二,可以把自己的项目对象投射到这个 atlas 的 broad taxonomy 上,先查大类注释是否稳,再查局部 subtype。第三,可以针对特定问题建立更细的 marker panel,例如 D1/D2 medium spiny neuron、interneuron subtype、oligodendrocyte lineage 或 vascular/pericyte profile。第四,如果要谈机制,需要结合空间、投射、功能实验或更完整的样本设计,而不能只靠表达矩阵。
复现边界和结论审计

图 10. 本文支持 broad taxonomy 和 striatum marker 边界;脑区功能、行为机制、稀有亚型发现和 raw-read 级复现不在本文证据范围内。
这里的重点是限制结论强度。公开矩阵能支持表达结构、marker 和 metadata 层面的复核;更强的机制、空间、功能或临床判断,需要 raw reads、原文模型、空间/病理信息或实验验证继续补证据。
- 谨慎线索:不同脑区 metacell 构成和局部 marker 结构可以提示后续分析方向,但不能直接写成真实细胞比例或机制。
- 不能声称:本文不能声称发现新稀有亚型、解释神经环路或行为、完成 FASTQ 级复现,也不能把 metacell 结果替代单细胞级验证。
这类复现对实际项目有什么价值?
脑图谱复用最怕两件事:第一,文章看起来很大,但和具体项目没有连接;第二,结论写得很漂亮,却没有 marker 和数据层级支撑。Saunders/DropViz 这类经典数据的价值,恰恰在于它能作为参考框架:先审计 broad taxonomy,再决定是否值得进入某个脑区、某类神经元或某个胶质状态。
对于已有脑组织单细胞数据、旧 h5ad/Seurat 对象、公开 GEO 项目复现或论文结果图重做,类似流程可以帮助整理出几个关键问题:cluster 名称是否可靠;marker 证据是否足够进入文章;某个脑区子集是否值得深挖;是否需要回到 raw DGE 重新分析;哪些结论只能作为线索,不能写成机制。把这些问题提前讲清楚,比简单多画几张图更有价值。
小结
这次复现使用 GSE116470 的公开 metacell count matrix,围绕 Saunders et al. DropViz 成年小鼠脑图谱做了一个问题导向的长文复现。结果显示,565 个 metacell profile 足以支持带拒判的 broad neuron/glia/vascular marker program 审计,marker hierarchy 和 module score 能把主要大类解释清楚,striatum 子集能进一步展示 D1-like、D2-like、interneuron 和非神经元 marker 边界。
还要看,本文没有把表达矩阵写成神经环路或行为机制。对于大型脑 atlas,严肃复现的第一步不能把全部图谱铺开,应该先问:我现在这个矩阵层级能支持哪些命名?哪些图能支撑这些命名?哪些解释必须回到更原始的数据层级?这些问题回答清楚后,公开数据才变成可复查、可复用的科研证据。