R/rnadeg.R

Defines functions rnadeg

Documented in rnadeg

#' rnadeg function
#'
#' Uses voom to find differentially expressed genes between the high and low groups
#'
#' @param pat2 data frame generated by rnasubset function
#' @param rna data frame of RNAseq values
#'
#' @import data.table
#' @import edgeR
#' @import limma
#'
#' @return data frame of significant differentially expressed genes between the two groups defined in rnasubset or mutsubset
#'
#' @examples
#' data(skcm)
#' gene <- "SOX10"
#' sox10.pat <- rnasubset(pat, rna, gene, 10)
#' sox10.deg <- rnadeg(sox10.pat, rna)
#'
#' @export
#'
rnadeg <- function(pat2, rna) {
  setkey(pat2, gene2)
  deg <- DGEList(counts=rna[,pat2[!("middle"), name], with=F], genes=rna$Gene, group=pat2[!("middle"),gene2])
  isexpr <- rowSums(cpm(deg)>1) >= (ncol(deg)/2) #only keeps genes with at least 1 count-per-million in at least half the samples
  deg <- deg[isexpr,]
  design <- model.matrix(~factor(pat2[!("middle"),gene2], levels = c("low", "high")))
  v2 <- voom(deg, design, plot=F)
  fit <- lmFit(v2, design)
  fit2 <- eBayes(fit)
  fit3 <- topTable(fit2, coef=2, n=Inf, adjust.method="BH", p.value=0.05, lfc=1,sort="p")
  fit3
}
pcheng84/TCGAbrowser documentation built on Sept. 7, 2021, 8:28 p.m.