MacParland et al. 的人肝脏单细胞数据,是早期 human liver atlas 和肝内免疫微环境复现里很适合展开的一组公开数据。本文从 GEO GSE115469 的 processed expression matrix 和 CellClusterType 注释表出发,复现 8444 个细胞的 hepatocyte、LSEC、portal endothelial、cholangiocyte、macrophage、T/NK/B/plasma 等结构,并重点检查肝细胞、内皮/LSEC 和 Kupffer/髓系相关信号。
为什么选这篇人肝脏单细胞论文?
MacParland et al. 2018 年发表于 Nature Communications 的文章 Single cell RNA sequencing of human liver reveals distinct intrahepatic macrophage populations,是人肝脏单细胞研究中很常被引用的一篇。它不只是一个细胞类型列表,这里还需要说明的是把肝细胞、胆管、肝窦内皮、门管区内皮、T/NK/B/plasma 免疫细胞,以及 inflammatory / non-inflammatory macrophage 放到同一个单细胞图谱里讨论。
这类公开数据复现有三个现实价值:
- 肝脏是高度结构化的组织,实质细胞、血管内皮、胆管和免疫细胞混在一起,单细胞图谱能帮助先分清“谁是谁”。
- 源论文重点之一是肝内巨噬细胞异质性,适合用 marker 和 signature 检查 macrophage 相关群体。
- GEO 提供了 processed expression matrix 和细胞类型注释表,适合做“公开矩阵到可解释图谱”的复现案例。
这篇文章如果只展示一个 UMAP,会丢掉大量信息。更好的写法是:先说明数据文件和处理边界,再看总体图谱、样本来源、细胞组成、marker 证据,然后把 hepatocyte、LSEC/endothelial、Kupffer/髓系信号逐一解释。
论文和数据来源
- 论文:MacParland et al. Nature Communications, 2018
- 论文题名:Single cell RNA sequencing of human liver reveals distinct intrahepatic macrophage populations
- DOI:10.1038/s41467-018-06318-7
- 公开数据:GSE115469
- 公开矩阵:GSE115469_Data.csv.gz
- 注释文件:CellClusterType
复现边界说明 本文使用 GEO 提供的 processed expression matrix 和细胞类型注释表。矩阵是浮点表达值,不是原始 UMI 整数矩阵,因此本文不把它写成从 raw counts 重新归一化,也不声称从 FASTQ 重新比对。
数据结构:表达矩阵和细胞注释表分开提供
GSE115469_Data.csv.gz 是 gene × cell 表达矩阵,第一列是基因名,后续列是细胞名。GSE115469_CellClusterType.txt.gz 提供逐细胞 metadata,包括 CellName、Sample、Cell#、Cluster# 和 CellType。两者通过 CellName 对齐。
本次复现保留全部 8444 个注释细胞,过滤低检出基因后得到 19984 个基因。由于输入是 processed expression,本文的 QC 重点不是线粒体比例或原始 UMI 过滤;重点是检查细胞注释、样本来源、表达矩阵和 marker 证据是否一致。
- 注释细胞数:8,444
- 过滤后基因数:19,984
- 样本编号:5
- 源注释细胞类型:20
- Leiden clusters:13
- 两类 macrophage 细胞:1,192
分析流程
- 下载 GEO processed expression matrix 和 CellClusterType 注释表。
- 以
CellName为键对齐表达矩阵和 metadata,保留 sample、cluster 和 cell type。 - 构建 cell × gene 单细胞对象,并计算检测基因数和总 processed expression 作为基本检查。
- 过滤低检出基因,选择高变基因,进行 PCA、邻接图、UMAP 和 Leiden 聚类。
- 使用源注释细胞类型画 UMAP、样本分布和细胞类型组成。
- 用经典肝脏 marker dotplot 检查 hepatocyte、cholangiocyte、LSEC/endothelial、macrophage、T/NK/B/plasma 和 stellate 标签。
- 计算 hepatocyte、LSEC/endothelial、Kupffer/myeloid 等 signature,辅助解释主要区域。
总体 UMAP:肝细胞、内皮和免疫群体能否分开?

