Description Usage Arguments Value References See Also Examples
This function computes the saps q-value for a candidate prognostic
geneset by computing the saps score for randomly generated genesets and
determining the proportion at least as significant as the saps score for
the candidate set. This function is normally called by saps
.
1 2 | calculateQValue(dataSet, sampleSize, survivalTimes, followup, saps_score,
random.samples, qvalue.samples, cpus, gsea.perm, rankedGenes)
|
dataSet |
A matrix, where the column names are gene identifiers and the values are gene expression levels. Each row should contain data for a single patient. |
sampleSize |
The desired size for the randomly sampled gene sets. |
survivalTimes |
A vector of survival times. The length must equal
the number of rows in |
followup |
A vector of 0 or 1 values, indicating whether the patient was
lost to followup (0) or not (1). The length must equal the number of rows
(i.e. patients) in |
saps_score |
The saps score for the candidate geneset. The q-value is calculated as the proportion of random saps scores whose absolute value is >= to the provided saps score. |
random.samples |
The number of random gene sets to sample during
the calculation of |
qvalue.samples |
The number of random gene sets to sample for purposes of computing the q-value. |
cpus |
An integer that specifies the number of cpus/cores to be used when
calculating |
gsea.perm |
The number of permutations to be used when calculating
|
rankedGenes |
A vector of ranking scores for each gene in |
The function returns a list with two elements:
q_value |
the calculated q-value. |
random_saps_scores |
a vector of individual saps scores for each randomly generated geneset. |
Beck AH, Knoblauch NW, Hefti MM, Kaplan J, Schnitt SJ, et al. (2013) Significance Analysis of Prognostic Signatures. PLoS Comput Biol 9(1): e1002875.doi:10.1371/journal.pcbi.1002875
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # 25 patients, none lost to followup
followup <- rep(1, 25)
# first 5 patients have good survival (in days)
time <- c(25, 27, 24, 21, 26, sample(1:3, 20, TRUE))*365
# create data for 100 genes, 25 patients
dat <- matrix(rnorm(25*100), nrow=25, ncol=100)
colnames(dat) <- as.character(1:100)
# borderline significant saps score
saps_score <- 1.3
rankedGenes <- rankConcordance(dat, time, followup)[,"z"]
q_value <- calculateQValue(dat, 5, time, followup, saps_score, random.samples=100,
qvalue.samples=10, cpus=1, gsea.perm=1000, rankedGenes)
q_value$q_value
random_scores <- abs(q_value$random_saps_scores)
hist(random_scores)
length(random_scores[random_scores > saps_score])
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.