brainclass: Transcriptional-data-guided fMRI network classification

View source: R/brainclass.R

brainclassR Documentation

Transcriptional-data-guided fMRI network classification

Description

The 'brainclass' function performs fMRI network classification where edges in each fMRI network are treated as a long vector and used as features.

Usage

brainclass(
  X,
  y,
  edgeGrp,
  family = "binomial",
  penalty = "grLasso",
  lambda = 0.005
)

Arguments

X

A matrix with the training samples, in which each row represents the vectorized upper triangular part (by column order) of the network adjacency matrix.

y

A vector containing the class labels of the training samples (2 classes by default).

edgeGrp

Feature groups, in the list format. Each element should contain the names of edges belong to each gene set edge group.

family

See grpregOverlap::grpregOverlap for details. Default is "binomial".

penalty

See grpregOverlap::grpregOverlap for details. Default is "grLasso".

lambda

See grpregOverlap::grpregOverlap for details. Default is 5e-3.

Value

An object with S3 class "grpregOverlap". See 'grpregOverlap::grpregOverlap' for details.

References

Li, M., Kessler, D., Arroyo, J., Freytag, S., Bahlo, M., Levina, E., & Yang, J. Y. H. (2020). Guiding and interpreting brain network classification with transcriptional data. bioRxiv.

Zeng, Y., & Breheny, P. (2016). Overlapping group logistic regression with applications to genetic pathway selection. Cancer informatics, 15, CIN-S40043.

Examples

## NOT RUN
# ### Obtain data
# data(ahba)
# library(graphclass)
# data(COBRE.data)
# data(gscv7.0)
# ### Filter gene sets by size
# kegg <- filterGeneSets(geneSetList = gscv7.0$kegg,
# candidateGenes = colnames(ahba), min.size = 5, max.size = Inf)
# ### Get gene set edge groups
# keggEdgeGrp <- getGeneSetEdgeGroup(geneExpr = ahba, geneSetList = kegg,
# cutoff = 0.99)
# ### Exclude edges not belonging to any feature groups from training
# edgesToClassify <- unlist(keggEdgeGrp)
# edgesToClassify <- edgesToClassify[!duplicated(edgesToClassify)]
# ### Model training
# train <- brainclass(X = COBRE.data$X.cobre[, edgesToClassify],
# y = COBRE.data$Y.cobre, edgeGrp = keggEdgeGrp)
# selectedEdgeGrps <- getSelectedGroup(train)


Mengbo-Li/brainClass documentation built on March 16, 2023, 12:06 p.m.