R语言处理单细胞表达矩阵合并拟细胞(pseudocell)对表达矩阵进行压缩

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

更新函数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表细胞类型列
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪桦

有帮助的话请杯咖啡吧,谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值