Description Usage Arguments Value See Also Examples
Returns a conservative upper/lower bound profile (log2) given signal tag list, background tag list and window scales controlling for input, and supporting only a single background scale.
Novel version of get.conservative.fold.enrichment.profile() supporting a single background scale.
1 2 3 4 5 | get.conservative.fold.enrichment.profile2(ftl1, ftl2, btl1, btl2, fws,
bws = 1 * fws, step = 50, tag.shift = 146/2,
alpha = 0.05, background.density.scaling = T,
bg.weight1 = NULL, bg.weight2 = NULL,
posl = NULL, return.mle = F)
|
ftl1 |
Parameter |
ftl2 |
Parameter |
btl1 |
Parameter |
btl2 |
Parameter |
fws |
Parameter |
bws |
Parameter |
step |
Parameter |
tag.shift |
Parameter |
alpha |
Parameter |
background.density.scaling |
Parameter |
bg.weight1 |
Parameter |
bg.weight2 |
Parameter |
posl |
Parameter |
return.mle |
Parameter |
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.
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 51 52 53 54 55 56 57 58 59 60 61 62 | ## 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 (ftl1, ftl2, btl1, btl2, fws, bws = 1 * fws, step = 50,
tag.shift = 146/2, alpha = 0.05, background.density.scaling = T,
bg.weight1 = NULL, bg.weight2 = NULL, posl = NULL, return.mle = F)
{
ftl1 <- ftl1[unlist(lapply(ftl1, length)) > 2]
chrl <- names(ftl1)
names(chrl) <- chrl
if (!is.null(posl)) {
chrl <- chrl[chrl %in% names(posl)]
}
if (is.null(bg.weight1)) {
bg.weight1 <- dataset.density.ratio(ftl1, btl1,
background.density.scaling = background.density.scaling)
}
if (is.null(bg.weight2)) {
bg.weight2 <- dataset.density.ratio(ftl2, btl2,
background.density.scaling = background.density.scaling)
}
lapply(chrl, function(chr) {
x <- binomial.proportion.ratio.bounds(abs(ftl1[[chr]] +
tag.shift), abs(btl1[[chr]] + tag.shift), abs(ftl2[[chr]] +
tag.shift), abs(btl2[[chr]] + tag.shift), fws = fws,
bws = bws, step = step, bg.weight1 = bg.weight1,
bg.weight2 = bg.weight2, alpha = alpha, pos = if (is.null(posl)) {
NULL
}
else {
posl[[chr]]
})
ps <- rep(0, length(x$mle))
vi <- which(!is.na(x$lb) & x$lb > 0)
ps[vi] <- x$lb[vi]
vi <- which(!is.na(x$ub) & x$ub < 0)
ps[vi] <- x$ub[vi]
if (is.null(posl)) {
if (return.mle) {
return(data.frame(x = x$x, y = ps, mle = x$mle,
lb = x$lb, ub = x$ub))
}
else {
return(data.frame(x = x$x, y = ps))
}
}
else {
if (return.mle) {
return(data.frame(x = posl[[chr]], y = ps, mle = x$mle,
lb = x$lb, ub = x$ub))
}
else {
return(data.frame(x = posl[[chr]], y = ps))
}
}
})
}
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.