plotReverseCumulatives {CAGEr} | R Documentation

## Plot reverse cumulative number of CAGE tags per CTSS

### Description

Plots the reverse cumulative distribution of the number of CAGE tags per CTSS for all CAGE datasets present in the `CAGEr` object. The plots should be used as help in choosing the parameters for power-law normalization: the range of values to fit the power-law and the slope of the referent power-law distribution (Balwierz et al., Genome Biology 2009).

### Usage

    plotReverseCumulatives(
      object,
      values = c("raw", "normalized"),
      fitInRange = c(10, 1000),
      onePlot = FALSE,
      main = NULL,
      legend = TRUE,
      xlab = "number of CAGE tags",
      ylab = "number of CTSSs (>= nr tags)",
      xlim = c(1, 1e+05),
      ylim = c(1, 1e+06)
    )

    ## S4 method for signature 'CAGEr'
    plotReverseCumulatives(
      object,
      values = c("raw", "normalized"),
      fitInRange = c(10, 1000),
      onePlot = FALSE,
      main = NULL,
      legend = TRUE,
      xlab = "number of CAGE tags",
      ylab = "number of CTSSs (>= nr tags)",
      xlim = c(1, 1e+05),
      ylim = c(1, 1e+06)
    )

### Arguments

`object` | A CAGEr object
`values` | Which values should be plotted: `raw` (default) for raw CAGE tag counts or `normalized` for normalized tag count values.
`fitInRange` | An integer vector with two values specifying a range of tag count values to be used for fitting a power-law distribution to reverse cumulatives. Ignored is set to `NULL`. See Details.
`onePlot` | Logical, should all CAGE datasets be plotted in the same plot (`TRUE`) or in separate plots (`FALSE`).
`main` | Main title for the plot.
`legend` | Set to `NULL` to prevent the display of the sample legend.
`xlab, ylab` | Axis labels passed to `plot`.
`xlim, ylim` | Axis range parameters passed to `plot`.

### Details

Number of CAGE tags (X-axis) is plotted against the number of TSSs that are supported by >= of that number of tags (Y-axis) on a log-log scale for each sample. In addition, a power-law distribution is fitted to each reverse cumulative using the values in the range specified by `fitInRange` parameter. The fitted distribution is defined by `y = -1 * alpha * x + beta` on the log-log scale, and the value of `alpha` for each sample is shown on the plot. In addition, a suggested referent power-law distribution to which all samples should be normalized is drawn on the plot and corresponding parameters (slope alpha and total number of tags T) are denoted on the plot. Referent distribution is chosen so that its slope (alpha) is the median of slopes fitted to individual samples and its total number of tags (T) is the power of 10 nearest to the median number of tags of individual samples. Resulting plots are helpful in deciding whether power-law normalization is appropriate for given samples and reported `alpha` values aid in choosing optimal `alpha` value for referent power-law distribution to which all samples will be normalized. For details about normalization see `normalizeTagCount` function.

### Value

Plots of reverse cumulative number of CAGE tags per CTSS for each CAGE dataset within CAGEr object. Alpha values of fitted power-laws and suggested referent power-law distribution are reported on the plot in case `values = "raw"`.

### Author(s)

Vanja Haberle

### References

Balwierz et al. (2009) Methods for analyzing deep sequencing expression data: constructing the human and mouse promoterome with deepCAGE data, Genome Biology 10(7):R79.

### See Also

`normalizeTagCount`

Other CAGEr plot functions: `hanabiPlot()`, `plotAnnot()`, `plotCorrelation()`, `plotExpressionProfiles()`, `plotInterquantileWidth()`

### Examples

    plotReverseCumulatives( exampleCAGEexp, xlim = c(1, 1e4), ylim = c(1, 1e5)
                          , fitInRange = c(5,100), onePlot = TRUE)
    plotReverseCumulatives( exampleCAGEexp, values = "normalized"
                          , fitInRange = c(200, 2000), onePlot = TRUE)
    plotReverseCumulatives( exampleCAGEexp[,4:5], fitInRange = c(5,100)
                          , onePlot = TRUE, main = "prim6 replicates")

[Package CAGEr version 2.0.2 Index]