Tirosh et al. 的黑色素瘤单细胞数据是肿瘤微环境复现里非常经典的一组公开数据。它不是一个只有细胞类型注释的演示集;它同时包含恶性肿瘤细胞、T 细胞、B 细胞、巨噬细胞、CAF、内皮细胞、NK 细胞和未解析细胞,可以用来展示从公开 GEO 矩阵到肿瘤生态系统图谱的完整复现过程。
为什么选这篇黑色素瘤单细胞论文?
Tirosh et al. 2016 年发表于 Science 的文章 Dissecting the multicellular ecosystem of metastatic melanoma by single-cell RNA-seq,是早期肿瘤单细胞研究中非常常被引用的一篇。它的价值不只在于“做了黑色素瘤单细胞测序”,更在于把肿瘤组织拆成了多个层面的细胞生态:
- 恶性黑色素瘤细胞本身的异质性;
- T 细胞、B 细胞、巨噬细胞等免疫细胞组成;
- CAF 和内皮细胞等基质成分;
- MITF/PMEL/MLANA 相关的黑色素瘤分化程序;
- AXL 相关的去分化/耐受状态线索;
- T 细胞耗竭相关 marker 的表达模式。
对公开数据复现来说,这类文章比单纯 PBMC 教学数据更有“文献复现”的味道。读者通常不只想看 UMAP,还会关心公开数据能否重新整理出和原文一致的肿瘤微环境结构,哪些结论可以从公开矩阵里复核,哪些部分受限于数据和注释,不能过度声称。
论文和数据来源
- 论文:Tirosh et al. Science, 2016
- 论文题名:Dissecting the multicellular ecosystem of metastatic melanoma by single-cell RNA-seq
- PubMed:PMID 27124452
- Full text:PMC4944528
- 公开数据:NCBI GEO GSE72056
- 公开矩阵:processed expression matrix
GEO 页面说明,这批样本来自转移性黑色素瘤组织,样本经解离、单细胞分选并使用 Smart-seq2 测序。本文使用 GEO 提供的处理后表达矩阵 GSE72056_melanoma_single_cell_revised_v2.txt.gz。这个文件的结构比较适合复现:第一行是细胞 ID,随后几行包含肿瘤样本编号、基于 inferred CNV 的恶性/非恶性分类,以及非恶性细胞类型注释;后续行为基因表达矩阵。
**复现边界说明:**本文聚焦公开处理后表达矩阵的图谱复现、细胞群组成、marker 复核和几个关键 signature 的解释。它不声称完整重做原文所有分析,例如恶性细胞 CNV 推断、完整的肿瘤状态建模或治疗响应推断。公开复现应该把可复现部分和未覆盖部分说清楚。
数据结构和第一轮统计
处理后矩阵包含 4,645 个细胞。过滤掉低检出基因后,本次分析保留 21,120 个基因进入后续降维、聚类和可视化。作者注释中,非恶性细胞占多数,恶性黑色素瘤细胞约 1,257 个,另有 132 个未解析细胞。
这个文件的编码需要单独写清:作者 metadata 中 malignant code 1 = non-malignant,恶性细胞使用另一状态值。本文已按这一含义整理标签;表中的 Non-malignant, not further typed 指 code 1 且缺少更细非恶性类型的细胞,不能读成“malignant=1”。
- 公开矩阵细胞数:4,645
- 过滤后基因数:21,120
- 肿瘤样本编号:19
- 恶性黑色素瘤细胞:1,257
- T 细胞:2,040
- Leiden clusters:23
| 细胞群 | 细胞数 | 解读 |
|---|---|---|
| T cell | 2,040 | 最大的非恶性免疫细胞群,也是耗竭 marker 解读的主体 |
| Malignant | 1,257 | 基于作者 CNV 相关分类的恶性黑色素瘤细胞 |
| B cell | 512 | 非恶性免疫细胞群之一 |
| Non-malignant, not further typed | 416 | malignant=1 但非恶性细胞类型未进一步细分,保留为未细分非恶性细胞 |
| Unresolved | 132 | 作者注释中未解析的细胞 |
| Macrophage | 119 | 髓系相关细胞,适合与 LST1/C1QA 等 marker 对照 |
| Endothelial | 62 | 内皮相关细胞,PECAM1 是关键检查点 |
| CAF | 56 | 成纤维样细胞,COL1A1/AXL 等信号需要谨慎解释 |
| NK cell | 51 | 低丰度群体,NKG7/GNLY 作为辅助 marker |
分析流程
本次复现不是从原始 FASTQ 重跑;本文从 GEO 处理后表达矩阵出发,复核公开矩阵所支持的图谱和生物学解释。流程如下:
- 下载 GEO 处理后矩阵和 series matrix,记录论文、GEO、矩阵文件来源。
- 解析矩阵前 4 行 metadata,整理 cell_id、tumor、malignant status 和 non-malignant cell type。
- 构建细胞 × 基因表达矩阵,过滤低检出基因并生成可复用的单细胞对象。
- 执行高变基因选择、标准化、PCA、邻接图、UMAP 和 Leiden 聚类。
- 基于作者注释整理主要细胞群,并用经典 marker 做复核。
- 计算 melanoma differentiation、AXL-associated state 和 T cell exhaustion 相关 signature score。
- 输出博客图、小红书图、表格、summary 和结果说明。
UMAP:恶性细胞和免疫细胞构成清晰分层

