library(Seurat)
library(cowplot)
library(harmony)
load('data/pbmc_stim.RData')
创建seurat对象
在原有的seurat CCA整合中,每个样本的matrix都被单独读入成为一个seurat object,整合是对若干个seurat object进行的。但在Harmony中应将所有样本matrix合并后直接读入成一个seurat object.
pbmc <- CreateSeuratObject(counts = cbind(stim.sparse, ctrl.sparse), project = "PBMC", min.cells = 5) %>%
Seurat::NormalizeData(verbose = FALSE) %>%
FindVariableFeatures(selection.method = "vst", nfeatures = 2000) %>%
ScaleData(verbose = FALSE) %>%
RunPCA(pc.genes = pbmc@var.genes, npcs = 20, verbose = FALSE)
应确保分组信息在seurat metadata中,此处用‘stim’变量表示
pbmc@meta.data$stim <- c(rep("STIM", ncol(stim.sparse)), rep("CTRL", ncol(ctrl.sparse)))
可以看出,未整合的数据异质性非常大
options(repr.plot.height = 5, repr.plot.width =