我正在尝试使用 ggbio 包中的 geom_alignment 来绘制一段基因,并且我想在每个基因下显示标签。geom_alignment 的文档说这是通过指定 label = TRUE 并在 names.expr 中提供标签向量来完成的。问题是它似乎不起作用,并且它没有抛出任何可能包含线索的错误消息。
gr <- GRanges(seqnames="test",
IRanges(start=c(10,40,60),
end=c(25,55,70),
names=c("A","B","C"),
group = "groupA")
)
ggplot(gr) + geom_alignment(aes(fill=group,col=group), gap.geom = "segment", label = TRUE,names.expr = names(gr))
所以它完全按照预期绘制了段,但没有标注。我在这里错过了什么吗?
有一个与此类似的较早问题: Adding Labels to Individual Genes with ggbio and ggplot2
那里建议的答案涉及在绘图之前将 Granges 对象拆分到 group 变量上,但是我需要将 Granges 对象的各个部分保持在一起,无论如何,这个修复似乎没有按建议工作。
这是我的会话信息:
R version 4.1.2 (2021-11-01)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.3 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
Random number generation:
RNG: Mersenne-Twister
Normal: Inversion
Sample: Rounding
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats4 stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggbio_1.42.0 stringr_1.4.0 gplots_3.1.1 rtracklayer_1.54.0 ggplot2_3.3.5
[6] GenomicRanges_1.46.1 GenomeInfoDb_1.30.0 IRanges_2.28.0 S4Vectors_0.32.3 BiocGenerics_0.40.0
[11] dplyr_1.0.7 readr_2.1.0 vcfR_1.12.0 ballgown_2.26.0