转自西湖小明的帖子可直接用的Seurat单细胞转录组整合(去批次)流程,最新版整理
整理了一个到手就能直接用的脚本,根据Seurat官方最新流程总结
1、Seurat整合流程
有两个包建议先安装了,这是seurat在SCTransform中附加的插件,能更快的处理数据
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install("glmGamPoi")
install.packages("sctransform")
可直接调用的代码,需要修改的参数已标记,详解在后面。
两个单细胞样本的整合举例
library(Seurat)
library(sctransform)
library(glmGamPoi)
mat1 <- Read10X(dir1)#任意一个seurat识别的矩阵数据框
data1 <- CreateSeuratObject(counts = mat1, project = 'sample1')
mat2 <- read.table(dir2)#同理任意一个
data2 <- CreateSeuratObject(counts = mat2, project = 'sample2')
dataset_list <- list(data1,data2)
dataset_list <- lapply(dataset_list,function(object) {
object <- PercentageFeatureSet(object, pattern = "^MT-", col.name = "percent.mt")
object <- subset(object,subset = nCount_RNA >* &nCount_RNA <* & percent.mt < *)#参数过滤细胞
object <- SCTransform(object,verbose = FALSE,vst.flavor="v2",method = "glmGamPoi",vars.to.regress = "percent.mt")
})
integration_features <- SelectIntegrationFeatures(object.list = dataset_list,nfeatures = 3000)
dataset_list <- PrepSCTIntegration(object.list = dataset_list, anchor.features = integration_features)
integration_anchors <- FindIntegrationAnchors(object.list = dataset_list, normalization.method = "SCT", anchor.features = integration_features)
integrated <- IntegrateData(anchorset = integration_anchors,normalization.method = "SCT")
integrated <- RunPCA(object = integrated, npcs = 30, verbose = FALSE)
integrated <- RunUMAP(object = integrated, reduction = "pca", dims = 1:30)
integrated <- FindNeighbors(object = integrated, reduction = "pca", dims = 1:30)
#DefaultAssay(integrated) <- "integrated"
integrated <- FindClusters(integrated,resolution = 1)#调分辨率
2、UMAP
p1 <- DimPlot(pancreas.integrated, reduction = "umap", group.by = "tech")
p2 <- DimPlot(pancreas.integrated, reduction = "umap", group.by = "celltype", label = TRUE,
repel = TRUE) + NoLegend()
plot_grid(p1, p2)

plots <- DimPlot(pancreas.integrated, group.by = c("tech", "celltype"), combine = FALSE)
plots <- lapply(X = plots, FUN = function(x) x + theme(legend.position = "top") + guides(color = guide_legend(nrow = 3, byrow = TRUE, override.aes = list(size = 3))))
CombinePlots(plots)

DimPlot(immune.combined, reduction = "umap", split.by = "stim")

参考:
单细胞测序数据整合分析示例 - 简书 (jianshu.com)
单细胞36计之2围魏救赵---单细胞转录组的整合方法 - 简书 (jianshu.com)
网友评论