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.
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)
} # }