Skip to contents

Computes signature scores using single-sample Gene Set Enrichment Analysis.

Usage

calculate_sig_score_ssgsea(
  pdata = NULL,
  eset,
  signature,
  mini_gene_count = 5,
  column_of_sample = "ID",
  adjust_eset = FALSE,
  parallel.size = 1L
)

Arguments

pdata

Data frame with phenotype data. If `NULL`, created from `eset` column names.

eset

Expression matrix (genes as rows, samples as columns).

signature

List of gene signatures.

mini_gene_count

Minimum genes required per signature. Default is 3.

column_of_sample

Column in `pdata` with sample IDs. Default is `"ID"`.

adjust_eset

Logical: remove problematic features. Default is `FALSE`.

parallel.size

Number of parallel workers. Default is 1.

Value

Tibble with signature scores.

Author

Dongqiang Zeng

Examples

set.seed(123)
eset <- matrix(rnorm(1000), nrow = 100, ncol = 10)
rownames(eset) <- paste0("Gene", 1:100)
colnames(eset) <- paste0("Sample", 1:10)
signature <- list(
  Signature1 = paste0("Gene", 1:15),
  Signature2 = paste0("Gene", 16:30)
)
result <- calculate_sig_score_ssgsea(eset = eset, signature = signature)
#>  Calculating signature scores using ssGSEA method
#>  Log2 transformation not necessary (data appears to already be log-scaled)
#>  Calculating scores for 2 signature(s)
#>  GSVA version 2.4.8
#>  Searching for rows with constant values
#>  Calculating ssGSEA scores for 2 gene sets
#>  Calculating ranks
#>  Calculating rank weights
#>  Normalizing ssGSEA scores
#>  Calculations finished