一种快速而肮脏的方法是在合并Seurat 对象之前添加信息:
...
so_samples[[1]]@meta.data$treatment <- "control"
so_samples[[2]]@meta.data$treatment <- "control"
so_samples[[3]]@meta.data$treatment <- "control"
so_samples[[4]]@meta.data$treatment <- "control"
so_samples[[5]]@meta.data$treatment <- "treated"
so_samples[[6]]@meta.data$treatment <- "treated"
...
anchors <- FindIntegrationAnchors(object.list = so_samples, dims = 1:20)
so_all_samples <- IntegrateData(anchorset = anchors, dims = 1:20)
通常,最好从文件中加载此类元数据并将其连接到 seurat 对象,而无需此类容易出错的复制粘贴代码。另请注意,像这样修改 R S4 对象(可以使用 访问元素的对象)通常是一个坏主意@
,但是 Seurat 包提供的用于修改 Seurat 对象的函数使用起来非常麻烦,我怀疑它们会永远改变底层的数据结构。