Seurat单细胞转录组整合流程(SCTransform标准化)

转自西湖小明的帖子可直接用的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)
image.png
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)
image.png
DimPlot(immune.combined, reduction = "umap", split.by = "stim")
image.png
参考:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容