Splits object based on a single attribute into a list of subsetted objects, one for each level of the attribute. For example, useful for taking an object that contains cells from many patients, and subdividing it into patient-specific objects.
SplitObject(object, split.by = "ident")
Seurat object
Attribute for splitting. Default is "ident". Currently only supported for class-level (i.e. non-quantitative) attributes.
A named list of Seurat objects, each containing a subset of cells from the original object.
data("pbmc_small")
# Assign the test object a three level attribute
groups <- sample(c("group1", "group2", "group3"), size = 80, replace = TRUE)
names(groups) <- colnames(pbmc_small)
pbmc_small <- AddMetaData(object = pbmc_small, metadata = groups, col.name = "group")
obj.list <- SplitObject(pbmc_small, split.by = "group")