"calcTruth.MBdataDE" <- function(x,num,contrasts=NULL) { isValid <- validObject(x) if(!is.numeric(num) || (num < 0) || (num > x@N)) stop("Invalid number of genes") if(is.null(contrasts)) fit <- eBayes(lmFit(x@M,weights=x@W,design=x@design),proportion=x@prop) else fit <- eBayes(contrasts.fit(lmFit(x@M,weights=x@W,design=x@design),contrasts),proportion=x@prop) truth <- as.numeric(rank(-1*fit$lods)<=num) return(truth) }