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

单细胞测序 单细胞测序 61 人阅读 | 0 人回复 | 2024-11-05

细胞级别的片段分布

CoveragePlot() 函数通常用于计算基因组区域内不同细胞群体的信号总和,但有时候,也需要单独查看单个细胞在基因组区域内的序列化片段频率,而不是将它们聚合起来。这时,TilePlot() 函数就能派上用场。

tile_plot <- TilePlot(
  object = pbmc,
  region = roi,
  idents = c("CD4 Memory", "CD8 Effector")
)
tile_plot

默认情况下,系统会自动为每个组挑选出基因组区域内总片段数最多的前100个细胞。接着,基因组区域会被划分成多个小区域,对每个细胞在这些小区域中的片段总数进行计数,并将这些计数结果以热图的形式展示出来。

在基因组轨迹图上添加额外的数据

多模态单细胞数据集能够为每个细胞提供多种实验测量结果。目前,已经有一些方法能够同时测量单细胞的染色质数据(比如染色质的可及性)以及同一细胞的其他数据,比如基因表达或线粒体基因型。在这种情况下,将这些多模态数据整合到一张图表中进行可视化,往往能提供更多的信息。这可以通过ExpressionPlot()函数来实现,它的功能类似于Seurat中的VlnPlot()函数,但专门设计用来与CoveragePlot()生成的基因组轨迹图相结合。

expr_plot <- ExpressionPlot(
  object = pbmc,
  features = "CD8A",
  assay = "RNA"
)
expr_plot

可以通过传递基因名称列表来同时为多个基因创建类似的图

ExpressionPlot(
  object = pbmc,
  features = c("CD8A", "CD4"),
  assay = "RNA"
)

合并基因组轨迹图

之前已经介绍了如何创建单独的轨迹和图表,现在可以将它们合并成一个基因组区域的总图。使用 CombineTracks() 函数可以很方便地实现这种合并。

CombineTracks(
  plotlist = list(cov_plot, tile_plot, peak_plot, gene_plot, link_plot),
  expression.plot = expr_plot,
  heights = c(10, 6, 1, 2, 3),
  widths = c(10, 1)
)

"heights" 和 "widths" 参数用于调整各个轨迹图的相对高度和宽度,调整的顺序依据它们在 plotlist 中的排列。CombineTracks() 函数确保这些轨迹在垂直和水平方向上整齐对齐,并将描述基因组位置的 x 轴标签移到组合轨迹图的底部。

批量生成多个轨迹图

之前介绍了如何分别创建基因组轨迹图面板以及如何将它们合并。这种方法虽然可以更细致地控制每个面板的构建和合并过程,但步骤较多。为了简化操作,在 CoveragePlot() 函数中提供了一种自动生成和合并不同面板的功能,通过 annotation、peaks、tile 和 features 参数即可实现。这样,可以通过一次函数调用,快速生成类似于前面展示的图表:

CoveragePlot(
  object = pbmc,
  region = roi,
  features = "CD8A",
  annotation = TRUE,
  peaks = TRUE,
  tile = TRUE,
  links = TRUE
)

在这个示例中,为覆盖轨迹中展示的每个细胞群生成了瓦片图,而在之前的示例中,能够生成一个图表,它不仅展示了所有细胞群的总体覆盖情况,还特别展示了CD4记忆细胞和CD8效应细胞的瓦片图。当分别创建每个轨迹时,可以进行更高程度的个性化定制。

微信扫一扫分享文章

+10
无需登陆也可“点赞”支持作者
分享到:
评论

使用道具 举报

2548 积分
226 主题
+ 关注
热门推荐