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.
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'))
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')
validatedConClustModel <- qread('valConClustModel_1000r.qs')
NCSmodel <- NetworkCommunitySearchModel(model=validatedConClustModel)
trainedNCSmodel <- trainModel(NCSmodel, p_value = 0)
classifiedNCSmodel <- predictClasses(trainedNCSmodel)
clusterNetworkGraph <- plotNetworkGraph(classifiedNCSmodel)
ggsave(clusterNetworkGraph, file='metacluster_network_graph.pdf',
width=12, height=12)
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)