GSABenchmark

GSABenchmark is a package designed for benchmarking scRNA-seq gene set analysis (scGSA) methods. It provides both traditional and novel benchmark metrics, as well as visualization tools. Currently, GSABenchmark supports 17 scGSA methods.

Installation

To install GSABenchmark, run the following R code:

if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
    
BiocManager::install('GSABenchmark')

Benchmark metrics

Three types of correctness metrics are implemented in GSABenchmark:

  1. Class boundary determination metrics (6) : sensitivity, specificity, precision, accuracy, size proximity and score coverage.
  2. Matthews correlation coefficient-based metrics (2): comprehensive MCC and direct MCC.
  3. Global evaluation metrics (7): AUROC, PRAUC, label rank alignment, silhouette rank alignment, centrality, label Jaccard score and label cosine score.

A brief explanation of these metric classes is as follows:

Additionally, GSABenchmark assesses the computational efficiency of the gene set analysis methods in terms of running time and peak memory usage.

Methods

Currently, GSABenchmark supports 17 scGSA methods:

All methods can run on both Seurat and SingleCellExperiment objects.

Assessing new methods

Users can also define their own gene set analysis methods to be assessed with GSABenchmark. User-defined methods must meet the following criteria:

Additional parameters are allowed. For instance, this function heading would be recognized by GSABenchmark:

runMethod(seuratObj, geneSets, 'data', tol = 0.2, verbose = TRUE).

Note: When passing the method name to a GSABenchmark function as part of the gsaMethods argument, the method needs to be referred to as Method (no run).

Note: GSABenchmark min-max-normalizes the per-cell gene set analysis scores of all supported methods, returning scores between 0 and 1. User-defined methods must return scores in the same range.