Contents

1 COINCIDE

Please note that this vignette is incomplete and is not intended to for package users at this time. It is here as a placeholder until the vignette is complete.

1.1 Preprocess the data

library(PDATK)
library(S4Vectors)
library(MultiAssayExperiment)
library(qs)
library(ggplot2)

seed <- 1990
reps <- 1000

ICGC_SE_list <- qread('vignettes/ICGC_SEs.qs', nthread=16)
names(ICGC_SE_list) <- gsub('-', '_', names(ICGC_SE_list))
for (i in seq_along(ICGC_SE_list)) {
    assayNames(ICGC_SE_list[[i]]) <- gsub('^.*-', '', assayNames(ICGC_SE_list[[i]]))
    assays(ICGC_SE_list[[i]]) <- rev(assays(ICGC_SE_list[[i]]))
}
CSPCmaeRaw <- MultiAssayExperiment(ICGC_SE_list)

# Subset to only feature shared across all data
CSPCmae <- intersectRows(CSPCmaeRaw)
experiments(CSPCmae) <- endoapply(experiments(CSPCmae), rankFeatures)

top20FeaturesPerCohort <- lapply(experiments(CSPCmae), getTopFeatures, numFeats=20)
top20PctFeaturesOverall <- getTopFeatures(CSPCmae, 
    numFeats=floor(0.2*length(rownames(CSPCmae)[[1]])), na.rm=TRUE)
topFeatures <- unique(c(top20PctFeaturesOverall, unlist(top20FeaturesPerCohort)))
topFeaturesMAE <- CSPCmae[topFeatures, , ]
normMAE <- PDATK::normalize(topFeaturesMAE, MARGIN=1, 
    method=c('medianImpute', 'scale', 'center'))

1.2 Create and Train a ConsensusClusterModel

set.seed(seed)
conClustModel <- ConsensusMetaclusteringModel(normMAE, randomSeed=seed)
trainedConClustModel <- trainModel(conClustModel, reps=reps)
classifiedConClustModel <- predictClasses(trainedConClustModel)

```

validatedConClustModel <- validateModel(model=classifiedConClustModel, 
    valData=ConMetaclustModel(trainData=MultiAssayExperiment(), randomSeed=seed))
qsave(validatedConClustModel, file='valConClustModel_seed99791_250reps.qs')

3 Metacluster Survival Analysis

metaclusteredMAE <- trainData(classifiedNCSmodel)
SEhasSurvivalColumns <- lapply(experiments(metaclusteredMAE), hasColDataColumns, 
    values=c('vital_status', 'days_to_death'))
mclustSurvMAE <- metaclusteredMAE[,, unlist(SEhasSurvivalColumns)]
experiments(mclustSurvMAE) <- endoapply(experiments(mclustSurvMAE), 
    FUN=SurvivalExperiment, survival_time='days_to_death', 
    event_occurred='vital_status')
experiments(mclustSurvMAE) <- endoapply(experiments(mclustSurvMAE), 
    dropNotCensored)
coxModel <- CoxModel(mclustSurvMAE, survivalPredictor='cluster_label')
fitCoxModel <- trainModel(coxModel)
survPlots <- plotSurvivalCurves(fitCoxModel, pval=TRUE, pval.coord=c(0.9, 3000))
ggsave(survPlots, file='survPlots.pdf', height=14, width=14)

4 Gene Signature Comparison

5 Biomarker Comparison

6 Single Sample Classifier

7 COMPASS Subtyping Waterfall

8 PharmacoGx Cell-line Subtyping

9 PharmacoGx Cell-line Drug Sensitivity

10 PDXE Drug Subtyping

11 Cellularity Comparison

12 Copy Number Abberation

13 Cluster Meta-effect Size

14 Pathway Analysis

15 Published Classifier Subtyping

16 References