單細胞繪圖系列:
在讀Nat Med一篇文獻A single-cell atlas of the peripheral immune response in patients with severe COVID-19的時候發(fā)現(xiàn)這篇文獻里所有的點圖都是帶聚類的(如下)玩焰,看了一下method說是使用FlexDotPlot做的稳诚,覺得挺有意思雇初,于是來學(xué)習(xí)一下這個R包悯周。
1. FlexDotPlot的說明文獻
DotPlot其實就是一個改進的熱圖,只是將熱圖中的一個個格子換成了點炉菲。除了使用點的顏色深淺代表表達量以外,點的大小也可以用于展示其他定量的信息如單細胞數(shù)據(jù)中表達某基因的細胞比例郭怪。除此之外屠橄,還可以使用點的形狀等表達其他信息塞祈。FlexDotPlot就提供了這些靈活的點圖繪制功能办绝,可以用一張點圖同時反應(yīng)多個指標(biāo)的變化冒黑。
2. 使用
2.1 安裝
install.packages("devtools")
devtools::install_github("Simon-Leonard/FlexDotPlot")
library(FlexDotPlot)
2.2 演示數(shù)據(jù)準(zhǔn)備
依然是熟悉的pbmc3k.final數(shù)據(jù)集
library(Seurat)
# library(SeuratData)
# InstallData("pbmc3k")
# data("pbmc3k")
# pbmc3k
pbmc <- readRDS("pbmc.rds")
2.3 使用Seurat包繪制點圖
features <- c("LYZ", "CCL5", "IL32", "PTPRCAP", "FCGR3A", "PF4")
dp=DotPlot(pbmc, features = features) + RotatedAxis()
dp
View(dp)
Seurat繪制的點圖dp是一個包含10個對象的list试伙,F(xiàn)lexDotPlot輸入的就是這個list嘁信。
2.4 使用FlexDotPlot包繪制點圖
library(FlexDotPlot)
# Dot plot with shape type (and not size) controlled by "Percent Expressed" parameter
dot_plot(dp$data[,c(3,4,1,2,5)], size_var = "pct.exp", col_var = "avg.exp.scaled",
size_legend = "Percent Expressed", col_legend = "Average Expression",
x.lab.pos = "bottom", display_max_sizes = FALSE)
# Add dendrograms
dot_plot(dp$data[,c(3,4,1,2,5)], shape_var = "pct.exp", col_var = "avg.exp.scaled",
shape_legend = "Percent Expressed", col_legend = "Average Expression", x.lab.pos = "bottom",
dend_x_var = c("pct.exp","avg.exp.scaled"), dend_y_var = c("pct.exp","avg.exp.scaled"), hclust_method = "ward.D2")
通過對參數(shù)的調(diào)整,還可以在同一張圖上對更多指標(biāo)進行繪制疏叨,如下圖潘靖,圖的大小顏色和形狀各代表了一個指標(biāo)。