https://satijalab.org/seurat/articles/integration_introduction.html
这些方法首先识别处于匹配生物状态(“锚定”)的跨数据集细胞对,既可用于校正数据集之间的技术差异(即批效应校正),也可用于对跨实验条件进行比较性scRNA序列分析。
library(Seurat) library(SeuratData) # InstallData("ifnb") LoadData("ifnb") # load dataset LoadData("ifnb") # split the dataset into a list of two seurat objects (stim and CTRL) ifnb.list <- SplitObject(ifnb, split.by = "stim") # normalize and identify variable features for each dataset independently ifnb.list <- lapply(X = ifnb.list, FUN = function(x) { x <- NormalizeData(x) x <- FindVariableFeatures(x, selection.method = "vst", nfeatures = 2000) }) # select features that are repeatedly variable across datasets for integration features <- SelectIntegrationFeatures(object.list = ifnb.list) length(features) immune.anchors <- FindIntegrationAnchors(object.list = ifnb.list, anchor.features = features) # this command creates an 'integrated' data assay immune.combined <- IntegrateData(anchorset = immune.anchors) # specify that we will perform downstream analysis on the corrected data note that the # original unmodified data still resides in the 'RNA' assay DefaultAssay(immune.combined) <- "integrated"
Run the standard workflow for visualization and clustering immune.combined <- ScaleData(immune.combined, verbose = FALSE) immune.combined <- RunPCA(immune.combined, npcs = 30, verbose = FALSE) immune.combined <- RunUMAP(immune.combined, reduction = "pca", dims = 1:30) immune.combined <- FindNeighbors(immune.combined, reduction = "pca", dims = 1:30) immune.combined <- FindClusters(immune.combined, resolution = 0.5) # Visualization p1 <- DimPlot(immune.combined, reduction = "umap", group.by = "stim") p2 <- DimPlot(immune.combined, reduction = "umap", label = TRUE, repel = TRUE) p1 + p2
图片alt
https://satijalab.org/seurat/articles/merge_vignette.html