setMethod("Ns", signature(object="AssayData"), function(object, ...){ dotArgs <- names(list(...)) missing.i <- !("i" %in% dotArgs) missing.j <- !("j" %in% dotArgs) if(!missing.j) j <- list(...)[["j"]] batchnames <- sampleNames(object) if(!missing.j) batchnames <- batchnames[j] if(missing.i & missing.j) stop("Must specify either the rows i or batches j") is.ff <- is(assayDataElement(object, "N.AA"), "ff") | is(assayDataElement(object, "N.AA"), "ffdf") if(is.ff){ open(assayDataElement(object, "N.AA")) open(assayDataElement(object, "N.AB")) open(assayDataElement(object, "N.BB")) } N.AA <- as.matrix(assayDataElement(object, "N.AA")[...]) N.AB <- as.matrix(assayDataElement(object, "N.AB")[...]) N.BB <- as.matrix(assayDataElement(object, "N.BB")[...]) if(is.ff){ close(assayDataElement(object, "N.AA")) close(assayDataElement(object, "N.AB")) close(assayDataElement(object, "N.BB")) } res <- array(NA, dim=c(nrow(N.AA), 3, ncol(N.AA))) dimnames(res)[[2]] <- c("AA", "AB", "BB") dimnames(res)[[3]] <- batchnames res[, "AA", ] <- N.AA res[, "AB", ] <- N.AB res[, "BB", ] <- N.BB return(res) }) setMethod("corr", signature(object="AssayData"), function(object, ...){ dotArgs <- names(list(...)) missing.i <- !("i" %in% dotArgs) missing.j <- !("j" %in% dotArgs) if(!missing.j) j <- list(...)[["j"]] batchnames <- sampleNames(object) if(!missing.j) batchnames <- batchnames[j] ##if(missing.i & missing.j) stop("Must specify either the rows i or batches j") is.ff <- is(assayDataElement(object, "corrAA"), "ff") | is(assayDataElement(object, "corrAA"), "ffdf") if(is.ff){ open(assayDataElement(object, "corrAA")) open(assayDataElement(object, "corrAB")) open(assayDataElement(object, "corrBB")) } corrAA <- as.matrix(assayDataElement(object, "corrAA")[...]) corrAB <- as.matrix(assayDataElement(object, "corrAB")[...]) corrBB <- as.matrix(assayDataElement(object, "corrBB")[...]) if(is.ff){ close(assayDataElement(object, "corrAA")) close(assayDataElement(object, "corrAB")) close(assayDataElement(object, "corrBB")) } res <- array(NA, dim=c(nrow(corrAA), 3, ncol(corrAA))) dimnames(res)[[2]] <- c("AA", "AB", "BB") dimnames(res)[[3]] <- batchnames res[, "AA", ] <- corrAA res[, "AB", ] <- corrAB res[, "BB", ] <- corrBB return(res) }) setMethod("medians", signature(object="AssayData"), function(object, ...){ dotArgs <- names(list(...)) missing.i <- !("i" %in% dotArgs) missing.j <- !("j" %in% dotArgs) if(!missing.j) j <- list(...)[["j"]] batchnames <- sampleNames(object) if(!missing.j) batchnames <- batchnames[j] if(missing.i & missing.j) stop("Must specify either the rows i or batches j") medianA.AA <- as.matrix(assayDataElement(object, "medianA.AA")[...]) medianA.AB <- as.matrix(assayDataElement(object, "medianA.AB")[...]) medianA.BB <- as.matrix(assayDataElement(object, "medianA.BB")[...]) medianB.AA <- as.matrix(assayDataElement(object, "medianB.AA")[...]) medianB.AB <- as.matrix(assayDataElement(object, "medianB.AB")[...]) medianB.BB <- as.matrix(assayDataElement(object, "medianB.BB")[...]) res <- array(NA, dim=c(nrow(medianA.AA), 2, 3, ncol(medianA.AA))) dimnames(res)[[2]] <- c("A", "B") dimnames(res)[[3]] <- c("AA", "AB", "BB") dimnames(res)[[4]] <- batchnames res[, "A", "AA", ] <- medianA.AA res[, "A", "AB", ] <- medianA.AB res[, "A", "BB", ] <- medianA.BB res[, "B", "AA", ] <- medianB.AA res[, "B", "AB", ] <- medianB.AB res[, "B", "BB", ] <- medianB.BB return(res) }) setMethod("mads", signature(object="AssayData"), function(object, ...){ dotArgs <- names(list(...)) missing.i <- !("i" %in% dotArgs) missing.j <- !("j" %in% dotArgs) batchnames <- sampleNames(object) if(!missing.j) j <- list(...)[["j"]] if(!missing.j) batchnames <- batchnames[j] if(missing.i & missing.j) stop("Must specify either the rows i or batches j") madA.AA <- as.matrix(assayDataElement(object, "madA.AA")[...]) madA.AB <- as.matrix(assayDataElement(object, "madA.AB")[...]) madA.BB <- as.matrix(assayDataElement(object, "madA.BB")[...]) madB.AA <- as.matrix(assayDataElement(object, "madB.AA")[...]) madB.AB <- as.matrix(assayDataElement(object, "madB.AB")[...]) madB.BB <- as.matrix(assayDataElement(object, "madB.BB")[...]) res <- array(NA, dim=c(nrow(madA.AA), 2, 3, ncol(madA.AA))) dimnames(res)[[2]] <- c("A", "B") dimnames(res)[[3]] <- c("AA", "AB", "BB") dimnames(res)[[4]] <- batchnames res[, "A", "AA", ] <- madA.AA res[, "A", "AB", ] <- madA.AB res[, "A", "BB", ] <- madA.BB res[, "B", "AA", ] <- madB.AA res[, "B", "AB", ] <- madB.AB res[, "B", "BB", ] <- madB.BB return(res) }) setMethod("tau2", signature(object="AssayData"), function(object, ...){ dotArgs <- names(list(...)) missing.i <- !("i" %in% dotArgs) missing.j <- !("j" %in% dotArgs) batchnames <- sampleNames(object) if(!missing.j) j <- list(...)[["j"]] if(!missing.j) batchnames <- batchnames[j] if(missing.i & missing.j) stop("Must specify either the rows i or batches j") tau2A.AA <- as.matrix(assayDataElement(object, "tau2A.AA")[...]) tau2A.BB <- as.matrix(assayDataElement(object, "tau2A.BB")[...]) tau2B.AA <- as.matrix(assayDataElement(object, "tau2B.AA")[...]) tau2B.BB <- as.matrix(assayDataElement(object, "tau2B.BB")[...]) res <- array(NA, dim=c(nrow(tau2A.AA), 2, 2, ncol(tau2A.AA))) dimnames(res)[[2]] <- c("A", "B") dimnames(res)[[3]] <- c("AA", "BB") dimnames(res)[[4]] <- batchnames res[, "A", "AA", ] <- tau2A.AA res[, "A", "BB", ] <- tau2A.BB res[, "B", "AA", ] <- tau2B.AA res[, "B", "BB", ] <- tau2B.BB return(res) })