久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    5種方式美化你的單細胞umap散點圖

     健明 2025-01-11 發布于廣東

    我們生信技能樹的單細胞月更群里面經常看到小伙伴提出的圖片美化需求,這就來看看單細胞umap美化工具吧!

    第一種:SCP 包(這個包非常的出色)

    關于SCP,我們前面也有一個專門的專輯對其進行了大篇幅的介紹,不知道大家用起來了沒呢?

    其學習的官網地址為:https://zhanghao-njmu./SCP/index.html

    沒有安裝的,這次就不要再錯過啦:

    # 安裝
    devtools::install_github("zhanghao-njmu/SCP")

    本次,我們使用的數據為來自 GSE128531 數據注釋后的seurat對象,你自己用的時候可以使用任何一個經過了注釋后的seurat對象。

    rm(list=ls())
    library(COSG)
    library(harmony)
    library(ggsci)
    library(dplyr) 
    library(future)
    library(Seurat)
    library(clustree)
    library(cowplot)
    library(data.table)
    library(dplyr)
    library(ggplot2)
    library(patchwork)
    library(stringr)
    library(qs)

    # 導入數據
    sce.all.int <- readRDS('2-harmony/sce.all_int.rds')
    sp <- 'human'
    head(sce.all.int@meta.data)
    load("phe.Rdata")
    head(phe)
    sce.all.int <- AddMetaData(sce.all.int, metadata = phe)

    Idents(sce.all.int) <- "celltype"
    table(Idents(sce.all.int))

    看一下它對UMAP可視化的厲害之處!

    1、先看默認主題一鍵出圖:

    ################## umap1
    library(SCP)
    head(sce.all.int@meta.data)
    CellDimPlot(sce.all.int, group.by = "celltype", reduction = "UMAP")

    這個配色非常CNS,且圖中展示了總細胞數,每個亞群的細胞數這些信息:

    2、坐標改成 左下小箭頭,也是大家非常常見的需求!

    # 左下小箭頭
    CellDimPlot(sce.all.int, group.by = "celltype", reduction = "UMAP", theme_use = "theme_blank")

    3、只顯示X、Y軸

    還可以一鍵調整整體字體大小

    CellDimPlot(sce.all.int, group.by = "celltype", reduction = "UMAP"
                theme_use = ggplot2::theme_classic, theme_args = list(base_size = 16))

    上面三個是我最喜歡的ump風格,還有很多其他,總有你的一款:

    第二種:Nebulosa(r包)

    Nebulosa 是一個基于核密度估計可視化單細胞數據的 R 包,主要通過結合細胞之間的相似性來恢復丟失特征中的信號,從而實現細胞特征的“卷積”。

    學習官網:https:///packages/devel/bioc/vignettes/Nebulosa/inst/doc/nebulosa_seurat.html

    Nebulosa 的主要功能是 plot_density,讓我們按照以下方式繪制 一些marker基因 的核密度估計圖,展示的marker基因表達水平高低

    # 安裝一下
    options(BioC_mirror="https://mirrors./bioconductor")
    options("repos"=c(CRAN="https://mirrors./CRAN/"))
    BiocManager::install("Nebulosa")
    library(Nebulosa)

    1、 繪制一個基因PTPRC

    這種圖也是在很多CNS級別的文章中出現的:

    # 繪制一個基因PTPRC
    p1 <- plot_density(sce.all.int, c("PTPRC"),size = 0.3)
    p1

    2、繪制多個基因

    # 同時繪制多個基因
    p3 <- plot_density(sce.all.int, c("CD3D","CD4","CD8A","CD68"),size = 0.3)
    p3

    結果如下:

    3、繪制基因共表達

    這里可以同時展示兩個基因都表達的地方:

    # combine = FALSE 只保留兩個基因都表達的區域
    p4 <- plot_density(sce.all.int, c("CD8A""CCR7"), joint = TRUE,combine = FALSE) 
    p4

    第三種:scCustomize(r包)

    學習官網:https://samuel-marsh./scCustomize/index.html

    # 安裝
    # Base R
    install.packages("scCustomize")

    繪圖:可以繪制一個marker,也可以展示多個marker

    ################## umap4:scCustomize
    library(viridis)
    library(Seurat)
    library(scCustomize)

    FeaturePlot_scCustom(seurat_object = sce.all.int, features = c("VWF","CD3E"), order = F)

    這種風格很像早期的椒鹽繪圖風格:你看這個著色點是不是很像灑在雞腿上面的椒鹽!(椒鹽風格這個詞我在一篇單細胞文獻中遇到過,現在找不見了,當時還專門在群里問了來著哈哈哈哈)

    還可以輕松地修改配色:

    # 修改顏色
    # Set color palette
    pal <- viridis(n = 10, option = "D")
    FeaturePlot_scCustom(seurat_object = sce.all.int, features = c("VWF","CD3E"), 
                         colors_use = pal, order = T,pt.size = 0.3)

    第四種:ggplot2繪制細胞密度umap圖

    在seurat包中有人提出一個繪圖需求:https://github.com/satijalab/seurat/issues/6962

    這種圖主要用來處理數據點重疊問題時非常有用,使用 MASS::kde2d() 進行二維核密度估計,并通過等高線顯示結果,geom_density_2d() 繪制等高線,而 geom_density_2d_filled() 繪制填充的等高線帶。

    鏈接:https://ggplot2./reference/geom_density_2d.html

    library(cetcolor)
    library(Seurat)
    library(ggplot2)

    # 設置顏色
    scale.col <- cet_pal(16, name = "fire")

    # generate UMAP plot
    pl1 <- UMAPPlot(sce.all.int, combine = FALSE) # returns full ggplot object
    pl1

    # make plot
    pl1[[1]] & 
      stat_density_2d(aes_string(x = "umap_1", y = "umap_2", fill = "after_stat(level)"), 
                      linewidth = 0.2, geom = "density_2d_filled"
                      colour = "ivory", alpha = 0.4, n = 150, h = c(1.2, 1.2)) & 
      scale_fill_gradientn(colours = scale.col) & 
      DarkTheme()

    這種風格很獨特:

    第五種:ggpointdensity(r包)

    在二維坐標系中可視化數據點有幾種方法:如果你有大量的數據點重疊在一起,geom_point() 無法為你提供重疊點的數量估計。

    剛剛上面介紹的geom_density2d()geom_bin2d() 可以解決這個問題,但它們使得無法調查個別異常點,而這些異常點可能具有研究價值。

    geom_pointdensity() 旨在通過結合兩者的優點來解決這個問題:各個點根據鄰近點的數量進行著色。這使得你既能看到整體分布,也能看到個別點。

    學習官網:https://github.com/LKremer/ggpointdensity

    細胞密度圖:

    # 安裝
    install.packages("ggpointdensity")
    library(ggpointdensity)

    # 提取umap坐標數據
    dat <- Embeddings(sce.all.int, reduction = "umap")
    head(dat)
    # umap_1    umap_2
    # SC67mf2_AAACCTGAGAGTAATC -3.541568  5.127461
    # SC67mf2_AAACCTGAGCGCTTAT -6.623588 -3.025122
    # SC67mf2_AAACCTGAGGACACCA -4.586405  1.513219

    ggplot(data = dat, mapping = aes(x = umap_1, y = umap_2)) +
      geom_pointdensity() +
      scale_color_viridis()

    當然,它還可以展示marker特征基因表達:

    # 提取umap坐標以及特征基因表達
    df <- FetchData(object =sce.all.int, vars = c("umap_1""umap_2""CD3D"), layer = "data")
    head(df)

    # umap_1    umap_2     CD3D
    # SC67mf2_AAACCTGAGAGTAATC -3.541568  5.127461 0.000000
    # SC67mf2_AAACCTGAGCGCTTAT -6.623588 -3.025122 1.430228
    # SC67mf2_AAACCTGAGGACACCA -4.586405  1.513219 0.000000

    p <- ggplot(df, aes(x= umap_1, y= umap_2 )) +
      geom_point(data = df %>% filter(CD3D == 0), color = "#440154FF", size = 0.6) +
      ggpointdensity::geom_pointdensity(data = df %>% filter(CD3D > 0), size = 0.6) +
      viridis::scale_color_viridis() +
      theme_classic(base_size = 14) +
      labs(color= "CD3D")
    p

    結果如下:

    上面哪一款是你的菜?可以在評論區大聲說出來(愛就要勇敢說出來!)。

    友情宣傳:

    生信入門&數據挖掘線上直播課2025年1月班

    時隔5年,我們的生信技能樹VIP學徒繼續招生啦

    滿足你生信分析計算需求的低價解決方案

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章

      主站蜘蛛池模板: 四虎永久免费高清视频| 国产色无码专区在线观看| 欧美日韩精品一区二区视频| 国产精品一码在线播放| 国产欧美VA天堂在线观看视频| 日韩亚洲AV人人夜夜澡人人爽| 无码免费大香伊蕉在人线国产| 另类国产精品一区二区| av中文字幕国产精品| 国产福利高颜值在线观看| 国产仑乱无码内谢| 国产成人久久综合一区| 国产精品多p对白交换绿帽| 欧美日韩一区二区综合| 国产四虎永久免费观看| 欧美精品亚洲精品日韩专区| XXXXXHD亚洲日本HD| 国产初高中生真实在线视频| 激情五月开心综合亚洲| 日产一二三四乱码| 亚洲VA欧美VA国产综合| 亚洲精品美女一区二区| 久久狠狠高潮亚洲精品| 国产精品VA尤物在线观看| 中文字幕日韩有码国产| 国产真人无码作爱视频免费| 又大又爽又硬的曰皮视频| 久久综合伊人77777| 中文字幕无码无码专区| 疯狂做受XXXX高潮国产| 亚洲 一区二区 在线| 国产成人久久精品一区二区三区| 四虎成人精品永久网站| 欧美人与动人物牲交免费观看久久| 精品国产一区二区三区麻豆| 2019国产精品青青草原| 亚洲人成色99999在线观看 | 视频一区视频二区制服丝袜| 亚洲AV无码AV在线影院| 国产成人久久精品流白浆| 亚洲精品天堂一区二区|