使用ggbio和ggplot2向单个基因添加标签

时间:2015-07-07 02:05:38

标签: r ggplot2 dna-sequence genome

我正在尝试将基因标签添加到我使用ggbio包呈现基因组片段的图中。

我正在使用autoplot()函数并传入GenomicRanges对象。 GRange对象有一列元数据标签,我希望在每个绘制的段顶部生成的图上显示。

问题:如何从元数据列向ggbio / ggplot2图添加标签?

我的代码如下,没有标签,g代表GenomicRanges对象。

autoplot(g)

1 个答案:

答案 0 :(得分:0)

正如用户 zx8754 之前建议的那样,我会遵循 ggbio manual,但重点关注 2.2.5 从 GRangesList 对象制作基因模型部分。

基本上,关于如何从元数据列向 ggbio 图中添加标签的问题的答案是根据元数据列拆分 granges 对象,并使用带有此命名 grangeslist 的 autoplot 函数。这里的技巧是预先向 grages 对象添加一个额外的列 type="exon" 以模拟基因/转录本模型结构。

library(ggbio)
library(GenomicRanges)

g <- GRanges(seqnames = "chr1",
             ranges = c("100-150","150-200"), 
             strand = c("+","-"),
             group = c("A","B"),
             type = "exon")
autoplot(g)

grl <- split(g, g$group)
autoplot(grl)
#> Constructing graphics...

reprex package (v1.0.0) 于 2021 年 2 月 8 日创建