coverageHeatMap: Create a heatmap of coverage

View source: R/coverage_heatmaps.R

coverageHeatMapR Documentation

Create a heatmap of coverage

Description

Creates a ggplot representing a heatmap of coverage:

  • Rows : Position in region

  • Columns : Read length

  • Index intensity : (color) coverage scoring per index.

Coverage rows in heat map is fraction, usually fractions is divided into unique read lengths (standard Illumina is 76 unique widths, with some minimum cutoff like 15.) Coverage column in heat map is score, default zscore of counts. These are the relative positions you are plotting to. Like +/- relative to TIS or TSS.

Usage

coverageHeatMap(
  coverage,
  output = NULL,
  scoring = "zscore",
  legendPos = "right",
  addFracPlot = FALSE,
  xlab = "Position relative to start site",
  ylab = "Protected fragment length",
  colors = "default",
  title = NULL,
  increments.y = "auto",
  gradient.max = max(coverage$score)
)

Arguments

coverage

a data.table, e.g. output of scaledWindowCoverage

output

character string (NULL), if set, saves the plot as pdf or png to path given. If no format is given, is save as pdf.

scoring

character vector, default "zscore", Which scoring did you use to create? either of zscore, transcriptNormalized, sum, mean, median, .. see ?coverageScorings for info and more alternatives.

legendPos

a character, Default "right". Where should the fill legend be ? ("top", "bottom", "right", "left")

addFracPlot

Add margin histogram plot on top of heatmap with fractions per positions

xlab

the x-axis label, default "Position relative to start site"

ylab

the y-axis label, default "Protected fragment length"

colors

character vector, default: "default", this gives you: c("white", "yellow2", "yellow3", "lightblue", "blue", "navy"), do "high" for more high contrasts, or specify your own colors.

title

a character, default NULL (no title), what is the top title of plot?

increments.y

increments of y axis, default "auto". Or a numeric value < max position & > min position.

gradient.max

numeric, defualt: max(coverage$score). What data value should the top color be ? Good to use if you want to compare 2 samples, with the same color intensity, in that case set this value to the max score of the 2 coverage tables.

Details

Colors: Remember if you want to change anything like colors, just return the ggplot object, and reassign like: obj + scale_color_brewer() etc. Standard colors are:

  • 0 reads in whole readlength :gray

  • few reads in position :white

  • medium reads in position :yellow

  • many reads in position :dark blue

Value

a ggplot object of the coverage plot, NULL if output is set, then the plot will only be saved to location.

See Also

Other heatmaps: heatMapL(), heatMapRegion(), heatMap_single()

Other coveragePlot: pSitePlot(), savePlot(), windowCoveragePlot()

Examples

# An ORF
grl <- GRangesList(tx1 = GRanges("1", IRanges(1, 6), "+"))
# Ribo-seq reads
range <- IRanges(c(rep(1, 3), 2, 3, rep(4, 2), 5, 6), width = 1 )
reads <- GRanges("1", range, "+")
reads$size <- c(rep(28, 5), rep(29, 4)) # read size
coverage <- windowPerReadLength(grl, reads = reads, upstream = 0,
                                downstream = 5)

coverageHeatMap(coverage)

# With top sum bar
coverageHeatMap(coverage, addFracPlot = TRUE)
# See vignette for more examples


Roleren/ORFik documentation built on Oct. 19, 2024, 7:37 a.m.