图 1 主要细胞群在 UMAP 上的分布。恶性黑色素瘤细胞和 T 细胞形成了最明显的两个主体区域,B 细胞、巨噬细胞、CAF、内皮细胞和 NK 细胞也能在局部区域看到相对集中的分布。
这个图最重要的观察是:恶性细胞不是和所有非恶性细胞混在一起;本文在 UMAP 上形成了较集中的区域;T 细胞则占据另一个大区域。这和原文讨论的“肿瘤组织由恶性细胞和多种非恶性细胞共同构成”一致。
同时要注意,图中保留了 Other non-malignant 和 Unresolved。这不是分析错误;本文对原始注释边界的保留。尤其是 Other non-malignant,表示这些细胞被归为非恶性,但在作者提供的非恶性细胞类型字段中没有进一步细分。公开文章里不应该强行把它们改成某一种具体细胞。

图 2 按恶性状态查看 UMAP。恶性细胞、非恶性细胞和未解析细胞在降维空间中呈现出明显不同的区域分布,这为后续 marker 和 signature 分析提供了基本结构。
这张图把观察落到基因证据上。读的时候要看一组 marker 是否同向,而不是只挑某个显眼基因;如果证据只停留在 score 层面,结论也要保留探索性。
样本来源:不同肿瘤样本的组成差异很明显

图 3 按肿瘤样本编号标记的 UMAP。不同样本在 UMAP 上不是完全均匀混合,这提示黑色素瘤样本之间存在明显的组成和状态差异。
肿瘤单细胞数据和 PBMC 刺激实验不同。PBMC 数据常常希望不同条件在同一批主要细胞群里可比较;肿瘤数据则经常存在很强的样本特异性。某个样本可能恶性细胞更多,另一个样本可能 T 细胞或髓系细胞更多。复现时如果只看总体 UMAP,很容易把样本差异误解为普遍规律。

图 4 不同肿瘤样本中的细胞组成比例。可以看到,有的样本恶性细胞占比很高,有的样本以 T 细胞为主,也有样本包含更多 B 细胞或其他非恶性成分。
这张组成图对复现非常关键。它说明,后续讨论 T cell exhaustion、AXL 状态或恶性细胞程序时,不能只用全体细胞平均值。合理做法是先明确每个样本的细胞组成,再在相关细胞群内部解读 marker 和 signature。
marker 复核:细胞类型标签是否可信?
单细胞复现不能只相信 metadata。即使作者提供了细胞类型注释,也应该用经典 marker 做基本复核。这里选取了几类常用 marker:
- 免疫总标记:
PTPRC - T 细胞:
CD3D,CD3E - B 细胞:
CD79A,MS4A1 - NK 细胞:
NKG7,GNLY - 巨噬细胞/髓系:
LST1,C1QA - CAF/基质:
COL1A1 - 内皮:
PECAM1 - 黑色素瘤分化程序:
MLANA,PMEL,MITF - AXL 相关状态:
AXL - T 细胞耗竭:
PDCD1,LAG3,HAVCR2,CTLA4

