更多内容请访问个人公众号---KS科研分享与服务---
接上节(跟着Cell学单细胞转录组分析(二):单细胞转录组测序文件的读入及Seurat对象构建)。
构建完Seurat对象之后,我们还需对数据进行一些列的质控,参能进行降维聚类分析,QC对于后续的分析影响还是比较大的,所以要重视。
一般下游分析QC包含:
细胞基因检出数,低质量细胞基因检出数通常较低,双细胞或者同时捕获多个细胞会有很高的基因数。所以要去除低质量的,和过高的细胞。
细胞检测出的分子数
线粒体基因比例,一般低质量细胞或者死细胞线粒体基因检出数很高。但是特殊情况特殊对待,有些细胞功能活跃,线粒体活跃,检出数自然也会很高。所以不能一刀切。
先计算下线粒体基因比例,用小提琴图展示指控前指标。
GM[["percent.mt"]] <- PercentageFeatureSet(GM,pattern = "^MT-")
BM[["percent.mt"]] <- PercentageFeatureSet(BM,pattern = "^MT-")
preQC_GM <- VlnPlot(GM, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"),
ncol = 3,
group.by = "orig.ident",
pt.size = 0)
preQC_BM <- VlnPlot(BM, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"),
ncol = 3,
group.by = "orig.ident",
pt.size = 0)
preQC_GM:
image.png
preQC_BM:
图片
接下来,按照《Cell》原文章中的标准进行质控。
GM <- subset(GM, subset = nFeature_RNA > 200 & nFeature_RNA < 5000 & percent.mt < 15)
BM <- subset(BM, subset = nFeature_RNA > 200 & nFeature_RNA < 5000 & percent.mt < 15)
postQC_GM <- VlnPlot(GM, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"),
ncol = 3,
group.by = "orig.ident",
pt.size = 0)
postQC_BM <- VlnPlot(BM, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"),
ncol = 3,
group.by = "orig.ident",
pt.size = 0)
postQC_GM:
图片
postQC_BM:
图片
文章中还对质控前后的细胞数进行了对比,这里不再演示,没啥意义。接下来就是将两个数据合并,去除批次效应,整合成一个seurat对象进行下游降维。
BM <- NormalizeData(BM)
BM <- FindVariableFeatures(BM, nfeatures = 4000)
GM <- NormalizeData(GM)
GM <- FindVariableFeatures(GM, nfeatures = 4000)
#数据标准化及计算高变基因
使用FindIntegrationAnchors合并数据,IntegrateData去除批次效应,当然还有其他的函数可以选择,原文作者使用了这种。最后将得到的数据保存。
sampleList <- list(GM, BM)
scedata <- FindIntegrationAnchors(object.list = sampleList, dims = 1:50)
scedata <- IntegrateData(anchorset = scedata, dims = 1:50)
save(scedata, file = "scedata.RData")
这个质控还是比较简单的,但是要控制数据质量要从细胞收集开始,上机测序也要质控,各个环节都做好,才能最大程度保证数据的可靠性。下节开始,单细胞数据的降维聚类!