2
$\begingroup$

I am using Gviz to plot several tracks. I create a GenomeAxisTrack() and then several AnnotationTrack()s that I feed to plotTracks(). This produces a stacked output of tracks with annotated arrows as I want but the displays are linear. In some cases I have the complete genomes and I know they are circular (like some bacterial and viral chromosomes), how can I display the plots as circular?

I tried feeding to AnnotationTrack(); a GRanges() object with a Seqinfo() object specifying the isCircular=TRUE flag, but this didn't change the resulting plot.

Here is minimal code to create a linear plot, I would like one where the first and last arrow join up in a circle:

library(Gviz)
library(stringr)

track <- AnnotationTrack(start=c(1,5,7), end=c(2,6,10), strand=c('+','+','-'), stacking="dense", fill=c('red','blue', 'black'))
png(file=paste("test","png", sep="."))
plotTracks(track)
dev.off()

enter image description here

Note, I am not interested in alternative software recommendations, I would like to solve this with gviz if it is possible. Also asked this here.

$\endgroup$
  • 1
    $\begingroup$ I would be amazed if there were a way to do that. $\endgroup$ – Devon Ryan Aug 15 '18 at 10:23
  • $\begingroup$ @DevonRyan why? i have use cases, but i'm not very familiar with gviz and its implementation $\endgroup$ – Chris_Rands Aug 15 '18 at 10:28
  • 1
    $\begingroup$ For track-based plots you would pretty much have to set it up for circular plotting from the very beginning in order for it to work. I'm aware that there are use-cases, but given where gviz was developed and the use-cases there it would be surprising if circular genomes were a consideration during development. $\endgroup$ – Devon Ryan Aug 15 '18 at 10:31
1
$\begingroup$

The primary author of Gviz confirmed to me via email that this is not possible:

Gviz will only give you the traditional linear tracks. There are a bunch of solutions available for visualizing circular genomes, most of which are more interactive in nature and not implemented in the rather static R graphics context. GGplot2 has some support for circular axes, too. If you want to stay within the R environment I’d start there. Ggbio is another option providing a somewhat higher-level interface.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.