Heatmap visualization of DEG result

plotDEGHeatmap(
  inSCE,
  useResult,
  onlyPos = FALSE,
  log2fcThreshold = 0.25,
  fdrThreshold = 0.05,
  minGroup1MeanExp = NULL,
  maxGroup2MeanExp = NULL,
  minGroup1ExprPerc = NULL,
  maxGroup2ExprPerc = NULL,
  useAssay = NULL,
  doLog = FALSE,
  featureAnnotations = NULL,
  cellAnnotations = NULL,
  featureAnnotationColor = NULL,
  cellAnnotationColor = NULL,
  rowDataName = NULL,
  colDataName = NULL,
  colSplitBy = "condition",
  rowSplitBy = "regulation",
  rowLabel = S4Vectors::metadata(inSCE)$featureDisplay,
  title = paste0("DE Analysis: ", useResult),
  ...
)

Arguments

inSCE

SingleCellExperiment inherited object.

useResult

character. A string specifying the analysisName used when running a differential expression analysis function.

onlyPos

logical. Whether to only plot DEG with positive log2_FC value. Default FALSE.

log2fcThreshold

numeric. Only plot DEGs with the absolute values of log2FC larger than this value. Default 0.25.

fdrThreshold

numeric. Only plot DEGs with FDR value smaller than this value. Default 0.05.

minGroup1MeanExp

numeric. Only plot DEGs with mean expression in group1 greater then this value. Default NULL.

maxGroup2MeanExp

numeric. Only plot DEGs with mean expression in group2 less then this value. Default NULL.

minGroup1ExprPerc

numeric. Only plot DEGs expressed in greater then this fraction of cells in group1. Default NULL.

maxGroup2ExprPerc

numeric. Only plot DEGs expressed in less then this fraction of cells in group2. Default NULL.

useAssay

character. A string specifying an assay of expression value to plot. By default the assay used for runMAST() will be used. Default NULL.

doLog

Logical scalar. Whether to do log(assay + 1) transformation on the assay used for the analysis. Default FALSE.

featureAnnotations

data.frame, with rownames containing all the features going to be plotted. Character columns should be factors. Default NULL.

cellAnnotations

data.frame, with rownames containing all the cells going to be plotted. Character columns should be factors. Default NULL.

featureAnnotationColor

A named list. Customized color settings for feature labeling. Should match the entries in the featureAnnotations or rowDataName. For each entry, there should be a list/vector of colors named with categories. Default NULL.

cellAnnotationColor

A named list. Customized color settings for cell labeling. Should match the entries in the cellAnnotations or colDataName. For each entry, there should be a list/vector of colors named with categories. Default NULL.

rowDataName

character. The column name(s) in rowData that need to be added to the annotation. Default NULL.

colDataName

character. The column name(s) in colData that need to be added to the annotation. Default NULL.

colSplitBy

character. Do semi-heatmap based on the grouping of this(these) annotation(s). Should exist in either colDataName or names(cellAnnotations). Default "condition".

rowSplitBy

character. Do semi-heatmap based on the grouping of this(these) annotation(s). Should exist in either rowDataName or names(featureAnnotations). Default "regulation".

rowLabel

FALSE for not displaying; a variable in rowData to display feature identifiers stored there; if have run setSCTKDisplayRow, display the specified feature name; TRUE for the rownames of inSCE; NULL for auto-display rownames when the number of filtered feature is less than 60. Default looks for setSCTKDisplayRow information.

title

character. Main title of the heatmap. Default "DE Analysis: <useResult>".

...

Other arguments passed to plotSCEHeatmap

Value

A ggplot object

Details

A differential expression analysis function has to be run in advance so that information is stored in the metadata of the input SCE object. This function wraps plotSCEHeatmap. A feature annotation basing on the log2FC level called "regulation" will be automatically added. A cell annotation basing on the condition selection while running the analysis called "condition", and the annotations used from colData(inSCE) while setting the condition and covariates will also be added.

Author

Yichen Wang

Examples

data("sceBatches")
logcounts(sceBatches) <- log1p(counts(sceBatches))
sce.w <- subsetSCECols(sceBatches, colData = "batch == 'w'")
sce.w <- runWilcox(sce.w, class = "cell_type", classGroup1 = "alpha",
                   groupName1 = "w.alpha", groupName2 = "w.beta",
                   analysisName = "w.aVSb")
#> Sat Mar 18 10:28:38 2023 ... Running DE with wilcox, Analysis name: w.aVSb
plotDEGHeatmap(sce.w, "w.aVSb")