图 1 8444 个人肝脏细胞按源注释细胞类型标记的 UMAP。Hepatocyte 1-6、LSEC/portal endothelial、cholangiocyte、macrophage、T/NK/B/plasma 和 hepatic stellate cell 等群体形成可解释结构。
总体 UMAP 可以先回答一个基础问题:公开矩阵是否还能重建肝脏主要细胞生态?从图 1 看,肝细胞相关亚群、内皮/LSEC 相关群体、免疫细胞群和低丰度胆管/星状细胞不是随机混在一起;它形成相对清晰的区域。这说明 processed matrix 和注释表之间对齐正常,适合进入 marker 检查。
需要注意的是,源注释把 hepatocyte 分成 1-6,把 LSEC 分成 periportal 和 central venous,并把 macrophage 分成 inflammatory 和 non-inflammatory。本文保留这些标签,但不会把每个亚群都写成新的机制结论。复现文章的第一步是确认这些结构在公开矩阵中可见,第二步才是讨论它们可能对应的生物学含义。
样本来源:肝脏图谱不能脱离 donor/sample

图 2 按样本编号标记 UMAP。样本来源在部分区域并不完全均匀,因此解释细胞组成和亚群状态时需要保留 sample metadata。
人组织单细胞数据经常带有明显样本差异。肝脏尤其如此:取材部位、组织质量、消化条件、细胞捕获偏好和 donor 背景都会影响某些细胞类型的比例。图 2 的作用不是给出最终生物学结论;它提醒后续所有解释都要问一句:这个信号是细胞类型差异,还是样本组成差异?
对于公开复现来说,保留样本信息比追求“漂亮混合”更重要。如果某些群体主要来自少数样本,那么后续需要谨慎;如果某个 marker 或 signature 在多个样本中一致出现,解释可信度才更高。
细胞类型组成:肝实质、血管内皮和免疫群体共同构成图谱

图 3 QC 后不同细胞类型数量。Hepatocyte 亚群、T/NK 细胞、macrophage、plasma cell、LSEC/endothelial 等共同构成这组人肝脏图谱。
| 细胞类型 | 细胞数 | 占比 | 复现解读 |
|---|---|---|---|
| Hepatocyte 1 | 1006 | 11.91% | 肝细胞亚群之一 |
| alpha-beta T Cells | 961 | 11.38% | T 细胞主体 |
| Hepatocyte 2 | 909 | 10.77% | 肝细胞亚群之一 |
| Inflammatory Macrophage | 813 | 9.63% | 炎症相关 macrophage 群体 |
| Hepatocyte 3 | 629 | 7.45% | 肝细胞亚群之一 |
| Hepatocyte 4 | 603 | 7.14% | 肝细胞亚群之一 |
| Plasma Cells | 511 | 6.05% | 抗体分泌相关 B lineage |
| NK-like Cells | 488 | 5.78% | NK-like 免疫群体 |
| gamma-delta T Cells 1 | 464 | 5.50% | gamma-delta T 细胞亚群 |
| Non-inflammatory Macrophage | 379 | 4.49% | Kupffer-like / resident-like macrophage 相关群体 |
| Periportal LSECs | 327 | 3.87% | 肝窦内皮区域性亚群 |
| Central venous LSECs | 306 | 3.62% | 肝窦内皮区域性亚群 |
| Portal endothelial Cells | 211 | 2.50% | 门管区血管内皮 |
| Hepatocyte 5 | 202 | 2.39% | 较低丰度肝细胞亚群 |
| Hepatocyte 6 | 152 | 1.80% | 较低丰度肝细胞亚群 |
| Mature B Cells | 129 | 1.53% | B 细胞 |
| Cholangiocytes | 119 | 1.41% | 胆管上皮 |
| gamma-delta T Cells 2 | 105 | 1.24% | gamma-delta T 细胞亚群 |
| Erythroid Cells | 93 | 1.10% | 红系细胞 |
| Hepatic Stellate Cells | 37 | 0.44% | 星状细胞,细胞数很少,需谨慎解释 |
这张组成图有一个明显特点:肝细胞相关亚群总体数量最多,但免疫细胞并不少。两类 macrophage 合计 1192 个细胞,占约 14.1%,这也解释了为什么源论文会围绕肝内巨噬细胞异质性展开。相对地,hepatic stellate cells 只有 37 个,能做 marker 支持和位置展示,但不适合在这篇复现里深入拆分。

