Learn R Programming

ggbio (version 1.20.1)

geom_arch: Arch geoms for GRanges object

Description

Show interval data as arches.

Usage

## S3 method for class 'data.frame':
geom_arch(data, ..., n = 25, max.height = 10)## S3 method for class 'GRanges':
geom_arch(data, ..., xlab, ylab, main, facets = NULL,
                 rect.height = 0, n = 25, max.height = 10)

Arguments

data
A GRanges or data.frame object.
...
Extra parameters passed to autoplot function, aes mapping support height, x, xend.
  • x
{start of the arches} xend{end of the arches} height{height of arches}

Value

  • A 'Layer'.

item

  • xlab
  • ylab
  • main
  • n
  • facets
  • rect.height
  • max.height

code

GRanges

Details

To draw a interval data as arches, we need to provide a special geom for this purpose. Arches is popular in gene viewer or genomoe browser, when they try to show isoforms or gene model.geom_arch, just like any other geom_* function in ggplot2, you can pass aes() to it to map variable to height of arches.

Examples

Run this code
set.seed(1)
N <- 100
library(GenomicRanges)

## =======================================
##  simmulated GRanges
## =======================================
gr <- GRanges(seqnames = 
              sample(c("chr1", "chr2", "chr3"),
                     size = N, replace = TRUE),
              IRanges(
                      start = sample(1:300, size = N, replace = TRUE),
                      width = sample(70:75, size = N,replace = TRUE)),
              strand = sample(c("+", "-", "*"), size = N, 
                replace = TRUE),
              value = rnorm(N, 10, 3), score = rnorm(N, 100, 30),
              sample = sample(c("Normal", "Tumor"), 
                size = N, replace = TRUE),
              pair = sample(letters, size = N, 
                replace = TRUE))

## =======================================
##  default
## =======================================
ggplot(gr) + geom_arch()
# or
ggplot() + geom_arch(gr)

## =======================================
##  facetting and aesthetics
## =======================================
ggplot(gr) + geom_arch(aes(color = value, height = value, size = value),
                     alpha = 0.2, facets = sample ~ seqnames)

Run the code above in your browser using DataLab