SCpubr R包介绍

SCpubr 是一个用于单细胞转录组数据可视化的R包,其主要目标是为研究人员提供一种简化的流程,自动生成高质量、适合发表的图表。该包由Enrique Blanco-Carmona开发和维护,最新版本为2.0.2。

主要作用

1. 生成高质量图表:SCpubr能够自动生成多种单细胞数据可视化图表,包括点图、箱线图、小提琴图、热图等。

2. 多种图表类型:支持多种图表类型,如Alluvial图、Bar图、BeeSwarm图、Box图、Chord图、Correlation图、Dot图、Enrichment热图、Expression热图、Feature图、Functional Annotation图、Geyser图、Ridge图、Term Enrichment图、TF Activity图、Volcano图等。并且都有对应的详细介绍,可以学的很方便

3. 灵活的自定义选项:虽然图表是自动生成的,但也可以根据需要对颜色、字体、布局等进行自定义,以满足特定的美化要求。

4. 完整的说明文档: Have a look at extensive tutorials in SCpubr’s book.,加载R包的时候就可以看到,可可爱爱的加载说明

安装方法

  • 从CRAN安装
install.packages("SCpubr")

library(SCpubr)

  • 从GitHub安装最新开发版

    if(!requireNamespace("devtools", quietly = TRUE)){
      install.packages("devtools"# 如果未安装
    }
    devtools::install_github("enblacar/SCpubr")
    SCpubr单细胞数据可视化R包使用初探

那接下来的时间就来摸索看看SCpubr美化可视化结果叭!上一次整理的R包系列还是——探索scCustomize:提升单细胞数据分析与可视化的利器!

do_DimPlot: Wrapper for DimPlot

首先来学习一下do_DimPlot—— 是一个封装了 Seurat 包中 DimPlot 函数的工具函数,用于生成单细胞数据的降维可视化图表。它提供了丰富的参数选项,可以高度自定义图表的外观和布局。

参数总结:

输入数据

  • sample:Seurat对象,由CreateSeuratObject创建。
  • reduction:要使用的降维方法,如”umap”、”pca”或自定义方法。默认为”umap”,如果未指定且存在,则使用最后一个计算的降维方法。

分组与拆分

  • group.by:用于分组的元数据变量,必须是字符或因子列。
  • split.by:用于进一步分组(拆分)的二级元数据变量,也必须是字符或因子列。

颜色设置

  • colors.use:用于分组的颜色向量,可以是颜色名称或十六进制代码。如果未提供,将使用默认颜色。
  • na.value:用于表示NA值的颜色,默认为”grey75″。

绘图选项

  • shuffle:是否随机打乱细胞,避免按簇顺序绘制。推荐设置为TRUE。
  • order:要绘制的细胞身份向量,可以是全部或部分身份。
  • raster:是否将结果绘图栅格化,适用于绘制大量细胞时。
  • pt.size:点的大小。
  • label:是否在UMAP上绘制簇标签,标签颜色与簇颜色相同。
  • label.color:标签颜色。
  • label.fill:标签填充颜色,如果为NULL,则使用簇颜色。
  • label.size:标签大小。
  • label.box:是否将标签绘制为geom_text(FALSE)或geom_label(TRUE)。
  • repel:是否使文本标签相互排斥。

高亮显示

  • cells.highlight:要高亮显示的细胞向量。
  • idents.highlight:要高亮显示的身份向量。
  • idents.keep:要保留的身份向量,其余细胞将被设置为NA。
  • sizes.highlight:使用cells.highlight参数时的高亮细胞点大小。

图表布局

  • ncol:使用split.by参数时,输出绘图的列数。
  • dims:要绘制的降维维度,默认为c(1, 2)。

图表标题与注释

  • plot.title:图表标题。
  • plot.subtitle:图表副标题。
  • plot.caption:图表注释。
  • legend.title:图例标题。
  • legend.position:图例位置,可选”top”、”bottom”、”left”、”right”或”none”。
  • legend.title.position:图例标题位置,可选”top”、”bottom”、”left”、”right”。
  • legend.ncol:图例列数。
  • legend.nrow:图例行数。
  • legend.icon.size:图例图标大小。
  • legend.byrow:是否按行填充图例。

边框与轮廓

  • plot_cell_borders:是否绘制细胞边框。
  • border.size:细胞边框宽度。
  • border.color:边框颜色。
  • border.density:控制绘制边框时使用的细胞数量,值在0到1之间。

边际分布

  • plot_marginal_distributions:是否绘制边际分布。
  • marginal.type:边际分布类型,可选”density”、”histogram”、”boxplot”、”violin”、”densigram”。
  • marginal.size:主图与边际图的大小比例。
  • marginal.group:是否按group.by或当前身份分组边际分布。

其他

  • plot.axes:是否绘制坐标轴。
  • plot_density_contour:是否在UMAP上绘制密度轮廓。
  • contour.position:密度轮廓绘制位置,可选”top”或”bottom”。
  • contour.color:密度轮廓颜色。
  • contour.lineend:轮廓线条末端样式,可选”round”、”butt”、”square”。
  • contour.linejoin:轮廓线条连接样式,可选”round”、”mitre”、”bevel”。
  • contour_expand_axes:扩展轴的百分比,以适应轮廓。
  • font.size:整体字体大小。
  • font.type:基础字体族,可选”mono”、”serif”、”sans”。
  • plot.title.faceplot.subtitle.faceplot.caption.faceaxis.title.faceaxis.text.facelegend.title.facelegend.text.face:控制相应主题元素的字体样式,可选”plain”、”italic”、”bold”、”bold.italic”。

使用初探

使用数据——pbmc

这里还是使用pbmc注释后的数据进行可视化,也为了和直接可视化的函数进行对比

数据包含了注释信息,可用于可视化

直接可视化对比

do_DimPlot(sample = pbmc)/DimPlot(pbmc)

个人认为对比而言,do_DimPlot的默认参数设置有几点优势:

  1. 使用pt.size = 1使得细胞可视化的时候更加突出,也使得默认的颜色看起来更加饱和
  2. 关于图例,默认参数legend.position = "bottom",将图例放到了最下方,并且默认plot.axes = FALSE不显示坐标轴,整体会更突出umap结果图

更多参数调整

  • 调整坐标轴:可以设置是否显示坐标轴、坐标轴的标题和字体样式等。

  • 添加簇标签:可以在图上显示每个簇的标签。

  • 调整绘图顺序:可以指定细胞或簇的绘图顺序。

  • 高亮特定细胞:可以高亮显示特定的细胞或簇。

  • 限制显示的簇:可以限制图中显示的簇或身份。

  • 按元数据分组:可以按另一个元数据变量进行分组。

  • 按类别拆分:可以按类别进一步拆分分组。

  • 组合分组和拆分:可以按一个变量分组,同时按另一个变量拆分。

这篇就简单的了解一下R包的安装以及do_DimPlot的参数设置,下一篇具体使用do_DimPlot来进行可视化!