layout_circle-method: Create a circle layout

layout_circleR Documentation

Create a circle layout

Description

Create a circle layout.

Usage

## S4 method for signature 'GRanges'
layout_circle(data, ..., geom = c("point", "line", "link", "ribbon",
                 "rect", "bar", "segment", "hist", "scale", "heatmap", "ideogram",
                 "text"), linked.to, radius = 10, trackWidth = 5,
                 space.skip = 0.015, direction = c("clockwise",
                 "anticlockwise"), link.fun = function(x, y, n = 30)
                 bezier(x, y, evaluation = n), rect.inter.n = 60, rank,
                 ylim = NULL,
                 scale.n = 60, scale.unit = NULL, scale.type = c("M",
                 "B", "sci"), grid.n = 5, grid.background = "gray70",
                 grid.line = "white", grid = FALSE, chr.weight = NULL)

## S4 method for signature 'missing'
layout_circle(data, ...)
circle(...)

Arguments

data

A GRanges object.

...

Extra parameters such as aesthetics mapping in aes(), or color, size, etc. For circle function, it passed to layout_circle.

geom

The geometric object to use display the data.

linked.to

Character indicates column that specifying end of the linking lines, that column should be a GRanges object.

radius

Numeric value indicates radius. Default is 10.

trackWidth

Numeric value indicates the track width.

space.skip

Numeric value indicates the ratio of skipped region between chunks(chromosomes in GRanges) to the whole track space.

direction

Space layout orders.

link.fun

Function used for interpolate the linking lines. Default is Hmisc::bezier.

rect.inter.n

n passed to interpolate function in rectangle transformation(from a rectangle) to a section in circular view.

rank

For default equal trackWidth, use rank to specify the circle orders.

ylim

Numeric range to control y limits.

scale.n

Approximate number of ticks you want to show on the whole space. used when scale.unit is NULL.

scale.unit

Unit used for computing scale. Default is NULL,

scale.type

Scale type used for

grid

logical value indicate showing grid background for track or not.

grid.n

integer value indicate horizontal grid line number.

grid.background

grid background color.

grid.line

grid line color.

chr.weight

numeric vectors which sum to <1, the names of vectors has to be matched with seqnames in seqinfo, and you can only specify part of the seqnames, other lengths of chromosomes will be assined proportionally to their seqlengths, for example, you could specify chr1 to be 0.5, so the chr1 will take half of the space and other chromosomes squeezed to take left of the space.

Value

A 'Layer'.

Author(s)

Tengfei Yin

Examples

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))


seqlengths(gr) <- c(400, 500, 700)
values(gr)$to.gr <- gr[sample(1:length(gr), size = length(gr))]

## doesn't pass gr to the ggplot
ggplot() + layout_circle(gr, geom = "ideo", fill = "gray70", radius = 7, trackWidth = 3) +
  layout_circle(gr, geom = "bar", radius = 10, trackWidth = 4, aes(fill = score, y = score)) +
  layout_circle(gr, geom = "point", color = "red", radius = 14,
                trackWidth = 3, grid = TRUE, aes(y = score)) +
    layout_circle(gr, geom = "link", linked.to = "to.gr", radius = 6,
trackWidth = 1)

## more formal API
ggplot(gr) + layout_circle(geom = "ideo", fill = "gray70", radius = 7, trackWidth = 3) +
  layout_circle(geom = "bar", radius = 10, trackWidth = 4, aes(fill = score, y = score)) +
  layout_circle(geom = "point", color = "red", radius = 14,
                trackWidth = 3, grid = TRUE, aes(y = score)) +
    layout_circle(geom = "link", linked.to = "to.gr", radius = 6, trackWidth = 1)


tengfei/ggbio documentation built on Nov. 5, 2023, 6:17 a.m.