图 4 不同样本中的细胞类型组成。样本层面的比例差异提示,解释 inflammatory macrophage、LSEC 或低丰度群体时需要保留 donor/sample 背景。
这张图回答的是来源和比例问题。它适合用来发现样本不平衡、分组偏移或需要子集分析的地方;更强的生物学解释还要结合原文设计和额外证据。
marker 复核:细胞身份是否被经典基因支持?

图 5 经典肝脏和免疫 marker dotplot。ALB/APOA1/TTR/CYP3A4 支持 hepatocyte,KRT19/EPCAM/SOX9 支持 cholangiocyte,PECAM1/VWF/STAB2/CLEC4G 支持 endothelial/LSEC,LST1/C1QA/CD68/MARCO 支持 macrophage,CD3D/NKG7/MS4A1/CD79A 支持 T/NK/B 相关群体,COL1A1/DCN/RGS5 支持 stellate/stromal 线索。
这张 dotplot 是本文的主要证据链。源注释已经把细胞分成 20 类,但复现不能只相信标签。肝细胞应当有白蛋白、载脂蛋白、转运和代谢相关基因支持;胆管细胞应当带有上皮和胆管 marker;LSEC/内皮应当有血管内皮和肝窦内皮相关 marker;macrophage 应当有补体、溶酶体、抗原呈递和清道夫受体相关基因;T/NK/B/plasma 也应当能看到对应免疫 marker。
从图 5 看,hepatocyte 亚群整体带有 ALB/APOA1/TTR 等肝细胞信号;cholangiocyte 中 KRT7/KRT19/EPCAM/SOX9 方向明确;LSEC/endothelial 相关群体有 VWF/STAB2/CLEC4G/FCN2 等信号;macrophage 群体中 C1QA/C1QB/CD68/MARCO/LST1 突出;T/NK/B/plasma 相关标签也能被 CD3D/NKG7/MS4A1/CD79A/MZB1/JCHAIN 等基因支持。
Hepatocyte signature:肝实质细胞主体

图 6 基于 ALB/APOA1/APOA2/TTR/HP/FGA/CYP3A4 的 hepatocyte signature。高分区域集中在 hepatocyte 相关亚群,支持肝实质细胞身份。
肝细胞是肝脏图谱的主体。这里使用 hepatocyte signature 的原因,是避免只依赖某一个 marker。ALB 很经典,但单细胞数据里单基因表达会受到表达未检出、样本处理和亚群差异影响;把 ALB/APOA1/APOA2/TTR/HP/FGA/CYP3A4 合成 score,更适合看肝细胞相关区域的整体表达特征。
图 6 的高分区域和 hepatocyte 1-6 亚群相互吻合,说明公开矩阵中肝细胞身份比较稳。不同 hepatocyte 亚群可能对应代谢、空间区域或状态差异,但本文没有把这些亚群逐一解释为明确的 zonation 结论,因为这需要更细的原文对照和空间/区域信息支持。
LSEC 与内皮细胞:区域性标签需要谨慎解释

图 7 基于 PECAM1/VWF/KDR/STAB2/CLEC4G/FCN2 的 LSEC/endothelial signature。该分数在 periportal LSECs、central venous LSECs 和 portal endothelial cells 相关区域更高。
肝脏内皮不是一个均一群体。源注释中区分了 periportal LSECs、central venous LSECs 和 portal endothelial cells,这为理解肝窦结构和区域性提供了入口。复现时可以先用 PECAM1/VWF/KDR 等内皮 marker 和 STAB2/CLEC4G/FCN2 等 LSEC 相关基因检查这些区域是否合理。
图 7 支持内皮/LSEC 相关区域的存在。但区域性标签的解释需要谨慎:UMAP 上相邻不等于真实组织空间相邻,processed matrix 也不能直接替代空间定位。更稳的写法是:公开矩阵支持 LSEC/endothelial 相关细胞的分离和 marker 复核;至于 periportal 和 central venous 的精细空间含义,应回到源论文和更直接的空间/组织证据中解释。
Kupffer/髓系信号:源论文的关键复现点

图 8 基于 LST1/C1QA/C1QB/CD68/MARCO/LYZ 的 Kupffer/myeloid signature。高分区域集中在 inflammatory macrophage 和 non-inflammatory macrophage 相关群体。
源论文题目中最醒目的部分就是 distinct intrahepatic macrophage populations。本文的公开矩阵复现也能看到两个 macrophage 相关群体:Inflammatory Macrophage 813 个细胞,Non-inflammatory Macrophage 379 个细胞。两者合计 1192 个细胞,足以支撑公开图谱层面的 marker 和 signature 展示。
C1QA/C1QB/MARCO/CD68/LST1/LYZ 等基因支持 macrophage/Kupffer-like 相关身份。这里需要避免两个过度解释:第一,不要把所有 macrophage 都直接写成同一种 Kupffer cell;第二,不要仅凭一个 score 就下功能机制结论。更合理的表达是:公开矩阵能复现 inflammatory 与 non-inflammatory macrophage 相关群体,并且 marker 支持其髓系/巨噬细胞身份;更深的功能差异和组织定位,需要结合源论文实验和进一步分析。
与源论文结论如何对照?
本文复现到的内容与源论文主线有一致之处:
- 人肝脏单细胞图谱中可以看到 hepatocyte、cholangiocyte、endothelial/LSEC、immune 和 stromal 相关群体。
- 肝内 macrophage 不是单一群体,公开注释中存在 inflammatory 与 non-inflammatory 两类 macrophage。
- LSEC/portal endothelial 等内皮相关群体可以通过经典 endothelial/LSEC marker 复核。
- processed matrix 足以支持 atlas 层面的 UMAP、组成、marker 和 signature 解释。
本文没有覆盖的内容也必须讲清楚:
- 没有从 FASTQ 或原始 UMI 重新构建表达矩阵。
- 没有完整重做源论文关于巨噬细胞功能差异、组织定位和机制验证的全部分析。
- 没有把 hepatocyte 1-6 的每个亚群都解释为确定的空间分区或代谢分区。
- 没有对 T/NK/B/plasma 群体继续做免疫亚群精细拆分。
- 没有把 signature score 写成功能实验结果。
这个边界没有降低文章价值,它体现了复现文章该有的严谨性。公开数据复现最重要的是知道自己复现到了哪一层:图谱层面、注释层面、marker 层面、signature 层面,还是机制层面。
复现这类人组织数据时容易出错的地方
第一,processed expression 和 raw count 不能混写。MacParland 这组 GEO 矩阵是浮点表达值,因此不应在文章里写成“从原始 UMI 开始重新归一化”。复现要尊重输入数据类型。
第二,细胞类型标签要和 marker 对照。尤其是 LSEC、portal endothelial、inflammatory macrophage、non-inflammatory macrophage 这类名称,如果没有 marker 支持,很容易变成只复述注释表。
第三,样本来源一定要看。人组织数据里,donor/sample 差异和技术处理会影响细胞组成。组成差异不应该被直接写成疾病或功能结论。
第四,低丰度群体不要过度拆。Hepatic stellate cells 只有 37 个,能展示、能 marker 复核,但不适合在这篇复现里做很细的亚群故事。
第五,signature 只是表达证据。Hepatocyte、LSEC、Kupffer/myeloid score 能帮助定位细胞群,但不能替代功能实验、组织定位或源论文统计模型。
主要结论 GSE115469 可以稳定复现人肝脏主要细胞生态:hepatocyte 相关亚群构成实质细胞主体,LSEC/portal endothelial 区域有明确内皮信号,inflammatory 和 non-inflammatory macrophage 相关群体能被髓系/Kupffer marker 支持。更有用的复现不只画一张 UMAP;关键在于把 processed matrix 边界、样本组成、marker 证据和源论文层级一起讲清楚。
这篇复现能作为哪些项目的模板?
- 人组织 atlas 复现:从公开矩阵恢复多个细胞系统共同构成的组织图谱。
- 肝脏细胞注释检查:用 hepatocyte、cholangiocyte、LSEC、macrophage 和免疫 marker 复核标签。
- macrophage 重点复核:围绕 inflammatory 与 non-inflammatory macrophage 构建清晰证据链。
- 样本组成检查:在 human tissue 数据中保留 sample 视角,避免过度解释。
- processed matrix 复现:明确输入矩阵边界,不把浮点表达值伪装成 raw count 流程。
- 报告结果图整理:将 UMAP、组成图、marker 和 signature 图转为汇报可用材料。
后续可以继续加深的方向
| 增强方向 | 价值 |
|---|---|
| macrophage 子集重分析 | 更细地区分 inflammatory、resident-like、monocyte-like 等状态 |
| LSEC/endothelial 子集分析 | 复核 periportal、central venous 和 portal endothelial 相关 marker |
| hepatocyte 亚群对照源论文 | 检查 hepatocyte 1-6 是否对应代谢或区域性差异 |
| 样本层面稳健性检查 | 确认关键 marker 和 composition 是否被单一样本驱动 |
| 与源论文结果图逐项对照 | 把公开复现图和原文关键结论逐项核查 |
| 面向报告的结果图重绘 | 统一 UMAP、composition、DotPlot 和 score 图风格 |
深度解读:这篇复现应该怎么读?
这篇 MacParland 人肝脏复现检查三件事:第一,GSE115469 的表达矩阵和 CellClusterType 注释表能否稳定对齐;第二,主要细胞类型是否能被 marker 和 signature 共同支持;第三,哪些结论只能停留在表达图谱层面,不能被写成空间生态位或机制解释。
1. 这篇复现回答了什么?
它回答的是“公开 processed matrix 是否仍然支持人肝脏主要细胞生态的重建”。从本文结果看,hepatocyte 1-6、cholangiocyte、periportal/central venous LSEC、portal endothelial cells、inflammatory/non-inflammatory macrophage、T/NK/B/plasma 和少量 stromal/erythroid 群体都能在 UMAP、组成图和 marker dotplot 中找到相互印证。
这已经足以支持 atlas 层面的复现:我们可以说这组公开数据能恢复肝实质细胞、内皮/LSEC、胆管、髓系/巨噬细胞和淋巴细胞等主要结构,也能围绕源论文关注的 macrophage 异质性做表达层面的检查。更进一步的机制解释,例如 inflammatory macrophage 的功能状态、组织定位和病理意义,则需要回到源论文实验、原始数据处理细节或额外验证。
2. processed matrix 会丢失什么信息?
小红书里有人问到 processed matrix 会丢失什么信息,这个问题非常关键。本文使用的是 GEO 提供的 GSE115469_Data.csv.gz,它是已经处理过的浮点表达矩阵,不是 FASTQ,也不是原始 UMI count matrix。因此它至少不能完整提供以下几类信息:
- 原始测序层面的信息:例如 reads 质量、比对率、barcode 纠错、UMI 去重、ambient RNA 校正、doublet 识别等。没有 FASTQ 或原始 count,就不能完整重做从测序到表达矩阵的上游流程。
- 严格的 raw count 统计属性:很多 QC 指标和差异分析模型假设输入是整数 count。processed expression 经过归一化、转换或作者自定义处理后,数值不再等价于原始分子计数。
- 作者过滤前的细胞和基因:processed matrix 通常只保留作者认为合格的细胞/基因。被过滤掉的低质量细胞、低表达基因、潜在 doublet 或边界细胞,无法在本文中重新评估。
- 部分样本处理和批次细节:矩阵可以保留
Sample标签,但不一定完整保留消化批次、建库批次、组织取材区域、细胞捕获效率等影响组成和状态解释的变量。 - 空间位置和组织结构证据:表达矩阵告诉我们某个细胞表达了什么基因,但不直接告诉我们这个细胞在肝小叶中靠近门静脉、中央静脉,还是位于某个具体微环境。
所以,processed matrix 很适合做“公开矩阵到可解释图谱”的复现,包括 UMAP、细胞类型组成、marker dotplot 和 signature score;但它不适合被写成“从原始数据完整复现源论文全部机制”的证据。
3. 为什么不能只靠 processed matrix 下门静脉/中央静脉区域结论?
MacParland 注释表里有 Periportal LSECs 和 Central venous LSECs,这些标签很有价值,但复现时必须区分“作者注释标签”和“本文可独立证明的空间位置”。本文可以复核的是:这些 LSEC/endothelial 相关细胞在 UMAP 上形成相对可见的区域,并且 PECAM1/VWF/KDR/STAB2/CLEC4G/FCN2 等内皮和 LSEC 相关基因支持其细胞身份。
但门静脉/中央静脉区域差异从证据层级看是组织空间问题。要把它写成确定的空间生态位,通常需要更直接的证据,例如取材区域信息、组织切片、免疫染色、原位杂交、空间转录组,或者源论文中已经完成的定位和统计验证。仅凭 processed expression matrix 和 UMAP,最多能说“表达特征与源注释中的 periportal / central venous LSEC 标签一致”,不能说“本文独立证明了这些细胞在真实组织空间中的区域位置”。
这也是回复读者时最应该讲清楚的地方:processed matrix 没有让结论失效,但它限定了结论层级。它支持表达层面的复核,不直接支持空间定位层面的证明。
4. 主要图应该怎么连起来读?
图 1 的 cell type UMAP 用来确认主要细胞系统是否能分开;图 2 的 sample UMAP 用来检查是否存在明显样本来源偏倚;图 3 和图 4 的组成图用来判断哪些群体细胞数足够、哪些群体应谨慎解释;图 5 的 marker dotplot 是细胞身份复核的主证据;图 6-8 的 signature 图则把 hepatocyte、LSEC/endothelial 和 Kupffer/myeloid 三条主线单独拿出来看。
这些图不能拆开单独讲。比如 macrophage 群体如果只在 UMAP 上分开,但缺少 C1QA/C1QB/CD68/MARCO/LST1/LYZ 支持,就不能放心解释;LSEC 标签如果有内皮 marker 支持,但没有空间定位证据,也不能直接扩展成区域生态位机制;hepatocyte 1-6 即使表达信号清楚,也不能自动等同于完整的肝小叶 zonation 模型。
5. 哪些地方不能过度解释?
这篇文章最容易过度解释三类内容:肝细胞分区、LSEC 空间区域和 macrophage 功能机制。本文的表达矩阵和结果图能支持“这些群体存在,并且 marker 方向合理”;但不能单独支持“每个 hepatocyte 亚群对应确定空间分区”“periportal/central venous LSEC 的真实组织生态位已经被本文证明”“inflammatory macrophage 的功能机制已经被 signature score 证明”。
严肃的复现应该把话说到证据能到达的位置。能用 marker 支持细胞身份,就写细胞身份;能用组成图提示比例结构,就写组成结构;能用 signature 提供表达线索,就写表达线索。涉及空间、机制、功能和临床意义时,如果本文没有直接证据,就写成源论文对照或后续分析方向。
6. 如果继续深入,下一步做什么?
如果要把这组数据继续做成项目级分析,下一步可以围绕三条线展开:第一,对 inflammatory 和 non-inflammatory macrophage 做子集重分析,检查 resident-like、monocyte-like、炎症相关和抗原呈递相关 marker 是否形成稳定状态;第二,对 periportal LSEC、central venous LSEC 和 portal endothelial cells 做内皮子集复核,并与源论文区域 marker 对照;第三,对 hepatocyte 1-6 做 zonation marker 和代谢相关基因对照,但结论需要保留“表达层面”的限定。
这些加深方向都应该继续遵守同一个原则:先确认数据层级,再确认 marker 证据,结尾处才讨论生物学解释。对于公开 processed matrix,最有价值的是把能复核的部分讲透,把不能复核的部分讲清楚。
小结
这次复现从 GEO GSE115469 的 processed expression matrix 和 CellClusterType 注释表出发,整理 8444 个人肝脏细胞,复现了 hepatocyte、cholangiocyte、periportal/central venous LSEC、portal endothelial、inflammatory/non-inflammatory macrophage、T/NK/B/plasma 和低丰度 stellate/erythroid 等主要结构。marker dotplot 和多基因 signature 支持主要标签,但解释时必须保留输入矩阵层级、样本来源和源论文机制边界。