get.smoothed.enrichment.mle2: Calculate background input controlled chromosome-wide...

Description Usage Arguments Value See Also Examples

Description

Given signal and control tag positions, the method calculates log2 signal to control enrichment esimates (maximum likelihood) for each chromosome, based on the smoothed tag density profile (see get.smoothed.tag.density).

Usage

1
2
3
4
5
6
get.smoothed.enrichment.mle2(signal.tags1, control.tags1,
                             signal.tags2, control.tags2,
                             tag.shift = 146/2, background.density.scaling = F,
                             pseudocount = 1, bg.weight1 = NULL,
                             bg.weight2 = NULL,
                             rngl = NULL, chrl = NULL, ...)

Arguments

signal.tags1

Parameter

control.tags1

Parameter

signal.tags2

Parameter

control.tags2

Parameter

tag.shift

Parameter

background.density.scaling

Parameter

pseudocount

Parameter

bg.weight1

Parameter

bg.weight2

Parameter

rngl

Parameter

chrl

Parameter

...

Parameter

Value

A list of elements corresponding to chromosomes, with each element being an $x/$y data.frame giving the position and associated log2 signal/control enrichment estimate.

See Also

get.smoothed.enrichment.mle

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
## Not run: 
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (signal.tags1, control.tags1, signal.tags2, control.tags2, 
    tag.shift = 146/2, background.density.scaling = F, pseudocount = 1, 
    bg.weight1 = NULL, bg.weight2 = NULL, rngl = NULL, chrl = NULL, 
    ...) 
{
    if (is.null(chrl)) {
        chrl <- intersect(names(signal.tags1), names(signal.tags2))
        names(chrl) <- chrl
    }
    if (is.null(rngl)) {
        rngl <- lapply(chrl, function(chr) range(c(range(abs(signal.tags1[[chr]] + 
            tag.shift)), range(abs(signal.tags2[[chr]] + tag.shift)))))
    }
    else {
        chrl <- names(rngl)
        names(chrl) <- chrl
    }
    ssd1 <- get.smoothed.tag.density(signal.tags1, rngl = rngl, 
        ..., scale.by.dataset.size = F)
    ssd2 <- get.smoothed.tag.density(signal.tags2, rngl = rngl, 
        ..., scale.by.dataset.size = F)
    csd1 <- get.smoothed.tag.density(control.tags1, rngl = rngl, 
        ..., scale.by.dataset.size = F)
    csd2 <- get.smoothed.tag.density(control.tags2, rngl = rngl, 
        ..., scale.by.dataset.size = F)
    if (is.null(bg.weight1)) {
        bg.weight1 <- dataset.density.ratio(signal.tags1, control.tags1, 
            background.density.scaling = background.density.scaling)
    }
    if (is.null(bg.weight2)) {
        bg.weight2 <- dataset.density.ratio(signal.tags2, control.tags2, 
            background.density.scaling = background.density.scaling)
    }
    cmle <- lapply(chrl, function(chr) {
        d <- ssd1[[chr]]
        d$y <- log2(ssd1[[chr]]$y + pseudocount * bg.weight1) - 
            log2(csd1[[chr]]$y + pseudocount) - log2(bg.weight1) - 
            log2(ssd2[[chr]]$y + pseudocount * bg.weight2) + 
            log2(csd2[[chr]]$y + pseudocount) + log2(bg.weight2)
        return(d)
    })
  }

## End(Not run)

spp documentation built on May 30, 2019, 5:03 p.m.