R/scDiffEx.R
scDiffEx.Rd
Perform differential expression analysis on a SCtkExperiment object
scDiffEx(
inSCE,
useAssay = "logcounts",
condition,
covariates = NULL,
significance = 0.05,
ntop = 500,
usesig = TRUE,
diffexmethod,
levelofinterest = NULL,
analysisType = NULL,
controlLevel = NULL,
adjust = "fdr"
)
scDiffExDESeq2(
inSCE,
useAssay = "counts",
condition,
analysisType = "biomarker",
levelofinterest = NULL,
controlLevel = NULL,
covariates = NULL,
adjust = "fdr"
)
scDiffExlimma(
inSCE,
useAssay = "logcounts",
condition,
analysisType = "biomarker",
levelofinterest = NULL,
covariates = NULL,
adjust = "fdr"
)
scDiffExANOVA(
inSCE,
useAssay = "logcounts",
condition,
covariates = NULL,
adjust = "fdr"
)
Input SCtkExperiment object. Required
Indicate which assay to use. Default is "logcounts" for limma and ANOVA, and "counts" for DESeq2.
The name of the condition to use for differential expression. Must be a name of a column from colData that contains at least two labels. Required
Additional covariates to add to the model. Default is NULL
FDR corrected significance cutoff for differentially expressed genes. Required
Number of top differentially expressed genes to display in the heatmap. Required
If TRUE, only display genes that meet the significance cutoff, up to ntop genes. Required
The method for performing differential expression analysis. Available options are DESeq2, limma, and ANOVA. Required
If the condition has more than two labels, levelofinterest should contain one factor for condition. The differential expression results will use levelofinterest depending on the analysisType parameter.
For conditions with more than two levels, limma and DESeq2 can be run using multiple methods. For DESeq2, choose "biomarker" to compare the levelofinterest to all other samples. Choose "contrast" to compare the levelofinterest to a controlLevel (see below). Choose "fullreduced" to perform DESeq2 in LRT mode. For limma, Choose "biomarker" to compare the levelofinterest to all other samples. Choose "coef" to select a coefficient of interest with levelofinterest (see below). Choose "allcoef" to test if any coefficient is different from zero.
If the condition has more than two labels, controlLevel should contain one factor from condition to use as the control.
Method for p-value correction. See options in p.adjust(). The default is fdr.
A data frame of gene names and adjusted p-values
scDiffExDESeq2
: Perform differential expression analysis with DESeq2
scDiffExlimma
: Perform differential expression analysis with limma
scDiffExANOVA
: Perform differential expression analysis with ANOVA
data("mouseBrainSubsetSCE")
res <- scDiffEx(mouseBrainSubsetSCE,
useAssay = "logcounts",
"level1class",
diffexmethod = "limma")
#> Warning: Zero sample variances detected, have been offset away from zero
#> Removing intercept from test coefficients
data("mouseBrainSubsetSCE")
#sort first 100 expressed genes
ord <- rownames(mouseBrainSubsetSCE)[
order(rowSums(assay(mouseBrainSubsetSCE, "counts")),
decreasing = TRUE)][1:100]
#subset to those first 100 genes
subset <- mouseBrainSubsetSCE[ord, ]
res <- scDiffExDESeq2(subset, condition = "level1class")
#> estimating size factors
#> estimating dispersions
#> gene-wise dispersion estimates
#> mean-dispersion relationship
#> -- note: fitType='parametric', but the dispersion trend was not well captured by the
#> function: y = a/x + b, and a local regression fit was automatically substituted.
#> specify fitType='local' or 'mean' to avoid this message next time.
#> final dispersion estimates
#> fitting model and testing
data("mouseBrainSubsetSCE")
res <- scDiffExlimma(mouseBrainSubsetSCE, condition = "level1class")
#> Warning: Zero sample variances detected, have been offset away from zero
#> Removing intercept from test coefficients
data("mouseBrainSubsetSCE")
res <- scDiffExANOVA(mouseBrainSubsetSCE, condition = "level1class")