数据科学工厂 发表于 2024-10-28 20:11:20

单细胞分析 | 基因组区域的可视化 (1)

## 引言

[本篇教程](https://stuartlab.org/signac/articles/visualization "Source")将向您展示如何利用 `Signac`软件包,将单细胞数据以基因组浏览器轨迹图的形式进行可视化展示。

为了进行演示,将采用处理过的人类外周血单个核细胞(PBMC)数据集。

```R
library(Signac)
library(ggplot2)

# load PBMC dataset
pbmc <- readRDS("pbmc.rds")
```

`Signac`提供了多种基因组浏览器风格的图表类型,例如可及性轨迹图、基因注释图、峰值坐标图、基因组链接图以及片段位置图。

## 1聚合信号图

`Signac` 的核心绘图功能是CoveragePlot()函数,该函数用于计算在特定基因组区域内,不同细胞群体的测序DNA片段的平均覆盖频率。

```R
roi = "chr2-86784605-86808396"

cov_plot <- CoveragePlot(
object = pbmc,
region = roi,
annotation = FALSE,
peaks = FALSE
)
cov_plot
```

![](data/attachment/forum/plugin_zhanmishu_markdown/202410/646cc48aad67078740887c91dd3e650c_1730117457_4575.png)

还可以通过基因名称请求基因组区域。这将使用 Seurat 对象中存储的基因坐标来确定要绘制的基因组区域

```R
CoveragePlot(
object = pbmc,
region = "CD8A",
annotation = FALSE,
peaks = FALSE
)
```

![](data/attachment/forum/plugin_zhanmishu_markdown/202410/f8216590205bcbeccbb619ad68f37ed5_1730117458_3403.png)

## 个性化图表设置

所有由Signac函数生成的图表都是基于ggplot2或patchwork的,这意味着您可以利用ggplot2或其他相关包的标准功能来进一步调整或个性化这些图表。比如,如果想要修改之前图表中轨迹的颜色,可以利用ggplot2包中的scale_fill_系列函数,比如使用scale_fill_brewer()函数来实现。

```R
cov_plot + scale_fill_brewer(type = "seq", palette = 1)

## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Blues is 9
## Returning the palette you asked for with that many colors
```

![](data/attachment/forum/plugin_zhanmishu_markdown/202410/18d3fff3ada1f0e76f3f94d71982eb51_1730117456_7266.png)

```R
cov_plot + scale_fill_brewer(type = "qual", palette = 1)

## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Accent is 8
## Returning the palette you asked for with that many colors
```

![](data/attachment/forum/plugin_zhanmishu_markdown/202410/835df56f44ed6176ef7b1f8a4bb9bd28_1730117456_1509.png)

请注意,当您使用 Patchwork 来合并图表时,可以利用 & 运算符对合并后的对象中的所有图表进行统一的美学调整。

## 基因注释图

您可以使用 AnnotationPlot() 函数来绘制特定基因组区域内的基因注释信息。

```R
gene_plot <- AnnotationPlot(
object = pbmc,
region = roi
)
gene_plot
```

![](data/attachment/forum/plugin_zhanmishu_markdown/202410/f5ee4b1479cc3f3114d6d0588ed5bba5_1730117456_6930.png)

## 峰值位置

您可以通过 PeakPlot() 函数在特定的基因组区域内绘制出峰值的位置信息。

```R
peak_plot <- PeakPlot(
object = pbmc,
region = roi
)
peak_plot
```

![](data/attachment/forum/plugin_zhanmishu_markdown/202410/b8cbfa02a0dd46cb8c8d82c5b9e0dc64_1730117457_8910.png)

## 基因组间的联系

利用 LinkPlot() 函数,可以绘制基因组位置上的相互关系。该函数会以弧线形式展示两个相关位置之间的连接,弧线的透明度与该连接的评分成正比。这种连接可以用来表示多种信息,比如调控关系(例如,将增强子与其调控的基因相连),或者是实验数据,比如染色体互作(Hi-C)。

为了展示这个功能,创建了一个模拟的链接,并将其加入到了PBMC数据集中进行示例说明。

```R
link_plot <- LinkPlot(
object = pbmc,
region = roi
)
link_plot
```

![](data/attachment/forum/plugin_zhanmishu_markdown/202410/a1d263c083fcef190f7ca91fe72a661c_1730117456_9683.png)


请给我一个大大的赞或投币,非常感谢!
页: [1]
查看完整版本: 单细胞分析 | 基因组区域的可视化 (1)