1、Feature
在单细胞转录组分析中,Feature指的是基因。每个细胞都会检测到一定数量的基因表达,这些基因就是该细胞的 Features。一般受到损伤的细胞检测到的基因数较少,而双细胞由于两个细胞的基因表达被合并,因此检测到的基因数量会显著增加,因此通常会设定基因数在某个范围以筛选高质量细胞。
2、Count
Count表示每个细胞中检测到的总分子数,通常基于 UMI(Unique Molecular Identifier)计数。一般当细胞损伤、死亡等问题导致RNA降解,检测到的nCount数会减少,而双细胞或污染则会导致其过高。不过许多文章更倾向于结合 nFeatures、线粒体基因比例等指标进行质控,而不对nCount进行限制,因为nCount和nFeature一般来说是线性关系,而nFeature的高低在反应细胞状态上可能更具有特异性,因此仅采用nFeature。
3、线粒体比例
线粒体基因比例表示每个细胞中线粒体基因的转录本占总转录本的比例。细胞损伤、应激状态下可能会偏高,不过在特定的细胞类型例如心肌细胞、肝细胞等本身线粒体基因表达就较高,要注意甄别。4、代码实现质控
在Seurat对象中,nFeature、nCount以及percent.mt都在meta.data中。
而如果是新的Seurat对象是没有percent.mt的,需要运行以下代码:
Seurat_obj <- PercentageFeatureSet(Seurat_obj, pattern = "^mt-")
#如果样本为人,则是"^MT-"
最后进行质控的代码如下:
Seurat_obj <- subset(Seurat_obj,
subset = nFeature_RNA>200
& nFeature_RNA<4000
& percent.mt<20)
#需要根据数据动态调整
我们还应该注意在前期创建Seurat对象的时候使用的代码
seurat_obj <- CreateSeuratObject(
counts = data,
project = sample_name,
min.cells = 3,
min.features = 200)
这里面其实也对于细胞和基因进行了质控!min.cells = 3代表某基因最少在3个细胞中表达,否则则去除该基因;min.features = 200代表该细胞至少表达200个基因,否则去除该细胞。