以前跑過(guò)很多次的單細(xì)胞整合分析埋嵌,很多時(shí)候都因?yàn)闆](méi)有很好的總結(jié)就得重新寫(xiě)浪費(fèi)時(shí)間
現(xiàn)如今整理了一個(gè)到手就能直接用的腳本破加,根據(jù)Seurat官方最新流程總結(jié)
- 可直接調(diào)用的代碼,需要修改的參數(shù)已標(biāo)記雹嗦,詳解在后面
兩個(gè)單細(xì)胞樣本的整合舉例
library(Seurat)
library(sctransform)
library(glmGamPoi)
mat1 <- Read10X(dir1)#任意一個(gè)seurat識(shí)別的矩陣數(shù)據(jù)框
data1 <- CreateSeuratObject(counts = mat1, project = 'sample1')
mat2 <- read.table(dir2)#同理任意一個(gè)
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 < *)#參數(shù)過(guò)濾細(xì)胞
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)#調(diào)分辨率
有兩個(gè)包建議先安裝了范舀,這是seurat在SCTransform中附加的插件,能更快的處理數(shù)據(jù)
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install("glmGamPoi")
install.packages("sctransform")