單細(xì)胞填坑快2年了凛辣,雖說(shuō)經(jīng)常遇到一些薅頭發(fā)的時(shí)候,但卻總是割舍不掉职烧。嗨扁誓,打啥感情牌呀,進(jìn)入主題阳堕。在單細(xì)胞轉(zhuǎn)錄組分析中跋理,目前使用的最廣的軟件是基于R的Seurat择克,具體安裝方式大家可以參考我之前的簡(jiǎn)書恬总。Seurat的畫圖算法大體上都是基于ggplot的,但有些好看的圖是沒(méi)法用其函數(shù)進(jìn)行實(shí)現(xiàn)肚邢,那么接下來(lái)我們上菜吧壹堰!
- 點(diǎn)圖
在Seurat軟件包中,DimPlot函數(shù)基本上能較好地展示我們常見的一些分析需求骡湖。我們看一下他的函數(shù)解釋:
DimPlot(
dims = c(1, 2),
cells = NULL, ###繪制您想展示的細(xì)胞集
cols = NULL, ###顏色
pt.size = NULL, ###點(diǎn)的大小
reduction = NULL, ###降維可視化方法贱纠,一般是tsne或者umap
group.by = NULL, ###顏色填充的依據(jù)
split.by = NULL, ###一個(gè)坐標(biāo)軸中展示一種split的元素,類似于分頁(yè)圖
shape.by = NULL, ###形狀填充的依據(jù)
order = NULL, ###對(duì)一些覆蓋的idents(細(xì)胞群id)進(jìn)行優(yōu)先展示
label = FALSE, ###在圖中顯示群名標(biāo)簽
label.size = 4, ###群名標(biāo)簽字體大小
repel = FALSE, ###Repel 標(biāo)簽
cells.highlight = NULL, ###高亮某種類型的細(xì)胞群
cols.highlight = "#DE2D26", ###高亮的顏色
sizes.highlight = 1, ###高亮的大小
na.value = "grey50", ###未高亮的細(xì)胞群顏色
combine = TRUE, ###是否將所有圖形放在一起
ncol = NULL, ###展示多少列的圖形
...
)
以上參數(shù)的選擇能幫您繪制各式各樣的點(diǎn)圖响蕴。
接下來(lái)我們采用第三方軟件來(lái)增加點(diǎn)圖的豐度~
推薦一個(gè)畫圖函數(shù)谆焊,ggscatter。接下來(lái)看看他們能做什么吧浦夷。我這里不提供測(cè)試數(shù)據(jù)辖试,大家可自行去查找一些數(shù)據(jù)辜王,但是腳本的格式是一樣的。首先罐孝,我們來(lái)看一下下面這張經(jīng)典的分析T細(xì)胞的t-SNE圖呐馆。
這個(gè)圖是不是很好看?看看如何用ggscatter來(lái)實(shí)現(xiàn)它吧莲兢。
第一步:獲取數(shù)據(jù)
pbmc@meta.data$Barcode <-rownames(pbmc@meta.data)
x<-as.data.frame(pbmc@reductions$umap@cell.embeddings)
x$Barcode <-rownames(x)
y <-data.frame(pbmc@meta.data[,c('Barcode','seurat_clusters','tech')])
lab <-merge(x,y,barcode='Barcode')
color<-hue_pal()(13) ###R繪圖的默認(rèn)色
lab$seurat_clusters <-factor(lab$seurat_clusters,levels=0:12) ##按照cluster id進(jìn)行排序
數(shù)據(jù)格式如下所示:
接下來(lái)繪制上圖汹来。
pdf('test_umap.pdf',w=12,h=8)
p8 <- ggscatter(lab, x = "UMAP_1", y = "UMAP_2",
color = "seurat_clusters", shape = "tech",palette = color,fill= "seurat_clusters",ellipse = TRUE,size=0.8,ellipse.level = 0.95,ellipse.alpha=0)
p8
dev.off()
ggscatter函數(shù)的參數(shù)介紹有個(gè)大神已經(jīng)描述的很詳細(xì)的了,大家可以移步Davey1220進(jìn)行查看改艇。
上圖需要設(shè)置的一個(gè)參數(shù)為palette=c() 橢圓填充顏色的列表
ellipse=T收班,表示添加橢圓。size為點(diǎn)的大小谒兄。ellipse.level 正態(tài)概率中有多少對(duì)象在這個(gè)橢圓中闺阱,即橢圓的大小。ellipse.alpha為填充顏色的透明度舵变,alpha = 0表示沒(méi)有填充顏色酣溃。
圖形如下所示:
個(gè)人覺(jué)得圖形仍然不是很好看,各位看官自己掂量吧~~