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.
To install GSABenchmark, run the following R code:
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install('GSABenchmark')
Three types of correctness metrics are implemented in GSABenchmark:
sensitivity, specificity, precision, accuracy, size proximity and score coverage.comprehensive MCC and direct MCC.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:
comprehensive MCC) and as a global evaluation metric (direct MCC).Additionally, GSABenchmark assesses the computational efficiency of the gene
set analysis methods in terms of running time and peak memory usage.
Currently, GSABenchmark supports 17 scGSA methods:
AddModuleScore (reimplemented from Seurat)AUCellCSOAGSVAJASMINE(reimplemented from JASMINE)MDTMLMORAPagoda2PLAGESingscoreSiPSiCssGSEAUCellUDTVAMZscoreAll methods can run on both Seurat and SingleCellExperiment objects.
Users can also define their own gene set analysis methods to be assessed with
GSABenchmark. User-defined methods must meet the following criteria:
run. For a method named Method,
this argument would be named runMethod.Seurat or SingleCellExperiment object.Method_GeneSet.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.