Perform differential expression analysis on SCE object
runDEAnalysis(method = c("wilcox", "MAST", "DESeq2", "Limma", "ANOVA"), ...)
runDESeq2(
inSCE,
useAssay = "counts",
useReducedDim = NULL,
index1 = NULL,
index2 = NULL,
class = NULL,
classGroup1 = NULL,
classGroup2 = NULL,
analysisName,
groupName1,
groupName2,
covariates = NULL,
fullReduced = TRUE,
onlyPos = FALSE,
log2fcThreshold = NULL,
fdrThreshold = NULL,
minGroup1MeanExp = NULL,
maxGroup2MeanExp = NULL,
minGroup1ExprPerc = NULL,
maxGroup2ExprPerc = NULL,
overwrite = FALSE,
verbose = TRUE
)
runLimmaDE(
inSCE,
useAssay = "logcounts",
useReducedDim = NULL,
index1 = NULL,
index2 = NULL,
class = NULL,
classGroup1 = NULL,
classGroup2 = NULL,
analysisName,
groupName1,
groupName2,
covariates = NULL,
onlyPos = FALSE,
log2fcThreshold = NULL,
fdrThreshold = NULL,
minGroup1MeanExp = NULL,
maxGroup2MeanExp = NULL,
minGroup1ExprPerc = NULL,
maxGroup2ExprPerc = NULL,
overwrite = FALSE,
verbose = TRUE
)
runANOVA(
inSCE,
useAssay = "logcounts",
useReducedDim = NULL,
index1 = NULL,
index2 = NULL,
class = NULL,
classGroup1 = NULL,
classGroup2 = NULL,
analysisName,
groupName1,
groupName2,
covariates = NULL,
onlyPos = FALSE,
log2fcThreshold = NULL,
fdrThreshold = NULL,
minGroup1MeanExp = NULL,
maxGroup2MeanExp = NULL,
minGroup1ExprPerc = NULL,
maxGroup2ExprPerc = NULL,
overwrite = FALSE,
verbose = TRUE
)
runMAST(
inSCE,
useAssay = "logcounts",
useReducedDim = NULL,
index1 = NULL,
index2 = NULL,
class = NULL,
classGroup1 = NULL,
classGroup2 = NULL,
analysisName,
groupName1,
groupName2,
covariates = NULL,
onlyPos = FALSE,
log2fcThreshold = NULL,
fdrThreshold = NULL,
minGroup1MeanExp = NULL,
maxGroup2MeanExp = NULL,
minGroup1ExprPerc = NULL,
maxGroup2ExprPerc = NULL,
overwrite = FALSE,
check_sanity = TRUE,
verbose = TRUE
)
runWilcox(
inSCE,
useAssay = "logcounts",
useReducedDim = NULL,
index1 = NULL,
index2 = NULL,
class = NULL,
classGroup1 = NULL,
classGroup2 = NULL,
analysisName,
groupName1,
groupName2,
covariates = NULL,
onlyPos = FALSE,
log2fcThreshold = NULL,
fdrThreshold = NULL,
minGroup1MeanExp = NULL,
maxGroup2MeanExp = NULL,
minGroup1ExprPerc = NULL,
maxGroup2ExprPerc = NULL,
overwrite = FALSE,
verbose = TRUE
)Character. Specify which method to use when using
runDEAnalysis(). Choose from "wilcox", "MAST",
"DESeq2", "Limma", "ANOVA". Default "wilcox".
Arguments to pass to specific methods when using the generic
runDEAnalysis().
SingleCellExperiment inherited object.
character. A string specifying which assay to use for the
DE regression. Ignored when useReducedDim is specified. Default
"counts" for DESeq2, "logcounts" for other methods.
character. A string specifying which reducedDim to use
for DE analysis. Will treat the dimensions as features. Default NULL.
Any type of indices that can subset a
SingleCellExperiment inherited object by cells. Specifies
which cells are of interests. Default NULL.
Any type of indices that can subset a
SingleCellExperiment inherited object by cells. specifies
the control group against those specified by index1. If
NULL when using index specification, index1 cells will be
compared with all other cells. Default NULL.
A vector/factor with ncol(inSCE) elements, or a character
scalar that specifies a column name of colData(inSCE). Default
NULL.
a vector specifying which "levels" given in class
are of interests. Default NULL.
a vector specifying which "levels" given in class
is the control group against those specified by classGroup1. If
NULL when using annotation specification, classGroup1 cells
will be compared with all other cells.
A character scalar naming the DEG analysis. Required
A character scalar naming the group of interests. Required.
A character scalar naming the control group. Required.
A character vector of additional covariates to use when
building the model. All covariates must exist in
names(colData(inSCE)). Default NULL.
Logical, DESeq2 only argument. Whether to apply LRT
(Likelihood ratio test) with a 'full' model. Default TRUE.
Whether to only output DEG with positive log2_FC value.
Default FALSE.
Only out put DEGs with the absolute values of log2FC
greater than this value. Default NULL.
Only out put DEGs with FDR value less than this
value. Default NULL.
Only out put DEGs with mean expression in group1
greater then this value. Default NULL.
Only out put DEGs with mean expression in group2
less then this value. Default NULL.
Only out put DEGs expressed in greater then this
fraction of cells in group1. Default NULL.
Only out put DEGs expressed in less then this
fraction of cells in group2. Default NULL.
A logical scalar. Whether to overwrite result if exists.
Default FALSE.
A logical scalar. Whether to show messages. Default
TRUE.
Logical, MAST only argument. Whether to perform MAST's
sanity check to see if the counts are logged. Default TRUE.
The input SingleCellExperiment object, where
metadata(inSCE)$diffExp is updated with a list named by
analysisName, with elements of:
the naming of the two conditions
the matrix name that was used for calculation
the cell selection indices (logical) for each condition
a data.frame of the DEGs table
the method used
SCTK provides Limma, MAST, DESeq2, ANOVA and Wilcoxon test for differential expression analysis, where DESeq2 expects non-negtive integer assay input while others expect logcounts.
Condition specification allows two methods:
1. Index level selection. Only use arguments index1 and index2.
2. Annotation level selection. Only use arguments class,
classGroup1 and classGroup2.
See plotDEGHeatmap, plotDEGRegression,
plotDEGViolin and plotDEGVolcano for
visualization method after running DE analysis.
data(scExample, package = "singleCellTK")
sce <- subsetSCECols(sce, colData = "type != 'EmptyDroplet'")
sce <- scaterlogNormCounts(sce, assayName = "logcounts")
sce <- runDEAnalysis(method = "Limma", inSCE = sce, groupName1 = "group1",
groupName2 = "group2", index1 = seq(20), index2 = seq(21,40),
analysisName = "Limma")
#> Tue Jun 28 22:06:22 2022 ... Running DE with limma, Analysis name: Limma