日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

單細(xì)胞組學(xué) | 第20期. 美無極限——卷起來的UMAP圖美化方案

 新用戶4064dVjo 2024-04-30 發(fā)布于北京
本系列推送旨在帶領(lǐng)生信零基礎(chǔ)的科研人一起入門單細(xì)胞(核)轉(zhuǎn)錄組數(shù)據(jù)分析。

CNS頂刊炫酷的UMAP圖到底是怎么畫的?作為單細(xì)胞分析的常規(guī)figure——UMAP層出不窮的美化方案只有你不敢想,沒有做不到的。本文帶你get單細(xì)胞UMAP還可以這么畫,當(dāng)然還有很多實(shí)用的單細(xì)胞分析配色分享哦!


往期回顧:

MASCU

第1期.單細(xì)胞測(cè)序:揭開生命奧秘的鑰匙

第2期.下游數(shù)據(jù)質(zhì)控知多少

第3期.Seurat之PBMC分析標(biāo)準(zhǔn)化流程

第4期.寫文章時(shí)需要用到的單細(xì)胞轉(zhuǎn)錄組測(cè)序原理

第5期.單細(xì)胞測(cè)序文件面面觀

第6期.10X genomics 上游分析-cellranger介紹

第7期.10X genomics 上游分析-cellranger應(yīng)用

第8期.一文打通單細(xì)胞測(cè)序研究思路

第9期.Zenodo一個(gè)寶藏公共數(shù)據(jù)庫和單細(xì)胞的不解之緣

第10期.生物信息學(xué)必須了解的數(shù)據(jù)庫

第11期.不會(huì)還有人不知道這個(gè)免費(fèi)一年的云服務(wù)吧?。?/span>

第12期.單細(xì)胞分析數(shù)據(jù)下載、導(dǎo)入和合并

第13期.單細(xì)胞測(cè)序中竟然存在雙細(xì)胞?

第14期.想發(fā)單細(xì)胞測(cè)序文章?這一步必學(xué)!

15.一份強(qiáng)烈推薦收藏的細(xì)胞周期校正寶典!

16.不可不知的單細(xì)胞流程

第17期. 找到Cluster的領(lǐng)頭羊

18. 單細(xì)胞注釋不再是煩惱!

19. 單細(xì)胞數(shù)據(jù)分析的核心環(huán)節(jié),必學(xué)!

Introduction 

在本系列的推送中,我們之前給大家分享了:

①單細(xì)胞(核)RNA測(cè)序的原理;

②基于Cellranger的上游分析;

③數(shù)據(jù)下載/導(dǎo)入/合并;

數(shù)據(jù)質(zhì)控(包括細(xì)胞質(zhì)控和基因質(zhì)控);并鋪墊了細(xì)胞注釋前幾個(gè)數(shù)據(jù)處理技能(包括細(xì)胞周期矯正、去批次、差異分析)。

⑤細(xì)胞注釋

本期在上期的細(xì)胞注釋分群的UMAP圖基礎(chǔ)上,進(jìn)一步探討UMAP圖的美化方案及配色分享。

本期將給大家分享以下2個(gè)方面:

1. 淺談UMAP圖的美化方案

2. R作圖 (單細(xì)胞) 的配色分享

TS

01

淺談UMAP圖的美化方案

書接上期(單細(xì)胞組學(xué) | 第19期. 單細(xì)胞數(shù)據(jù)分析的核心環(huán)節(jié),必學(xué)!),我們完成了細(xì)胞注釋,并且繪制出了一幅經(jīng)典的UMAP圖(圖1)。下面將循序漸進(jìn)地介紹幾種美化方案,希望給大家一些美化自己的UMAP圖的靈感。

圖1

美化方案1: 為每一群細(xì)胞添加橢圓邊界

2017Cell的一篇文章中,畫出了包含橢圓置信區(qū)間的患者細(xì)胞分群t-SNE圖,如圖2所示。

圖2

下面我們一起基于圖1,一步步美化。繪制UMAP及之前的代碼和上期相同。

1)使用ggplot2 R包重新繪制UMAP圖并獲取每個(gè)細(xì)胞的坐標(biāo)

df1=Hu_AO_db_QC2@reductions$umap@cell.embeddings %>%
  as.data.frame() %>%
  cbind(cluster=Hu_AO_db_QC2@meta.data$seurat_clusters)

plot1=ggplot(df1, aes(umap_1, umap_2, color=Hu_AO_db_QC2@meta.data$Major_celltype))+
  geom_point(size = 0.01,alpha = 0.1) +  # 設(shè)置點(diǎn)的大小為1
  geom_point()+
  theme_classic()+labs(title=1)

圖3 細(xì)胞位置信息

圖4 

