R/perform_edgeR.R

#' Perform edgeR exact test on a matrix, given the groups
#'
#' @import edgeR
#' @import biobroom
#'
#' @export
perform_edgeR <- function(matrix, group=c("E", "E", "G", "G")) {
    dge.list <- DGEList(counts=matrix, group=group)
    dge.list <- calcNormFactors(dge.list)
    dge.list <- estimateCommonDisp(dge.list)
    dge.list <- estimateTagwiseDisp(dge.list)
    ret <- exactTest(dge.list, pair=c("E", "G"))
    ret <- biobroom::tidy(ret)

    # add additional interesting columns
    ret$intensity <- rowSums(matrix)
    ret$intensityE <- rowSums(matrix[, group == "E"])
    ret$intensityG <- rowSums(matrix[, group == "G"])
    ret
}
StoreyLab/factorial-MA-RS documentation built on May 9, 2019, 3:10 p.m.