3.1 质控
刘小泽写于19.12.3-4 ,更新于2020-06-26
scRNA-seq数据的低质量文库可能来自于:细胞分选环节的破坏、文库制备失误(没有足够的反转录或PCR次数)... 表现在:细胞总表达量低、基本没有表达的基因、高线粒体或spike-in占比。
它带来的下游分析问题有:
- 聚类问题:这些低质量细胞肯定是最相似的了,“近朱者赤近墨者黑”,它们也会聚集成一群,对结果的解释造成干扰,因为从这群细胞中得不到什么有用的信息,但是它的确也是一群。这种现象产生的原因有可能是:细胞破坏以后,线粒体或核RNAs占比升高。 最差的情况就是:不同类型的低质量细胞,也能聚在一起,因为相比于固有的生物差异,更相似的低质量让它们相依相偎。除此以外,本来非常小的细胞文库也能聚成一群,因为log转换后它们的平均表达量会发生很大的变化(A. Lun 2018).这篇文章举了个例子:另外还说:
- Artifacts are most pronounced when the counts are low and there is large variation in the size factors across cells
- Quality control is typically performed to remove cells with small library sizes. This reduces the variation in the size factors and the potential for artificial differences upon log-transformation
- Low-abundance genes can be filtered out, which provides further protection as genes with low counts are most affected by the log-transformation
- 差异估算或主成分选择:首先在PCA分析时,低质量和高质量之间的差异相比于生物学差异会体现更明显,占据主要的成分,减少降维结果的可靠性。另外,某个基因可能在两个细胞之间没什么表达差异,但是如果所处环境差异很大(一个细胞质量很低,另一个细胞质量正常),那么在差异估算过程中,就会把这个差异也会被当成差异表达基因。例如:一个低质量细胞文库的总表达量非常低(接近0),但恰巧还存在一个基因有表达量,那么这个基因的表达量在后续的文库归一化过程中就会尤为突出
- 意外发现奇怪的转录本上调:实验难免会混入外源的污染转录本,但这个量很少并且在所有细胞中都应该是差不多水平的。但如果某个细胞质量低,文库小,那么在校正文库差异过程中(就像上 面👆说的一样),其中的污染转录本表达量就会“突飞猛进”,看起来是一些明显上调的“奇怪基因”。实际上,这些奇怪的基因依然在其他细胞中存在,并且真实的表达量差不多,并且是不应该占据主体地位的
为了最大程度避免上面一种或多种情况的发生,应该在归一化之前去掉这些低质量的细胞,这个过程就是细胞的质控 (尽管对于droplet-based数据来讲,一个液滴/文库未必是一个细胞,因为存在没细胞dropout和双细胞doublet,甚至是多细胞的情况;但是这里为了方便介绍,不对”cell“和”library“名词进行区分)
# BiocManager::install("scRNAseq")
library(scRNAseq)
sce.416b <- LunSpikeInData(which="416b")
需要注意的是,在下载数据的时候,它需要在/home下新建一个目录,问你yes/no

如果你对/home目录没有操作权限,那么就会报错:

当然,如果不能新建也没有关系,我已经把这个数据替大 家保存成了RData并放到了网盘,直接下载后加载就好
load('sce.416b.RData')
# 看到有两个96孔板的细胞
> table(sce.416b$block)
20160113 20160325
96 96
sce.416b$block <- factor(sce.416b$block)
> sce.416b
class: SingleCellExperiment
dim: 46604 192
metadata(0):
assays(1): counts
rownames(46604): ENSMUSG00000102693 ENSMUSG00000064842 ... ENSMUSG00000095742 CBFB-MYH11-mcherry
rowData names(1): Length
colnames(192): SLX-9555.N701_S502.C89V9ANXX.s_1.r_1 SLX-9555.N701_S503.C89V9ANXX.s_1.r_1 ...
SLX-11312.N712_S508.H5H5YBBXX.s_8.r_1 SLX-11312.N712_S517.H5H5YBBXX.s_8.r_1
colData names(9): Source Name cell line ... spike-in addition block
reducedDimNames(0):
spikeNames(0):
altExpNames(2): ERCC SIRV
鉴定细胞是否是低质量的,需要用到几个指标。虽然下面这些指标是使用SMART-seq2数据进行展示的,但依然适用于UMI数据(比如MARS-seq、droplet-based技术)
- 文库大小(library size) :指的是每个细胞中所有基因的表达量之和。细胞的文库如果很小,说明在文库制备过程中存在RNA的损失,要么是由于细胞裂解,要么是cDNA捕获不足导致后续的扩增量少
- 每个细胞中表达基因的数目(number of expressed features in each cell):指的是细胞中非0表达量的基因数量。如果细胞中基本没有基因表达,很可能是转录本捕获失败
- 比对到spike-in转录本的reads比例(proportion of reads mapped to spike-in transcripts):计算方法是 :
spike-in counts / all features (including spike-ins) for each cell
。每个细胞都应该加入等量的外源转录本(spike-in),如果哪个细胞的spike-in比例提高了,说明它的内源RNA含量减少(比如在细胞分选阶段出现的细胞裂解或者RNA降解) - 比对到线粒体基因组的reads比例(proportion of reads mapped to genes in the mitochondrial genome) :如果没有spike-in,那么使用线粒体指标也是能说明问题的(Islam et al. 2014; Ilicic et al. 2016)。比对到线粒体的reads增多,说明细胞质中的RNA减少,可能存在细胞穿孔的情况,而这个孔的大小,可能只是将细胞质中存在的mRNA流出去,但线粒体的体积超过了孔的大小,所以还留在了细胞中,造成一定程度的富集,导致线粒体RNA占比升高。