美文网首页单细胞学习
Seurat V5升级:sketch-based分析后DotPl

Seurat V5升级:sketch-based分析后DotPl

作者: myshu | 来源:发表于2024-01-04 13:45 被阅读0次

    最近在研究seurat v5的数据处理。测试的时候发现使用seurat v5包对大数据进行sketch-based抽样分析之后,后续使用DotPLit进行绘图的时候会报错:

    DotPlot(object = obj, features = "Cd79a")
    dev.off()
    
    报错信息

    通过查看源码发现是在这一步出现了问题:


    DotPlot函数源码部分截图

    具体出现的问题是由于抽平之后有很多cells的cluster名称由于没有参与聚类而变成了<NA>(可以通过Idents(obj)查看)。

    存在<NA>

    所以导致后面提取数据的时候出现了错乱,我们需要将NA变成字符串的“NA”。具体的做法如下:

    idents <- Idents(object)  # 获取原始的idents,是按照0、1、2类似这样的
    Idents(combined) <- as.factor(ifelse(is.na(Idents(combined)), "NA", as.character(Idents(combined)))) # 将<NA> => NA 字符串,这时候可以发现顺序乱了
    Idents(combined) <- ordered(Idents(combined)  , levels = levels(idents))  # 重新按照原来的顺序排序
    DotPlot(object = combined, features = "Cd79a", idents=idents)  # 需要在这里增加指定idents的参数
    dev.off()
    

    最后大功告成,可以顺利出图了。


    相关文章

      网友评论

        本文标题:Seurat V5升级:sketch-based分析后DotPl

        本文链接:https://www.haomeiwen.com/subject/wuxbndtx.html