Learn R Programming

Repitools (version 1.18.0)

cpgDensityCalc: Calculate CpG Density in a Window

Description

Function to calculate CpG density around a position.

Usage

"cpgDensityCalc"(x, organism, ...) "cpgDensityCalc"(x, organism, verbose = TRUE, ...) "cpgDensityCalc"(x, organism, seq.len = NULL, window = NULL, w.function = c("none", "linear", "exp", "log"), verbose = TRUE)

Arguments

x
A data.frame, with columns chr and position, or columns chr, start, end, and strand. Also may be a GRangesList object, or GRanges.
window
Bases around the locations that are in the window. Calculation will consider window/2 - 1 bases upstream, and window/2 bases downstream.
w.function
Weighting function to use. Can be "none", "linear", "log", or "exp"
organism
The BSgenome object to calculate CpG density upon.
seq.len
The fragment size of the sequence reads in x. Default: No extension.
verbose
Print details of processing.
...
Arguments passed into the data.frame or GRangesList method, but not used until the GRanges method.

Value

A numeric vector of CpG densities for each region.

Details

If the version of the data frame with the start, end, and strand columns is given, the window will be created around the TSS. For weighting scheme "none", this is equivalent to the number of CG matches in the region. For "linear" weighting, each match is given a score 1/x where x is the number of bases from the postition that the match occurred, and the scores are summed. For exponential weighting and logarithmic weighting, the idea is similar, but the scores decay exponentially (exp^-5x/window) and logarithmically (log2(2 - (distancesForRegion / window))).

Examples

Run this code
  if(require(BSgenome.Hsapiens.UCSC.hg18))
  {
    TSSTable <- data.frame(chr = c("chr1", "chr2"), position = c(100000, 200000))
    cpgDensityCalc(TSSTable, organism = Hsapiens, window = 600)
  }

Run the code above in your browser using DataLab