multi_layout: Layout multiple locus plots

View source: R/multi_layout.R

multi_layoutR Documentation

Layout multiple locus plots

Description

Produces pages with multiple locus plots on.

Usage

multi_layout(
  plots,
  nrow = 1,
  ncol = 1,
  heights = c(3, 2),
  legend_pos = "topleft",
  ...
)

Arguments

plots

Either an 'expression' to be evaluated which is a series of calls to locus_plot() or similar plotting functions, or a list of 'locus' class objects which are plotted in sequence.

nrow

Number of rows of plots

ncol

Number of columns of plots

heights

Vector of length 2 specifying height for plot and gene tracks

legend_pos

A keyword either "topleft" or "topright" or NULL to hide the legend. Not invoked if plots is an expression. The legend is only shown on one plot on each page.

...

Optional arguments passed to locus_plot() if plots contains a list

Value

No return value.

See Also

locus_plot()

Examples

if(require(EnsDb.Hsapiens.v75)) {

data(SLE_gwas_sub)
genes <- c("STAT4", "UBE2L3", "IRF5")
loclist <- lapply(genes, locus,
                  data = SLE_gwas_sub,
                  ens_db = "EnsDb.Hsapiens.v75",
                  LD = "r2")
## produce 3 locus plots, one on each page
multi_layout(loclist)

## place 3 locus plots in a row on a single page
multi_layout(loclist, ncol = 3)

## full control
loc <- locus(SLE_gwas_sub, gene = 'STAT4', flank = 1e5, LD = "r2",
             ens_db = "EnsDb.Hsapiens.v75")
loc2 <- locus(SLE_gwas_sub, gene = 'IRF5', flank = c(7e4, 2e5), LD = "r2",
              ens_db = "EnsDb.Hsapiens.v75")
loc3 <- locus(SLE_gwas_sub, gene = 'UBE2L3', LD = "r2",
              ens_db = "EnsDb.Hsapiens.v75")
multi_layout(ncol = 3,
             plots = {
               locus_plot(loc, use_layout = FALSE, legend_pos = 'topleft')
               locus_plot(loc2, use_layout = FALSE, legend_pos = NULL)
               locus_plot(loc3, use_layout = FALSE, legend_pos = NULL)
             })

}

myles-lewis/locuszoomr documentation built on Nov. 29, 2024, 4:49 p.m.