美文网首页
单细胞UMAP图只标记特定细胞群、圈定细胞群及坐标轴修改

单细胞UMAP图只标记特定细胞群、圈定细胞群及坐标轴修改

作者: KS科研分享与服务 | 来源:发表于2023-01-08 10:38 被阅读0次

    最近有小伙伴私信我,如下的单细胞UMAP图怎么做?是啥样的图呢?就是UMAP图上其他群是灰色的,只有某个群或者某几个群是标记颜色的,比较突出。其实很简单,一种办法可参考我们之前写过的ggplot做UMAP图(****Nature作图也出错:单细胞UMAP/TSNE图的ggplot做法与修饰****),设置颜色即可!

    图片

    另外一种办法也是非常的朴实,seurat中的Dimplot函数就可以实现,先画一个图,看颜色顺序,其他的群设置为灰色,需要标注的群设置为需要的颜色即可!

    
    #标记颜色
    library(Seurat)
    DimPlot(scedata, label = T, cols = cluster_cols,repel = T)
    length(unique(scedata$singler))
    colors <- c("grey","#FB8072","grey","#7BAFDE","grey",
                "grey","grey","grey","grey","grey",
                "grey","grey","grey","grey","grey")
    DimPlot(scedata, label = T, cols = colors,repel = T)+
      NoLegend()
    
    图片

    ==================2===================

    至此我们今天的内容还没有结束,不然也太水了。之前我们在将UMAP图修饰的时候,提到过要把特定群框起来需要用置信函数或者手动操作,这里发现一个包ggunchull,可以有效的圈起来需要的群,需要在ggplot作图,所以先提取数据。只需要仔细调节其中的参数就可以完成(stat_unchull函数中的nbin、nsm 、qval 、sfac )。效果也是可以的,虽然没有手动的自在!

    devtools::install_github("sajuukLyu/ggunchull", type = "source")
    library(ggunchull)
    library(ggplot2)
    data <- as.data.frame(scedata[["umap"]]@cell.embeddings)
    data$celltype <- scedata$singler
    colnames(data)
    ggplot(data, aes(x = UMAP_1, 
                     y = UMAP_2, 
                     fill = celltype,
                     color = celltype)) +
      stat_unchull(data=subset(data, celltype=="B_cell"),
                   alpha = 0.2, 
                   size = 0.5,
                   show.legend = F,
                   nbin = 300, 
                   nsm = 20,
                   qval = 0.8,
                   sfac = 1.5) +
      geom_point(size = 1) +
      theme_classic()+
      theme(axis.text = element_text(colour = 'black', size = 12))+
      scale_fill_manual(values = cluster_cols) +
      scale_color_manual(values = cluster_cols)
    

    图片

    ==================3===================

    没错,还有还有,之前文章(****Nature作图也出错:单细胞UMAP/TSNE图的ggplot做法与修饰****)提到ggplot对UMAP坐标轴的修饰,还是有点复杂,不过原理如此。这里介绍一个Y叔的R包tidydr(其他功能感兴趣还是值得探索学习的),可以一键得到相应的坐标轴,可以与之前的文章结合了。****

    
    install.packages("tidydr")
    library(tidydr)
    ggplot(data, aes(x = UMAP_1, 
                     y = UMAP_2, 
                     fill = celltype,
                     color = celltype)) +
      stat_unchull(data=subset(data, celltype=="B_cell"),
                   alpha = 0.2, 
                   size = 0.5,
                   show.legend = F,
                   nbin = 300, 
                   nsm = 20,
                   qval = 0.8,
                   sfac = 1.5) +
      geom_point(size = 1) +
      theme_dr()+
      theme(panel.grid.major = element_blank(),
            panel.grid.minor = element_blank())+
      scale_fill_manual(values = cluster_cols) +
      scale_color_manual(values = cluster_cols)
    
    图片

    这样就方便多了!!!以上就是这期全部内容了,希望对你有帮助,觉得有用的,分享一下,点个赞、点一下再看呗,谢谢支持!
    更多精彩请至我的公众号---KS科研分享与服务

    相关文章

      网友评论

          本文标题:单细胞UMAP图只标记特定细胞群、圈定细胞群及坐标轴修改

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