图 5 主要细胞群的 marker 表达。恶性黑色素瘤细胞中 MLANA、PMEL、MITF 表达更突出;T 细胞中 CD3D/CD3E 更突出;B 细胞中 CD79A/MS4A1 更突出;巨噬细胞中 LST1/C1QA 更突出;CAF 中 COL1A1 更突出;内皮细胞中 PECAM1 更突出。
这个 DotPlot 支持几个关键判断。先,恶性黑色素瘤细胞和黑色素细胞分化相关 marker 对得上,说明 malignant label 有清晰的表达支撑。再,非恶性免疫细胞的 marker 也基本符合预期,T/B/NK/巨噬细胞之间有可解释的差异。第三,CAF 和内皮细胞虽然数量不多,但 COL1A1 和 PECAM1 提供了合理的检查点。
需要谨慎的是 T cell exhaustion marker。PDCD1/LAG3/HAVCR2/CTLA4 在 T 细胞中有一定信号,但不同 marker 的表达比例和强度并不完全一致。公开复现里更稳妥的说法是“存在耗竭相关信号”,而不是把全部 T 细胞直接称为耗竭 T 细胞。
恶性细胞程序:MITF/PMEL/MLANA 支撑分化状态

图 6 基于 MLANA、PMEL、MITF 的黑色素瘤分化程序评分。恶性黑色素瘤细胞整体评分更高,和 marker DotPlot 的观察一致。
在原文中,恶性黑色素瘤细胞的状态异质性是重要主题之一。MITF、PMEL、MLANA 代表较经典的黑色素细胞/黑色素瘤分化程序。这里把它们压缩成一个简单 signature score,可以看到恶性细胞整体得分更高。这并不等于完整复现原文的所有肿瘤状态模型,但足以作为公开矩阵中的一个关键检查点:恶性细胞身份不只靠注释字段;它可以被表达程序支持。
AXL 相关状态:信号存在,但需要和细胞群组成一起看

图 7 AXL 相关状态评分。CAF 和部分巨噬细胞/非恶性群体也会影响 AXL 相关信号,因此这类分数不能脱离细胞类型组成解释。
AXL 是黑色素瘤状态研究里常见的基因,但它不是“只在恶性细胞里表达”的专属标签。公开复现时尤其要注意这一点:如果把所有细胞混在一起看 AXL 分数,CAF 或髓系细胞的表达也可能影响总体结果。因此,AXL 相关解释必须结合细胞类型和样本组成。
这也是肿瘤微环境复现的一个常见经验:很多 marker 同时带有细胞类型信息和状态信息。解释之前,必须先回答“这个信号来自哪类细胞”。否则,很容易把微环境细胞的表达误读成肿瘤细胞内在状态。
T 细胞耗竭信号:适合做线索,不适合过度下结论

