# decideTestsDGE.R
decideTests.DGEExact <- decideTests.DGELRT <- function(object,adjust.method="BH",p.value=0.05,lfc=0,...)
{
decideTestsDGE(object=object,adjust.method=adjust.method,p.value=p.value,lfc=lfc)
}
decideTestsDGE <- function(object,adjust.method="BH",p.value=0.05,lfc=0)
# Accept or reject hypothesis tests across genes and contrasts
# edgeR team. Original author was Davis McCarthy.
# Created 15 August 2010. Last modified 15 July 2018.
{
# Check object class
if( !(is(object,"DGEExact") || is(object,"DGELRT")) ) stop("Need DGEExact or DGELRT object")
# Apply multiple testing
p <- object$table$PValue
p <- p.adjust(p, method=adjust.method)
isDE <- as.integer(p < p.value)
# Extract logFC
logFC <- object$table$logFC
# Check for F-test with multiple logFC columns
FTest <- is.null(logFC)
# With multiple contrasts, apply lfc threshold to maximum logFC
if(FTest) {
if(lfc>0) {
coef.col <- grep("^logFC",colnames(object$table))
logFC <- object$table[,coef.col]
SmallFC <- rowSums(abs(logFC) >= lfc) == 0
isDE[SmallFC] <- 0L
}
# With single contrast, apply directionality and lfc threshold
} else {
isDE[isDE & logFC<0] <- -1L
SmallFC <- (abs(logFC) < lfc)
isDE[SmallFC] <- 0L
}
# Assemble TestResults object
isDE <- matrix(isDE, ncol=1)
row.names(isDE) <- row.names(object)
colnames(isDE) <- paste(rev(object$comparison),collapse="-")
# Record possible values
if(FTest) {
attr(isDE,"levels") <- c(0L,1L)
attr(isDE,"labels") <- c("NotSig","Sig")
} else {
attr(isDE,"levels") <- c(-1L,0L,1L)
attr(isDE,"labels") <- c("Down","NotSig","Up")
}
new("TestResults", isDE)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.