Given an OmicsCateg object and a list of pathway PCs from the ExtractAESPCs function, test if each pathway with features recorded in the bio-assay design matrix is significantly related to the categorical response.

PermTestCateg(
OmicsCateg,
pathwayPCs_ls,
numReps = 0L,
parallel = FALSE,
numCores = NULL,
...
)

# S4 method for OmicsCateg
PermTestCateg(
OmicsCateg,
pathwayPCs_ls,
numReps = 0L,
parallel = FALSE,
numCores = NULL,
...
)

## Arguments

OmicsCateg A data object of class OmicsCateg, created by the CreateOmics function. A list of pathway PC matrices returned by the ExtractAESPCs function. How many permutations to estimate the $$p$$-value? Defaults to 0 (that is, to estimate the $$p$$-value parametrically). If numReps > 0, then the non-parametric, permutation $$p$$-value will be returned based on the number of random samples specified. Should the computation be completed in parallel? Defaults to FALSE. If parallel = TRUE, how many cores should be used for computation? Internally defaults to the number of available cores minus 2. Dots for additional internal arguments (currently unused).

## Value

A named vector of pathway permutation $$p$$-values.

## Details

This function takes in a list of the first principal components from each pathway and an object of class OmicsCateg. This function will then calculate the AIC of a multivariate generalized linear model (via the glm function with a binomial error family) with the original observations as response and the pathway principal components as the predictor matrix.

Then, this function will create numReps permutations of the categorical response, fit models to each of these permuted responses (holding the path predictor matrix fixed), and calculate the AIC of each model. This function will return a named vector of permutation $$p$$-values, where the value for each pathway is the proportion of models for which the AIC of the permuted response model is less than the AIC of the original model. Note that the AIC and log-likelihood are proportional because the number of parameters in each pathway is constant.

In future versions, this function will also be able to calculate permuted $$p$$-values for multinomial logistic regression and proportional odds logistic regression models, for n-ary and ordered categorical responses, respectively.

CreateOmics; ExtractAESPCs; glm; binomial; SampleCateg

## Examples

  # DO NOT CALL THIS FUNCTION DIRECTLY.

if (FALSE) {
###  Load the Example Data  ###
data("colonSurv_df")
data("colon_pathwayCollection")

###  Create an OmicsSurv Object  ###
colon_Omics <- CreateOmics(
assayData_df = colonSurv_df[, -(2:3)],
pathwayCollection_ls = colon_pathwayCollection,
response = colonSurv_df[, c(1,3)],
respType = "categ"
)

colonPCs_ls <- ExtractAESPCs(
object = colon_Omics,
parallel = TRUE,
numCores = 2
)

###  Pathway p-Values  ###
PermTestCateg(
OmicsCateg = colon_Omics,
pathwayPCs_ls = colonPCs_ls\$PCs,
parallel = TRUE,
numCores = 2
)
}