【发布时间】:2022-07-07 02:03:54
【问题描述】:
我有一个Seurat 对象,我已经运行过doubletFinder。我正在尝试根据seurat_object@meta.data[["DF.classifications_0.25_0.03_252"]] 下被归类为“Singlet”的单元格对对象进行子集化,并且可以通过执行以下操作来实现:
seurat_object <- subset(seurat_object, subset = DF.classifications_0.25_0.03_252 == 'Singlet') #this approach works
我想自动化这个过程,但DF.classifications_0.25_0.03_252 的_0.25_0.03_252 是基于预先计算的值,并且不会提前知道。我可以通过执行以下操作来弄清楚它是什么:
meta_data = colnames(seurat_object@meta.data)[grepl("DF.classification", colnames(seurat_object@meta.data))]
其中meta_data = 'DF.classifications_0.25_0.03_252' 是一个字符类。
但是,当我尝试执行以下任何操作时:
seurat_object <- subset(seurat_object, subset = meta_data == 'Singlet') #this approach does not recognize meta_data
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data$meta_data == 'Singlet') #this approach does not work
seurat_object <- subset(seurat_object, subset = seurat_object@meta.data[[meta_data]] == 'Singlet') #this approach does not work
我收到一条错误消息:
Error in FetchData(object = object, vars = unique(x = expr.char[vars.use]), :
None of the requested variables were found:
Calls: remove_doublets ... subset.Seurat -> WhichCells -> WhichCells.Seurat -> FetchData
Execution halted
我不知道如何使用meta_data 变量执行条件匹配。有谁知道我如何自动化子集流程? 提前非常感谢。
【问题讨论】: