Skip to contents

It may be useful to compare the results of scoring across several different scoring algorithms via a method of visualization, such as a heatmap. The compareSigs function allows the input of a SummarizedExperiment data object and conducts profiling on each signature desired, and outputting a heatmap or boxplot for each signature.


  signatures = NULL,
  useAssay = "counts",
  algorithm = c("GSVA", "ssGSEA", "ASSIGN", "PLAGE", "Zscore", "singscore"),
  showColumnNames = TRUE,
  showRowNames = TRUE,
  scale = FALSE,
  colorSets = c("Set1", "Set2", "Set3", "Pastel1", "Pastel2", "Accent", "Dark2",
  choose_color = c("blue", "gray95", "red"),
  colList = list(),
  show.pb = FALSE, = 0,
  output = "heatmap",
  num.boot = 100,
  column_order = NULL



an input data object of the class "SummarizedExperiment". Required.


a list of signatures to run with their associated genes. This list should be in the same format as TBsignatures, included in the TBSignatureProfiler package. If signatures = NULL, the default set of signatures TBsignatures list is used. For details, run ?TBsignatures. If <2 genes in a signature are present in the sample, that signature will not be evaluated and will not be present in the resulting SE object. The default is NULL.


a character string giving the column name in colData that contains the annotation data. Required.


a character string specifying the assay to use for signature profiling when input is a SummarizedExperiment. Required only for input data of the class SummarizedExperiment. If null, the assay used will be "counts". The default is NULL.


a vector of algorithms to run, or character string if only one is desired. The default is c("GSVA", "ssGSEA", "ASSIGN", "PLAGE", "Zscore", "singscore").


logical. Setting showColumnNames = TRUE will show the column names (i.e. sample names) on the heatmap. The default is TRUE.


logical. Setting showColumnNames = TRUE will show the row names (i.e. signature names) on the heatmap. The default is TRUE.


logical. Setting scale = TRUE scales the signature data. The default is FALSE.


a vector of names listing the color sets in the order that they should be used in creating the heatmap. By default, this function will use the color sets in the order listed in Usage for annotation information. You may replace the default with the same collection of sets in order that you want to use them, or provide custom color sets with the colList parameter.


a vector of color names to be interpolated for the heatmap gradient, or a colorRamp function produced by circlize::colorRamp2. The default is c("blue", "gray95", "red").


a named list of named vectors specifying custom color information to pass to ComplexHeatmap::Heatmap(). The list should have as many elements as there are annotation columns, and each element name should correspond exactly with the name of each annotation column. The colors in the vector elements should be named according to the levels of the factor in that column's annotation data if the annotation is discrete, or it should be produced with circlize::colorRamp2 if the annotation is continuous. By default, ColorBrewer color sets will be used. See the the parameter colorSets for additional details.


logical, whether warnings and other output from the profiling should be suppressed (including progress bar output). Default is FALSE.

an integer identifying the number of processors to use when running the calculations in parallel for the GSVA and ssGSEA algorithms. If = 0, all cores are used. The default is 0.


a character string specifying whether the outputted plot should be a "heatmap" or "boxplot". The default is "heatmap".


an integer indicating the number of times to bootstrap the data.


a vector of character strings indicating the order in which to manually arrange the heatmap columns. Default is NULL, such that column order is automatically determined via clustering.


A heatmap or boxplot for each signature specified comparing the enumerated algorithms.


            signatures = TBsignatures[c("Zimmer_RES_3")],
            annotationColName = "label",
            algorithm = c("ssGSEA", "PLAGE"),
            scale = TRUE, = 1, output = "heatmap")
#> Parameter update_genes is TRUE. Gene names will be updated.
#> Running ssGSEA
#> Warning: 1 genes with constant expression values throuhgout the samples.
#> Running PLAGE
#> Warning: 1 genes with constant expression values throuhgout the samples.
#> Warning: Since argument method!="ssgsea", genes with constant expression values are discarded.