单细胞测序单细胞测序分析

桑基图:不同分辨率下的细胞分群可视化

2022-02-04  本文已影响0人  Hayley笔记

单细胞绘图系列:


多分辨率下的分群变化桑基图

常规的树状图画法

library(Seurat)
library(SeuratData)
library(clustree)
pbmc <- readRDS("pbmc.rds")
pbmc <- FindClusters(
  object = pbmc,
  resolution = c(seq(0,1.6,.2))
)
clustree(pbmc@meta.data, prefix = "RNA_snn_res.")

桑基图画法

#install.packages("ggalluvial")
library(ggalluvial)
library(tidyverse)

head(pbmc@meta.data)
ggplot(data = pbmc@meta.data,
       aes(axis1 = RNA_snn_res.0, axis2 = RNA_snn_res.0.2,axis3 = RNA_snn_res.0.4, 
           axis4 = RNA_snn_res.0.6,axis5 = RNA_snn_res.0.8,axis6 = RNA_snn_res.1,
           axis7 = RNA_snn_res.1.2,axis8 = RNA_snn_res.1.4,axis9 = RNA_snn_res.1.6)) +
  scale_x_discrete(limits = c(paste0("RNA_snn_res.",seq(0,1.6,.2))), expand = c(.01, .05)) +
  geom_alluvium(aes(fill = RNA_snn_res.1.6)) + #展示其他metadata随resolution的变化只需改这个参数就好。如:geom_alluvium(aes(fill = celltype));geom_alluvium(aes(fill = nFeature_RNA))
  geom_stratum() + geom_text(stat = "stratum", infer.label = TRUE) +
  #coord_polar()+
  theme(axis.text.x = element_text(angle = 90, hjust = 1))+
  ggtitle("cell number in each cluster")
可以更加直观的看到细胞来源

⚠️理论上只要是metadata中相互对应的列,都可以提出来画桑基图

参考:桑基图在单细胞数据探索中的应用

上一篇下一篇

猜你喜欢

热点阅读