图 8 T 细胞耗竭相关评分。T 细胞群体中 PDCD1、LAG3、HAVCR2、CTLA4 等 marker 支持耗竭相关信号,但这只是基于公开矩阵的表达层面复核。
T 细胞耗竭是肿瘤免疫研究中的重要概念。这个数据中,T 细胞数量充足,且耗竭相关 marker 可以在 T 细胞中看到一定表达。为了避免单个 marker 的噪音,本次复现使用 PDCD1/LAG3/HAVCR2/CTLA4 计算了一个简单的 T cell exhaustion-related score。
从中位数看,T cell 组的耗竭相关评分高于多数非 T 细胞群体。这符合 marker 复核结果。不过,公开博客中应保持谨慎:耗竭状态最好结合更细的 T 细胞亚群、细胞周期、细胞毒性程序、患者治疗背景和原文上下文一起判断。本文先把它作为“可复核的免疫状态线索”,不把它扩展成治疗结论。
**关键结论:**这组公开数据可以稳定复现出黑色素瘤肿瘤微环境的主要结构:恶性细胞和多类非恶性细胞共同构成样本生态;恶性细胞具有 MITF/PMEL/MLANA 相关程序;T 细胞中存在耗竭相关 marker 信号;样本之间细胞组成差异明显,解释任何 signature 都必须回到细胞类型和样本来源。
与源论文结论的对照
这次复现和原文一致的地方主要有三点。
第一,数据确实能拆分出恶性和非恶性成分。基于作者注释和表达 marker,恶性黑色素瘤细胞与免疫/基质细胞在 UMAP 上呈现出明显结构差异。
第二,非恶性微环境不是单一背景。T 细胞是主要群体,同时还能看到 B 细胞、巨噬细胞、CAF、内皮细胞和 NK 细胞。这与原文“multicellular ecosystem”的概念一致。
第三,黑色素瘤细胞和免疫细胞各自有可解释的表达程序。恶性细胞中 MITF/PMEL/MLANA 相关信号突出,T 细胞中耗竭相关 marker 可复核,CAF/内皮/巨噬细胞也有相应 marker 支撑。
但也有明确边界。
- 本文没有重新从原始 reads 推断 CNV,也没有重做恶性细胞识别算法。
- 本文没有完整复现原文全部肿瘤细胞状态模型,只做了几个代表性 signature 的公开矩阵复核。
- 本文没有结合治疗响应、病人临床信息或空间信息,不应扩展为临床结论。
- 作者注释中未细分的非恶性细胞被保留为独立类别,没有强行再注释。
这些边界不是缺点;公开复现里应该写清楚的部分。很多经典数据并不需要一上来就“全量复刻原文所有分析”;它可以先把可核查的结构、marker 和结论边界讲明白。
肿瘤单细胞复现里要检查什么?
如果把这篇文章当作肿瘤微环境复现模板,最关键的不是“UMAP 上有几个颜色”;重点是下面几类检查点是否都能回答。
| 检查点 | 为什么重要 | 本文中的处理 |
|---|---|---|
| 恶性/非恶性边界 | 肿瘤组织中细胞身份决定后续解释方向 | 保留作者 CNV 相关 malignant status,并用黑色素瘤 marker 复核 |
| 样本来源 | 肿瘤样本间组成差异通常很强 | 按 tumor ID 展示 UMAP 和组成图 |
| 主要微环境成分 | 免疫、基质、内皮和肿瘤细胞共同构成生态 | 整理 T/B/NK/macrophage/CAF/endothelial 等群体 |
| marker 证据 | metadata 标签不能直接等于最终结论 | 用 DotPlot 检查 PTPRC、CD3D、MS4A1、LST1、COL1A1、PECAM1、MLANA 等 |
| signature 来源 | AXL、耗竭、分化程序可能受细胞类型影响 | 把signature score放回细胞群和样本结构中解释 |
| 复现边界 | 避免把二次分析写成完整原文复刻 | 明确没有重做 CNV 推断和完整状态模型 |
这些检查点对实际项目很有用。很多肿瘤单细胞公开数据看起来都有现成注释,但用于文章、基金或汇报时,仍然需要重新检查细胞组成、marker 证据和样本来源。否则,一个总体上调的基因可能只是某个样本的细胞比例变化,一个看起来像肿瘤状态的 marker 也可能来自 CAF 或巨噬细胞。
这篇复现能作为哪些项目的模板?
- 肿瘤微环境复现:适合从公开矩阵中整理恶性细胞、免疫细胞和基质细胞组成。
- 老数据再解释:经典文章的数据常常需要重新整理 metadata、重画图和补充中文解释。
- marker 可信度检查:用 DotPlot 检查作者标签是否被经典 marker 支持。
- signature 边界判断:把 AXL、MITF、T cell exhaustion 等信号放回具体细胞群中解释。
- 报告结果图整理:将 UMAP、组成图、marker 图和 score 图整理成汇报可用格式。
- 复现风险控制:明确哪些结论能复核,哪些原文模块没有重做。
后续可以继续加深的方向
如果要把这篇文章继续做得更接近原文,可以补充几个方向:
| 增强方向 | 价值 |
|---|---|
| 恶性细胞子集内重新聚类 | 更细地讨论 MITF-high、AXL-high 等状态差异 |
| T 细胞亚群细分 | 区分 cytotoxic、exhausted、memory-like 等状态 |
| 巨噬细胞和 CAF 更细注释 | 避免把微环境细胞的 marker 误读成肿瘤细胞状态 |
| 样本层面 signature 汇总 | 判断某些样本是否富集恶性细胞程序或免疫耗竭信号 |
| 与原文结果图逐项对照 | 把复现图和原文结论逐项并列,形成更完整的文献复现报告 |
本篇先完成的是“从公开 GEO 到肿瘤微环境图谱”的主体复现。对于很多想重新利用经典单细胞数据的课题来说,这一步已经能回答一个实际问题:这组公开数据是否足够清晰、可解释,并且值得继续深入做二次分析。
深度解读:这篇复现应该怎么读?
Tirosh 黑色素瘤这篇复现必须按肿瘤生态系统来读。本文不只在全体细胞上画一张 UMAP;关键在于把 19 个肿瘤样本、作者 malignant status、非恶性细胞类型、marker dotplot、MITF/PMEL/MLANA 分化程序、AXL 相关状态和 T cell exhaustion score 放到同一套边界里解释。
1. 这篇复现回答了什么?
它回答的是“GSE72056 的 processed matrix 是否能重建转移性黑色素瘤的主要肿瘤微环境结构”。从本文结果看,恶性黑色素瘤细胞、T cell、B cell、macrophage、CAF、endothelial 和 NK cell 都能被作者注释和 marker 共同支持;恶性细胞中 MLANA/PMEL/MITF 相关分化程序清楚;T 细胞中能看到耗竭相关 marker 线索;不同 tumor ID 的组成差异也很明显。
这正是本文能直接支持的层级:细胞生态结构、marker 复核、代表性 signature 线索和样本组成边界。它不是治疗反应预测,也不是完整复刻原文所有恶性细胞状态模型。
2. raw / processed matrix 的边界在哪里?
本文使用 GSE72056_melanoma_single_cell_revised_v2.txt.gz processed expression matrix。它内嵌 tumor ID、inferred CNV 相关 malignant/non-malignant 分类和非恶性细胞类型注释,因此非常适合做公开矩阵层面的图谱复现。但它不能让本文重新从 raw reads 推断 CNV,也不能完整重做原文全部肿瘤状态建模、治疗背景分析或临床结论。
这里的关键是尊重作者已经提供的 malignant status。本文可以用黑色素瘤 marker 检查该标签是否合理,但不能把这一步写成重新完成了 CNV 推断。processed matrix 支持的是“注释与表达证据是否相互印证”,不是“从零重建恶性识别算法”。
3. 关键图应该怎么读?
图 1 和图 2 先区分 malignant、T cell、B cell、macrophage、CAF、endothelial、NK cell 和 unresolved 细胞;图 3 和图 4 必须看 tumor ID 和样本组成,因为肿瘤数据的患者差异通常很强;图 5 用 PTPRC/CD3D/CD79A/LST1/C1QA/COL1A1/PECAM1/MLANA/PMEL/MITF 等 marker 复核标签;图 6-8 再讨论 MITF/PMEL/MLANA、AXL 和 T cell exhaustion 相关 score。
这篇文章最重要的读图原则是:signature 必须回到细胞类型和样本来源中解释。AXL 相关信号可能受到 CAF 或髓系细胞影响;T cell exhaustion score 应主要在 T cell 语境中讨论;MITF/PMEL/MLANA 分化程序才更适合放在恶性黑色素瘤细胞中解读。
4. 哪些地方不能过度解释?
第一,不能把 AXL score 写成所有恶性细胞的耐药机制,因为 AXL 不是恶性细胞专属信号。第二,不能把 T cell exhaustion marker 写成免疫治疗疗效预测,因为本文没有结合治疗背景和临床结局。第三,不能强行再注释作者保留的 Other non-malignant 和 Unresolved 类别。第四,不能把样本间组成差异忽略掉后讨论总体平均 signature。
本文能严肃支持的是:公开矩阵中可以重建黑色素瘤恶性细胞和多类非恶性微环境结构,代表性 marker 与 signature 方向符合原文主线。本文不能支持的是:完整 CNV 重推断、临床疗效、患者预后、肿瘤-免疫互作因果方向或原文全部状态模型。
5. 如果继续深入,下一步做什么?
继续深入时,应该分三条线做。第一,在 malignant 子集内重聚类,检查 MITF-high、AXL-high 和其他状态程序是否稳定,并按 tumor ID 汇总,避免被单一样本驱动。第二,在 T cell 子集内区分 cytotoxic、exhausted、memory-like 等状态,再讨论耗竭 marker。第三,对 macrophage、CAF 和 endothelial 做更细 marker 复核,避免把微环境表达误解成肿瘤细胞内在状态。
肿瘤单细胞复现的专业性,体现在先分清“这个信号来自哪类细胞、哪个样本、哪个矩阵层级”。只有这个基础稳了,后续再谈状态程序、免疫微环境或文献对照才有意义。
小结
这次复现从 GSE72056 的 processed expression matrix 出发,整理 4645 个转移性黑色素瘤单细胞,复核了恶性黑色素瘤细胞、T 细胞、B 细胞、巨噬细胞、CAF、内皮细胞和 NK 细胞等主要群体。MITF/PMEL/MLANA 相关分化程序、AXL 相关状态和 T 细胞耗竭相关 marker 都能在公开矩阵中看到相应线索,但解释这些 signature 时必须结合细胞类型和样本来源。
这篇文章展示了肿瘤单细胞复现的一个基本原则:不要把所有信号混在全体细胞里解释。先分清恶性细胞、免疫细胞和基质细胞,再看样本组成和 marker 证据,结尾处才讨论状态程序。这样得到的复现结果更适合被放进课题汇报、公开数据二次分析和文献复现报告。