#' 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
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.