更新函数pseudo_cell可以处理更大的数据集合(100w以上)
R-scripts-for-task/pseudo_cell func.r at main · Nh-code/R-scripts-for-task (github.com)
以下方法对小型数据集(<10w细胞)的Seurat对象对表达矩阵进行分组合并细胞,返回拟细胞seurat对象。
library(Seurat);library(dplyr);set.seed(123)
#define a pseudo_cell func
pseudocell <- function(object,group="orig.ident",group_n=10){
object@meta.data <- object@meta.data %>% mutate(cellN=colnames(object)) %>% group_by(get(group)) %>%
mutate( bins.no = rep(1:ceiling(n()/group_n), each=group_n, length.out=n()) ) %>%
mutate(pseudo_label=paste0(get(group),"_N.",bins.no)) %>% tibble::column_to_rownames('cellN') %>%
data.frame()
object_mini <- AverageExpression(object = object,group.by = "pseudo_label",slot = 'counts',return.seurat = TRUE)
return(object_mini)
}
##object:seurat对象;group:指定metadata表细胞类型列

该博客介绍了如何使用R语言的`pseudocell`函数来处理大规模的Seurat对象,特别是针对超过100万个细胞的数据集。此函数通过将相同类型细胞合并为伪细胞,降低了数据复杂性。示例展示了如何对小型数据集(小于10万个细胞)进行操作,并提供了创建和应用`pseudocell`函数的代码片段。最后,通过一个简单的Seurat对象示例演示了如何压缩细胞并查看压缩后的表达矩阵。
最低0.47元/天 解锁文章
9779

被折叠的 条评论
为什么被折叠?



