单细胞转录组数据分析入门:从下机数据到细胞图谱

← 返回技术干货

单细胞转录组测序(scRNA-seq)让我们能在单个细胞分辨率下刻画组织的细胞组成与状态。相比 bulk RNA-seq,它的分析更复杂、坑也更多。本文以 10x Genomics 数据为例,把标准流程讲清楚。

流程总览

从 Cell Ranger 输出的表达矩阵开始,典型流程是:质控 → 归一化 → 高变基因 → 降维 → 聚类 → 注释。下面逐步拆解,并用 Seurat 举例。

第一步:质控与双胞过滤

原始矩阵里混着空液滴、破损细胞和双胞(一个液滴包了两个细胞)。常用三个指标过滤:

  • nFeature_RNA(每个细胞检测到的基因数):过低是空液滴或破损细胞,过高常是双胞;
  • nCount_RNA(UMI 总数):同理设上下限;
  • 线粒体基因比例(percent.mt):比例过高(如 > 10–20%,依组织而定)说明细胞已破损、胞质 RNA 流失。
阈值没有万能值。不同组织、不同解离方案差异很大——务必先看分布图再定切点,别照搬教程里的数字。

双胞还可以用 DoubletFinder、scrublet 等专门工具基于模拟双胞进一步识别,比单纯卡 nFeature 上限更可靠。

library(Seurat)
seu <- CreateSeuratObject(counts, min.cells = 3, min.features = 200)
seu[["percent.mt"]] <- PercentageFeatureSet(seu, pattern = "^MT-")
seu <- subset(seu, nFeature_RNA > 500 & nFeature_RNA < 5000 & percent.mt < 15)

第二步:归一化与高变基因

测序深度在细胞间差异很大,需先归一化(LogNormalize 或更稳健的 SCTransform)。随后挑选 2000 个左右高变基因(HVG)——这些基因承载了细胞间的主要差异,后续降维只用它们,既降噪又提速。

第三步:降维与聚类

先用 PCA 把高变基因压缩到几十个主成分,再基于主成分做:

  • UMAP / t-SNE:二维可视化,把细胞"摊"到平面上看群体结构;
  • 图聚类(Louvain/Leiden):在 KNN 图上聚类得到细胞簇。

关键参数是聚类分辨率(resolution):调高分得细、调低分得粗。没有"正确值",要结合 marker 是否清晰、生物学是否讲得通来定。

seu <- NormalizeData(seu) |> FindVariableFeatures() |> ScaleData()
seu <- RunPCA(seu) |> RunUMAP(dims = 1:30)
seu <- FindNeighbors(seu, dims = 1:30) |> FindClusters(resolution = 0.5)

第四步:marker 鉴定与细胞注释

对每个簇做差异表达,找出特异高表达的 marker 基因,再结合已知标志物或参考图谱给簇命名(如 CD3D→T 细胞、CD79A→B 细胞)。也可以用 SingleR、CellTypist 等自动注释工具先打底,再人工校正。注释是单细胞分析里最考验生物学背景的一步。

常见误区

  • 过度聚类:分辨率拉太高,把一个细胞类型的连续状态硬切成多个"假"簇;
  • 忽视批次效应:多样本直接合并,结果按样本而非细胞类型聚类。需用 Harmony、Seurat integration 或 scVI 做整合;
  • 线粒体阈值一刀切:心肌、肝等高代谢组织本底线粒体就高,套用通用阈值会误删真细胞;
  • 只看 UMAP 距离下结论:UMAP 的簇间距离不代表真实相似度,定量比较要回到表达和聚类层面。

单细胞分析的难点不在跑通流程,而在每一步的参数判断与生物学解读。如果你有 scRNA-seq、单细胞 ATAC 或空间转录组数据需要分析——从标准流程到轨迹推断、细胞通讯、跨样本整合,欢迎联系我们。

需要单细胞数据分析?

单细胞转录组 / ATAC / 空间组学,聚类注释、轨迹推断、细胞通讯一站式分析

免费咨询方案 →