CreateSeuratObject时遇到Some cells in meta.data not present in provided counts matrix

我把 h5ad文件导入R用来创建Seurat对象时,遇到了以下问题:

library(Seurat)
library(anndata)

ad <- read_h5ad("adata.h5ad")
de_count = t(as.matrix(ad$X))
meta <- ad$obs 
de_cell_type = data.frame(Barcode = rownames(meta),Cluster = meta$cell_type)


seu_obj <- CreateSeuratObject(counts = de_count, meta.data = de_cell_type, assay = 'Spatial')

报错信息是:

Warning message:
In CreateSeuratObject.default(counts = de_count, meta.data = de_cell_type,  :
  Some cells in meta.data not present in provided counts matrix

这会导致有些细胞的注释是错误的,具体来说,在原始的注释矩阵中:

r$> de_cell_type$Cluster %>% as.character() %>% unique()
#[1] "CD8T"                      "Endothelial"               "Malignant"                 "Fibroblasts"               "SMC"                       "Endometrial stromal cells"
#[7] "Mono Macro" 

可以看到一共有7个细胞类型。

但是在创建好的seurat对象中查看注释:

r$> seu_rat@meta.data$Cluster %>% as.character() %>% unique()
#[1] NA                          "Fibroblasts"               "Malignant"                 "SMC"                       "Endothelial"               "CD8T"                     
#[7] "Endometrial stromal cells" "Mono Macro" 

可以看到多了一个NA,说明有些细胞注释失败了。

虽然不知道是为什么,但是可以用以下办法解决:

解决办法:

把输入进CreateSeuratObject函数的注释矩阵de_cell_type的行名设置成Barcode(与输入的counts矩阵的列名Barcode一致)

rownames(de_cell_type) <- de_cell_type$Barcode

如果我没解释清楚的请随时提问。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值