2)為每群細(xì)胞加上橢圓邊界
plot2=plot1 + stat_ellipse(aes(x = umap_1, y = umap_2, fill = Hu_AO_db_QC2@meta.data$Major_celltype), geom = "polygon",
                  linetype=2, # 橢圓線
                  alpha = 0.25,  #橢圓背景填充色不透明度
                  linewidth = 0.5,  # 設(shè)置橢圓置信區(qū)間的邊界線寬度
                  show.legend = FALSE, #去掉橢圓對(duì)應(yīng)的圖例
                  level = 0.95)+labs(title=2) #level置信區(qū)間

圖5 

3)重新給每群細(xì)胞指定顏色
colors2 <- c("#96C3D8""#F5B375""#C0937E""#67A59B""#A5D38F""#8D75AF""#F19294""#E45D61""#BDA7CB")
plot3= plot2+
  scale_fill_manual(values=colors2)+
  scale_color_manual(values=colors2)+labs(title=4)

圖6

美化方案2: 為每一群細(xì)胞添加輪廓線并更改圖例

和美化方案1相似,首先要獲取每個(gè)細(xì)胞的坐標(biāo),再給每群細(xì)胞加上輪廓線,不規(guī)則輪廓線的添加同樣還是基于置信區(qū)間橢圓。此外,圖例也進(jìn)行了美化。

plotData <- as.data.frame(Hu_AO_db_QC2[["umap"]]@cell.embeddings)
plotData$cluster <-  Hu_AO_db_QC2@meta.data$Major_celltype
plot4 = ggplot(plotData, aes(x = umap_1, y = umap_2, fill =  Hu_AO_db_QC2@meta.data$Major_celltype, color =  Hu_AO_db_QC2@meta.data$Major_celltype)) +
  stat_unchull(alpha = 0.25, size = 0.25, delta = 0.5) +
  stat_ellipse(level = 0.95) +  
  geom_point(size = 0.1) +
  theme(
    aspect.ratio = 1,
    panel.background = element_blank(),
    panel.grid = element_blank(),
    axis.line = element_line(),
  )

圖7

美化方案3:對(duì)輪廓線的修飾并更改配色


將細(xì)胞群的輪廓線從實(shí)線更改為虛線,并且更改配色。
set.seed(0816)
col <- sample(RColorBrewer::brewer.pal(10, "Paired"))
plot5 = ggplot(plotData, aes(x = umap_1, y = umap_2, fill = Hu_AO_db_QC2@meta.data$Major_celltype, color = Hu_AO_db_QC2@meta.data$Major_celltype)) +
    stat_unchull(alpha = 0.25, size = 0.25, lty = 2, delta = 0.5) +
    geom_point(size = 0.5, show.legend = FALSE) +
    theme(
        aspect.ratio = 1,
        panel.background = element_blank(),
        panel.grid = element_blank(),
        axis.line = element_line(arrow = arrow(type = "closed")),
        axis.title = element_text(hjust = 0.05, face = "italic",size = 14)
    ) +
    guides(color = FALSE, x = axis, y = axis) +
    guides(color = FALSE, x = axis, y = axis) +
    scale_x_continuous(breaks = NULL) +
    scale_y_continuous(breaks = NULL) +
    scale_fill_manual(values = col) +
    scale_color_manual(values = col))

圖8

美化方案3:對(duì)UMAP坐標(biāo)軸的修飾

1對(duì)UMAP坐標(biāo)軸進(jìn)行縮放

一改以往一以貫之的坐標(biāo)軸表現(xiàn)形式,通過對(duì)UMAP坐標(biāo)軸進(jìn)行縮放截?cái)噍S,將坐標(biāo)軸放到左下角,就會(huì)使UMAP圖更加高級(jí)起來。

axis <- ggh4x::guide_axis_truncated(
    trunc_lower = unit(0, "npc"),
    trunc_upper = unit(3, "cm")
)
Plot6 = ggplot(plotData, aes(x = umap_1, y = umap_2,  fill = Hu_AO_db_QC2@meta.data$Major_celltype, color =  Hu_AO_db_QC2@meta.data$Major_celltype)) +
    stat_unchull(alpha = 0.25, size = 0.25,delta = 0.5,lty = 1) +
    geom_point(size = 0.2, show.legend = FALSE) +
    theme(
         aspect.ratio = 1,
         panel.background = element_blank(),
         panel.grid = element_blank(),
         axis.line = element_line(arrow = arrow(type = "closed")),
         axis.title = element_text(hjust = 0.05, face = "italic")) +
    guides(color = FALSE, x = axis, y = axis) +
    scale_x_continuous(breaks = NULL) +
    scale_y_continuous(breaks = NULL))

圖9

2)更改坐標(biāo)軸標(biāo)簽字體大小

圖10

美化方案5:只重點(diǎn)突出強(qiáng)調(diào)目的細(xì)胞群


細(xì)胞UMAP圖只標(biāo)記特定細(xì)胞群,可以通過設(shè)置顏色實(shí)現(xiàn)。“刻意”安排好顏色順序,將需要標(biāo)注的群設(shè)置為需要的顏色,其他的群設(shè)置為灰色即可,如下圖紅色和藍(lán)色細(xì)胞群。

