查看原文
其他

你是喜欢错落有致还是竖立排列整齐

生信技能树 生信技能树 2022-08-15

最近遇到了很烦人的事情,就是一口气做了三百多个单细胞转录组项目(主要是GEO上面的),然后代码一直在修正和完善,尤其是可视化。并不是说自己要创造什么炫酷的可视化方式,以前我们做了一个投票:可视化单细胞亚群的标记基因的5个方法,下面的5个基础函数相信大家都是已经烂熟于心了:

  • VlnPlot(pbmc, features = c("MS4A1", "CD79A"))
  • FeaturePlot(pbmc, features = c("MS4A1", "CD79A"))
  • RidgePlot(pbmc, features = c("MS4A1", "CD79A"), ncol = 1)
  • DotPlot(pbmc, features = unique(features)) + RotatedAxis()
  • DoHeatmap(subset(pbmc, downsample = 100), features = features, size = 3)

就是这最基础的函数,用好就挺不容易的。简单的降维聚类分群,可以参考前面的例子:人人都能学会的单细胞聚类分群注释  ,我们演示了第一层次的分群。然后就需要挑选合适的基因在不同亚群里面展现一下,代码如下所示:

library(stringr)
genes_to_check=str_to_title(unique(genes_to_check))
genes_to_check
p <- DotPlot(sce.all, features = genes_to_check,
             assay='RNA' ,group.by = 'celltype' )  + coord_flip() 

p

这个最基础的DotPlot出图会比较难看,因为各个细胞亚群的名字拥挤到了一起!

比较难看

学过ggplot语法的小伙伴都知道如何调整,设置X坐标轴的字符串的方向即可:


th=theme(axis.text.x = element_text(angle = 45, 
                                    vjust = 0.5, hjust=0.5)) 

library(stringr)
genes_to_check=str_to_title(unique(genes_to_check))
genes_to_check
p <- DotPlot(sce.all, features = genes_to_check,
             assay='RNA' ,group.by = 'celltype' )  + coord_flip() #+th

p

如下所示,可以很清楚的看清楚各个细胞亚群啦!

树立的单细胞亚群

问题就是,每次我都懒得写这个代码,临时去谷歌搜索,不小心搜到了这样的一个代码:

 
p_all_markers=DotPlot(sce.all, features = genes_to_check,
                      assay='RNA' ,group.by = 'singleR' )  + 
  coord_flip()+ scale_y_discrete(guide = guide_axis(n.dodge = 2)) +
  NULL 

看起来也挺有意思的,效果如下所示:

错落有致

如果你感兴趣单细胞转录组数据处理,可以去follow我们的两个b站单细胞栏目,持续更新半年,基本上涵盖了大家需要的技能:

  • https://www.bilibili.com/video/BV1DK4y1X7bb/  更新至第8篇,「生信技能树」100个单细胞文献解读(8/100)
  • https://www.bilibili.com/video/BV19Q4y1R7cu/  section 3已更新,「生信技能树」单细胞公开课2021

如果是简单的降维聚类分群,可以参考前面的例子:人人都能学会的单细胞聚类分群注释  ,我们演示了第一层次的分群。

如果你对单细胞数据分析还没有基础认知,可以看基础10讲:

文末友情推荐

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存