Given an OmicsSurv object and a list of pathway principal components (PCs) from the ExtractAESPCs function, test if each pathway with features recorded in the bio-assay design matrix is significantly related to the survival output.

PermTestSurv(
OmicsSurv,
pathwayPCs_ls,
numReps = 0L,
parallel = FALSE,
numCores = NULL,
...
)

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

## Arguments

OmicsSurv A data object of class OmicsSurv, 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 OmicsSurv. This function will then calculate the AIC of a Cox Proportional Hazards model (via the coxph function) with the original observations as response and the pathway principal components as the predictor matrix. Note that the AIC and log-likelihood are proportional because the number of parameters in each pathway is constant.

Then, this function will create numReps permutations of the survival 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.

CreateOmics; ExtractAESPCs; coxph; SampleSurv

## 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[, 1:3],
respType = "surv"
)

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

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