Skip to contents

This function performs single-sample Gene Set Enrichment Analysis (ssGSEA) for Glioblastoma Multiforme (GBM) data based on the Wang et al. 2017 classification system. It predicts sample subtypes (Classical, Mesenchymal, Proneural) based on enrichment scores using established marker gene sets.

Usage

WangGBM(
  data.test,
  dir.file = ".",
  gct.filename = "data.gct",
  number.perms = 100,
  tolerate.mixed = FALSE,
  method = c("internal", "GSVA", "external")
)

Arguments

data.test

A matrix or data frame representing the input expression data, where rows are genes and columns are samples.

dir.file

Character. Directory for saving the output files (default: '.'). Set to NULL to use a temporary directory.

gct.filename

Character. The filename for the generated GCT file (default: 'data.gct').

number.perms

Integer. Number of permutations for ssGSEA analysis (default: 100).

tolerate.mixed

Logical. Whether to allow "Mixed" predictions when multiple gene sets have the same minimum p-value (default: FALSE).

method

Character. The ssGSEA implementation to use: "internal" (built-in), "GSVA" (requires GSVA package), or "external" (requires ssgsea.GBM.classification package from GitHub). Default: "internal".

Value

A data frame with the following columns:

  • ID: Sample identifiers.

  • Predict: Predicted subtype for each sample.

  • Columns with _pval: P-values for each subtype.

Details

The function uses the Wang et al. 2017 GBM subtyping system which classifies samples into three subtypes:

  • Classical (CL)

  • Mesenchymal (MES)

  • Proneural (PN)

For the "external" method, the ssgsea.GBM.classification package is required: devtools::install_github("Zaoqu-Liu/ssgsea.GBM.classification")

References

Wang Q, Hu B, Hu X, Kim H, Squatrito M, Scarpace L, et al. Tumor Evolution of Glioma-Intrinsic Gene Expression Subtypes Associates with Immunological Changes in the Microenvironment. Cancer Cell. July 2017;32(1):42-56.e6.

Author

Zaoqu Liu; Email: liuzaoqu@163.com

Examples

if (FALSE) { # \dontrun{
# Simulated expression data
data.test <- matrix(rnorm(10000), nrow = 100, ncol = 100)
rownames(data.test) <- paste0("Gene", 1:100)
colnames(data.test) <- paste0("Sample", 1:100)

# Run GBM ssGSEA-based subtyping
result <- WangGBM(
  data.test = data.test,
  number.perms = 50,
  tolerate.mixed = TRUE
)
print(result)
} # }