colors <- c("grey","#FB8072","grey","grey","grey","grey","grey","grey","#7BAFDE")
plot6 <- DimPlot(Hu_AO_db_QC2, reduction = "umap", group.by = "active.ident", label = TRUE) +
  scale_color_manual(values = colors) +
  NoLegend()

圖11


美化方案6:AI實(shí)現(xiàn)手動(dòng)對(duì)目標(biāo)細(xì)胞群的圈選和注釋

上述美化方案中分享了通過R來給細(xì)胞群添加置信橢圓和輪廓線,但涉及到更為復(fù)雜的不規(guī)則圈選時(shí),使用R語言不僅費(fèi)時(shí)難度系數(shù)高,還不一定能達(dá)到預(yù)期的圈選效果(我們這里也可以發(fā)現(xiàn)上述圈選時(shí)有兩個(gè)細(xì)胞群未被圈?。?。那我們?cè)撛趺崔k呢?

辦法總比困難多,這時(shí)候AIAdobe Illustrator來出手!AI不僅可以進(jìn)行科研繪圖(詳見科研工具系列合集),在單細(xì)胞繪圖美化上,如添加指示箭頭、對(duì)應(yīng)文本標(biāo)簽等也是手到擒來。下面簡單演示通過AI進(jìn)行標(biāo)簽的添加,更多更具體的AI美化方法,如有需要,在之后的推送里會(huì)詳細(xì)介紹。
1)將繪制出的UMAP圖導(dǎo)入到AI

圖12

2使用文本工具給細(xì)胞群添加標(biāo)簽

圖13

以上僅是介紹了簡單的幾種美化方案,下面分享一些實(shí)用的單細(xì)胞配色。

TS

02

R做圖(單細(xì)胞)的配色分享

在之前Bilibili“開心doctor”的壯觀老師分享的公開課《R語言科研繪圖之化繁為簡》中,已經(jīng)介紹了幾種R作圖的配色方案,下面我再來總結(jié)一下。


1)基于已有的配色方案

① RColorBrewer包

網(wǎng)址:

https:///#type=sequential&scheme=BuGn&n=3
RColorBrewer包提供了三種類型的配色方案,用于在R中創(chuàng)建各種顏色調(diào)色板。
順序(Sequential)配色方案適用于連續(xù)型數(shù)據(jù),顏色隨著數(shù)據(jù)值的變化而逐漸改變。通常用于表示數(shù)據(jù)的漸變。
發(fā)散(Diverging)配色方案: 適用于呈現(xiàn)數(shù)據(jù)的變化趨勢(shì),數(shù)據(jù)集中在某一點(diǎn)附近的變化情況。通常用于顯示數(shù)據(jù)的偏離或?qū)Ρ取?/span>

定性(Qualitative)配色方案: 適用于離散型數(shù)據(jù),每個(gè)類別的數(shù)據(jù)用不同的顏色表示。通常用于表示分類或分組的數(shù)據(jù)。

carto包

網(wǎng)址:https:///carto-colors/


③ viridis

④ colorspace包

 ggsci
網(wǎng)址:https:///ggsci/articles/ggsci.html

ggsci包內(nèi)有不同期刊配色匯總:

使用ggsci包中的配色美化的上述UMAP圖如下所示。

library(ggsci)
plot8 = DimPlot(Hu_AO_db_QC2, reduction = "umap", group.by = "active.ident", label = TRUE) +
  scale_color_npg(alpha = 0.1)

圖14

2)自創(chuàng)或從文獻(xiàn)中借鑒配色方案

已有的配色方案往往不能滿足生信可視化對(duì)美的要求,這時(shí)候美無極限、最具個(gè)性化的配色源于自己平時(shí)閱讀文獻(xiàn)時(shí)的配色積累加上合理搭配實(shí)現(xiàn)的。例如本篇中對(duì)UMAP圖美化時(shí)的配色就是如此。

在本公眾號(hào)中專門有的科研配色系列(詳見科研工具系列合集),幫助大家在閱讀文獻(xiàn)中積累配色,大家喜歡可以借鑒!下圖是一些自定義配色方案供參考。

圖15


以上就是本期推送的全部內(nèi)容,大家對(duì)于推送內(nèi)容有任何問題或建議可以在公眾號(hào)菜單欄“更多--讀者的話”欄目中提出,我們會(huì)盡快回復(fù)!


參考文獻(xiàn):

1.Zheng C, Zheng L, Yoo JK, et al. Landscape of Infiltrating T Cells in Liver Cancer Revealed by Single-Cell Sequencing. Cell. 2017;169(7):1342-1356.e16.



期待已久~|R語言與組學(xué)互助交流群來啦!

(歡迎大家入群交流~

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多