单细胞数据标准化

我们在得到单细胞数据raw count以后,需要对单细胞进行一个标准化处理,然后再进行下游分析。

在scRNA-seq中,由于每个细胞的起始转录分子量有限,每个细胞中转录本的捕获以及扩增效率都会有技术差异,因此很难保证样本之间在文库制备上保持高度的一致性。这也造成了多个样本的测序数据中会存在由于文库测序覆盖率(sequencing coverage) 不同而引入的系统差异。数据的标准化目的就是消除这些差异,使得我们得到的分析结果不受技术噪音的影响。

一般地标准化有两类:第一是seurat包里的函数normalize,计算了CPM,每百万的reads数,将基因的count数除以该细胞的总read count数,然后乘与1000000,最后再进行log2(n+1)的转换

另外一种,R包scran,scran中的标准化使用computeSumFactors()函数,该过程是基于反卷积方法:先合并许多细胞的计数以避免drop-out问题,然后将基于池的量化因子(scale factor)“去卷积”为cell-based factors,以进行特定细胞的标准化。

代码:

需要用到的包:scran,scRNAseq,scuttle

构建sce对象,将表达矩阵转换为sce对象,符合scran的输入格式

library(scran)

library(scRNAseq)

library(scuttle)

f1 <- read.csv("./10x/sc_CountMatrix.txt",sep="\t",row.names = 1)

sce <- SingleCellExperiment(assays = list(counts = f1))

clusters <- quickCluster(sce)

sce <- computeSumFactors(sce, clusters=clusters)

sce <-computeSpikeFactors(sce)

sce <- logNormCounts(sce)

sce@assays@data$logcounts #标准化后的数据提取

你可能感兴趣的:(单细胞数据标准化)