duplicateFinder: x

Usage Arguments Examples

Usage

1
duplicateFinder(eset, var.genes = 1000, dupl.cor = 0.95, nthread = 1)

Arguments

eset
var.genes
dupl.cor
nthread

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
##---- 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 (eset, var.genes = 1000, dupl.cor = 0.95, nthread = 1) 
{
    require(Biobase)
    if (nthread > 1) {
        require(parallel)
    }
    iix <- apply(exprs(eset), 1, function(x, y) {
        return((sum(is.na(x))/length(x)) < (1 - y))
    }, y = 0.8)
    varg <- Biobase::featureNames(eset)[iix][order(apply(exprs(eset)[iix, 
        , drop = FALSE], 1, var, na.rm = TRUE), decreasing = TRUE)[1:var.genes]]
    splitix <- parallel::splitIndices(nx = length(sampleNames(eset)), 
        ncl = nthread)
    mcres <- parallel::mclapply(splitix, function(splitix, data) {
        cores <- cor(x = data[, splitix, drop = FALSE], y = data, 
            use = "complete.obs")
    }, data = exprs(eset)[varg, , drop = FALSE])
    cor.samples <- do.call(rbind, mcres)
    diag(cor.samples) <- NA
    duplix <- apply(cor.samples, 1, function(x, y) {
        res <- names(x)[!is.na(x) & x > y]
        return(res)
    }, y = dupl.cor)
    duplix <- duplix[sapply(duplix, length) > 0]
    return(duplix)
  }

bhklab/MetaGx documentation built on May 12, 2019, 8:25 p.m.