### R code from vignette source 'vignettes/ggbio/inst/doc/tracks.Rnw' ################################################### ### code chunk number 1: gr-simul ################################################### set.seed(1) library(GenomicRanges) ## simulate short reads gr1 <- GRanges("chr1", IRanges(start = sample(1:10, size = 50, replace = TRUE), width = 4)) ## simulate exons grl <- GRangesList(GRanges("chr1", IRanges(start = c(1, 10, 20), width = 5)), GRanges("chr1", IRanges(start = c(1, 20), width = 5))) ################################################### ### code chunk number 2: shortread-plot ################################################### library(ggbio) p1 <- autoplot(gr1) print(p1) ################################################### ### code chunk number 3: exons-plot ################################################### p2 <- autoplot(grl) print(p2) ################################################### ### code chunk number 4: grid_arrange ################################################### library(gridExtra) grid.arrange(p1, p2) ################################################### ### code chunk number 5: tracks-sr-ex ################################################### tracks(p1, p2) ################################################### ### code chunk number 6: tracks-sr-ex-more ################################################### tracks("Short Reads" = p1, "Exons" = p2, heights = c(3, 1)) ## this is equivalent to ## tracks(list("Short Reads" = p1, "Exons" = p2)) ################################################### ### code chunk number 7: tracks-sr-ex-more2 ################################################### ## to use unit(), load grid. library(grid) tracks("Short Reads" = p1, "Exons" = p2, heights = c(3, 1), label.text.cex = 2, label.text.color = "white", label.bg.fill = "brown", label.width = unit(5, "line")) ################################################### ### code chunk number 8: plus ################################################### ## change track plot background color p.track <- tracks("Short Reads" = p1, "Exons" = p2, heights = c(4, 1), label.text.color = "white", label.bg.fill = "brown", track.plot.color = c("white", "#FFFEDB")) ## apply theme_null() to all track p.track + theme_null() ################################################### ### code chunk number 9: specific-plus ################################################### ## only apply change to one track p.track@grobs[[1]] <- p.track@grobs[[1]] + theme_null() p.track ################################################### ### code chunk number 10: zoom-in (eval = FALSE) ################################################### ## p.track <- tracks("Short Reads" = p1, "Exons" = p2, heights = c(4, 1)) ## ## ## remove data outside c(1, 6) ## p.track + xlim(c(1, 6)) ## ## ## keep original data, simply zooming to [1, 10] ## p.track + coord_cartesian(xlim = c(1, 10)) ## ## ## more easy with ggbio's 'xlim<-', you need to print it to see the effect. ## xlim(p.track) <- c(1, 6) ## p.track ## ## ## or update, if a graphic device is open, you can see the effect, immediately. ## update(p.track, xlim = c(1, 4)) ################################################### ### code chunk number 11: backup-and-reset ################################################### p.track xlim(p.track) <- c(1, 4) p.track ## back it up p.track <- backup(p.track) ## change to another view xlim(p.track) <- c(1, 10) p.track reset(p.track) ################################################### ### code chunk number 12: ggplot ################################################### p.gg <- qplot(x = seq(from = 1, to = 20, length.out = 500), y = rnorm(500), geom = "area") p.track <- tracks("density" = p.gg, "Short Reads" = p1, "Exons" = p2, heights = c(2, 5, 1)) p.track ################################################### ### code chunk number 13: ggplot-facet ################################################### p.gg <- qplot(data = mtcars, x = mpg, y = wt, facets = cyl ~.) p.track <- tracks("Random" = p.gg, "Short Reads" = p1, "Exons" = p2, heights = c(4, 5, 2)) p.track ################################################### ### code chunk number 14: session-info ################################################### sessionInfo()