桑基图:不同分辨率下的细胞分群可视化
2022-02-04 本文已影响0人
Hayley笔记
单细胞绘图系列:
- Seurat绘图函数总结
- 使用ggplot2优化Seurat绘图
- scRNAseq灵活的点图绘制:FlexDotPlot
- 富集分析结果雷达图
- DoHeatmap的优化+ComplexHeatmap绘制带特定基因的单细胞热图
- 不同单细胞群之间的相关性分析
- 单细胞RunPCA()结果解读+DimHeatmap的用法
多分辨率下的分群变化桑基图
常规的树状图画法
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中相互对应的列,都可以提出来画桑基图