From c2f66b8888096a3fdff68f188d4cdc99101e35b3 Mon Sep 17 00:00:00 2001 From: jiaying2508 <38696658+jiaying2508@users.noreply.github.com> Date: Thu, 16 May 2024 12:25:38 -0400 Subject: [PATCH] update tool --- DESCRIPTION | 20 +- NAMESPACE | 46 +- R/MCMC-clustering.R | 396 +++++ R/MCMC-main.R | 247 +++ R/MCMC-process-clusters.R | 523 +++++++ R/MCMC_plot_clusters.R | 238 +++ R/bic.R | 220 --- R/calculate-BIC.R | 229 +++ R/cluster_separately.R | 507 ------ R/clustering_functions.R | 481 ------ R/estimate-multiplicity.R | 91 ++ R/gabowmyers.R | 390 ----- R/graph_ops.R | 764 --------- R/help.R | 14 - R/metrics.R | 199 --- R/pictograph-package.R | 23 + R/plot.R | 661 -------- R/preprocessing.R | 228 +-- R/sample-presence.R | 30 + R/simulation.R | 510 ++++++ R/subclone-proportion.R | 113 ++ R/subclone-proportions.R | 308 ---- R/tree-gabowmyers.R | 231 +++ R/tree-plot.R | 84 + R/tree-score.R | 1374 +++++++++++++++++ R/tree.R | 474 ------ R/tree_scoring.R | 243 --- data/example_results.rda | Bin 1866296 -> 0 bytes data/sim_data_1.rda | Bin 1454 -> 0 bytes inst/extdata/example1_snv.csv | 191 +++ inst/extdata/example1_snv_with_purity.csv | 191 +++ inst/extdata/example2_snv.csv | 191 +++ inst/extdata/example2_snv_with_purity.csv | 191 +++ inst/extdata/example_S1.csv | 9 - inst/extdata/example_S1_error1.csv | 18 - inst/extdata/example_S1_error2.csv | 18 - inst/extdata/example_S1_error3.csv | 18 - inst/extdata/example_S1_error4.csv | 18 - inst/extdata/example_error1.csv | 127 -- inst/extdata/example_error2.csv | 127 -- inst/extdata/example_error3.csv | 127 -- inst/extdata/example_error4.csv | 127 -- inst/extdata/example_input.csv | 127 -- inst/extdata/model-simple-set-beta.jags | 34 - inst/extdata/model-test.jags | 34 - inst/extdata/model.jags | 60 + inst/extdata/model_K1.jags | 54 + inst/extdata/output/all_trees/tree1.csv | 4 + inst/extdata/output/all_trees/tree1.png | Bin 0 -> 17119 bytes .../output/all_trees/tree_1_purity.csv | 2 + .../all_trees/tree_1_subclone_proportion.csv | 4 + .../all_trees/tree_1_subclone_proportion.png | Bin 0 -> 24350 bytes inst/extdata/output/clusterAssign.csv | 91 ++ inst/extdata/output/icn_all.csv | 91 ++ inst/extdata/output/mcf.csv | 4 + inst/extdata/output/mcf.png | Bin 0 -> 42494 bytes inst/extdata/output/multiplicity_all.csv | 91 ++ inst/extdata/output/purity.csv | 2 + inst/extdata/output/subclone_proportion.csv | 4 + inst/extdata/output/subclone_props.png | Bin 0 -> 24350 bytes inst/extdata/output/tree.csv | 4 + inst/extdata/output/tree.png | Bin 0 -> 17119 bytes inst/extdata/output/tree_ensemble.png | Bin 0 -> 16292 bytes inst/extdata/output/upsetR.png | Bin 0 -> 21034 bytes inst/extdata/sim1.csv | 101 -- inst/extdata/spike_and_slab_purity_2.jags | 28 - inst/extdata/spike_and_slab_purity_2_K1.jags | 25 - .../spike_and_slab_purity_2_K1_I1.jags | 22 - inst/extdata/spike_and_slab_purity_ident.jags | 34 - man/allThreshes.Rd | 11 + man/calcSubcloneProportions.Rd | 2 +- man/calcSubcloneProportions2.Rd | 16 - man/calcTreeScores.Rd | 8 +- man/calculateTreeScoreMutations.Rd | 22 + man/clusterSep.Rd | 42 - man/collectBestKChains.Rd | 4 +- man/colorScheme.Rd | 2 +- man/enumerateSpanningTrees.Rd | 18 - man/enumerateSpanningTreesModified.Rd | 8 +- man/estimateCCFs.Rd | 17 - man/estimateClusterAssignments.Rd | 4 +- man/estimateICN.Rd | 14 + man/estimateMCFs.Rd | 17 + man/estimateMultiplicity.Rd | 14 + man/filterEdgesBasedOnCCFs.Rd | 8 +- man/forceCCFs.Rd | 16 - man/generateAllTrees.Rd | 13 +- man/getSetName.Rd | 11 - man/importCSV.Rd | 14 - man/importFiles.Rd | 21 + man/importMutationFileOnly.Rd | 11 + man/mcmcMain.Rd | 56 + man/mergeSetChains.Rd | 4 +- man/pictograph-package.Rd | 9 + man/pictograph.Rd | 6 - man/plotAllTrees.Rd | 11 + man/plotAllZProb.Rd | 28 - man/plotBIC.Rd | 16 - man/plotChainsCCF.Rd | 14 - man/plotChainsMCF.Rd | 14 + man/plotClusterAssignmentProb.Rd | 14 - man/plotClusterAssignmentProbVertical.Rd | 6 +- man/plotDensityCCF.Rd | 14 - man/plotEnsembleTree.Rd | 2 +- man/{plotCCFViolin.Rd => plotMCFViolin.Rd} | 10 +- man/plotPPD.Rd | 20 - man/plotSubcloneBar.Rd | 2 +- man/plotSubclonePie.Rd | 2 +- man/plotTree.Rd | 2 +- man/prepareGraph.Rd | 4 +- man/prepareGraphForGabowMyers.Rd | 21 - man/runMCMCForAllBoxes.Rd | 23 + man/separateMutationsBySamplePresence.Rd | 11 + man/writeClusterAssignmentsTable.Rd | 11 +- man/writeClusterCCFsTable.Rd | 19 - man/writeClusterMCFsTable.Rd | 19 + man/writeIcnTable.Rd | 19 + man/writeMultiplicityTable.Rd | 19 + man/writeSetKTable.Rd | 2 +- vignettes/pictograph.Rmd | 179 ++- 120 files changed, 5814 insertions(+), 5849 deletions(-) create mode 100644 R/MCMC-clustering.R create mode 100644 R/MCMC-main.R create mode 100644 R/MCMC-process-clusters.R create mode 100644 R/MCMC_plot_clusters.R delete mode 100644 R/bic.R create mode 100644 R/calculate-BIC.R delete mode 100644 R/cluster_separately.R delete mode 100644 R/clustering_functions.R create mode 100644 R/estimate-multiplicity.R delete mode 100644 R/gabowmyers.R delete mode 100644 R/graph_ops.R delete mode 100644 R/help.R delete mode 100644 R/metrics.R create mode 100644 R/pictograph-package.R delete mode 100644 R/plot.R create mode 100644 R/sample-presence.R create mode 100644 R/simulation.R create mode 100644 R/subclone-proportion.R delete mode 100644 R/subclone-proportions.R create mode 100644 R/tree-gabowmyers.R create mode 100644 R/tree-plot.R create mode 100644 R/tree-score.R delete mode 100644 R/tree.R delete mode 100644 R/tree_scoring.R delete mode 100644 data/example_results.rda delete mode 100644 data/sim_data_1.rda create mode 100644 inst/extdata/example1_snv.csv create mode 100644 inst/extdata/example1_snv_with_purity.csv create mode 100644 inst/extdata/example2_snv.csv create mode 100644 inst/extdata/example2_snv_with_purity.csv delete mode 100644 inst/extdata/example_S1.csv delete mode 100644 inst/extdata/example_S1_error1.csv delete mode 100644 inst/extdata/example_S1_error2.csv delete mode 100644 inst/extdata/example_S1_error3.csv delete mode 100644 inst/extdata/example_S1_error4.csv delete mode 100644 inst/extdata/example_error1.csv delete mode 100644 inst/extdata/example_error2.csv delete mode 100644 inst/extdata/example_error3.csv delete mode 100644 inst/extdata/example_error4.csv delete mode 100644 inst/extdata/example_input.csv delete mode 100644 inst/extdata/model-simple-set-beta.jags delete mode 100644 inst/extdata/model-test.jags create mode 100644 inst/extdata/model.jags create mode 100644 inst/extdata/model_K1.jags create mode 100644 inst/extdata/output/all_trees/tree1.csv create mode 100644 inst/extdata/output/all_trees/tree1.png create mode 100644 inst/extdata/output/all_trees/tree_1_purity.csv create mode 100644 inst/extdata/output/all_trees/tree_1_subclone_proportion.csv create mode 100644 inst/extdata/output/all_trees/tree_1_subclone_proportion.png create mode 100644 inst/extdata/output/clusterAssign.csv create mode 100644 inst/extdata/output/icn_all.csv create mode 100644 inst/extdata/output/mcf.csv create mode 100644 inst/extdata/output/mcf.png create mode 100644 inst/extdata/output/multiplicity_all.csv create mode 100644 inst/extdata/output/purity.csv create mode 100644 inst/extdata/output/subclone_proportion.csv create mode 100644 inst/extdata/output/subclone_props.png create mode 100644 inst/extdata/output/tree.csv create mode 100644 inst/extdata/output/tree.png create mode 100644 inst/extdata/output/tree_ensemble.png create mode 100644 inst/extdata/output/upsetR.png delete mode 100644 inst/extdata/sim1.csv delete mode 100644 inst/extdata/spike_and_slab_purity_2.jags delete mode 100644 inst/extdata/spike_and_slab_purity_2_K1.jags delete mode 100644 inst/extdata/spike_and_slab_purity_2_K1_I1.jags delete mode 100644 inst/extdata/spike_and_slab_purity_ident.jags create mode 100644 man/allThreshes.Rd delete mode 100644 man/calcSubcloneProportions2.Rd create mode 100644 man/calculateTreeScoreMutations.Rd delete mode 100644 man/clusterSep.Rd delete mode 100644 man/enumerateSpanningTrees.Rd delete mode 100644 man/estimateCCFs.Rd create mode 100644 man/estimateICN.Rd create mode 100644 man/estimateMCFs.Rd create mode 100644 man/estimateMultiplicity.Rd delete mode 100644 man/forceCCFs.Rd delete mode 100644 man/getSetName.Rd delete mode 100644 man/importCSV.Rd create mode 100644 man/importFiles.Rd create mode 100644 man/importMutationFileOnly.Rd create mode 100644 man/mcmcMain.Rd create mode 100644 man/pictograph-package.Rd delete mode 100644 man/pictograph.Rd create mode 100644 man/plotAllTrees.Rd delete mode 100644 man/plotAllZProb.Rd delete mode 100644 man/plotBIC.Rd delete mode 100644 man/plotChainsCCF.Rd create mode 100644 man/plotChainsMCF.Rd delete mode 100644 man/plotClusterAssignmentProb.Rd delete mode 100644 man/plotDensityCCF.Rd rename man/{plotCCFViolin.Rd => plotMCFViolin.Rd} (68%) delete mode 100644 man/plotPPD.Rd delete mode 100644 man/prepareGraphForGabowMyers.Rd create mode 100644 man/runMCMCForAllBoxes.Rd create mode 100644 man/separateMutationsBySamplePresence.Rd delete mode 100644 man/writeClusterCCFsTable.Rd create mode 100644 man/writeClusterMCFsTable.Rd create mode 100644 man/writeIcnTable.Rd create mode 100644 man/writeMultiplicityTable.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 6086e0f..796185e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: pictograph Title: Tools for modeling clonal evolution of a cancer -Version: 1.2.1.1 +Version: 1.3.0 Authors@R: person(given = "Jiaying", family = "Lai", @@ -15,13 +15,19 @@ Suggests: testthat, knitr, rmarkdown -RoxygenNote: 7.2.3 +RoxygenNote: 7.3.1 VignetteBuilder: knitr Imports: - igraph, ggplot2, - tidyr, - dplyr, rjags, - ggmcmc, - stringr \ No newline at end of file + stringr, + readr (>= 2.1.4), + tidyverse (>= 2.0.0), + dplyr (>= 1.1.1), + tidyr (>= 1.3.0), + LaplacesDemon (>= 16.1.6), + igraph (>= 2.0.1), + viridis (>= 0.6.5), + ggmcmc (>= 1.5.1), + UpSetR (>= 1.4.0), + cluster (>= 2.1.6) diff --git a/NAMESPACE b/NAMESPACE index 08516d7..fe3a600 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,37 +1,44 @@ # Generated by roxygen2: do not edit by hand +S3method(mutate,admat) +S3method(mutate,admat.2) +S3method(mutate,admat.3) +S3method(mutate,column) +S3method(mutate,n.columns) +S3method(mutate,n.columns.clusterprob) export(calcSubcloneProportions) -export(calcSubcloneProportions2) export(calcTreeScores) -export(clusterSep) +export(calculateTreeScoreMutations) export(collectBestKChains) export(colorScheme) -export(enumerateSpanningTrees) export(enumerateSpanningTreesModified) -export(estimateCCFs) export(estimateClusterAssignments) +export(estimateICN) +export(estimateMCFs) +export(estimateMultiplicity) +export(estimateMultiplicityMatrix) export(filterEdgesBasedOnCCFs) -export(forceCCFs) export(generateAllTrees) -export(importCSV) +export(importFiles) +export(mcmcMain) export(mergeSetChains) -export(plotAllZProb) -export(plotBIC) -export(plotCCFViolin) -export(plotChainsCCF) -export(plotClusterAssignmentProb) +export(plotChainsMCF) export(plotClusterAssignmentProbVertical) -export(plotDensityCCF) export(plotEnsembleTree) -export(plotPPD) +export(plotMCFViolin) export(plotSubcloneBar) export(plotSubclonePie) export(plotTree) export(prepareGraph) -export(prepareGraphForGabowMyers) +export(runMCMCForAllBoxes) +export(separateMutationsBySamplePresence) export(writeClusterAssignmentsTable) -export(writeClusterCCFsTable) +export(writeClusterMCFsTable) +export(writeIcnTable) +export(writeMultiplicityTable) export(writeSetKTable) +import(UpSetR) +import(cluster) import(dplyr) import(ggmcmc) import(ggplot2) @@ -40,13 +47,10 @@ import(magrittr) import(methods) import(readr) import(rjags) +import(stringr) import(tibble) import(tidyr) +import(tidyverse) +import(viridis) importFrom(epiR,epi.betabuster) -importFrom(ggmcmc,ggs) -importFrom(magrittr,set_colnames) importFrom(stringr,str_replace) -importFrom(stringr,str_replace_all) -importFrom(tidyr,pivot_longer) -importFrom(tidyr,unite) -importFrom(viridis,viridis) diff --git a/R/MCMC-clustering.R b/R/MCMC-clustering.R new file mode 100644 index 0000000..d8002e4 --- /dev/null +++ b/R/MCMC-clustering.R @@ -0,0 +1,396 @@ +#' run MCMC using JAGS +#' +#' @export +runMCMCForAllBoxes <- function(sep_list, + sample_presence=TRUE, + ploidy=2, + max_K = 5, + min_mutation_per_cluster = 5, + cluster_diff_thresh=0.05, + n.iter = 5000, + n.burn = 1000, + thin = 10, + mc.cores = 4, + inits = list(".RNG.name" = "base::Wichmann-Hill", + ".RNG.seed" = 123)){ + + if (!sample_presence) { + all_set_results <- vector("list", 1) + names(all_set_results) <- paste0(rep("1", ncol(sep_list$y)), collapse = "") + params = c("z", "mcf", "icn", "m", "ystar") + + temp_box <- sep_list + temp_box$pattern <- paste0(rep("1", ncol(sep_list$y)), collapse = "") + temp_max_K <- min(max_K, floor(nrow(temp_box$y)/min_mutation_per_cluster)) + temp_max_K <- max(temp_max_K, 1) + + temp_samps_list <- runMutSetMCMC(temp_box, + ploidy=ploidy, + n.iter = n.iter, + n.burn = n.burn, + thin = thin, + mc.cores = mc.cores, + inits = inits, + temp_max_K = temp_max_K, + params = params, + min_mutation_per_cluster = min_mutation_per_cluster, + cluster_diff_thresh = cluster_diff_thresh, + sample_presence=sample_presence) + + all_set_results[[1]] <- temp_samps_list + + } else { + all_set_results <- vector("list", length(sep_list)) + names(all_set_results) <- names(sep_list) + params = c("z", "mcf", "icn", "m", "ystar") + + for (i in seq_len(length(sep_list))) { + temp_box <- sep_list[[i]] + # Max number of clusters cannot be more than number of mutations/min_mutation_per_cluster + temp_max_K <- min(max_K, floor(length(temp_box$mutation_indices)/min_mutation_per_cluster)) + temp_max_K <- max(temp_max_K, 1) + temp_samps_list <- runMutSetMCMC(temp_box, + ploidy=ploidy, + n.iter = n.iter, + n.burn = n.burn, + thin = thin, + mc.cores = mc.cores, + inits = inits, + temp_max_K = temp_max_K, + params = params, + min_mutation_per_cluster = min_mutation_per_cluster, + cluster_diff_thresh = cluster_diff_thresh, + sample_presence=sample_presence) + + all_set_results[[i]] <- temp_samps_list + } + } + return(all_set_results) +} + +runMutSetMCMC <- function(temp_box, + ploidy=2, + n.iter = 10000, + n.burn = 1000, + thin = 10, + mc.cores = 1, + inits = list(".RNG.name" = "base::Wichmann-Hill", + ".RNG.seed" = 123), + temp_max_K = 5, + params = c("z", "mcf", "icn", "m", "ystar"), + min_mutation_per_cluster = 1, + cluster_diff_thresh=0.05, + sample_presence=FALSE) { + + temp_samps_list <- runMCMCForABox(temp_box, + ploidy=ploidy, + n.iter = n.iter, + n.burn = n.burn, + thin = thin, + mc.cores = mc.cores, + inits = inits, + params = params, + max_K = temp_max_K, + sample_presence=sample_presence) + + # Format chains + if (length(temp_samps_list) == 1) { + samps_list <- list(formatChains(temp_samps_list)) + names(samps_list) <- "K1" + } else { + samps_list <- parallel::mclapply(temp_samps_list, formatChains, + mc.cores = mc.cores) + } + + # check whether: + # 1) number of mutations per cluster is at least min_mutation_per_cluster + # 2) difference between any two cluster less than cluster_diff_thresh + filtered_samps_list <- filterK(samps_list, min_mutation_per_cluster = min_mutation_per_cluster, + cluster_diff_thresh = cluster_diff_thresh) + + # Calculate BIC and silhouette + K_tested <- seq_len(length(filtered_samps_list)) + if (temp_max_K > 1) { + box_indata <- getBoxInputData(temp_box, ploidy) + + bic_vec <- unname(unlist(parallel::mclapply(filtered_samps_list, + function(chains) calcChainBIC(chains=chains, input.data=box_indata, pattern=temp_box$pattern), + mc.cores = mc.cores))) + bic_tb <- tibble(K_tested = K_tested, + BIC = bic_vec) + BIC_best_chains <- samps_list[[which.min(bic_vec)]] + sc_vec <- unname(unlist(parallel::mclapply(filtered_samps_list, + function(chains) calcChainSilhouette(chains=chains, input.data=box_indata, pattern=temp_box$pattern), + mc.cores = mc.cores))) + + sc_tb <- tibble(K_tested = K_tested, + silhouette = sc_vec) + sc_best_chains <- samps_list[[which.max(sc_vec)]] + res_list <- list(all_chains = samps_list, + silhouette = sc_tb, + BIC = bic_tb, + BIC_best_chains = BIC_best_chains, + sc_best_chains = sc_best_chains, + BIC_best_K = which.min(bic_vec), + silhouette_best_K = which.max(sc_vec)) + } else { + # only 1 variant, so must be 1 cluster and don't need to check BIC + res_list <- list(all_chains = filtered_samps_list, + silhouette = NA, + BIC = NA, + BIC_best_chains = filtered_samps_list[[1]], + sc_best_chains = filtered_samps_list[[1]], + BIC_best_K = 1, + silhouette_best_K = 1) + } + return(res_list) +} + +runMCMCForABox <- function(box, + ploidy=2, + n.iter = 10000, + n.burn = 1000, + thin = 10, + mc.cores = 1, + inits = list(".RNG.name" = "base::Wichmann-Hill", + ".RNG.seed" = 123), + params = c("z", "mcf", "icn", "m", "ystar"), + max_K = 5, + sample_presence=FALSE) { + + # select columns if the presence pattern is 1 + box_input_data <- getBoxInputData(box, ploidy) + + extdir <- system.file("extdata", package="pictograph") + + # choose sample in which mutations are present + sample_to_sort <- which(colSums(box_input_data$y) > 0)[1] + + jags.file <- file.path(extdir, "model.jags") + jags.file.K1 <- file.path(extdir, "model_K1.jags") + + + samps_K1 <- runMCMC(box_input_data, + 1, + jags.file.K1, + inits, + params, + n.iter=n.iter, + thin=thin, + n.burn=n.burn) + + if(box_input_data$S == 1) { + colnames(samps_K1[[1]])[which(colnames(samps_K1[[1]]) == "mcf")] <- "mcf[1,1]" + } + + if (sample_presence) { + samps_K1 <- reverseDrop(samps_K1, box$pattern, n.iter) + } + + if (max_K > 1) { + + box_input_data$sample_to_sort <- sample_to_sort + + samps_2 <- parallel::mclapply(2:max_K, + function(k) runMCMC(box_input_data, k, + jags.file, inits, params, + n.iter=n.iter, thin=thin, + n.burn=n.burn), + mc.cores=mc.cores) + + if (sample_presence) { + for (i in seq_len(length(samps_2))) { + samps_2[[i]] <- reverseDrop(samps_2[[i]], box$pattern, n.iter) + } + } + samps_list <- c(list(samps_K1), samps_2) + names(samps_list) <- paste0("K", 1:max_K) + return(samps_list) + + } else { + names(samps_K1) <- "K1" + return(samps_K1) + } + +} + +getBoxInputData <- function(box, ploidy=2) { + sample_list = vector() + + # include samples if the pattern is 1; i.e. presence of mutations in the sample + for (j in 1:ncol(box$y)) { + if (strsplit(box$pattern, "")[[1]][j] == "1") { + sample_list <- append(sample_list, j) + } + } + box_input_data <- list(I = nrow(box$y), + S = length(sample_list), + y = box$y[,sample_list,drop=FALSE], + n = box$n[,sample_list,drop=FALSE], + tcn = box$tcn[,sample_list,drop=FALSE], + is_cn = box$is_cn, + mtp = box$mtp, + cncf = box$cncf[,sample_list,drop=FALSE], + icn = box$icn, + purity=box$purity, + ploidy=ploidy) + + # set tcn to 2 if 0 + box_input_data$tcn[box_input_data$tcn==0] <- 2 + return(box_input_data) +} + +runMCMC <- function(box_input_data, + K, + jags.file, + inits, + params, + n.iter=10000, + thin=10, + n.chains=1, + n.adapt=1000, + n.burn=1000) { + if (K > 1) box_input_data$K <- K + jags.m <- jags.model(jags.file, + box_input_data, + n.chains = n.chains, + inits = inits, + n.adapt = n.adapt) + if (n.burn > 0) update(jags.m, n.burn) + samps <- coda.samples(jags.m, params, n.iter=n.iter, thin=thin) + + return(samps) +} + +reverseDrop <- function(samps, pattern, n.iter) { + total_sample = nchar(pattern) + sample_list = vector() + for (j in seq_len(nchar(pattern))) { + if (strsplit(pattern, "")[[1]][j] == "1") { + sample_list <- append(sample_list, j) + } + } + k_list = vector() + ystar_list = vector() + # replace current sample id by true sample id from pattern + for (i in seq_len(length(colnames(samps[[1]])))) { + if (startsWith(colnames(samps[[1]])[i], "mcf")) { + para <- str_extract_all(colnames(samps[[1]])[i], "[0-9]+")[[1]] + colnames(samps[[1]])[i] <- paste("mcf[", para[1], ",", sample_list[strtoi(para[2])], "]", sep = "") + k_list <- c(k_list, para[1]) + } else if (startsWith(colnames(samps[[1]])[i], "ystar")) { + para <- str_extract_all(colnames(samps[[1]])[i], "[0-9]+")[[1]] + colnames(samps[[1]])[i] <- paste("ystar[", para[1], ",", sample_list[strtoi(para[2])], "]", sep = "") + ystar_list <- c(ystar_list, para[1]) + } + } + k_list <- unique(k_list) + ystar_list <- unique(ystar_list) + + # add back dropped samples + absent_sample <- vector() + for (sample in seq_len(total_sample)) { + if (! sample %in% sample_list) { + absent_sample <- append(absent_sample, sample) + } + } + for (k in seq_len(length(k_list))) { + for (j in seq_len(length(absent_sample))) { + col = paste("mcf[", k_list[k], ",", absent_sample[j], "]", sep = "") + samps[[1]] <- cbind(samps[[1]], col=0) + colnames(samps[[1]])[colnames(samps[[1]]) == 'col'] <- col + } + } + for (ystar in seq_len(length(ystar_list))) { + for (j in seq_len(length(absent_sample))) { + col = paste("ystar[", ystar_list[ystar], ",", absent_sample[j], "]", sep = "") + samps[[1]] <- cbind(samps[[1]], col=0) + colnames(samps[[1]])[colnames(samps[[1]]) == 'col'] <- col + } + } + + samps[[1]] <- samps[[1]][,order(colnames(samps[[1]]))] + + return(samps) +} + + +filterK <- function(samps_list, min_mutation_per_cluster=1, cluster_diff_thresh=0.05) { + filtered_samps_list <- list() + toBreak = F + for (i in seq_len(length(samps_list))) { + k = as.numeric(gsub("\\D", "", names(samps_list)[i])) + if (k > 1) { + mcf_chain = samps_list[[i]]$mcf_chain + z_chain = samps_list[[i]]$z_chain + clusterTable = writeClusterAssignmentsTable(z_chain) + # check whether all cluster contains at least one mutation + if (length(unique(clusterTable$Cluster))==k) { + # check whether all cluster contains at least min_mutation_per_cluster mutations + if (any(table(clusterTable$Cluster) < min_mutation_per_cluster)) { + break + } + } else { + break + } + mcfTable = writeClusterMCFsTable(mcf_chain) + # check whether mcf for any cluster is less than cluster_diff_thresh in all samples + for (j1 in seq_len(k)) { + if (all(mcfTable[j1,2:ncol(mcfTable)] < cluster_diff_thresh)) { + toBreak = T + } + } + # check whether mcf difference between any two clusters less than cluster_diff_thresh in all samples + for (j1 in seq_len(k-1)) { + for (j2 in seq(j1+1, k)) { + diff = abs(mcfTable[j1,2:ncol(mcfTable)] - mcfTable[j2,2:ncol(mcfTable)]) + if (all(diff < cluster_diff_thresh)) { + toBreak = T + } + } + } + } + if (toBreak) { break } + filtered_samps_list[[names(samps_list)[i]]] <- samps_list[[i]] + } + return(filtered_samps_list) +} + +formatChains <- function(samps) { + temp_z <- get.parameter.chain("z", ggmcmc::ggs(samps)) %>% + mutate(Parameter = as.character(Parameter)) + if (nrow(temp_z) == 0) { + temp_z <- get.parameter.chain("z", ggmcmc::ggs(samps) %>% mutate(Parameter = gsub("z","z[1]",Parameter))) %>% + mutate(Parameter = as.character(Parameter)) + } + temp_mcf <- get.parameter.chain("mcf", ggmcmc::ggs(samps)) %>% + mutate(Parameter = as.character(Parameter)) + if (nrow(temp_mcf) == 0) { + temp_mcf <- get.parameter.chain("mcf", ggmcmc::ggs(samps) %>% mutate(Parameter = gsub("mcf","mcf[1,1]",Parameter))) %>% + mutate(Parameter = as.character(Parameter)) + } + temp_ystar <- get.parameter.chain("ystar", ggmcmc::ggs(samps)) %>% + mutate(Parameter = as.character(Parameter)) + temp_icn <- get.parameter.chain("icn", ggmcmc::ggs(samps)) %>% + mutate(Parameter = as.character(Parameter)) + if (nrow(temp_icn) == 0) { + temp_icn <- get.parameter.chain("icn", ggmcmc::ggs(samps) %>% mutate(Parameter = gsub("icn","icn[1]",Parameter))) %>% + mutate(Parameter = as.character(Parameter)) + } + temp_m <- get.parameter.chain("m", ggmcmc::ggs(samps)) %>% + mutate(Parameter = as.character(Parameter)) + if (nrow(temp_m) == 0) { + temp_m <- get.parameter.chain("m", ggmcmc::ggs(samps) %>% mutate(Parameter = gsub("\\bm\\b","m[1]",Parameter))) %>% + mutate(Parameter = as.character(Parameter)) + } + samps_list_formatted <- list(mcf_chain = temp_mcf, + z_chain = temp_z, + icn_chain = temp_icn, + m_chain = temp_m, + ystar_chain = temp_ystar) + return(samps_list_formatted) +} + +get.parameter.chain <- function(param, chains) { + chains[grep(paste0(param, "\\["), chains$Parameter), ] +} diff --git a/R/MCMC-main.R b/R/MCMC-main.R new file mode 100644 index 0000000..632bcfb --- /dev/null +++ b/R/MCMC-main.R @@ -0,0 +1,247 @@ +#' run PICTograph in an automated pipeline +#' +#' run MCMC chains to infer the clonal evolution of tumors from single or multi-region sequencing data. +#' This function automatically runs a pipeline of the tool. It models uncertainty of mutation cellular +#' fraction (MCF) in small somatic mutations (SSMs) and copy number alterations (CNAs), assigning SSMs +#' and CNAs to subclones using a Bayesian hierarchical model, and reconstruct tumor evolutionary trees +#' that are constrained based on principles of lineage precedence, sum condition, and optionally by +#' sample-presence. +#' +#' @param mutation_file a csv file that include information for SSMs. +#' @param outputDir output directory for saving all files. +#' @param sample_presence whether to use sample presence to separate the mutations. Not applicable if dual_model is set to FALSE and a copy number file is provided. +#' @param score scoring function to estimate the number of clusters. silhouette or BIC. +#' @param max_K user defined maximum number of clusters. +#' @param min_mutation_per_cluster minumum number of mutations in each cluster. +#' @param n.iter number of iterations by JAGS. +#' @param n.burn number of burns by JAGS. +#' @param thin number of thin by JAGS. +#' @param mc.cores number of cores to use for parallel computing; not applicable to windows. +#' @param inits additional parameters by JAGS. +#' @param cluster_diff_thresh threshold to merge two clusters. +#' @export +mcmcMain <- function(mutation_file, + outputDir=NULL, + sample_presence=TRUE, + score="silhouette", # either BIC or silhouette + max_K = 10, + min_mutation_per_cluster=5, + cluster_diff_thresh=0.05, + n.iter=5000, + n.burn=1000, + thin=10, + mc.cores=8, + inits=list(".RNG.name" = "base::Wichmann-Hill",".RNG.seed" = 123), + alt_reads_thresh = 0, # placeholder + vaf_thresh = 0 # placeholder + ) { + + data <- importFiles(mutation_file, + outputDir, + alt_reads_thresh=alt_reads_thresh, + vaf_thresh=vaf_thresh) + + # use working directory to save outputs if outputDir is not provided + if (is.null(outputDir)) { + outputDir = getwd() + } + + # save upset plot if more than one sample + if (ncol(data$y) > 1) { + data_matrix <- ifelse(data$y[data$is_cn==0,]>0, 1, 0) + png(paste(outputDir, "upsetR.png", sep="/"), res=100) + print(upset(as.data.frame(data_matrix), text.scale = c(1.5, 1.5, 1.5, 1.5, 1.5, 1.5), keep.order = T, sets = rev(colnames(data_matrix)))) + dev.off() + } + + data <- assign("data", data, envir = .GlobalEnv) + + if (sample_presence) { + message("Using sample presence; SSM only") + input_data <- list(y=data$y, + n=data$n, + tcn=data$tcn, + is_cn=data$is_cn, + mtp=data$mtp, + icn=data$icn, + cncf=data$cncf, + MutID=data$MutID, + purity=data$purity) + + input_data <- assign("input_data", input_data, envir = .GlobalEnv) + + # separate mutations by sample presence + sep_list <- separateMutationsBySamplePresence(input_data) + + # For each presence set, run clustering MCMC, calculate silhouette and BIC and choose best K + all_set_results <- runMCMCForAllBoxes(sep_list, sample_presence=sample_presence, max_K = max_K, min_mutation_per_cluster = min_mutation_per_cluster, + cluster_diff_thresh = cluster_diff_thresh, inits = inits, + n.iter = n.iter, n.burn = n.burn, thin = thin, mc.cores = mc.cores) + } else { + message("Not using sample presence; SSM only") + input_data <- list(y=data$y, + n=data$n, + tcn=data$tcn, + is_cn=data$is_cn, + mtp=data$mtp, + icn=data$icn, + cncf=data$cncf, + MutID=data$MutID, + purity=data$purity) + + input_data <- assign("input_data", input_data, envir = .GlobalEnv) + + all_set_results <- runMCMCForAllBoxes(input_data, sample_presence=sample_presence, max_K = max_K, min_mutation_per_cluster = min_mutation_per_cluster, + cluster_diff_thresh = cluster_diff_thresh, inits = inits, + n.iter = n.iter, n.burn = n.burn, thin = thin, mc.cores = mc.cores) + } + + all_set_results <- assign("all_set_results", all_set_results, envir = .GlobalEnv) + + # pick K: silhouette or BIC + set_k_choices <- writeSetKTable(all_set_results) + set_k_choices <- assign("set_k_choices", set_k_choices, envir = .GlobalEnv) + + # collect best chains + if (score=="silhouette") { + best_set_chains <- collectBestKChains(all_set_results, chosen_K = set_k_choices$silhouette_K) + } else { + best_set_chains <- collectBestKChains(all_set_results, chosen_K = set_k_choices$BIC_K) + } + chains <- mergeSetChains(best_set_chains, input_data) + + # plot MCMC tracing + png(paste(outputDir, "mcf.png", sep="/")) + print( + plotChainsMCF(chains$mcf_chain) + ) + dev.off() + + # write mcf table + mcfTable = writeClusterMCFsTable(chains$mcf_chain) + colnames(mcfTable)=c("Cluster",c(colnames(data$y))) + write.table(mcfTable, file=paste(outputDir, "mcf.csv", sep="/"), quote = FALSE, sep = ",", row.names = F) + + # write cluster assignment table + clusterAssingmentTable = writeClusterAssignmentsTable(chains$z_chain, Mut_ID = input_data$MutID) + write.table(clusterAssingmentTable, file=paste(outputDir, "clusterAssign.csv", sep="/"), quote = FALSE, sep = ",", row.names = F) + + # record estimated icn and multiplicity information + icnTable <- writeIcnTable(chains$icn_chain, Mut_ID = input_data$MutID) + write.table(icnTable, file=paste(outputDir, "icn_all.csv", sep="/"), quote = FALSE, sep = ",", row.names = F) + + multiplicityTable <- writeMultiplicityTable(chains$m_chain, Mut_ID = input_data$MutID) + write.table(multiplicityTable, file=paste(outputDir, "multiplicity_all.csv", sep="/"), quote = FALSE, sep = ",", row.names = F) + + # generate trees using different set of thresholds until at least one tree is available + threshes <- allThreshes() + for (thresh in threshes) { + generateAllTrees(chains$mcf_chain, data$purity, lineage_precedence_thresh = thresh[1], sum_filter_thresh = thresh[2]) + if (length(all_spanning_trees) > 0) { + break + } + } + + cncfTable <- data$cncf + # scores <- calcTreeScores(chains$mcf_chain, all_spanning_trees, purity=data$purity) + scores <- calculateTreeScoreMutations(chains$mcf_chain, data, icnTable, cncfTable, multiplicityTable, clusterAssingmentTable, data$purity, all_spanning_trees) + + # plot all possible trees + plotAllTrees(outputDir, scores, all_spanning_trees, mcfTable, data) + + # highest scoring tree + best_tree <- all_spanning_trees[[which(scores == max(scores))[length(which(scores == max(scores)))]]] + write.table(best_tree, file=paste(outputDir, "tree.csv", sep="/"), quote = FALSE, sep = ",", row.names = F) + + # plot best and ensemble tree + if (nrow(best_tree) >1 ) { + png(paste(outputDir, "tree.png", sep="/")) + plotTree(best_tree, palette = viridis::viridis) + dev.off() + } + + if (length(all_spanning_trees[which(scores == max(scores))])) { + png(paste(outputDir, "tree_ensemble.png", sep="/")) + plotEnsembleTree(all_spanning_trees, palette = viridis::viridis) + dev.off() + } + + # estimate purity + cc <- best_tree %>% filter(parent=="root") %>% select(child) + purity <- mcfTable %>% filter(Cluster %in% cc$child) %>% summarise(across(everything(), sum)) %>% select(-Cluster) + colnames(purity) <- colnames(data$y) + write.table(purity, file=paste(outputDir, "purity.csv", sep="/"), quote = FALSE, sep = ",", row.names = F) + + # estimate subclone proportion + subclone_props <- calcSubcloneProportions(mcf_mat, best_tree) + rownames(subclone_props) = mcfTable$Cluster + colnames(subclone_props) = colnames(data$y) + + write.csv(subclone_props, file=paste(outputDir, "subclone_proportion.csv", sep="/"), quote = FALSE) + + png(paste(outputDir, "subclone_props.png", sep="/")) + print(plotSubclonePie(subclone_props, sample_names=colnames(input_data$y))) + dev.off() + + # save all data + save.image(file=paste(outputDir, "PICTograph.RData", sep="/")) + +} + + +#' Plot all trees with the highest scores +plotAllTrees <- function(outputDir, scores, all_spanning_trees, mcfTable, data) { + # plot all tree with best scores + + outputDir = paste(outputDir, "all_trees", sep = "/") + suppressWarnings(dir.create(outputDir)) + + for (i in seq_len(length(which(scores == max(scores))))) { + idx = which(scores == max(scores))[i] + + best_tree <- all_spanning_trees[[idx]] + if (nrow(best_tree) >1 ) { + write.table(best_tree, file=paste(outputDir, "/tree", i, ".csv", sep=""), quote = FALSE, sep = ",", row.names = F) + + png(paste(outputDir, "/tree", i, ".png", sep="")) + # plot tree + plotTree(best_tree, palette = viridis::viridis) + # plotEnsembleTree(all_spanning_trees, palette = viridis::viridis) + dev.off() + + cc <- best_tree %>% filter(parent=="root") %>% select(child) + purity <- mcfTable %>% filter(Cluster %in% cc$child) %>% summarise(across(everything(), sum)) %>% select(-Cluster) + colnames(purity) <- colnames(data$y) + write.table(purity, file=paste(outputDir, "/tree_", i, "_purity.csv", sep=""), quote = FALSE, sep = ",", row.names = F) + + subclone_props <- calcSubcloneProportions(mcf_mat, best_tree) + rownames(subclone_props) = mcfTable$Cluster + colnames(subclone_props) = colnames(data$y) + + write.csv(subclone_props, file=paste(outputDir, "/tree_", i, "_subclone_proportion.csv", sep=""), quote = FALSE) + + png(paste(outputDir, "/tree_", i, "_subclone_proportion.png", sep="")) + print(plotSubclonePie(subclone_props, sample_names=colnames(input_data$y))) + dev.off() + } + } +} + +#' defines the thresholds to be used for tree building +allThreshes <- function() { + threshes <- list() + threshes[[1]] <- c(0,0) + threshes[[2]] <- c(0.1,0) + threshes[[3]] <- c(0,0.1) + threshes[[4]] <- c(0.1,0.1) + threshes[[5]] <- c(0.1,0.2) + threshes[[6]] <- c(0.2,0.1) + threshes[[7]] <- c(0.2,0.2) + threshes[[8]] <- c(0.1,0.3) + threshes[[9]] <- c(0.3,0.1) + threshes[[10]] <- c(0.2,0.3) + threshes[[11]] <- c(0.3,0.2) + threshes[[12]] <- c(0.3,0.3) + threshes[[13]] <- c(0.4,0.4) + threshes +} \ No newline at end of file diff --git a/R/MCMC-process-clusters.R b/R/MCMC-process-clusters.R new file mode 100644 index 0000000..aeea522 --- /dev/null +++ b/R/MCMC-process-clusters.R @@ -0,0 +1,523 @@ +#' Determine most probable integer assignments by taking those with highest posterior probability +#' +#' @export +#' @param icn_chain MCMC chain of integer copy number assignment values +estimateICN <- function(icn_chain) { + it <- max(icn_chain$Iteration) + mcmc_icn <- icn_chain %>% + group_by(Parameter, value) %>% + reframe(n=n(), + maxiter=it) %>% + mutate(probability=n/maxiter) %>% + ungroup() + map_icn <- mcmc_icn %>% + group_by(Parameter) %>% + reframe(value=value[probability==max(probability)]) %>% + ungroup() + + # choose first cluster if equal probability + map_icn_count <- map_icn %>% + group_by(Parameter) %>% + reframe(map_count = n()) %>% + ungroup() + if (any(map_icn_count$map_count > 1)) { + mut_ind <- which(map_icn_count$map_count > 1) + for (i in mut_ind) { + dup_var <- as.numeric(gsub("icn\\[|]", "", map_icn_count$Parameter[i])) + map_icn_dups <- which(gsub("icn\\[|]", "", map_icn$Parameter) == dup_var) + dup_ind <- map_icn_dups[-1] + map_icn <- map_icn[-dup_ind, ] + } + } + return(map_icn) +} +#' Determine most probable integer copy number by taking those with highest posterior probability. +#' +#' @export +#' @param icn_chain MCMC chain of integer copy number +#' @param Mut_ID Vector of mutation IDs, same order as provided as input data (e.g. indata$Mut_ID) +#' @return A tibble listing mutation IDs and their cluster assignments +writeIcnTable <- function(icn_chain, Mut_ID = NULL) { + map_icn <- estimateICN(icn_chain) + if (is.null(Mut_ID)) { + Mut_ID <- paste0("Mut", 1:nrow(map_icn)) + } + map_icn <- map_icn %>% + mutate(Parameter_n = as.numeric(gsub("icn\\[(\\d+)\\]","\\1",Parameter)))%>% + arrange(Parameter_n)%>% + mutate(Mut_ID = Mut_ID, icn = value)%>% + select(Mut_ID, icn) + + # map_icn <- map_icn %>% + # arrange(Cluster) + return(map_icn) +} + +#' Determine most probable mutation cluster assignments by taking those with highest posterior probability +#' +#' @export +#' @param m_chain MCMC chain of multiplicity assignment values +estimateMultiplicity <- function(m_chain) { + it <- max(m_chain$Iteration) + mcmc_m <- m_chain %>% + group_by(Parameter, value) %>% + reframe(n=n(), + maxiter=it) %>% + mutate(probability=n/maxiter) %>% + ungroup() + map_m <- mcmc_m %>% + group_by(Parameter) %>% + reframe(value=value[probability==max(probability)]) %>% + ungroup() + + # choose first cluster if equal probability + map_m_count <- map_m %>% + group_by(Parameter) %>% + reframe(map_count = n()) %>% + ungroup() + if (any(map_m_count$map_count > 1)) { + mut_ind <- which(map_m_count$map_count > 1) + for (i in mut_ind) { + dup_var <- as.numeric(gsub("m\\[|]", "", map_m_count$Parameter[i])) + map_m_dups <- which(gsub("m\\[|]", "", map_m$Parameter) == dup_var) + dup_ind <- map_m_dups[-1] + map_m <- map_m[-dup_ind, ] + } + } + return(map_m) +} + +#' Determine most probable multiplicity assignments by taking those with highest posterior probability. +#' +#' @export +#' @param m_chain MCMC chain of mutation cluster assignment values +#' @param Mut_ID Vector of mutation IDs, same order as provided as input data (e.g. indata$Mut_ID) +#' @return A tibble listing mutation IDs and their cluster assignments +writeMultiplicityTable <- function(m_chain, Mut_ID = NULL) { + map_m <- estimateMultiplicity(m_chain) + if (is.null(Mut_ID)) { + Mut_ID <- paste0("Mut", 1:nrow(map_m)) + } + map_m <- map_m %>% + mutate(Parameter_n = as.numeric(gsub("m\\[(\\d+)\\]","\\1",Parameter)))%>% + arrange(Parameter_n)%>% + mutate(Mut_ID = Mut_ID, Multiplicity = value)%>% + select(Mut_ID, Multiplicity) + + return(map_m) +} + +#' Determine the most probable cluster MCF values by taking the mean of the posterior distributions +#' +#' @export +#' @param mcf_chain MCMC chain of mCF values +#' @return matrix of estimated cluster MCFs +estimateMCFs <- function(mcf_chain) { + S <- numberSamples(mcf_chain) + K <- numberClusters(mcf_chain) + temp <- mcf_chain %>% + mutate( + I = as.numeric(gsub("mcf\\[([0-9]+),[0-9]+\\]", "\\1", Parameter)), + J = as.numeric(gsub("mcf\\[[0-9]+,([0-9]+)\\]", "\\1", Parameter))) %>% + group_by(I,J) %>% + summarise(mean_value = mean(value), .groups = 'drop') + mcf.map.matrix <- matrix(NA, nrow = K, ncol = S, dimnames = list(1:K, 1:S)) + for(row in 1:nrow(temp)) { + mcf.map.matrix[temp$I[row], temp$J[row]] <- round(temp$mean_value[row],3) + } + return(mcf.map.matrix) +} + +#' @importFrom stringr str_replace +numberSamples <- function(mcf_stats){ + params <- as.character(mcf_stats$Parameter) + nSamples <- strsplit(params, ",") %>% + sapply("[", 2) %>% + stringr::str_replace("\\]", "") %>% + as.numeric() %>% + max() + nSamples +} + +#' @importFrom stringr str_replace +numberClusters <- function(mcf_stats){ + params <- as.character(mcf_stats$Parameter) + K <- strsplit(params, ",") %>% + sapply("[", 1) %>% + str_replace("mcf\\[", "") %>% + as.numeric() %>% + max() + K +} + +#' Determine the most probable cluster MCF values by taking the mode of the posterior distributions +#' +#' @export +#' @param mcf_chain MCMC chain of MCF values +#' @param Sample_ID Vector of sample IDs, same order as provided as input data (e.g. indata$Sample_ID) +#' @return A tibble of estimated cluster MCFs in each sample +writeClusterMCFsTable <- function(mcf_chain, Sample_ID = NULL) { + map_mcf <- as.data.frame(estimateMCFs(mcf_chain)) + + if (is.null(Sample_ID)) { + Sample_ID <- paste0("Sample ", 1:ncol(map_mcf)) + } + colnames(map_mcf) <- Sample_ID + map_mcf <- map_mcf %>% + as_tibble() %>% + bind_cols(tibble(Cluster = 1:nrow(map_mcf)), .) + return(map_mcf) +} + +#' Determine most probable mutation cluster assignments by taking those with highest posterior probability +#' +#' @export +#' @param z_chain MCMC chain of mutation cluster assignment values +estimateClusterAssignments <- function(z_chain) { + it <- max(z_chain$Iteration) + mcmc_z <- z_chain %>% + group_by(Parameter, value) %>% + reframe(n=n(), + maxiter=it) %>% + mutate(probability=n/maxiter) %>% + ungroup() + map_z <- mcmc_z %>% + group_by(Parameter) %>% + reframe(value=value[probability==max(probability)]) %>% + ungroup() + + # choose first cluster if equal probability + map_z_count <- map_z %>% + group_by(Parameter) %>% + reframe(map_count = n()) %>% + ungroup() + if (any(map_z_count$map_count > 1)) { + mut_ind <- which(map_z_count$map_count > 1) + for (i in mut_ind) { + dup_var <- as.numeric(gsub("z\\[|]", "", map_z_count$Parameter[i])) + map_z_dups <- which(gsub("z\\[|]", "", map_z$Parameter) == dup_var) + dup_ind <- map_z_dups[-1] + map_z <- map_z[-dup_ind, ] + } + } + return(map_z) +} + +#' Determine most probable mutation cluster assignments by taking those with highest posterior probability. +#' +#' @export +#' @param z_chain MCMC chain of mutation cluster assignment values +#' @param Mut_ID Vector of mutation IDs, same order as provided as input data (e.g. indata$Mut_ID) +#' @return A tibble listing mutation IDs and their cluster assignments +writeClusterAssignmentsTable <- function(z_chain, mcf_chain=NULL, cncf=NULL, Mut_ID = NULL) { + map_z <- estimateClusterAssignments(z_chain) + if (is.null(Mut_ID)) { + Mut_ID <- paste0("Mut", 1:nrow(map_z)) + } + map_z <- map_z %>% + mutate(Parameter_n = as.numeric(gsub("z\\[(\\d+)\\]","\\1",Parameter)))%>% + arrange(Parameter_n)%>% + mutate(Mut_ID = Mut_ID, Cluster = value)%>% + select(Mut_ID, Cluster) + + if (!is.null(cncf)) { + if (is.null(mcf_chain)) { + warning("mcf_chain information is required to add CNA to cluster assignment table") + } else { + w_mat <- estimateMCFs(mcf_chain) + for (i in seq_len(nrow(cncf))) { + cls = which(apply(w_mat, 1, function(x) return(all(x == cncf_update[i,])))) + map_z <- map_z %>% add_row(Mut_ID=rownames(cncf)[i], Cluster=cls) + } + } + } + + return(map_z) +} + +#' Collect chains for best K of each mutation set +#' +#' @export +#' @param all_set_results List of MCMC results for each mutation set +#' @param chosen_K (Optional) Vector of K to choose for each mutation set, in the same order as all_set_results. If left blank, function will select best K automatically selected by \code{clusterSep} +collectBestKChains <- function(all_set_results, chosen_K = NULL) { + # best_set_chains <- lapply(all_set_results, function(x) x$all_chains[[length(x$all_chains)]]) + if (is.null(chosen_K)) { + best_set_chains <- lapply(all_set_results, function(x) x$silhouette_best_chains) + } else { + best_set_chains <- mapply(function(set_res, choose_K) set_res$all_chains[[choose_K]], + set_res = all_set_results, + chosen_K, + SIMPLIFY = FALSE) + } + return(best_set_chains) +} + +#' Relabel chains for all sets and merge +#' +#' @export +#' @import dplyr +#' @param best_set_chains List of lists of MCMC chains (mcf_chain, z_chain, ystar_chain) for each mutation set +#' @param indata List of input data objects (same as provided to clusterSep) +mergeSetChains <- function(best_set_chains, indata) { + best_K_vals <- unname(sapply(best_set_chains, function(x) max(x$z_chain$value))) + sep_list <- separateMutationsBySamplePresence(indata) + + # first set doesn't need to change cluster labels + mcf_chain <- best_set_chains[[1]]$mcf_chain + temp_m_chain <- best_set_chains[[1]]$m_chain + temp_icn_chain <- best_set_chains[[1]]$icn_chain + temp_z_chain <- best_set_chains[[1]]$z_chain + temp_ystar_chain <- best_set_chains[[1]]$ystar_chain + + if (length(best_set_chains) > 1) { + # still need to change mutation indices if more than 1 box + z_chain <- relabel_z_chain_mut_only(temp_z_chain, sep_list[[1]]$mutation_indices) + m_chain <- relabel_m_chain_mut_only(temp_m_chain, sep_list[[1]]$mutation_indices) + icn_chain <- relabel_icn_chain_mut_only(temp_icn_chain, sep_list[[1]]$mutation_indices) + ystar_chain <- relabel_ystar_chain(temp_ystar_chain, + sep_list[[1]]$mutation_indices) + for (i in 2:length(best_set_chains)) { + temp_mcf_chain <- best_set_chains[[i]]$mcf_chain + temp_m_chain <- best_set_chains[[i]]$m_chain + temp_icn_chain <- best_set_chains[[i]]$icn_chain + temp_z_chain <- best_set_chains[[i]]$z_chain + temp_ystar_chain <- best_set_chains[[i]]$ystar_chain + new_cluster_labels <- seq_len(best_K_vals[i]) + sum(best_K_vals[1:(i-1)]) + + temp_relabeled_mcf_chain <- relabel_mcf_chain(temp_mcf_chain, new_cluster_labels) + temp_relabeled_icn_chain <- relabel_icn_chain(temp_icn_chain, new_cluster_labels, + sep_list[[i]]$mutation_indices) + temp_relabeled_m_chain <- relabel_m_chain(temp_m_chain, new_cluster_labels, + sep_list[[i]]$mutation_indices) + temp_relabeled_z_chain <- relabel_z_chain(temp_z_chain, new_cluster_labels, + sep_list[[i]]$mutation_indices) + temp_relabeled_ystar_chain <- relabel_ystar_chain(temp_ystar_chain, + sep_list[[i]]$mutation_indices) + + mcf_chain <- rbind(mcf_chain, temp_relabeled_mcf_chain) + icn_chain <- rbind(icn_chain, temp_relabeled_icn_chain) + m_chain <- rbind(m_chain, temp_relabeled_m_chain) + z_chain <- rbind(z_chain, temp_relabeled_z_chain) + ystar_chain <- rbind(ystar_chain, temp_relabeled_ystar_chain) + } + } else { + z_chain <- temp_z_chain + icn_chain <- temp_icn_chain + m_chain <- temp_m_chain + ystar_chain <- temp_ystar_chain + } + + # set levels for Parameter + mcf_chain <- mcf_chain %>% + mutate(k = as.numeric(gsub("mcf\\[", "", + sapply(mcf_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1])))) %>% + mutate(s = as.numeric(gsub("\\]", "", + sapply(mcf_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][2])))) %>% + arrange(k, s) %>% + mutate(Parameter = factor(Parameter, levels = unique(mcf_chain$Parameter))) %>% + select(Iteration, Chain, Parameter, value) + + z_chain_param_order <- tibble(Parameter = unique(z_chain$Parameter)) %>% + mutate(Variant = as.numeric(gsub("z\\[", "", + gsub("\\]", "", + unique(z_chain$Parameter))))) %>% + arrange(Variant) + z_chain <- z_chain %>% + mutate(Parameter = factor(Parameter, levels = z_chain_param_order$Parameter)) + + icn_chain_param_order <- tibble(Parameter = unique(icn_chain$Parameter)) %>% + mutate(Variant = as.numeric(gsub("icn\\[", "", + gsub("\\]", "", + unique(icn_chain$Parameter))))) %>% + arrange(Variant) + icn_chain <- icn_chain %>% + mutate(Parameter = factor(Parameter, levels = icn_chain_param_order$Parameter)) + + m_chain_param_order <- tibble(Parameter = unique(m_chain$Parameter)) %>% + mutate(Variant = as.numeric(gsub("m\\[", "", + gsub("\\]", "", + unique(m_chain$Parameter))))) %>% + arrange(Variant) + m_chain <- m_chain %>% + mutate(Parameter = factor(Parameter, levels = m_chain_param_order$Parameter)) + + ystar_chain <- ystar_chain %>% + mutate(Mutation_index = as.numeric(gsub("ystar\\[", "", + sapply(ystar_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1]))), + s = as.numeric(gsub("\\]", "", + sapply(ystar_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][2])))) + ystar_chain <- ystar_chain %>% + arrange(Mutation_index, s) %>% + mutate(Parameter = factor(Parameter, levels = unique(Parameter))) + + chains <- list(mcf_chain = mcf_chain, + z_chain = z_chain, + icn_chain = icn_chain, + m_chain = m_chain, + ystar_chain = ystar_chain) + return(chains) +} + +relabel_z_chain <- function(z_chain, new_cluster_labels, mutation_indices) { + # new_cluster_labels = numeric vector of labels that map to 1:length(new_cluster_labels) + # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence + if (length(mutation_indices) != length(unique(z_chain$Parameter))) { + stop("number of supplied mutation indices does not match the number of mutations in z_chain") + } + ## would break when no mutation is assigned to a cluster + ## poor choice of k, would prob lower the k + if (length(new_cluster_labels) < length(unique(z_chain$value))) { + stop("number of supplied new cluster labels does not match the number of clusters in z_chain") + } + new_z <- z_chain %>% + mutate(i = as.numeric(gsub("\\]", "", + gsub("z\\[", "", + sapply(z_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1]))))) + new_z <- new_z %>% + mutate(new_i = mutation_indices[i], + value = new_cluster_labels[new_z$value]) %>% + mutate(Parameter = paste0("z[", new_i, "]")) %>% + arrange(new_i) %>% + select(Iteration, Chain, Parameter, value) + return(new_z) +} + +relabel_m_chain <- function(m_chain, new_cluster_labels, mutation_indices) { + # new_cluster_labels = numeric vector of labels that map to 1:length(new_cluster_labels) + # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence + if (length(mutation_indices) != length(unique(m_chain$Parameter))) { + stop("number of supplied mutation indices does not match the number of mutations in m_chain") + } + new_m <- m_chain %>% + mutate(i = as.numeric(gsub("\\]", "", + gsub("m\\[", "", + sapply(m_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1]))))) + new_m <- new_m %>% + mutate(new_i = mutation_indices[i], + value = new_m$value) %>% + mutate(Parameter = paste0("m[", new_i, "]")) %>% + arrange(new_i) %>% + select(Iteration, Chain, Parameter, value) + return(new_m) +} + +relabel_icn_chain <- function(icn_chain, new_cluster_labels, mutation_indices) { + # new_cluster_labels = numeric vector of labels that map to 1:length(new_cluster_labels) + # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence + if (length(mutation_indices) != length(unique(icn_chain$Parameter))) { + stop("number of supplied mutation indices does not match the number of mutations in icn_chain") + } + new_icn <- icn_chain %>% + mutate(i = as.numeric(gsub("\\]", "", + gsub("icn\\[", "", + sapply(icn_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1]))))) + new_icn <- new_icn %>% + mutate(new_i = mutation_indices[i], + value = new_icn$value) %>% + mutate(Parameter = paste0("icn[", new_i, "]")) %>% + arrange(new_i) %>% + select(Iteration, Chain, Parameter, value) + return(new_icn) +} + +relabel_m_chain_mut_only <- function(m_chain, mutation_indices) { + # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence + # cluster labels are left unchanged + if (length(mutation_indices) != length(unique(m_chain$Parameter))) { + stop("number of supplied mutation indices does not match the number of mutations in m_chain") + } + new_m <- m_chain %>% + mutate(i = as.numeric(gsub("\\]", "", + gsub("m\\[", "", + sapply(m_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1]))))) + new_m <- new_m %>% + mutate(new_i = mutation_indices[i]) %>% + mutate(Parameter = paste0("m[", new_i, "]")) %>% + arrange(new_i) %>% + select(Iteration, Chain, Parameter, value) + return(new_m) +} + +relabel_icn_chain_mut_only <- function(icn_chain, mutation_indices) { + # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence + # cluster labels are left unchanged + if (length(mutation_indices) != length(unique(icn_chain$Parameter))) { + stop("number of supplied mutation indices does not match the number of mutations in icn_chain") + } + new_icn <- icn_chain %>% + mutate(i = as.numeric(gsub("\\]", "", + gsub("icn\\[", "", + sapply(icn_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1]))))) + new_icn <- new_icn %>% + mutate(new_i = mutation_indices[i]) %>% + mutate(Parameter = paste0("icn[", new_i, "]")) %>% + arrange(new_i) %>% + select(Iteration, Chain, Parameter, value) + return(new_icn) +} + +relabel_z_chain_mut_only <- function(z_chain, mutation_indices) { + # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence + # cluster labels are left unchanged + if (length(mutation_indices) != length(unique(z_chain$Parameter))) { + stop("number of supplied mutation indices does not match the number of mutations in z_chain") + } + new_z <- z_chain %>% + mutate(i = as.numeric(gsub("\\]", "", + gsub("z\\[", "", + sapply(z_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1]))))) + new_z <- new_z %>% + mutate(new_i = mutation_indices[i]) %>% + mutate(Parameter = paste0("z[", new_i, "]")) %>% + arrange(new_i) %>% + select(Iteration, Chain, Parameter, value) + return(new_z) +} + +relabel_ystar_chain <- function(ystar_chain, mutation_indices) { + # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence + i_s <- gsub("ystar\\[|]", "", ystar_chain$Parameter) + i <- sapply(i_s, function(x) strsplit(x, ",")[[1]][1]) %>% + as.numeric + s <- sapply(i_s, function(x) strsplit(x, ",")[[1]][2]) %>% + as.numeric + new_ystar <- ystar_chain %>% + mutate(i = i, + s = s) + new_ystar <- new_ystar %>% + mutate(new_i = mutation_indices[i]) %>% + mutate(Parameter = paste0("ystar[", new_i, ",", s, "]")) %>% + arrange(new_i) %>% + select(Iteration, Chain, Parameter, value) + return(new_ystar) +} + +relabel_mcf_chain <- function(mcf_chain, new_cluster_labels) { + # new_cluster_labels = numeric vector of labels that map to 1:length(new_cluster_labels) + new_mcf <- mcf_chain %>% + mutate(k = as.numeric(gsub("mcf\\[", "", + sapply(mcf_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][1])))) %>% + mutate(s = as.numeric(gsub("\\]", "", + sapply(mcf_chain$Parameter, + function(x) strsplit(as.character(x), ",")[[1]][2])))) + if (length(new_cluster_labels) != length(unique(new_mcf$k))) { + stop("number of supplied new cluster labels does not match the number of clusters in mcf_chain") + } + new_mcf <- new_mcf %>% + mutate(k_new = new_cluster_labels[new_mcf$k]) %>% + mutate(Parameter = paste0("mcf[", k_new, ",", s, "]")) %>% + select(Iteration, Chain, Parameter, value) + return(new_mcf) +} diff --git a/R/MCMC_plot_clusters.R b/R/MCMC_plot_clusters.R new file mode 100644 index 0000000..186a099 --- /dev/null +++ b/R/MCMC_plot_clusters.R @@ -0,0 +1,238 @@ +#' Plot probabilities of mutation cluster assignments - vertical +#' +#' @export +#' @import ggplot2 +#' @import tibble +#' @import dplyr +#' @import tidyr +#' @param z_chain MCMC chain of mutation cluster assignment values, which is the second item in the list returned by \code{clusterSep} +#' @param mcf_chain MCMC chain of CCF values, which is the first item in the list returned by \code{clusterSep} +#' @param filter_thresh Lowest posterior probability to include cluster assignment. Default value is 0.05 (inclusive) +#' @param MutID (Optional) Vector of mutation IDs for labeling purposes. Same order as supplied as input data (e.g. indata$Mut_ID) +#' @param SampleID (Optional) Vector of sample IDs for labeling purposes. Same order as supplied as input data (e.g. indata$Sample_ID) +plotClusterAssignmentProbVertical <- function(z_chain, + mcf_chain, + filter_thresh = 0.05, + MutID = NULL, + SampleID = NULL) { + + mcmc_z <- generateZPostSummary(z_chain, mcf_chain, filter_thresh, MutID, SampleID) + K <- max(mcmc_z$value) + z.seg.tb <- mcmc_z %>% + group_by(Parameter) %>% + summarize(z1 = min(value), z2 = max(value)) %>% + ungroup() %>% + mutate(Variant = as.numeric(gsub("z\\[|]", "", Parameter)), + Mut_ID = mcmc_z$Mut_ID[match(Variant, mcmc_z$Variant)], + Sample_presence = mcmc_z$Sample_presence[match(Variant, mcmc_z$Variant)]) + + z.plot <- ggplot(mcmc_z, aes(x = value, y = Mut_ID, color = probability)) + + theme_light() + + scale_y_discrete(drop = T, name = "Variant") + + scale_x_continuous(breaks = 1:K, name = "Cluster", labels = 1:K) + + geom_segment(data = z.seg.tb, + aes(y=Mut_ID, yend=Mut_ID, + x=z1, xend=z2), + color="black", linetype=2) + + geom_point() + + theme(panel.grid.minor = element_blank(), + strip.background=element_blank(), + strip.text = element_text(colour = 'black'), + strip.text.y = element_text(angle = 0)) + + facet_grid(Sample_presence~., scales = "free", space = "free") + + scale_color_gradient(limits = c(0,1)) + return(z.plot) +} + +generateZPostSummary <- function(z_chain, + mcf_chain, + filter_thresh = 0.05, + MutID = NULL, + SampleID = NULL) { + + map_z <- estimateClusterAssignments(z_chain) + map_mcf <- estimateMCFs(mcf_chain) + + I <- length(unique(z_chain$Parameter)) + K <- max(unique(z_chain$value)) + num_iter <- max(z_chain$Iteration) + S <- ncol(map_mcf) + + if (is.null(MutID)) { + mut_labels <- 1:I + } else { + mut_labels <- MutID + } + if (is.null(SampleID)) { + sample_labels <- paste0("Sample ", 1:S) + } else { + sample_labels <- SampleID + } + + + + tiers <- generateTiers(map_mcf, sample_labels) + + mcmc_z <- summarizeZPost(z_chain) %>% + filter(probability >= filter_thresh) + + # Variant sample presence + var_sample_pres <- map_z %>% + ungroup() %>% + mutate(cluster_num = value, + Variant = as.numeric(gsub("z\\[|]", "", Parameter)), + Mut_ID = mut_labels[Variant], + Sample_presence = tiers$samples[value]) + # sample presence order + sample_pres_order <- tiers %>% + select(samples, tier) %>% + distinct() %>% + arrange(-tier) %>% + pull(samples) + # variant order + var_order <- map_z %>% + arrange(-value) %>% + mutate(Variant = as.numeric(gsub("z\\[|]", "", Parameter)), + Mut_ID = mut_labels[Variant]) %>% + pull(Mut_ID) + + mcmc_z <- mcmc_z %>% + mutate(Variant = as.numeric(gsub("z\\[|]", "", Parameter)), + Mut_ID = factor(mut_labels[Variant], var_order), + Sample_presence = factor(var_sample_pres$Sample_presence[Variant], + sample_pres_order)) + return(mcmc_z) +} + +summarizeZPost <- function(z_chain) { + I <- length(unique(z_chain$Parameter)) + K <- max(unique(z_chain$value)) + num_iter <- max(z_chain$Iteration) + mcmc_z <- z_chain %>% + group_by(Parameter, value) %>% + summarize(n=n(), + num_iter=num_iter) %>% + mutate(probability=n/num_iter) %>% + ungroup() + return(mcmc_z) +} + + +generateTiers <- function(w_mat, Sample_ID) { + clusters <- paste0("Cluster ", seq_len(nrow(w_mat))) + bin <- w_mat > 0 + samples <- apply(bin, 1, function(x) paste(Sample_ID[x], collapse = ",\n")) + tier <- rowSums(bin) + tiers <- tibble(cluster = clusters, + cluster_num = seq_len(nrow(w_mat)), + samples = samples, + tier = tier) + return(tiers) +} + +#' Plot CCF chain trace +#' +#' @export +#' @param mcf_chain MCMC chain of CCF values, which is the first item in the list returned by \code{mergeSetChains} +plotChainsMCF <- function(mcf_chain) { + cluster <- strsplit(as.character(mcf_chain$Parameter), ",") %>% + sapply(., function(x) gsub("mcf\\[", "", x[1])) %>% + as.numeric + sample <- strsplit(as.character(mcf_chain$Parameter), ",") %>% + sapply(., function(x) gsub("\\]", "", x[2])) %>% + as.numeric + + mcf_chain <- mcf_chain %>% + mutate(Cluster = factor(paste0("Cluster ", cluster), + levels = paste0("Cluster ", sort(unique(cluster)))), + Sample = factor(paste0("Sample ", sample), + levels = paste0("Sample ", sort(unique(sample))))) + + ggplot(mcf_chain, aes(x = Iteration, y = value)) + + geom_line() + + theme_light() + + facet_grid(Cluster ~ Sample) + + ylab("Cancer Cell Fraction") +} + +#' Plot cluster CCF posterior distributions as violin plots +#' +#' @export +#' @param mcf_chain MCMC chain of CCF values +#' @param z_chain (Optional) MCMC chain of mutation cluster assignment values. If provided, cluster names will show the number of mutations assigned in brackets +#' @param indata (Optional) List of input data items +plotMCFViolin <- function(mcf_chain, z_chain = NULL, indata = NULL) { + # process data + vdat <- violinProcessData(mcf_chain, indata) + + if (!is.null(z_chain)) { + num_muts_in_clusters <- estimateClusterAssignments(z_chain) %>% + group_by(value) %>% + summarize(num_muts = n()) %>% + ungroup() %>% + rename(cluster = value) + num_muts <- num_muts_in_clusters$num_muts[match(vdat$cluster_num, num_muts_in_clusters$cluster)] + new_cluster_labels <- paste0("Cluster ", + vdat$cluster_num, + " [", num_muts,"]") + vdat <- vdat %>% + mutate(cluster = factor(new_cluster_labels, unique(new_cluster_labels))) + } + + # plot violins + vplot <- plotViolin(vdat) + return(vplot) +} + +violinProcessData <- function(mcf_chain, indata = NULL) { + mcf_mat <- estimateMCFs(mcf_chain) + est_K <- nrow(mcf_mat) + + if (is.null(indata$Sample_ID)) { + sample_names <- paste0("Sample ", 1:ncol(mcf_mat)) + } else { + sample_names <- indata$Sample_ID + } + + vdat <- mcf_chain %>% + mutate(sample=stringr::str_replace_all(Parameter, "mcf\\[[:digit:]+,", ""), + sample=stringr::str_replace_all(sample, "\\]", ""), + cluster=stringr::str_replace_all(Parameter, "mcf\\[", ""), + cluster=stringr::str_replace_all(cluster, ",[:digit:]\\]", "")) %>% + mutate(sample=as.numeric(sample), + sample=sample_names[sample], + sample=factor(sample, sample_names), + cluster=as.numeric(cluster), + cluster=paste0("Cluster ", cluster), + cluster=factor(cluster, level=paste("Cluster", 1:est_K))) + + tiers <- generateTiers(mcf_mat, sample_names) + + vdat <- vdat %>% + mutate(cluster=as.character(cluster)) %>% + left_join(tiers, by="cluster") %>% + mutate(cluster=factor(cluster, tiers$cluster), + tier=factor(tier, sort(unique(tiers$tier)))) + return(vdat) +} + +plotViolin <- function(vdat) { + vplot <- ggplot(vdat, aes(sample, value)) + + geom_violin(aes(fill=tier), + alpha=0.6, + scale="width", + draw_quantiles=c(0.25, 0.5, 0.75), + color="white") + + geom_violin(fill="transparent", color="black", + scale="width", draw_quantiles=0.5) + + theme_bw(base_size=12) + + theme(strip.background=element_blank(), + axis.text.x=element_text(size=12), + panel.grid=element_blank(), + legend.pos="bottom") + + facet_wrap(~cluster, nrow=1) + + ylab("Posterior CCF") + xlab("") +ylim(c(0, 1)) + + guides(fill=guide_legend("Sample-presence")) + + theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1)) + return(vplot) +} \ No newline at end of file diff --git a/R/bic.R b/R/bic.R deleted file mode 100644 index cd90484..0000000 --- a/R/bic.R +++ /dev/null @@ -1,220 +0,0 @@ -calcLogLik <- function(z.iter, w.iter, input.data) { - W <- w.iter[z.iter, ] - - if (is.null(input.data$purity)) { - theta <- calcTheta(input.data$m, input.data$tcn, W) - } else { - purity <- input.data$purity - P <- matrix(rep(purity, each = input.data$I), nrow = input.data$I, ncol = input.data$S) - theta <- calcTheta2(input.data$m, input.data$tcn, W, P) - } - - sum(dbinom(as.matrix(input.data$y), as.matrix(input.data$n), as.matrix(theta), log=T)) -} - -calcChainLogLik <- function(chains, input.data, est_K) { - num_iter <- max(chains$z_chain$Iteration) - - lik <- c() - for(iter in 1:num_iter) { - z.iter <- chains$z_chain %>% - filter(Iteration == iter) %>% - pull(value) - w.iter <- filter(chains$w_chain, Iteration == iter) %>% - reshapeW() - lik <- c(lik, calcLogLik(z.iter, w.iter, input.data)) - } - return(mean(lik)) -} - - -#' @importFrom stringr str_replace_all -reshapeW <- function(w.chain.iter) { - w.mat <- w.chain.iter %>% - mutate(sample=stringr::str_replace_all(Parameter, "w\\[[:digit:]+,", ""), - sample=as.numeric(stringr::str_replace_all(sample, "\\]", "")), - cluster=stringr::str_replace_all(Parameter, "w\\[", ""), - cluster=as.numeric(stringr::str_replace_all(cluster, ",[:digit:]\\]", ""))) %>% - select(cluster, sample, value) - S <- max(w.mat$sample) - w.mat <- w.mat %>% - pivot_wider(names_from = sample, - values_from = value) - w.mat$cluster <- NULL - w.mat <- as.matrix(w.mat) - colnames(w.mat) <- paste0("sample", 1:S) - return(w.mat) -} - -calcBIC <- function(n, k, ll) log(n)*k - 2*ll - -#' @import magrittr -calcChainBIC <- function(chains, input.data) { - n <- input.data$I * input.data$S - est_K <- estimateCCFs(chains$w_chain) %>% - nrow(.) - ll <- calcChainLogLik(chains, input.data, est_K) - - BIC <- calcBIC(n, est_K, ll) - return(BIC) -} - -calcBICForRangeK <- function(samps.list, kToTest, input.data) { - mapply(function(samps, k) - calcBIC(input.data$I*input.data$S, k, calcChainLogLik(samps, input.data, k)), - samps = samps.list, k = kToTest) -} - -calcTheta <- function(m, tcn, w) { - (m * w) / (tcn * w + 2*(1-w)) -} - -calcTheta2 <- function(m, tcn, w, p) { - (m * w * p) / (tcn * p + 2*(1-p)) -} - -#' Make table listing possible choices of K (minimum BIC and elbow of BIC plot) for each mutation set -#' -#' @export -#' @import dplyr -#' @param all_set_results List of MCMC results for each mutation set; returned by \code{clusterSep} -#' @param sample_names (Optional) Vector of sample IDs, same order as provided as input data (e.g. indata$Sample_ID) -writeSetKTable <- function(all_set_results, sample_names = NULL) { - min_bic_k <- sapply(all_set_results, function(x) x$best_K) - elbow_k <- sapply(all_set_results, function(x) ifelse(is.logical(x$BIC), 1, findElbow2(x$BIC$BIC))) - knee_k <- sapply(all_set_results, function(x) ifelse(is.logical(x$BIC), 1, findKnee(x$BIC$BIC))) - min_bic_k_tb <- tibble(set_name_bin = names(all_set_results), - min_BIC = min_bic_k, - elbow = elbow_k, - knee = knee_k) - - if (!is.null(sample_names)) { - min_bic_k_tb <- min_bic_k_tb %>% - mutate(set_name_full = sapply(min_bic_k_tb$set_name_bin, - function(x) getSetName(x, sample_names, collapse_string = ","))) %>% - select(set_name_bin, set_name_full, min_BIC, elbow, knee) - } - - # write chosen K if elbow, knee, and minimum BIC all agree - chosen_K <- rep(NA, length(all_set_results)) - for (i in seq_len(length(all_set_results))) { - chosen_K[i] <- ifelse(min_bic_k_tb$min_BIC[i] == min_bic_k_tb$elbow[i] & - min_bic_k_tb$min_BIC[i] == min_bic_k_tb$knee[i], - min_bic_k_tb$min_BIC[i], - min(min_bic_k_tb$min_BIC[i],min_bic_k_tb$elbow[i],min_bic_k_tb$knee[i])) - } - - min_bic_k_tb <- min_bic_k_tb %>% - mutate(chosen_K = chosen_K) - - return(min_bic_k_tb) -} - -# find elbow of bic plot -findElbow1 <- function(BIC) { - - # return first ind if all increasing - if(all (BIC >= BIC[1])) return(1) - - delta1 <- diff(BIC) - delta2 <- diff(delta1) - elbow_ind <- which.min(delta2) + 2 - return(elbow_ind) -} - -findElbow2 <- function(BIC) { - - # return first ind if all increasing - if(all (BIC >= BIC[1])) return(1) - - K_vec <- seq_len(length(BIC)) - # line defined by two end-points of BIC plot P1 = (x1, y1) and P2 = (x2, y2) - x1 <- K_vec[1] - y1 <- BIC[1] - x2 <- length(BIC) - y2 <- BIC[length(BIC)] - - # calculate distance of each point (x0, y0) to line - perp_dist <- sapply(K_vec, function(i) calcDistFromPointToLine(K_vec[i], BIC[i], - x1, y1, - x2, y2)) - return(which.max(perp_dist)) -} - -calcDistFromPointToLine <- function (x0, y0, - x1, y1, - x2, y2) { - numerator <- abs( (x2-x1)*(y1-y0) - (x1-x0)*(y2-y1) ) - denominator <- sqrt( (x2-x1)^2 + (y2-y1)^2 ) - distance <- numerator / denominator - return(distance) -} - -# angle-based method for knee point detection of BIC -# Zhao et al 2008 -# returns index of knee point -findKnee <- function(BIC, n = 5) { - if (length(BIC) == 1) return(1) - - # return first ind if all increasing - if(all (BIC >= BIC[1])) return(1) - - # initialize - curr_val <- BIC[1] - prev_val <- BIC[1] - next_val <- BIC[1] - - # begin - diff_fun <- rep(NA, length(BIC)) - for (m in seq_len(length(BIC))) { - curr_val <- BIC[m] - next_val <- BIC[min(m+1, length(BIC))] - diff_fun[m] <- DiffFun(prev_val, next_val, curr_val) - prev_val <- curr_val - } - - # find first n local maximas in diff_fun - local_max <- localMaxima(diff_fun) - local_max <- local_max[1:min(length(local_max), n)] - if (length(local_max) == 1) return(local_max) - - # for each n with decreasing order of LocalMax value, - angle <- c() - for (n in local_max) { - angle <- c(angle, AngleFun(BIC[max(n-1, 1)], BIC[min(n+1, length(BIC))], BIC[n])) - } - # return m with the first minima angle - return(local_max[localMinima(angle)[1]]) -} -DiffFun <- function(prev_val, next_val, curr_val) { - prev_val + next_val - 2*curr_val -} -AngleFun <- function(prev_val, next_val, curr_val) { - atan( 1 / abs(curr_val - prev_val) ) + atan( 1 / abs(next_val - curr_val) ) -} - -# detect local maxima -localMaxima <- function(x) { - # Use -Inf instead if x is numeric (non-integer) - y <- diff(c(-.Machine$integer.max, x)) > 0L # for maxima - #y <- diff(c(.Machine$integer.max, x)) < 0L # for mimuma - rle(y)$lengths - y <- cumsum(rle(y)$lengths) - y <- y[seq.int(1L, length(y), 2L)] - if (x[[1]] == x[[2]]) { - y <- y[-1] - } - return(y) -} -localMinima <- function(x) { - # Use -Inf instead if x is numeric (non-integer) - #y <- diff(c(-.Machine$integer.max, x)) > 0L # for maxima - y <- diff(c(.Machine$integer.max, x)) < 0L # for mimuma - rle(y)$lengths - y <- cumsum(rle(y)$lengths) - y <- y[seq.int(1L, length(y), 2L)] - if (x[[1]] == x[[2]]) { - y <- y[-1] - } - return(y) -} diff --git a/R/calculate-BIC.R b/R/calculate-BIC.R new file mode 100644 index 0000000..c6fee11 --- /dev/null +++ b/R/calculate-BIC.R @@ -0,0 +1,229 @@ +#' @import magrittr +calcChainBIC <- function(chains, input.data, pattern) { + options(dplyr.summarise.inform = FALSE) + mcf <- chains$mcf_chain%>% + mutate(value = round(value,5), + Cluster = as.numeric(gsub("mcf\\[(.*),.*","\\1", Parameter)), + Sample = as.numeric(gsub(".*,(.*)\\]","\\1", Parameter)))%>% + group_by(Cluster,Sample)%>% + reframe(mcf = mean(value))%>% + ungroup()%>% + spread(key = Sample, value = mcf) + + ww <- writeClusterAssignmentsTable(chains$z_chain)%>% + mutate(Mut_ID = as.numeric(gsub("Mut","",Mut_ID)))%>% + arrange(Mut_ID)%>% + left_join(mcf, by = "Cluster")%>% + select(-c("Mut_ID","Cluster"))%>% + as.matrix() + + ww <- ww[,which(strsplit(pattern, split="")[[1]]=="1"),drop=FALSE] + + mm <- writeMultiplicityTable(chains$m_chain)%>% + mutate(Mut_ID = as.numeric(gsub("Mut","",Mut_ID)))%>% + arrange(Mut_ID)%>% + select(c("Multiplicity")) %>% + as.matrix() + + mm <- replicate(input.data$S, mm[, 1]) + + is_cn <- replicate(input.data$S, input.data$is_cn) + vaf <- ifelse(is_cn==0, (ww + (mm-1) * input.data$cncf)/input.data$tcn, (ww * mm + 1 - ww) / input.data$tcn) + vaf <- ifelse(vaf<=0, 0.001, vaf) + vaf <- ifelse(vaf>=1, 0.999, vaf) + + lik <- sum(dbinom(input.data$y,input.data$n,vaf,log = T)) + + est_K <- estimateMCFs(chains$mcf_chain) %>% nrow(.) + + BIC <- log(input.data$I*input.data$S)*est_K-2*lik + return(BIC) +} + +#' @import magrittr +calcChainSilhouette <- function(chains, input.data, pattern) { + + vaf <- input.data$y / input.data$n + + zz <- writeClusterAssignmentsTable(chains$z_chain) %>% + mutate(Mut_ID = as.numeric(gsub("Mut","",Mut_ID))) %>% + arrange(Mut_ID)%>% + select(c("Cluster")) %>% + as.matrix() + zz <- zz[,1] + + mcf1 <- chains$mcf_chain%>% + mutate(value = round(value,5), + Cluster = as.numeric(gsub("mcf\\[(.*),.*","\\1", Parameter)), + Sample = as.numeric(gsub(".*,(.*)\\]","\\1", Parameter)))%>% + group_by(Cluster,Sample)%>% + reframe(mcf = mean(value))%>% + ungroup()%>% + spread(key = Sample, value = mcf) + + ww <- writeClusterAssignmentsTable(chains$z_chain)%>% + mutate(Mut_ID = as.numeric(gsub("Mut","",Mut_ID)))%>% + arrange(Mut_ID)%>% + left_join(mcf1, by = "Cluster")%>% + select(-c("Mut_ID","Cluster"))%>% + as.matrix() + + ww <- ww[,which(strsplit(pattern, split="")[[1]]=="1"),drop=FALSE] + + mm <- writeMultiplicityTable(chains$m_chain)%>% + mutate(Mut_ID = as.numeric(gsub("Mut","",Mut_ID)))%>% + arrange(Mut_ID)%>% + select(c("Multiplicity")) %>% + as.matrix() + mm <- replicate(input.data$S, mm[, 1]) + + is_cn <- replicate(input.data$S, input.data$is_cn) + + mcf <- ifelse(is_cn==0, input.data$tcn * vaf - (mm-1) * input.data$cncf, (input.data$tcn * vaf - 1) / (mm - 1)) + mcf <- ifelse(mcf<0, ww, mcf) + mcf <- ifelse(mcf>1, ww, mcf) + + sil_widths <- silhouette(zz, dist(mcf)) + if (length(sil_widths)==1) { + mean_silhouette_score <- 0 + } else { + mean_silhouette_score <- mean(sil_widths[, "sil_width"]) + } + + return(mean_silhouette_score) +} + +#' Make table listing possible choices of K (minimum BIC and elbow of BIC plot) for each mutation set +#' +#' @export +#' @import dplyr +#' @param all_set_results List of MCMC results for each mutation set; returned by \code{clusterSep} +#' @param sample_names (Optional) Vector of sample IDs, same order as provided as input data (e.g. indata$Sample_ID) +writeSetKTable <- function(all_set_results, sample_names = NULL) { + +min_bic_k <- sapply(all_set_results, function(x) x$BIC_best_K) + elbow_k <- sapply(all_set_results, function(x) ifelse(is.logical(x$BIC), 1, findElbow(x$BIC$BIC))) + knee_k <- sapply(all_set_results, function(x) ifelse(is.logical(x$BIC), 1, findKnee(x$BIC$BIC))) + min_bic_k_tb <- tibble(set_name_bin = names(all_set_results), + min_BIC = min_bic_k, + elbow = elbow_k, + knee = knee_k) + + if (!is.null(sample_names)) { + min_bic_k_tb <- min_bic_k_tb %>% + mutate(set_name_full = sapply(min_bic_k_tb$set_name_bin, + function(x) getSetName(x, sample_names, collapse_string = ","))) %>% + select(set_name_bin, set_name_full, min_BIC, elbow, knee) + } + + min_bic_k_tb <- min_bic_k_tb %>% + mutate(BIC_K = round((min_BIC + elbow + knee) / 3)) + + silhouette_k <- sapply(all_set_results, function(x) x$silhouette_best_K) + min_bic_k_tb <- min_bic_k_tb %>% + mutate(silhouette_K = silhouette_k) + + return(min_bic_k_tb) +} + +findElbow <- function(BIC) { + + # return first ind if all increasing + if(all (BIC >= BIC[1])) return(1) + + K_vec <- seq_len(length(BIC)) + # line defined by two end-points of BIC plot P1 = (x1, y1) and P2 = (x2, y2) + x1 <- K_vec[1] + y1 <- BIC[1] + x2 <- length(BIC) + y2 <- BIC[length(BIC)] + + # calculate distance of each point (x0, y0) to line + perp_dist <- sapply(K_vec, function(i) calcDistFromPointToLine(K_vec[i], BIC[i], + x1, y1, + x2, y2)) + return(which.max(perp_dist)) +} + +getmode <- function(v) { + uniqv <- unique(v) + uniqv[which.max(tabulate(match(v, uniqv)))] +} + +calcDistFromPointToLine <- function (x0, y0, + x1, y1, + x2, y2) { + numerator <- abs( (x2-x1)*(y1-y0) - (x1-x0)*(y2-y1) ) + denominator <- sqrt( (x2-x1)^2 + (y2-y1)^2 ) + distance <- numerator / denominator + return(distance) +} + +# angle-based method for knee point detection of BIC +# Zhao et al 2008 +# returns index of knee point +findKnee <- function(BIC, n = 5) { + if (length(BIC) == 1) return(1) + + # return first ind if all increasing + if(all (BIC >= BIC[1])) return(1) + + # initialize + curr_val <- BIC[1] + prev_val <- BIC[1] + next_val <- BIC[1] + + # begin + diff_fun <- rep(NA, length(BIC)) + for (m in seq_len(length(BIC))) { + curr_val <- BIC[m] + next_val <- BIC[min(m+1, length(BIC))] + diff_fun[m] <- DiffFun(prev_val, next_val, curr_val) + prev_val <- curr_val + } + + # find first n local maximas in diff_fun + local_max <- localMaxima(diff_fun) + local_max <- local_max[1:min(length(local_max), n)] + if (length(local_max) == 1) return(local_max) + + # for each n with decreasing order of LocalMax value, + angle <- c() + for (n in local_max) { + angle <- c(angle, AngleFun(BIC[max(n-1, 1)], BIC[min(n+1, length(BIC))], BIC[n])) + } + # return m with the first minima angle + return(local_max[localMinima(angle)[1]]) +} +DiffFun <- function(prev_val, next_val, curr_val) { + prev_val + next_val - 2*curr_val +} +AngleFun <- function(prev_val, next_val, curr_val) { + atan( 1 / abs(curr_val - prev_val) ) + atan( 1 / abs(next_val - curr_val) ) +} + +# detect local maxima +localMaxima <- function(x) { + # Use -Inf instead if x is numeric (non-integer) + y <- diff(c(-.Machine$integer.max, x)) > 0L # for maxima + #y <- diff(c(.Machine$integer.max, x)) < 0L # for mimuma + rle(y)$lengths + y <- cumsum(rle(y)$lengths) + y <- y[seq.int(1L, length(y), 2L)] + if (x[[1]] == x[[2]]) { + y <- y[-1] + } + return(y) +} +localMinima <- function(x) { + # Use -Inf instead if x is numeric (non-integer) + #y <- diff(c(-.Machine$integer.max, x)) > 0L # for maxima + y <- diff(c(.Machine$integer.max, x)) < 0L # for mimuma + rle(y)$lengths + y <- cumsum(rle(y)$lengths) + y <- y[seq.int(1L, length(y), 2L)] + if (x[[1]] == x[[2]]) { + y <- y[-1] + } + return(y) +} diff --git a/R/cluster_separately.R b/R/cluster_separately.R deleted file mode 100644 index 60046c5..0000000 --- a/R/cluster_separately.R +++ /dev/null @@ -1,507 +0,0 @@ -#' Run MCMC to cluster mutations and estimate CCFs -#' -#' @export -#' @importFrom ggmcmc ggs -#' @param input_data list of input data objects; -#' @param n.iter number of iterations to run MCMC -#' @param n.burn number of iterations for burn in -#' @param thin thinning parameter -#' @param mc.cores number of cores for parallelization -#' @param max_K maximum number of clusters to assess for each mutation set -#' @param model_type hierarchical model type for ("spike_and_slab" or "simple) -#' @param beta.prior option to run an initial MCMC chain and use results to specify beta priors for a second MCMC chain -#' @param one_box option to run the MCMC chain without using sample presence -clusterSep <- function(input_data, - n.iter = 10000, n.burn = 1000, thin = 10, mc.cores = 1, - inits = list(".RNG.name" = "base::Wichmann-Hill", - ".RNG.seed" = 123), - max_K = 5, - model_type = "spike_and_slab", - beta.prior = FALSE, - drop_zero = FALSE, - one_box = TRUE) { - # 1. separate mutations by sample presence - if (one_box) { - input_data$mutation_indices <- seq_len(input_data$I) - sep_list <- vector("list", 1) - sep_list[[1]] <- input_data - names(sep_list) <- "one_box" - } else { - sep_list <- separateMutationsBySamplePresence(input_data) - } - - # 2a. For each presence set, run clustering MCMC, calc BIC and choose best K (min BIC) - all_set_results <- vector("list", length(sep_list)) - names(all_set_results) <- names(sep_list) - params = c("z", "w", "ystar") - - for (i in seq_len(length(sep_list))) { - temp_box <- sep_list[[i]] - # Max number of clusters cannot be more than number of mutations - temp_max_K <- min(max_K, length(temp_box$mutation_indices)) - - temp_samps_list <- runMutSetMCMC(temp_box, - n.iter = n.iter, n.burn = n.burn, thin = thin, - mc.cores = mc.cores, - inits = inits, - temp_max_K = temp_max_K, - model_type = model_type, - params = params, - beta.prior = beta.prior, - drop_zero = drop_zero) - all_set_results[[i]] <- temp_samps_list - } - - return(all_set_results) -} - -separateMutationsBySamplePresence <- function(input_data) { - # returns list of lists -- - # each item of list contains input data for a mutation sample presence set - # original mutation indices from input_data are recorded in $mutation_indices - pres <- ifelse(input_data$y > 0, 1, 0) - pat <- apply(pres, 1, function(x) paste0(x, collapse="")) - types <- sort(names(table(pat)), decreasing=TRUE) - if (length(types) == 1) { - type_indices <- list() - type_indices[[types]] <- seq_len(input_data$I) - } else { - type_indices <- lapply(types, function(x) which(pat == x)) - names(type_indices) <- types - } - - sep_list <- list() - for (t in seq_len(length(types))) { - sep_list[[types[t]]] <- list(pattern = types[t], - mutation_indices = type_indices[[types[t]]], - purity = input_data$purity, - I = length(type_indices[[types[t]]]), - S = input_data$S, - y = input_data$y[type_indices[[types[t]]], ,drop=FALSE], - n = input_data$n[type_indices[[types[t]]], ,drop=FALSE], - tcn = input_data$tcn[type_indices[[types[t]]], ,drop=FALSE], - m = input_data$m[type_indices[[types[t]]], ,drop=FALSE]) - if (input_data$S == 1) { - break - } - } - return(sep_list) -} - -getBoxInputData <- function(box) { - list(purity = box$purity, - I = box$I, - S = box$S, - y = box$y, - n = box$n, - m = box$m, - tcn = box$tcn) -} - -reverseDrop <- function(samps, pattern, n.iter) { - total_sample = nchar(pattern) - sample_list = vector() - for (j in seq_len(nchar(pattern))) { - if (strsplit(pattern, "")[[1]][j] == "1") { - sample_list <- append(sample_list, j) - } - } - k_list = vector() - ystar_list = vector() - # replace current sample id by true sample id from pattern - for (i in seq_len(length(colnames(samps[[1]])))) { - # print(colnames(samps[[1]])[i]) - if (startsWith(colnames(samps[[1]])[i], "w")) { - para <- str_extract_all(colnames(samps[[1]])[i], "[0-9]+")[[1]] - colnames(samps[[1]])[i] <- paste("w[", para[1], ",", sample_list[strtoi(para[2])], "]", sep = "") - k_list <- c(k_list, para[1]) - } else if (startsWith(colnames(samps[[1]])[i], "ystar")) { - para <- str_extract_all(colnames(samps[[1]])[i], "[0-9]+")[[1]] - colnames(samps[[1]])[i] <- paste("ystar[", para[1], ",", sample_list[strtoi(para[2])], "]", sep = "") - ystar_list <- c(ystar_list, para[1]) - } - } - k_list <- unique(k_list) - ystar_list <- unique(ystar_list) - - # add back dropped samples - absent_sample <- vector() - for (sample in seq_len(total_sample)) { - if (! sample %in% sample_list) { - absent_sample <- append(absent_sample, sample) - } - } - for (k in seq_len(length(k_list))) { - for (j in seq_len(length(absent_sample))) { - col = paste("w[", k_list[k], ",", absent_sample[j], "]", sep = "") - samps[[1]] <- cbind(samps[[1]], col=0) - colnames(samps[[1]])[colnames(samps[[1]]) == 'col'] <- col - } - } - for (ystar in seq_len(length(ystar_list))) { - for (j in seq_len(length(absent_sample))) { - col = paste("ystar[", ystar_list[ystar], ",", absent_sample[j], "]", sep = "") - samps[[1]] <- cbind(samps[[1]], col=0) - colnames(samps[[1]])[colnames(samps[[1]]) == 'col'] <- col - } - } - - samps[[1]] <- samps[[1]][,order(colnames(samps[[1]]))] - - return(samps) -} - -runMCMCForABox <- function(box, - n.iter = 10000, n.burn = 1000, thin = 10, mc.cores = 1, - inits = list(".RNG.name" = "base::Wichmann-Hill", - ".RNG.seed" = 123), - params = c("z", "w", "ystar"), - max_K = 5, model_type = "simple", - beta.prior = FALSE, - drop_zero = FALSE) { - # returns samps_list - box_input_data <- getBoxInputData(box) - - # modify box_input_data so it only contain non-zero samples - if (drop_zero) { - sample_list = vector() - for (j in 1:box$S) { - if (strsplit(box$pattern, "")[[1]][j] == "1") { - sample_list <- append(sample_list, j) - } - } - # print(temp_box) - box_input_data$purity <- box_input_data$purity[sample_list] - box_input_data$y <- box_input_data$y[,sample_list,drop=FALSE] - box_input_data$n <- box_input_data$n[,sample_list,drop=FALSE] - box_input_data$tcn <- box_input_data$tcn[,sample_list,drop=FALSE] - box_input_data$m <- box_input_data$m[,sample_list,drop=FALSE] - box_input_data$S <- length(sample_list) - } - - extdir <- system.file("extdata", package="pictograph") - if (box$I == 1) { - jags.file.K1 <- file.path(extdir, "spike_and_slab_purity_2_K1_I1.jags") - box_input_data$I <- NULL - } else { - jags.file.K1 <- file.path(extdir, "spike_and_slab_purity_2_K1.jags") - } - - if (model_type == "simple") { - jags.file <- file.path(extdir, "model-test.jags") # fixes order of CCFs in one sample, not spike and slab - } else if (model_type == "spike_and_slab") { - jags.file <- file.path(extdir, "spike_and_slab_purity_ident.jags") # fixing order of CCFs in one sample - } else stop("provide model_type either 'spike_and_slab' or 'simple'") - - # choose sample in which mutations are present - sample_to_sort <- which(colSums(box_input_data$y) > 0)[1] - - samps_K1 <- runMCMC(box_input_data, 1, jags.file.K1, - inits, params, n.iter=n.iter, thin=thin, n.burn=n.burn) - - if(box_input_data$S == 1) { - colnames(samps_K1[[1]])[which(colnames(samps_K1[[1]]) == "w")] <- "w[1,1]" - } - - if (drop_zero) { - samps_K1 <- reverseDrop(samps_K1, box$pattern, n.iter) - } - - if(box$I == 1) { - colnames(samps_K1[[1]])[which(colnames(samps_K1[[1]]) == "z")] <- "z[1]" - } - - # Max number of clusters cannot be more than number of mutations - max_K <- min(max_K, length(box$mutation_indices)) - if (max_K > 1) { - - box_input_data$sample_to_sort <- sample_to_sort - - samps_2 <- parallel::mclapply(2:max_K, - function(k) runMCMC(box_input_data, k, - jags.file, inits, params, - n.iter=n.iter, thin=thin, - n.burn=n.burn, - beta.prior=beta.prior), - mc.cores=mc.cores) - - if (drop_zero) { - for (i in seq_len(length(samps_2))) { - samps_2[[i]] <- reverseDrop(samps_2[[i]], box$pattern, n.iter) - } - } - - samps_list <- c(list(samps_K1), samps_2) - names(samps_list) <- paste0("K", 1:max_K) - return(samps_list) - - } else { - names(samps_K1) <- "K1" - return(samps_K1) - } - -} - -formatChains <- function(samps) { - temp_z <- get.parameter.chain("z", ggmcmc::ggs(samps)) %>% - mutate(Parameter = as.character(Parameter)) - temp_w <- get.parameter.chain("w", ggmcmc::ggs(samps)) %>% - mutate(Parameter = as.character(Parameter)) - if (nrow(temp_w) == 0) { - temp_w <- get.parameter.chain("w", ggmcmc::ggs(samps) %>% mutate(Parameter = gsub("w","w[1,1]",Parameter))) %>% - mutate(Parameter = as.character(Parameter)) - } - temp_ystar <- get.parameter.chain("ystar", ggmcmc::ggs(samps)) %>% - mutate(Parameter = as.character(Parameter)) - samps_list_formatted <- list(w_chain = temp_w, - z_chain = temp_z, - ystar_chain = temp_ystar) - return(samps_list_formatted) -} - -runMutSetMCMC <- function(temp_box, - n.iter = 10000, n.burn = 1000, thin = 10, mc.cores = 1, - inits = list(".RNG.name" = "base::Wichmann-Hill", - ".RNG.seed" = 123), - temp_max_K = 5, - model_type = "spike_and_slab", - params = c("z", "w", "ystar"), - beta.prior = FALSE, - drop_zero = FALSE) { - - # Run MCMC - if (temp_max_K == 1) { - # only 1 possible cluster - temp_samps_list <- runMCMCForABox(temp_box, - n.iter = n.iter, n.burn = n.burn, - thin = thin, mc.cores = mc.cores, - inits = inits, - params = params, - max_K = temp_max_K, - drop_zero = drop_zero) - } else { - # assess range of K: [1, temp_max_K] - temp_samps_list <- runMCMCForABox(temp_box, - n.iter = n.iter, n.burn = n.burn, - thin = thin, mc.cores = mc.cores, - inits = inits, - params = params, - max_K = temp_max_K, - model = model_type, - beta.prior = beta.prior, - drop_zero = drop_zero) - } - - # Format chains - if (drop_zero && temp_box$I == 1) { - samps_list <- list(formatChains(temp_samps_list)) - names(samps_list) <- "K1" - } else { - samps_list <- parallel::mclapply(temp_samps_list, formatChains, - mc.cores = mc.cores) - } - - # Calculate BIC - K_tested <- seq_len(temp_max_K) - if (temp_max_K > 1) { - box_indata <- getBoxInputData(temp_box) - bic_vec <- unname(unlist(parallel::mclapply(samps_list, - function(chains) calcChainBIC(chains, box_indata), - mc.cores = mc.cores))) - bic_tb <- tibble(K_tested = K_tested, - BIC = bic_vec) - best_chains <- samps_list[[which.min(bic_vec)]] - res_list <- list(all_chains = samps_list, - BIC = bic_tb, - best_chains = best_chains, - best_K = which.min(bic_vec)) - } else { - # only 1 variant, so must be 1 cluster and don't need to check BIC - res_list <- list(all_chains = samps_list, - BIC = NA, - best_chains = samps_list[[1]], - best_K = 1) - } - - return(res_list) -} - - - - - - -#' Collect chains for best K of each mutation set -#' -#' @export -#' @param all_set_results List of MCMC results for each mutation set; returned by \code{clusterSep} -#' @param chosen_K (Optional) Vector of K to choose for each mutation set, in the same order as all_set_results. If left blank, function will select best K automatically selected by \code{clusterSep} -collectBestKChains <- function(all_set_results, chosen_K = NULL) { - if (is.null(chosen_K)) { - best_set_chains <- lapply(all_set_results, function(x) x$best_chains) - } else { - best_set_chains <- mapply(function(set_res, choose_K) set_res$all_chains[[choose_K]], - set_res = all_set_results, - chosen_K, - SIMPLIFY = FALSE) - } - return(best_set_chains) -} - -#' Relabel chains for all sets and merge -#' -#' @export -#' @import dplyr -#' @param best_set_chains List of lists of MCMC chains (w_chain, z_chain, ystar_chain) for each mutation set -#' @param indata List of input data objects (same as provided to clusterSep) -mergeSetChains <- function(best_set_chains, indata) { - best_K_vals <- unname(sapply(best_set_chains, function(x) max(x$z_chain$value))) - sep_list <- separateMutationsBySamplePresence(indata) - - # first set doesn't need to change cluster labels - w_chain <- best_set_chains[[1]]$w_chain - temp_z_chain <- best_set_chains[[1]]$z_chain - temp_ystar_chain <- best_set_chains[[1]]$ystar_chain - - if (length(best_set_chains) > 1) { - # still need to change mutation indices if more than 1 box - z_chain <- relabel_z_chain_mut_only(temp_z_chain, sep_list[[1]]$mutation_indices) - ystar_chain <- relabel_ystar_chain(temp_ystar_chain, - sep_list[[1]]$mutation_indices) - for (i in 2:length(best_set_chains)) { - temp_w_chain <- best_set_chains[[i]]$w_chain - temp_z_chain <- best_set_chains[[i]]$z_chain - temp_ystar_chain <- best_set_chains[[i]]$ystar_chain - new_cluster_labels <- seq_len(best_K_vals[i]) + sum(best_K_vals[1:(i-1)]) - - temp_relabeled_w_chain <- relabel_w_chain(temp_w_chain, new_cluster_labels) - temp_relabeled_z_chain <- relabel_z_chain(temp_z_chain, new_cluster_labels, - sep_list[[i]]$mutation_indices) - temp_relabeled_ystar_chain <- relabel_ystar_chain(temp_ystar_chain, - sep_list[[i]]$mutation_indices) - - w_chain <- rbind(w_chain, temp_relabeled_w_chain) - z_chain <- rbind(z_chain, temp_relabeled_z_chain) - ystar_chain <- rbind(ystar_chain, temp_relabeled_ystar_chain) - } - } else { - z_chain <- temp_z_chain - ystar_chain <- temp_ystar_chain - } - - # set levels for Parameter - w_chain <- w_chain %>% - mutate(k = as.numeric(gsub("w\\[", "", - sapply(w_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][1])))) %>% - mutate(s = as.numeric(gsub("\\]", "", - sapply(w_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][2])))) %>% - arrange(k, s) %>% - mutate(Parameter = factor(Parameter, levels = unique(w_chain$Parameter))) %>% - select(Iteration, Chain, Parameter, value) - - z_chain_param_order <- tibble(Parameter = unique(z_chain$Parameter)) %>% - mutate(Variant = as.numeric(gsub("z\\[", "", - gsub("\\]", "", - unique(z_chain$Parameter))))) %>% - arrange(Variant) - z_chain <- z_chain %>% - mutate(Parameter = factor(Parameter, levels = z_chain_param_order$Parameter)) - - ystar_chain <- ystar_chain %>% - mutate(Mutation_index = as.numeric(gsub("ystar\\[", "", - sapply(ystar_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][1]))), - s = as.numeric(gsub("\\]", "", - sapply(ystar_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][2])))) - ystar_chain <- ystar_chain %>% - arrange(Mutation_index, s) %>% - mutate(Parameter = factor(Parameter, levels = unique(Parameter))) - - chains <- list(w_chain = w_chain, - z_chain = z_chain, - ystar_chain = ystar_chain) - return(chains) -} - -relabel_w_chain <- function(w_chain, new_cluster_labels) { - # new_cluster_labels = numeric vector of labels that map to 1:length(new_cluster_labels) - new_w <- w_chain %>% - mutate(k = as.numeric(gsub("w\\[", "", - sapply(w_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][1])))) %>% - mutate(s = as.numeric(gsub("\\]", "", - sapply(w_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][2])))) - if (length(new_cluster_labels) != length(unique(new_w$k))) { - stop("number of supplied new cluster labels does not match the number of clusters in w_chain") - } - new_w <- new_w %>% - mutate(k_new = new_cluster_labels[new_w$k]) %>% - mutate(Parameter = paste0("w[", k_new, ",", s, "]")) %>% - select(Iteration, Chain, Parameter, value) - return(new_w) -} - -relabel_z_chain <- function(z_chain, new_cluster_labels, mutation_indices) { - # new_cluster_labels = numeric vector of labels that map to 1:length(new_cluster_labels) - # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence - if (length(mutation_indices) != length(unique(z_chain$Parameter))) { - stop("number of supplied mutation indices does not match the number of mutations in z_chain") - } - ## would break when no mutation is assigned to a cluster - ## poor choice of k, would prob lower the k - if (length(new_cluster_labels) < length(unique(z_chain$value))) { - stop("number of supplied new cluster labels does not match the number of clusters in z_chain") - } - new_z <- z_chain %>% - mutate(i = as.numeric(gsub("\\]", "", - gsub("z\\[", "", - sapply(z_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][1]))))) - new_z <- new_z %>% - mutate(new_i = mutation_indices[i], - value = new_cluster_labels[new_z$value]) %>% - mutate(Parameter = paste0("z[", new_i, "]")) %>% - arrange(new_i) %>% - select(Iteration, Chain, Parameter, value) - return(new_z) -} - -relabel_ystar_chain <- function(ystar_chain, mutation_indices) { - # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence - i_s <- gsub("ystar\\[|]", "", ystar_chain$Parameter) - i <- sapply(i_s, function(x) strsplit(x, ",")[[1]][1]) %>% - as.numeric - s <- sapply(i_s, function(x) strsplit(x, ",")[[1]][2]) %>% - as.numeric - new_ystar <- ystar_chain %>% - mutate(i = i, - s = s) - new_ystar <- new_ystar %>% - mutate(new_i = mutation_indices[i]) %>% - mutate(Parameter = paste0("ystar[", new_i, ",", s, "]")) %>% - arrange(new_i) %>% - select(Iteration, Chain, Parameter, value) - return(new_ystar) -} - -relabel_z_chain_mut_only <- function(z_chain, mutation_indices) { - # mutation_indices = numeric vector of original mutation indices prior to separating by sample presence - # cluster labels are left unchanged - if (length(mutation_indices) != length(unique(z_chain$Parameter))) { - stop("number of supplied mutation indices does not match the number of mutations in z_chain") - } - new_z <- z_chain %>% - mutate(i = as.numeric(gsub("\\]", "", - gsub("z\\[", "", - sapply(z_chain$Parameter, - function(x) strsplit(as.character(x), ",")[[1]][1]))))) - new_z <- new_z %>% - mutate(new_i = mutation_indices[i]) %>% - mutate(Parameter = paste0("z[", new_i, "]")) %>% - arrange(new_i) %>% - select(Iteration, Chain, Parameter, value) - return(new_z)} \ No newline at end of file diff --git a/R/clustering_functions.R b/R/clustering_functions.R deleted file mode 100644 index 98f6014..0000000 --- a/R/clustering_functions.R +++ /dev/null @@ -1,481 +0,0 @@ -#' @import rjags -#' @importFrom epiR epi.betabuster -runMCMC <- function(data, K, jags.file, inits, params, - n.iter=10000, thin=10, n.chains=1, - n.adapt=1000, n.burn=1000, - beta.prior=FALSE) { - if (K > 1) data$K <- K - jags.m <- jags.model(jags.file, - data, - n.chains = n.chains, - inits = inits, - n.adapt = n.adapt) - if (n.burn > 0) update(jags.m, n.burn) - samps <- coda.samples(jags.m, params, n.iter=n.iter, thin=thin) - - if (beta.prior & K > 1) { - # use initial MCMC to estimate beta priors for identified clusters - initial_chains <- formatChains(samps) - est_ccfs <- initial_chains$w_chain %>% - estimateCCFs %>% - as.data.frame %>% - magrittr::set_colnames(1:ncol(.)) %>% - tibble %>% - mutate(cluster = 1:nrow(.)) %>% - pivot_longer(cols = colnames(.)[colnames(.) != "cluster"], - names_to = "sample", - values_to = "ccf") %>% - mutate(sample = as.numeric(sample)) - - - beta_shapes <- lapply(est_ccfs$ccf, estimateBetaPriors) - cluster_beta_params <- est_ccfs %>% - mutate(shape1 = sapply(beta_shapes, function(x) x[1]), - shape2 = sapply(beta_shapes, function(x) x[2])) - - cluster_shape1 <- cluster_beta_params %>% - select(cluster, shape1, sample) %>% - pivot_wider(names_from = sample, - values_from = shape1) %>% - select(-c(cluster)) %>% - as.matrix - cluster_shape2 <- cluster_beta_params %>% - select(cluster, shape2, sample) %>% - pivot_wider(names_from = sample, - values_from = shape2) %>% - select(-c(cluster)) %>% - as.matrix - - # run second MCMC with specified beta priors - data$cluster_shape1 <- cluster_shape1 - data$cluster_shape2 <- cluster_shape2 - - extdir <- system.file("extdata", package="pictograph") - jags.file.beta <- file.path(extdir, "model-simple-set-beta.jags") - - jags.m.beta <- rjags::jags.model(jags.file.beta, - data, - n.chains = n.chains, - inits = inits, - n.adapt = n.adapt) - if (n.burn > 0) update(jags.m.beta, n.burn) - samps.beta <- rjags::coda.samples(jags.m.beta, params, n.iter=n.iter, thin=thin) - return(samps.beta) - } - - return(samps) -} - -#' @importFrom epiR epi.betabuster -estimateBetaPriors <- function(ccf) { - if (ccf == 0) ccf <- 0.001 - suppressWarnings( - param_list <- epiR::epi.betabuster(ccf, - conf = 0.5, - greaterthan = TRUE, - ccf, - conf.level = 0.8, - max.shape1 = 10) - ) - - if (length(param_list$shape1) > 1) { - shape1 <- mean(param_list$shape1) - } else { - shape1 <- param_list$shape1 - } - if (length(param_list$shape2) > 1) { - shape2 <- mean(param_list$shape2) - } else { - shape2 <- param_list$shape2 - } - return(c(shape1, shape2)) -} - - -getParamChain <- function(samps, param) { - chains <- do.call(rbind, samps) - chain <- chains[, grep(param, colnames(chains))] - chain -} - -relabelZ <- function(z.chain, I, K){ - mcmc_z <- z.chain %>% - group_by(Parameter, value) %>% - summarize(n=n(), - maxiter=max(Iteration)) %>% - mutate(probability=n/maxiter) - map_z <- mcmc_z %>% - group_by(Parameter) %>% - summarize(map=value[probability==max(probability)]) %>% - mutate(original_label=rep(1:K, each=I/K)) %>% - ungroup() %>% - group_by(original_label) %>% - summarize(value=names(sort(table(map), decreasing=TRUE))[1], - value=as.numeric(value)) %>% - ungroup() - sim_cluster <- mcmc_z %>% - group_by(Parameter) %>% - summarize(n=n()) %>% - mutate(sim_cluster=rep(1:K, each=I/K)) %>% - select(-n) - mcmc_z <- z.chain %>% - left_join(map_z, by="value") %>% - left_join(sim_cluster, by="Parameter") %>% - mutate(chain_value=value, - value=original_label) %>% - select(-original_label) %>% - group_by(Parameter, value) %>% - summarize(n=n(), - maxiter=max(Iteration), - sim_cluster=unique(sim_cluster)) %>% - mutate(probability=n/maxiter) - ##filter(value==sim_cluster) -} - -get_mode <- function(v) { - uniqv <- unique(v) - uniqv[which.max(tabulate(match(v, uniqv)))] -} - -orderW <- function(w, map_z){ - mcmc_cluster_numbering <- matrix(map_z$value, nrow = 10) - - mcmc_cluster_numbering <- apply(mcmc_cluster_numbering, 2, get_mode) - true_to_mcmc_w_ordering <- match(1:K, mcmc_cluster_numbering) - w_ordered <- w[true_to_mcmc_w_ordering, ] - mcmc_vals <- w.chain %>% - group_by(Parameter) %>% - summarize(mean=mean(value), - q1=quantile(value, 0.025), - q3=quantile(value, 0.975)) %>% - mutate(truth=as.numeric(t(w_ordered))) - mcmc_vals -} - - -#' @importFrom stringr str_replace -numberClusters <- function(mcf_stats){ - params <- as.character(mcf_stats$Parameter) - K <- strsplit(params, ",") %>% - sapply("[", 1) %>% - str_replace("w\\[", "") %>% - as.numeric() %>% - max() - K -} - -#' @importFrom stringr str_replace -numberSamples <- function(mcf_stats){ - params <- as.character(mcf_stats$Parameter) - nSamples <- strsplit(params, ",") %>% - sapply("[", 2) %>% - stringr::str_replace("\\]", "") %>% - as.numeric() %>% - max() - nSamples -} - -mcfMatrix <- function(mcf_stats, parameter="mean"){ - K <- numberClusters(mcf_stats) - S <- numberSamples(mcf_stats) - if(parameter=="mean") - MCF <- matrix(mcf_stats$mean, K, S, byrow=TRUE) - if(parameter=="sd") - MCF <- matrix(mcf_stats$sd, K, S, byrow=TRUE) - MCF -} - -##base.admat <- function(MCF, zero.thresh=0.01) { -chec.mcf_stats.format <- function(mcf_stats) { - if(all.equal(colnames(mcf_stats), c("Parameter", "sd", "mean"))) TRUE - else FALSE -} - - -sample.w <- function(w.chain, K) { - numIter <- max(w.chain$Iteration) - randIter <- sample(numIter, size = 1) - w.sample <- w.chain[w.chain$Iteration == randIter, ] - matrix(w.sample$value, nrow = K, byrow = T) -} - -#' Determine most probable mutation cluster assignments by taking those with highest posterior probability -#' -#' @export -#' @param z_chain MCMC chain of mutation cluster assignment values, which is the second item in the list returned by \code{clusterSep} -estimateClusterAssignments <- function(z_chain) { - it <- max(z_chain$Iteration) - mcmc_z <- z_chain %>% - group_by(Parameter, value) %>% - summarize(n=n(), - maxiter=it) %>% - mutate(probability=n/maxiter) %>% - ungroup() - map_z <- mcmc_z %>% - group_by(Parameter) %>% - summarize(value=value[probability==max(probability)]) - - # choose first cluster if equal probability - map_z_count <- map_z %>% - group_by(Parameter) %>% - summarize(map_count = n()) %>% - ungroup() - if (any(map_z_count$map_count > 1)) { - mut_ind <- which(map_z_count$map_count > 1) - for (i in mut_ind) { - dup_var <- as.numeric(gsub("z\\[|]", "", map_z_count$Parameter[i])) - map_z_dups <- which(gsub("z\\[|]", "", map_z$Parameter) == dup_var) - dup_ind <- map_z_dups[-1] - map_z <- map_z[-dup_ind, ] - } - } - return(map_z) -} - -#' Determine most probable mutation cluster assignments by taking those with highest posterior probability. -#' -#' @export -#' @param z_chain MCMC chain of mutation cluster assignment values, which is the second item in the list returned by \code{clusterSep} -#' @param Mut_ID Vector of mutation IDs, same order as provided as input data (e.g. indata$Mut_ID) -#' @return A tibble listing mutation IDs and their cluster assignments -writeClusterAssignmentsTable <- function(z_chain, Mut_ID = NULL) { - map_z <- estimateClusterAssignments(z_chain) - if (is.null(Mut_ID)) { - Mut_ID <- paste0("Mut", 1:nrow(map_z)) - } - map_z <- map_z %>% - mutate(Mut_ID = Mut_ID, Cluster = value) %>% - select(Mut_ID, Cluster) %>% - arrange(Cluster) - # map_z <- map_z %>% - # add_column(Mut_ID = Mut_ID) %>% - # mutate(Cluster = value) %>% - # select(Mut_ID, Cluster) %>% - # arrange(Cluster) - return(map_z) -} - -#' Determine the most probable cluster CCF values by taking the mode of the posterior distributions -#' -#' @export -#' @param w_chain MCMC chain of CCF values, which is the first item in the list returned by \code{clusterSep} -#' @return matrix of estimated cluster CCFs -estimateCCFs <- function(w_chain) { - S <- numberSamples(w_chain) - K <- numberClusters(w_chain) - # density plot - w.dens <- ggplot(w_chain, aes(x = value)) + - geom_density() + - facet_wrap(~Parameter, ncol = S, scales = "free_y") + - theme_light() - # find peak for MAP w - w.dens.p <- ggplot_build(w.dens)$data[[1]] - w.map <- w.dens.p %>% - as_tibble() %>% - group_by(PANEL) %>% - summarize(value = x[max(y) == y]) - w.map <- w.map %>% - mutate(Parameter = unique(w_chain$Parameter), - value_rounded = round(value, 2)) - # return w matrix - w.map.matrix <- matrix(w.map$value_rounded, K, S, byrow=TRUE) - return(w.map.matrix) -} - -#' Determine the most probable cluster CCF values by taking the mode of the posterior distributions -#' -#' @export -#' @param w_chain MCMC chain of CCF values, which is the first item in the list returned by \code{clusterSep} -#' @param Sample_ID Vector of sample IDs, same order as provided as input data (e.g. indata$Sample_ID) -#' @return A tibble of estimated cluster CCFs in each sample -writeClusterCCFsTable <- function(w_chain, Sample_ID = NULL) { - map_w <- as.data.frame(estimateCCFs(w_chain)) - - if (is.null(Sample_ID)) { - Sample_ID <- paste0("Sample ", 1:ncol(map_w)) - } - colnames(map_w) <- Sample_ID - map_w <- map_w %>% - as_tibble() %>% - bind_cols(tibble(Cluster = 1:nrow(map_w)), .) - return(map_w) -} - -# function to check if clustering respects sample presence -test.pres <- function(samps, pres.tb) { - # input: samps = one item in samps.list - # pres.tb = tibble with columns mut_id and sample_presence (label of sample-presence set) - # output: TRUE or FALSE - chains <- ggs(samps) - z.chain <- get.parameter.chain("z", chains) - map.z <- get.map.z(z.chain) - - # check that clusters respect sample presence - pres.tb$cluster <- map.z$Cluster[match(pres.tb$mut_id, map.z$Mutation)] - clusts <- unique(pres.tb$cluster) - pres.equal <- all(sapply(clusts, function(x) - length(unique(pres.tb$sample_presence[pres.tb$cluster == x])) == 1)) -} - -plot_ppd <- function(samps, test.data, K) { - ## - ## 50 mutations x 10 samples - chains <- do.call(rbind, samps) - ystar <- chains[, grep("ystar", colnames(chains))] - ## each row of MCMC is in column-major order - orig.order <- tibble(statistic=colnames(ystar)) - ppd.summaries <- ystar %>% - as_tibble() %>% - gather("statistic", "value") %>% - group_by(statistic) %>% - summarize(mean=mean(value), - q1=quantile(value, 0.025), - q3=quantile(value, 0.975)) - ppd.summaries2 <- left_join(orig.order, - ppd.summaries, by="statistic") %>% - mutate(observed=as.numeric(test.data$y)) %>% - mutate(sample=paste0("sample", rep(1:test.data$S, each=test.data$I)), - variant=rep(1:test.data$I, test.data$S)) - ggplot(ppd.summaries2, aes(x=statistic, y=mean, - ymin=q1, - ymax=q3)) + - geom_errorbar() + - geom_point(aes(x=statistic, y=observed), - size=1, color="steelblue") + - theme(axis.text.x=element_blank(), - axis.ticks.x=element_blank(), - panel.background=element_rect(fill="white", - color="black")) + - ylab("Middle 95% of posterior\npredictive distribution") + - xlab("observation index (column-major order)") + - facet_wrap(~sample) + - ggtitle(paste0("K = ", K)) -} - - -simulateVAF <- function(mcf, nvarClust, avg_depth=100, sd_depth=20){ - nClust <- nrow(mcf) - nSamp <- ncol(mcf) - nVariants <- sum(nvarClust) - nObs <- nVariants * nSamp - stopifnot(length(nvarClust) == nClust) - ##pi <- rep(1/3, 3) - ## 10 mutations for each of the 3 clusters - z <- rep(1:nClust, nvarClust) - - MCF <- mcf[z, ] - dimnames(MCF) <- list(paste0("variant", seq_len(nVariants)), - paste0("sample", seq_len(nSamp))) - mult <- tcn <- MCF; - tcn[,] <- 2 - mult[,] <- sample(1:2, nVariants*nSamp, replace=TRUE) - vaf <- (mult * MCF)/(tcn * MCF + 2*(1-MCF)) - ## add more variation to sequencing depth - mus <- rnorm(nVariants, avg_depth, sd_depth) - mus <- ifelse(mus < 0, 0, mus) - depth <- matrix(rpois(nObs, mus), nVariants, nSamp) - y <- rbinom(nObs, as.numeric(depth), as.numeric(vaf)) - y <- ifelse(y < 0, 0, y) - tibble(variant=rep(seq_len(nVariants), nSamp), - sample=rep(seq_len(nSamp), each=nVariants), - cluster=rep(z, nSamp), - y=y, - n=as.numeric(depth), - multiplicity=as.numeric(mult), - copy_number=as.numeric(tcn), - mcf=as.numeric(MCF)) -} - - -listJagInputs <- function(dat){ - w <- group_by(dat, cluster, sample) %>% - summarize(mcf=unique(mcf)) %>% - ungroup() %>% - spread(sample, mcf) %>% - select(-cluster) %>% - as.matrix() - K <- length(unique(dat$cluster)) - tcn <- dat %>% - select(variant, sample, copy_number) %>% - spread(sample, copy_number) %>% - select(-variant) %>% - as.matrix() - S <- length(unique(dat$sample)) - m <- dat %>% - select(variant, sample, multiplicity) %>% - spread(sample, multiplicity) %>% - select(-variant) %>% - as.matrix() - y <- dat %>% - select(variant, sample, y) %>% - spread(sample, y) %>% - select(-variant) %>% - as.matrix() - n <- dat %>% - select(variant, sample, n) %>% - spread(sample, n) %>% - select(-variant) %>% - as.matrix() - I <- length(unique(dat$variant)) - - list(I=I, S=S, K=K, - y=y, n=n, m=m, tcn=tcn) -} - -getmode <- function(v) { - uniqv <- unique(v) - uniqv[which.max(tabulate(match(v, uniqv)))] -} - -get.z.mapping <- function(true.z, z.chain) { - mcmc_z <- z.chain %>% - group_by(Parameter, value) %>% - summarize(n=n(), - maxiter=max(Iteration)) %>% - mutate(probability=n/maxiter) %>% - ungroup() - map_z <- mcmc_z %>% - group_by(Parameter) %>% - summarize(value=value[probability==max(probability)]) %>% - mutate(Variant = 1:length(true.z), true_z = true.z) - z_mappings <- map_z %>% - select(Variant, true_z, value) %>% - rename("mcmc_z" = "value") - z_mappings <- z_mappings %>% - group_by(true_z) %>% - summarize(mcmc_z = getmode(mcmc_z)) - z_mappings -} - -relabel.w.z.chains <- function(true.z, chains) { - w.chain <- get.parameter.chain("w", chains) - z.chain <- get.parameter.chain("z", chains) - - z_mappings <- get.z.mapping(true.z, z.chain) - - # relabel w.chain - w.chain.relabeled <- w.chain %>% - mutate(k = as.numeric(gsub("w\\[", "", sapply(w.chain$Parameter, function(x) strsplit(as.character(x), ",")[[1]][1])))) %>% - mutate(s = gsub("\\]", "", sapply(w.chain$Parameter, function(x) strsplit(as.character(x), ",")[[1]][2]))) - w.chain.relabeled <- w.chain.relabeled %>% - mutate(new_k = match(w.chain.relabeled$k, z_mappings$mcmc_z)) - w.chain.relabeled <- w.chain.relabeled %>% - mutate(new_Parameter = paste0("w[", new_k, ",", s, "]")) %>% - arrange(new_k, s) - w.chain.relabeled <- w.chain.relabeled %>% - select(Iteration, Chain, new_Parameter, value) %>% - rename("Parameter" = "new_Parameter") - w.chain.relabeled <- w.chain.relabeled %>% - mutate(Parameter = factor(w.chain.relabeled$Parameter, levels = unique(w.chain.relabeled$Parameter))) - - # relabel z.chain - z.chain.relabeled <- z.chain %>% - mutate(new_value = match(value, z_mappings$mcmc_z)) - z.chain.relabeled <- z.chain.relabeled %>% - select(Iteration, Chain, Parameter, new_value) %>% - rename("value" = "new_value") - - list(w.chain=w.chain.relabeled, - z.chain=z.chain.relabeled) -} - diff --git a/R/estimate-multiplicity.R b/R/estimate-multiplicity.R new file mode 100644 index 0000000..071a3b2 --- /dev/null +++ b/R/estimate-multiplicity.R @@ -0,0 +1,91 @@ +get95CI <- function(y, n) { + test <- prop.test(y, n, correct = T) + ci_lower <- test$conf.int[1] + ci_upper <- test$conf.int[2] + return(c(ci_lower, ci_upper)) +} + +calcmC <- function(VAF, purity, tcn) { + mC <- (VAF * (purity * tcn + (1-purity) * 2)) / purity + return(mC) +} + +getmCCI <- function(y, n, purity, tcn) { + VAF_CI <- get95CI(y, n) + lower_mC <- calcmC(VAF_CI[1], purity, tcn) + upper_mC <- calcmC(VAF_CI[2], purity, tcn) + return(c(lower_mC, upper_mC)) +} + +assignMultiplicity <- function(lower_mC, upper_mC, tcn) { + # (1) If the CI for mC overlaps an integer value, + # that value is estimated to indicate the multiplicity + # of the mutation and the mutation is clonal (C=1) + if (ceiling(lower_mC) == floor(upper_mC)) { + test_m <- ceiling(lower_mC) + # cap m at tcn + if (test_m > tcn) return (tcn) + return(test_m) + } + + # (2) If the upper bound of the CI for mC is below 1, + # the multiplicity is set to 1, and the mutation is + # subclonal, unless the resulting estimate for C is + # within a tolerance threshold (0.25) of 1 + if (upper_mC < 1) return(1) + + # (3) If the CI for mC is above 1 and does not overlap + # any integer values, multiplicity is greater than 1 + # and m is set such that the confidence interval for C + # falls within the expected intervals of [0,1] + if (lower_mC > 1) { + keep_going <- TRUE + m <- 1 + while(keep_going) { + # cap m at tcn + if (m == tcn) return(m) + + m <- m + 1 + C_lower <- lower_mC / m + C_upper <- upper_mC / m + if (C_lower > 0 & C_upper < 1) { + keep_going <- FALSE + } + } + return(m) + } + + # CI for mC spans more than 1 integer value including 1 + if (lower_mC <= 1 && upper_mC >= 1) return(1) + + return(NA) +} + +estimateMultiplicity1 <- function(y, n, tcn) { + # if no variant reads, assigning multiplicity of 1 + if (y == 0) return(1) + mC_CI <- getmCCI(y, n, 0.9, tcn) + m <- max(1, assignMultiplicity(mC_CI[1], mC_CI[2], tcn)) + return(m) +} + +#' @export +estimateMultiplicityMatrix <- function(data) { + Y = data$y + N = data$n + Tcn = data$tcn + I = data$I + S = data$S + M = matrix(100, I, S) + + for (i in 1:I) { + for (s in 1:S) { + y = Y[[i, s]] + n = N[[i, s]] + tcn = Tcn[[i, s]] + m = estimateMultiplicity1(y, n, tcn) + M[i, s] = m + } + } + return(M) +} \ No newline at end of file diff --git a/R/gabowmyers.R b/R/gabowmyers.R deleted file mode 100644 index cb96d16..0000000 --- a/R/gabowmyers.R +++ /dev/null @@ -1,390 +0,0 @@ -pop <- function(edges_tb, tb_name) { - assign(tb_name, edges_tb[-1, ], envir = .GlobalEnv) - return(edges_tb[1, ]) -} - -verticesInGraph <- function(tb) { - unique(c(tb$parent, tb$child)) -} - -bridgeTest <- function(graph_G, edge_e) { - node_to_check <- edge_e$child - !(node_to_check %in% graph_G$child) -} - -bridgeTestBFS <- function(graph_G, edge_e) { - node_to_check <- edge_e$child - - nodes_connected_to_root <- bfsLong2(graph_G) - !(node_to_check %in% nodes_connected_to_root) -} - -bfsLong2 <- function(graph_G) { - # returns vector of nodes in main tree (connected to root) including "root" - # starting at root - # does not stop if there is a cycle in graph - graph_G$parent <- as.character(graph_G$parent) - children <- graph_G[(graph_G$parent == "root"), ]$child - nodes <- c("root", children) - - while(length(children) > 0) { - c <- children[1] - temp.children <- graph_G[(graph_G$parent == c), ]$child - - # remove children already seen - if (any(temp.children %in% nodes)) { - temp.children <- temp.children[! temp.children %in% nodes] - } - - children <- c(children, temp.children) - - nodes <- c(nodes, temp.children) - children <- children[-1] - } - return(nodes) -} - -grow <- function(tree_T, all_vertices, w, thresh=0.2) { - - if (length(verticesInGraph(tree_T)) == length(all_vertices) & nrow(tree_T) == (length(all_vertices)-1)) { - assign("all_spanning_trees", c(all_spanning_trees, list(tree_T)), envir = .GlobalEnv) - - if (satisfiesSumCondition(tree_T, w, thresh)) { - assign("filtered_trees", c(filtered_trees, list(tree_T)), envir = .GlobalEnv) - } - - } else { - FF <- tibble(parent = character(), child = character()) - - bridge <- FALSE - while(!bridge) { - # new tree edge - if (nrow(F_tb) == 0) stop("F_tb is empty") - edge_e <- pop(F_tb, "F_tb") - v <- edge_e$child - tree_T <- rbind(tree_T, edge_e) - - # update F - ## push each edge (v,w), w not in T onto F - in_T <- verticesInGraph(tree_T) - temp_add_to_F <- filter(graph_G, parent == v, !(child %in% in_T)) - # temp_add_to_F - assign("F_tb", rbind(temp_add_to_F, F_tb), envir = .GlobalEnv) - - ## remove each edge (w,v), w in T from F - w_in_T <- verticesInGraph(tree_T) - removed_edges <- filter(F_tb, parent %in% w_in_T, child == v) - assign("F_tb", filter(F_tb, !edge %in% removed_edges$edge), envir = .GlobalEnv) - - # recurse - grow(tree_T, all_vertices, w, thresh) - #tree_L <- all_spanning_trees[[length(all_spanning_trees)]] - - # restore F - # pop each edge (v,w), w not in T, from F - not_in_T <- all_vertices[!all_vertices %in% verticesInGraph(tree_T)] - if (length(not_in_T) > 0 & nrow(F_tb) > 0) { - edges_to_remove_9 <- paste0(v, "->", not_in_T) - assign("F_tb", filter(F_tb, !edge %in% edges_to_remove_9), envir = .GlobalEnv) - } - # restore each edge (w,v), w in T, in F - assign("F_tb", rbind(removed_edges, F_tb), envir = .GlobalEnv) - - # delete e from T and from G, add e to FF - tree_T <- tree_T[tree_T$edge != edge_e$edge, ] - assign("graph_G",graph_G[graph_G$edge != edge_e$edge, ], envir = .GlobalEnv) - FF <- rbind(edge_e, FF) - - # bridge test - bridge <- bridgeTestBFS(graph_G, edge_e) - } - - # pop each edge e from FF, push e onto F,and add e to G - if (nrow(FF) > 0) { - - # pop and push all edges at once (same order) - # assign("F_tb", rbind(FF, F_tb), envir = .GlobalEnv) - assign("graph_G", rbind(FF, graph_G), envir = .GlobalEnv) - - # pop and push edges one by one (rev order in F) - while (nrow(FF) > 0) { - assign("F_tb", rbind(FF[1, ], F_tb), envir = .GlobalEnv) - FF <- FF[-1, ] - } - } - } -} - -growModified <- function(tree_T, all_vertices, w, sum_thresh=0.2) { - - if (length(verticesInGraph(tree_T)) == length(all_vertices) & nrow(tree_T) == (length(all_vertices)-1)) { - assign("all_spanning_trees", c(all_spanning_trees, list(tree_T)), envir = .GlobalEnv) - - } else { - FF <- tibble(parent = character(), child = character()) - - bridge <- FALSE - while(!bridge) { - # new tree edge - if (nrow(F_tb) == 0) stop("F_tb is empty") - edge_e <- pop(F_tb, "F_tb") - v <- edge_e$child - tree_T <- rbind(tree_T, edge_e) - - # check if adding this node does not violate the constraint - if (satisfiesSumCondition(tree_T, w, sum_thresh)) { - # update F - ## push each edge (v,w), w not in T onto F - in_T <- verticesInGraph(tree_T) - temp_add_to_F <- filter(graph_G, parent == v, !(child %in% in_T)) - # temp_add_to_F - assign("F_tb", rbind(temp_add_to_F, F_tb), envir = .GlobalEnv) - - ## remove each edge (w,v), w in T from F - w_in_T <- verticesInGraph(tree_T) - removed_edges <- filter(F_tb, parent %in% w_in_T, child == v) - assign("F_tb", filter(F_tb, !edge %in% removed_edges$edge), envir = .GlobalEnv) - - # recurse - growModified(tree_T, all_vertices, w, sum_thresh) - - # restore F - # pop each edge (v,w), w not in T, from F - not_in_T <- all_vertices[!all_vertices %in% verticesInGraph(tree_T)] - if (length(not_in_T) > 0 & nrow(F_tb) > 0) { - edges_to_remove_9 <- paste0(v, "->", not_in_T) - assign("F_tb", filter(F_tb, !edge %in% edges_to_remove_9), envir = .GlobalEnv) - } - # restore each edge (w,v), w in T, in F - assign("F_tb", rbind(removed_edges, F_tb), envir = .GlobalEnv) - - } - # delete e from T and from G, add e to FF - tree_T <- tree_T[tree_T$edge != edge_e$edge, ] - assign("graph_G",graph_G[graph_G$edge != edge_e$edge, ], envir = .GlobalEnv) - FF <- rbind(edge_e, FF) - - # bridge test - bridge <- bridgeTestBFS(graph_G, edge_e) - } - - # pop each edge e from FF, push e onto F,and add e to G - if (nrow(FF) > 0) { - - # pop and push all edges at once (same order) - # assign("F_tb", rbind(FF, F_tb), envir = .GlobalEnv) - assign("graph_G", rbind(FF, graph_G), envir = .GlobalEnv) - - # pop and push edges one by one (rev order in F) - while (nrow(FF) > 0) { - assign("F_tb", rbind(FF[1, ], F_tb), envir = .GlobalEnv) - FF <- FF[-1, ] - } - } - } -} - -#' Create tibble of possible edges from CCF values based on sample-presence -#' -#' @export -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @importFrom tidyr pivot_longer unite -#' @param w matrix of CCF values (rows = clusters, columns = samples) -#' @param chains list of MCMC chains (must contain w_chain and z_chain) -#' @param input_data list of input data; same as supplied for clustering -#' @return graph_G tibble of possible edges with columns edge, parent, child -prepareGraphForGabowMyers <- function(w, chains, input_data) { - graph_G <- constrainedEdges(w, chains, input_data) %>% - filter(possible_edge == TRUE) %>% - mutate(parent = as.character(parent)) %>% - select(edge, parent, child) - return(graph_G) -} - -#' Create tibble of possible edges from CCF values based on w_mat only -#' -#' @export -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @param w matrix of CCF values (rows = clusters, columns = samples) -#' @return graph_G tibble of possible edges with columns edge, parent, child -prepareGraph <- function(w_mat, thresh) { - graph_pre <- data.frame(edge = character(), parent = character(), child = character()) - for (i in seq_len(nrow(w_mat))) { - graph_pre <- graph_pre %>% add_row(edge = paste("root->", i, sep = ""), parent = "root", child = as.character(i)) - for (j in seq_len(nrow(w_mat))) { - if (i!=j) { - i_row = w_mat[i, ] - j_row = w_mat[j, ] - if (all(j_row-i_row > -thresh)) { - graph_pre <- graph_pre %>% add_row(edge = paste(j, "->", i, sep = ""), parent = as.character(j), child = as.character(i)) - } - } - } - } - return(graph_pre) -} - -#' Enumerate all spanning trees and filter based on Sum Condition -#' -#' @export -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @param graph_G tibble of possible edges with columns edge, parent, child -#' @param w matrix of CCF values (rows = clusters, columns = samples) -#' @param sum_filter_thresh thresh maximum allowed violation of Sum Condition (default = 0.2) -enumerateSpanningTrees <- function(graph_G, w, sum_filter_thresh=0.2) { - # all_spanning_trees must be set as an empty list, global variable, before function is called - # graph_G must be set as global variable before function is called - all_spanning_trees <- assign("all_spanning_trees", list(), envir = .GlobalEnv) - filtered_trees <- assign("filtered_trees", list(), envir = .GlobalEnv) - F_tb <- assign("F_tb", filter(graph_G, parent == "root"), envir = .GlobalEnv) - all_vertices <- verticesInGraph(graph_G) - tree_T <- tibble(parent = character(), child = character()) - - grow(tree_T, all_vertices, w, sum_filter_thresh) - -# return(list(all_spanning_trees = all_spanning_trees, -# filtered_trees = filtered_trees)) -} - -#' Enumerate all spanning trees using modified Gabow-Myers wrapper -#' -#' @export -#' @param w matrix of CCF values (rows = clusters, columns = samples) -#' @param lineage_precedence_thresh maximum allowed violation of lineage precedence (default = 0.1) -#' @param sum_filter_thresh thresh maximum allowed violation of Sum Condition (default = 0.2) -generateAllTrees <- function(w, lineage_precedence_thresh=0.1, sum_filter_thresh=0.2) { - w_mat <- estimateCCFs(w) - w_mat <- assign("w_mat", w_mat, envir = .GlobalEnv) - graph_G_pre <- prepareGraph(w_mat, lineage_precedence_thresh) - graph_G <- filterEdgesBasedOnCCFs(graph_G_pre, w_mat, thresh = lineage_precedence_thresh) - graph_G <- assign("graph_G", graph_G, envir = .GlobalEnv) - enumerateSpanningTreesModified(graph_G, w_mat, sum_filter_thresh = sum_filter_thresh) -} - -#' Enumerate all spanning trees using modified Gabow-Myers -#' -#' @export -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @param graph_G tibble of possible edges with columns edge, parent, child -#' @param w matrix of CCF values (rows = clusters, columns = samples) -#' @param sum_filter_thresh thresh maximum allowed violation of Sum Condition (default = 0.2) -enumerateSpanningTreesModified <- function(graph_G, w, sum_filter_thresh=0.2) { - # all_spanning_trees must be set as an empty list, global variable, before function is called - # graph_G must be set as global variable before function is called - all_spanning_trees <- assign("all_spanning_trees", list(), envir = .GlobalEnv) - #filtered_trees <- assign("filtered_trees", list(), envir = .GlobalEnv) - F_tb <- assign("F_tb", filter(graph_G, parent == "root"), envir = .GlobalEnv) - all_vertices <- verticesInGraph(graph_G) - tree_T <- tibble(parent = character(), child = character()) - - growModified(tree_T, all_vertices, w, sum_filter_thresh) -} - -satisfiesSumCondition <- function(edges, w, thresh = 0.2) { - # returns TRUE if sum condition is not violated with given threshold (default 0.2) - - edges$parent <- as.character(edges$parent) - all_parents <- unique(edges$parent) - - for (p in all_parents) { - # get parent CCF - if (p == "root") { - parent_ccf <- rep(1, ncol(w)) - } else { - parent_ccf <- w[as.numeric(p), ] - } - - # get children CCF (sum if more than 1 child) - children <- as.numeric(filter(edges, parent == p)$child) - if (length(children) > 1) { - children_ccf <- colSums(w[children, ,drop=FALSE]) - } else { - children_ccf <- w[children, ] - } - - diff <- children_ccf - parent_ccf - if (any(diff > thresh)) return(FALSE) - } - - # sum condition is never violated, return TRUE - return(TRUE) -} - -#' Filter possible edges based on lineage precedence -#' -#' @export -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @param graph_G tibble of possible edges with columns edge, parent, child -#' @param w matrix of CCF values (rows = clusters, columns = samples) -#' @param thresh maximum allowed violation of lineage precedence (default = 0.1) -filterEdgesBasedOnCCFs <- function(graph_G, w, thresh = 0.1) { - check_edges_logical <- apply(graph_G, 1, function(edge) checkEdge(edge, w, thresh)) - filtered_graph_G <- graph_G[check_edges_logical, ] - return(filtered_graph_G) -} - -checkEdge <- function(edge, w, thresh = 0.2) { - # returns TRUE if satisfies lineage precedence with given threshold - # returns FALSE if violates i.e. child_ccf - parent_ccf > thresh in any sample - # edge is in the format c(edge_name, parent, child) - - # in case of factors - p <- as.character(edge[2]) - c <- as.character(edge[3]) - - if (p == "root") { - parent_ccfs <- rep(1, ncol(w)) - } else { - parent_ccfs <- w[as.numeric(p), ] - } - child_ccfs <- w[as.numeric(c), ] - - diff <- child_ccfs - parent_ccfs - if (any(diff > thresh)) { - return(FALSE) - } else { - return(TRUE) - } -} - -splitGraphG <- function(graph_G, num_trees_per_run = 100000) { - # returns list of graph_Gs - # figure out which nodes for which to keep edges constant - # each split graph_G should have tree space upper bound < num_trees_per_run - num_edges_per_child <- graph_G %>% - group_by(child) %>% - summarize(n = n()) %>% - arrange(desc(n)) - - # split graph_G tree space is larger than num_trees_per_run - if (prod(num_edges_per_child$n) > num_trees_per_run) { - nodes_to_hold <- c() - for (i in seq_len(nrow(num_edges_per_child))) { - upper_bound_per_run <- prod(num_edges_per_child$n[i:nrow(num_edges_per_child)]) - if (upper_bound_per_run <= num_trees_per_run) break - nodes_to_hold <- c(nodes_to_hold, num_edges_per_child$child[i]) - } - - common_edges <- filter(graph_G, ! child %in% nodes_to_hold) - edges_to_split <- filter(graph_G, child %in% nodes_to_hold) %>% - group_by(child) %>% - group_split() - edges_list <- lapply(edges_to_split, function(x) x$edge) - all_combinations <- expand.grid(edges_list, stringsAsFactors = F) - split_graph_Gs <- apply(all_combinations, 1, function(x) rbind(filter(graph_G, edge %in% x), common_edges)) - return(split_graph_Gs) - - } else { - return(list(graph_G)) - } -} diff --git a/R/graph_ops.R b/R/graph_ops.R deleted file mode 100644 index f8c519f..0000000 --- a/R/graph_ops.R +++ /dev/null @@ -1,764 +0,0 @@ -constrainedEdgesMatrix <- function(wmat, chains, input_data) { - ## - ## Rules: - ## - cluster (node) cannot connect to itself - ## - a cluster with near-zero MCF cannot have children - ## - a cluster present in X multiple samples cannot connect to a cluster present in Y samples - ## if X < Y - ## - X < Y implies ... - ## - ##cluster.sample.presence <- apply(w, 1, function(x) which( x>= zero.thresh)) - samp_pres <- matchSamplePresence(wmat, chains, input_data) - if (input_data$S == 1) { - cluster.sample.presence <- lapply(samp_pres, function(x) which(x==1)) - } else { - cluster.sample.presence <- apply(samp_pres, 1, function(x) which(x==1)) - } - K <- nrow(wmat) - S <- ncol(wmat) - admat <- matrix(T, K, K) - - for(i in 1:K){ - for(j in 1:K){ - - if (is.matrix(cluster.sample.presence)) { - from.samples <- cluster.sample.presence[, i] - to.samples <- cluster.sample.presence[, j] - } else if (is.list(cluster.sample.presence)) { - from.samples <- cluster.sample.presence[[i]] - to.samples <- cluster.sample.presence[[j]] - } else if (is.vector(cluster.sample.presence)) { - from.samples <- cluster.sample.presence[i] - to.samples <- cluster.sample.presence[j] - } - - if (setequal(from.samples, to.samples)) next() - if(length(from.samples) < length(to.samples)) { - admat[i, j] <- F - next() - } - if (all(to.samples %in% from.samples)) next() - admat[i, j] <- F - } - } - diag(admat) <- F - am2 <- rbind(T, admat) - dimnames(am2) <- list(c("root", 1:K), 1:K) - return(am2) -} - -matchSamplePresence <- function(w_mat, chains, input_data) { - map_z <- estimateClusterAssignments(chains$z_chain) - - # pull one variant for each cluster - single_var_clust <- map_z[match(unique(map_z$value), map_z$value), ] %>% - mutate(mut_ind = as.numeric(gsub("z\\[|]", "", Parameter))) %>% - arrange(value) - - samp_pres <- ifelse(input_data$y[single_var_clust$mut_ind, ] >=1, 1, 0) - return(samp_pres) -} - - -## refactored base.admat -constrainedEdges <- function(wmat, chains, input_data) { - am2 <- constrainedEdgesMatrix(wmat, chains, input_data) - am2.long <- as_tibble(am2) %>% - mutate(parent=rownames(am2)) %>% - pivot_longer(-parent, - names_to="child", - values_to="possible_edge") %>% - filter(parent != child) %>% - unite("edge", c("parent", "child"), sep="->", - remove=FALSE) %>% - mutate(parent=factor(parent, levels=unique(parent))) %>% - mutate(connected=0) - am2.long -} - -calcConstrianedTreeSpace <- function(mcf_matrix, zero.thresh = 0.01) { - # input: - # - mcf_matrix = matrix of cell fraction values where rows are clusters, columns are samples - # - zero.thresh = minimum cell fraction to be considered "present" in sample (default = 0.01) - # output: number of possible trees, given constraints - ce <- constrainedEdgesMatrix(mcf_matrix, zero.thresh) - possible_from_edges_per_node <- colSums(ce) - tree_space <- prod(possible_from_edges_per_node) - return(tree_space) -} - -getAllNodes <- function(am.long) { - # returns vector of all nodes in graph - am.long$parent <- as.character(am.long$parent) - unique(c(am.long$parent, am.long$child)) -} - -reversedConnection <- function(am) { - connections <- setNames(am$connected, am$edge) - reversed_connections <- connections[am$reverse_edge] %>% - "["(!is.na(.)) - reversed <- setNames(rep(0, nrow(am)), am$reverse_edge) - reversed[names(reversed_connections)] <- reversed_connections - reversed -} - -isBidirectional <- function(am) { - am %>% - mutate(bi_directional=(reverse_edge %in% edge) & - connected==1 & - reversed_connected == 1) %>% - pull(bi_directional) -} - -updateGraphElements <- function(am) { - am %>% - mutate(parent=factor(parent, levels=unique(parent))) %>% - mutate(reversed_connected=reversedConnection(.)) %>% - mutate(bi_directional=isBidirectional(.)) %>% - mutate(root_connected=isRootConnected(.)) -} - - -reversedEdges <- function(am) { - am2 <- am %>% - filter(!is.na(connected)) %>% - unite("reverse_edge", c("child", "parent"), sep="->", - remove=FALSE) - am2 -} - -getEdgeName <- function(from, to) { - paste0(from, "->", to) -} - -numNodesConnectedToRoot <- function(am.long) { - sum(am.long[am.long$parent == "root", ]$connected) -} - -randAdmatUnchecked <- function(am.long, max.num.root.children) { - # input: blank am.long (from either constrainedEdges or toLong(initEmptyAdmatFromK(K)) - # - $connected = 0 - # - $possible_edge = T/F if from constrainedEdges - # output: random graph (not necessarily valid) - blank <- am.long # save copy of original am.long - parent_levels <- levels(blank$parent) - - am.long$parent <- as.character(am.long$parent) - - all.nodes <- getAllNodes(am.long) - node.pool <- all.nodes[all.nodes != "root"] # nodes left to connect in graph - # possible edges may be limited by constraints - if ("possible_edge" %in% colnames(am.long)) { - possible.edges <- am.long %>% - filter(possible_edge == TRUE) - has_constraints <- TRUE - } else { - possible.edges <- am.long - has_constraints <- FALSE - } - parent.pool <- unique(possible.edges$parent) # possible parent nodes - - # choose node to connect to root - # select "to" node from parent.pool to prevent getting stuck if max.num.root.children == 1 - temp.possible.root.children <- filter(possible.edges, parent == "root")$child - if (length(temp.possible.root.children) > 1) { - temp.node <- sample(temp.possible.root.children, 1) - } else { - temp.node <- temp.possible.root.children - } - - am.long[am.long$edge == getEdgeName("root", temp.node), ]$connected <- 1 - node.pool <- node.pool[node.pool != temp.node] - - # connect nodes that are left - while(length(node.pool) > 0) { - #for (n in node.pool) { - if (length(node.pool) > 1) { - n <- sample(node.pool, 1) - } else { - n <- node.pool - } - - # all possible edges to node n - # check if there are constraints present - if (has_constraints) { - temp.possible.edges <- am.long %>% - filter(possible_edge == T) - } else { - temp.possible.edges <- am.long - } - # can't connect to root if max.num.root.children quota is satisfied - if (numNodesConnectedToRoot(am.long) >= max.num.root.children) { - temp.possible.edges <- temp.possible.edges %>% - filter(child == n, parent != "root") - } else { - temp.possible.edges <- temp.possible.edges %>% - filter(child == n) - } - - # choose edge to connect -- randomly sample if more than 1 possible edge - if(nrow(temp.possible.edges) > 1) { - temp.edge <- temp.possible.edges[sample(nrow(temp.possible.edges), 1), ]$edge - } else if (nrow(temp.possible.edges) == 1) { - temp.edge <- temp.possible.edges$edge - } else { - # if no possible edges, start over - return(randAdmatUnchecked(blank, max.num.root.children)) - } - - # connect edge - am.long[am.long$edge == temp.edge, ]$connected <- 1 - - node.pool <- node.pool[node.pool != n] - } - - am.long <- am.long %>% - mutate(parent = factor(am.long$parent, levels = parent_levels)) - - am.long <- reversedEdges(am.long) %>% - mutate(reversed_connected=reversedConnection(.), - bi_directional=NA, - root_connected=NA) - am.long <- updateGraphElements(am.long) - - return(am.long) -} - -randAdmat <- function(am.long, max.num.root.children) { - # input: blank am.long (from either constrainedEdges or toLong(initEmptyAdmatFromK(K)) - # - $connected = 0 - # - $possible_edge = T/F if from constrainedEdges - # output: random graph - blank <- am.long - has_constraints <- ifelse("possible_edge" %in% colnames(am.long), - ifelse(any(!am.long$possible_edge), T, F), - F) - - am.long$parent <- as.character(am.long$parent) - - all.nodes <- getAllNodes(am.long) - node.pool <- all.nodes[all.nodes != "root"] # nodes left to connect in graph - possible.edges <- am.long %>% - filter(!is.na(connected)) - parent.pool <- unique(possible.edges$parent) # possible parent nodes - - # choose node to connect to root - # select "to" node from parent.pool to prevent getting stuck if max.num.root.children == 1 - temp.node <- sample(parent.pool[parent.pool != "root"], 1) - am.long[am.long$edge == getEdgeName("root", temp.node), ]$connected <- 1 - node.pool <- node.pool[node.pool != temp.node] - from.nodes <- c("root", temp.node) - - while(length(node.pool) > 0) { - - # remove "root" from possible parents if max.num.root.children quota satisfied - if(numNodesConnectedToRoot(am.long) < max.num.root.children) { - from.nodes.pool <- from.nodes - } else { - from.nodes.pool <- from.nodes[-1] - } - - if (length(from.nodes.pool) == 1) { - temp.from <- from.nodes.pool - } else { - temp.from <- sample(from.nodes.pool, 1) - } - - # remove possible "to" nodes based on NA constraints - temp.to.pool <- am.long %>% - filter(parent==temp.from) %>% - filter(!is.na(connected)) - # remove "to" nodes if not in node.pool - temp.to.pool <- temp.to.pool$child - temp.to.pool <- temp.to.pool[temp.to.pool %in% node.pool] - # sample possible children nodes to be "to" node and connect edge - if (length(temp.to.pool) > 1) { - temp.to <- sample(temp.to.pool, 1) - } else if (length(temp.to.pool) == 1) { - temp.to <- temp.to.pool - } else { - # remove temp.from from from.nodes - } - - am.long[am.long$edge == getEdgeName(temp.from, temp.to), ]$connected <- 1 - - # add temp.to to possible from.nodes if it is a possible parent - if (temp.to %in% parent.pool) { - from.nodes <- c(from.nodes, temp.to) - } - - node.pool <- node.pool[node.pool != temp.to] - } - - - - am.long <- reversedEdges(am.long) %>% - mutate(reversed_connected=reversedConnection(.), - bi_directional=NA, - root_connected=NA) - am.long <- updateGraphElements(am.long) - am.long -} - -isParentConnected <- function(am) { - am %>% - mutate(parent=factor(parent, levels=unique(parent))) %>% - group_by(parent) %>% - summarize(n=sum(connected)) %>% - pull(n) > 0 -} - -isRootConnected <- function(am) isParentConnected(am)[1] - -isDirected <- function(am) !any(am$bi_directional) - -isFullyConnected <- function(am.long) { - # checks if graph (am.long format) is fully connected - all_nodes <- getAllNodes(am.long) - nodes_in_main_tree <- bfsLong(am.long) - length(all_nodes) == length(nodes_in_main_tree) -} - -containsCycle <- function(am.long) { - # returns nodes in main tree (connected to root) including "root" - # starting at root - am.long$parent <- as.character(am.long$parent) - children <- am.long[(am.long$parent == "root" & am.long$connected == 1), ]$child - nodes <- c("root", children) - - while(length(children) > 0) { - c <- children[1] - temp.children <- am.long[(am.long$parent == c & am.long$connected == 1), ]$child - children <- c(children, temp.children) - if (any(temp.children %in% nodes)) return(TRUE) - nodes <- c(nodes, temp.children) - - children <- children[-1] - } - FALSE -} - -validGraph <- function(am) { - isDirected(am) && - isRootConnected(am) && - !containsCycle(am) && - isFullyConnected(am) -} - -bfsLong <- function(am.long) { - # returns vector of nodes in main tree (connected to root) including "root" - # starting at root - # stops if there is a cycle present in graph - am.long$parent <- as.character(am.long$parent) - children <- am.long[(am.long$parent == "root" & am.long$connected == 1), ]$child - nodes <- c("root", children) - - while(length(children) > 0) { - c <- children[1] - temp.children <- am.long[(am.long$parent == c & am.long$connected == 1), ]$child - children <- c(children, temp.children) - if (any(temp.children %in% nodes)) stop("graph has cycle") - nodes <- c(nodes, temp.children) - children <- children[-1] - } - return(nodes) -} - -addEdge <- function(am, new_edge) { - c <- new_edge$child - # disconnect existing edge connecting to child - am[which(am$child == c & am$connected == 1), ]$connected <- 0 - # connect new edge - am[which(am$edge == new_edge$edge), ]$connected <- 1 - # update graph elements - am <- updateGraphElements(am) - return(am) -} - -initializeGraph <- function(mcf, max.num.root.children=1, zero.thresh=0.01){ - # clusters <- seq_len(nrow(mcf)) - # nsamp <- ncol(mcf) - # samples <- seq_len(nsamp) - # nclust <- length(clusters) - # mcf.long <- tibble(cluster_id=as.character(rep(clusters, nsamp)), - # sample_id=as.character(rep(samples, each=nclust)), - # mean=as.numeric(mcf)) - am.long <- constrainedEdges(mcf, zero.thresh=zero.thresh) - am.long2 <- randAdmatUnchecked(am.long, max.num.root.children) - while (!validGraph(am.long2)) { - am.long2 <- randAdmatUnchecked(am.long, max.num.root.children) - } - return(am.long2) -} - -initializeGraphFromPost <- function(post_am, max.num.root.children=1, thresh=0.1) { - constrained_am <- post_am %>% - group_by(child) %>% - mutate(max_post_for_child = max(posterior_prob)) %>% - ungroup() %>% - mutate(possible_edge = (max_post_for_child-posterior_prob) <= thresh) %>% - mutate(connected = 0) %>% - select(edge, parent, child, possible_edge, connected) - am <- randAdmatUnchecked(constrained_am, max.num.root.children) - while (!validGraph(am)) { - am <- randAdmatUnchecked(constrained_am, max.num.root.children) - } - return(am) -} - -initializeGraphFromPost2 <- function(post_am, max.num.root.children=1) { - K <- length(unique(post_am$child)) - thresh <- (1/K)/2 - constrained_am <- post_am %>% - mutate(possible_edge = posterior_prob >= thresh) %>% - mutate(connected = 0) %>% - select(edge, parent, child, possible_edge, connected) - am <- randAdmatUnchecked(constrained_am, max.num.root.children) - while (!validGraph(am)) { - am <- randAdmatUnchecked(constrained_am, max.num.root.children) - } - return(am) -} - - -toWide <- function(am.long){ - am.long$child <- as.numeric(am.long$child) - am.long %>% select(parent, child, connected) %>% - tidyr::spread(child, connected) %>% - select(-parent) %>% - as.matrix() -} - -toLong <- function(am) { - am.long <- as_tibble(am) %>% - mutate(parent=rownames(am)) %>% - pivot_longer(-parent, - names_to="child", - values_to="connected") %>% - filter(parent != child) %>% - unite("edge", c("parent", "child"), sep="->", - remove=FALSE) %>% - mutate(parent=factor(parent, levels=unique(parent))) - return(am.long) -} - -isMoveValid <- function(a, possible_move, max.num.root.children) { - # a = am.long format of current graph - # possible_move = a row in possible_moves tibble (am.long format) - # max.num.root.children = maximum number of nodes allowed to be connected to root - # returns TRUE or FALSE - astar <- addEdge(a, possible_move) - - is_valid <- validGraph(astar) & (numNodesConnectedToRoot(astar) <= max.num.root.children) - return(is_valid) -} - -sampleNewEdge <- function(a, max.num.root.children, mc.cores=1){ - ## a move is connecting a new edge and disconnecting the pre-existing edge connected to the new edge's child - possible_moves <- filter(a, connected==0, possible_edge==T) - possible_moves_list <- possible_moves %>% - group_by(edge) %>% - group_split() - is_valid <- unlist(parallel::mclapply(possible_moves_list, function(x) isMoveValid(a, x, max.num.root.children), - mc.cores = mc.cores)) - move_set <- possible_moves_list[is_valid] - #ix <- sample(seq_len(length(move_set)), 1) - ix <- tryCatch(sample(seq_len(length(move_set)), 1), error=function(e) NULL) - if(is.null(ix)) { - #print("no moves :(") - #print(a, n=100) - #saveRDS(list(am = a, move_set), "/mnt/disk005/data/projects/pictograph/scripts/method-comparison/pictograph/log-sample-error/test.rds") - return(a) - } else { - astar <- addEdge(a, move_set[[ix]]) - return(astar) - } -} - -initEmptyAdmatFromK <- function(K) { - admat <- matrix(0, K, K) - diag(admat) <- NA - am2 <- rbind(0, admat) - dimnames(am2) <- list(c("root", 1:K), 1:K) - return(am2) -} - -generateRandomGraphFromK <- function(K, max.num.root.children) { - # input: number of mutation clusters, K - # output: mutation tree; adjacency matrix - am.long <- toLong(initEmptyAdmatFromK(K)) - rand.am.long <- randAdmat(am.long, max.num.root.children) - if (!validGraph(rand.am.long)) warning("graph is not valid") - return(rand.am.long) -} - -plotGraph <- function(am.long, v_color){ - # make sure am.long is sorted by parent and child - am.long <- mutate(am.long, child = as.numeric(am.long$child)) %>% - arrange(parent, child) - am.long <- mutate(am.long, child = as.character(am.long$child)) - - # change to wide format and plot - am <- toWide(am.long) - rownames(am) <- c("root", colnames(am)) - am <- cbind(root=0, am) ## add column for root - colnames(am) <- rownames(am) - - am[is.na(am)] <- 0 - - ig <- igraph::graph_from_adjacency_matrix(am, mode = "directed", weighted = TRUE, - diag = FALSE, add.row = TRUE) - V(ig)$color <- as.list(v_color %>% arrange(match(v_sorted, names(V(ig)))) %>% select(colors))$colors - par(mar=c(0,0,0,0)+.1) - igraph::plot.igraph(ig, layout = igraph::layout_as_tree(ig), - vertex.size=34, vertex.frame.color = "#000000", vertex.label.cex = 1.5, - vertex.label.family = "Helvetica", vertex.label.color = "#000000", - edge.arrow.size = 0.5, edge.arrow.width = 2) -} - -getPosteriorAmLong <- function(am_chain) { - # input: chain from tree MCMC of trees in am.long format - # output: posterior am.long - num_trees <- length(am_chain) - - combined_am_chain <- am_chain %>% - bind_rows - post_am <- combined_am_chain %>% - group_by(edge) %>% - mutate(posterior_prob = sum(connected) / num_trees) %>% - ungroup() %>% - select(edge, parent, child, posterior_prob) %>% - distinct() - post_am -} - -toWidePostAm <- function(post_am) { - post_am <- post_am %>% - mutate(child = as.numeric(post_am$child)) - if(!is.factor(post_am$parent)) { - post_am <- post_am %>% - mutate(parent = factor(parent, levels = c("root", 1:max(post_am$parent)))) - } - post_am %>% - select(parent, child, posterior_prob) %>% - tidyr::spread(child, posterior_prob) %>% - select(-parent) %>% - as.matrix() -} - -filterAdmat <- function(admat, filter1 = TRUE, filter1.threshold = 0.1, - filter2 = TRUE, filter2.threshold = 0.1) { - # filter1 filters columns (am wide format) for edges with posterior prob > (max(column) - filter1.threshold) - # filter2 filters entire matrix for prob > filter2.threshold - - if (filter1) { - admat <- apply(admat, 2, function(x) ifelse(x > (max(x)-filter1.threshold), x, 0)) - } - - if (filter2) { - admat[admat <= filter2.threshold] <- 0 - } - - return(admat) -} - -prepPostAmForGraphing <- function(post_am) { - post_am_mat <- toWidePostAm(post_am) - - # add column for root - post_am_mat <- cbind(0, post_am_mat) - colnames(post_am_mat)[1] <- "root" - rownames(post_am_mat) <- colnames(post_am_mat) - admat <- round(as.matrix(post_am_mat), 2) - admat[is.na(admat)] <- 0 - - return(admat) -} - -plotPosteriorAmLong <- function(post_am, v_color, filter1 = TRUE, filter1.threshold = 0.1, - filter2 = TRUE, filter2.threshold = 0.1) { - # filter1 filters columns (am wide format) for edges with posterior prob > (max(column) - filter1.threshold) - admat <- prepPostAmForGraphing(post_am) - - # filter edges of low freq - admat <- filterAdmat(admat, filter1 = filter1, filter1.threshold = filter1.threshold, - filter2 = filter2, filter2.threshold = filter2.threshold) - - ig <- igraph::graph_from_adjacency_matrix(admat, mode = "directed", weighted = TRUE, - diag = FALSE, add.row = TRUE) - - igraph::E(ig)$lty <- ifelse(igraph::E(ig)$weight < 0.25, 2, 1) - - # make edge black if only 1 edge to vertex - e <- igraph::ends(ig, igraph::E(ig)) - numTo <- table(e[,2]) - edgeColors <- sapply(e[,2], function(x) ifelse(x %in% names(which(numTo==1)), "black", "darkgrey")) - igraph::E(ig)$color <- edgeColors - - igraph::V(ig)$label.cex <- 1.5 - - igraph::V(ig)$color <- as.list(v_color %>% arrange(match(v_sorted, names(V(ig)))) %>% select(colors))$colors - - par(mar=c(0,0,0,0)+.1) - igraph::plot.igraph(ig, layout = igraph::layout_as_tree(ig), - vertex.size=34, vertex.label.family = "Helvetica", - edge.arrow.size = 0.5, edge.arrow.width = 2, - edge.width = igraph::E(ig)$weight*3) -} - -plotPosteriorAmLongSim <- function(post_am, filter1 = TRUE, filter1.threshold = 0.1, - filter2 = TRUE, filter2.threshold = 0.1) { - # filter1 filters columns (am wide format) for edges with posterior prob > (max(column) - filter1.threshold) - admat <- prepPostAmForGraphing(post_am) - - # filter edges of low freq - admat <- filterAdmat(admat, filter1 = filter1, filter1.threshold = filter1.threshold, - filter2 = filter2, filter2.threshold = filter2.threshold) - - ig <- igraph::graph_from_adjacency_matrix(admat, mode = "directed", weighted = TRUE, - diag = FALSE, add.row = TRUE) - - igraph::E(ig)$lty <- ifelse(igraph::E(ig)$weight < 0.25, 2, 1) - - # make edge black if only 1 edge to vertex - e <- igraph::ends(ig, igraph::E(ig)) - numTo <- table(e[,2]) - edgeColors <- sapply(e[,2], function(x) ifelse(x %in% names(which(numTo==1)), "black", "darkgrey")) - igraph::E(ig)$color <- edgeColors - - igraph::V(ig)$label.cex <- 1 - - par(mar=c(0,0,0,0)+.1) - igraph::plot.igraph(ig, layout = igraph::layout_as_tree(ig), - vertex.color = "white", vertex.label.family = "Helvetica", - vertex.size = 30, - edge.arrow.size = 0.6, edge.arrow.width = 2, - edge.width = igraph::E(ig)$weight*5, - asp = 0) -} - -plotPosteriorAmLong2 <- function(post_am, cluster_key_genes_tb, - filter1 = TRUE, filter1.threshold = 0.1, - filter2 = TRUE, filter2.threshold = 0.1) { - # filter1 filters columns (am wide format) for edges with posterior prob > (max(column) - filter1.threshold) - admat <- prepPostAmForGraphing(post_am) - - # filter edges of low freq - admat <- filterAdmat(admat, filter1 = filter1, filter1.threshold = filter1.threshold, - filter2 = filter2, filter2.threshold = filter2.threshold) - - ig <- igraph::graph_from_adjacency_matrix(admat, mode = "directed", weighted = TRUE, - diag = FALSE, add.row = TRUE) - - igraph::E(ig)$lty <- ifelse(igraph::E(ig)$weight < 0.25, 2, 1) - - # make edge black if only 1 edge to vertex - e <- igraph::ends(ig, igraph::E(ig)) - numTo <- table(e[,2]) - edgeColors <- sapply(e[,2], function(x) ifelse(x %in% names(which(numTo==1)), "black", "darkgrey")) - igraph::E(ig)$color <- edgeColors - - igraph::V(ig)$label.cex <- 0.5 - vertex_colors <- c("white", ifelse(cluster_key_genes_tb$contains_key_gene, "lightblue", "white")) - igraph::V(ig)$color <- vertex_colors - # highlight single sample vertices - igraph::V(ig)$frame.color <- c("black", ifelse(cluster_key_genes_tb$single_sample, "#E69F00", "black")) - - par(mar=c(0,0,0,0)+.1) - igraph::plot.igraph(ig, layout = igraph::layout_as_tree(ig), - #vertex.color = "white", - vertex.label.family = "Helvetica", - edge.arrow.size = 0.2, edge.arrow.width = 2, - edge.width = igraph::E(ig)$weight*3) -} - -plotPosteriorAmLong3 <- function(post_am, cluster_key_genes_tb, - filter1 = TRUE, filter1.threshold = 0.1, - filter2 = TRUE, filter2.threshold = 0.1) { - # don't plot edges with low freq (<0.25) - # filter1 filters columns (am wide format) for edges with posterior prob > (max(column) - filter1.threshold) - admat <- prepPostAmForGraphing(post_am) - - # filter edges of low freq - admat <- filterAdmat(admat, filter1 = filter1, filter1.threshold = filter1.threshold, - filter2 = filter2, filter2.threshold = filter2.threshold) - - # filter out edges < 0.2 prob - admat[admat < 0.2] <- 0 - ig <- igraph::graph_from_adjacency_matrix(admat, mode = "directed", weighted = TRUE, - diag = FALSE, add.row = TRUE) - # edges < 0.25 prob - igraph::E(ig)$lty <- ifelse(igraph::E(ig)$weight < 0.25, 2, 1) - - # make edge black if only 1 edge to vertex - e <- igraph::ends(ig, igraph::E(ig)) - numTo <- table(e[,2]) - edgeColors <- sapply(e[,2], function(x) ifelse(x %in% names(which(numTo==1)), "black", "darkgrey")) - igraph::E(ig)$color <- edgeColors - - igraph::V(ig)$label.cex <- 0.5 - vertex_colors <- c("white", ifelse(cluster_key_genes_tb$contains_key_gene, "lightblue", "white")) - igraph::V(ig)$color <- vertex_colors - # highlight single sample vertices - igraph::V(ig)$frame.color <- c("black", ifelse(cluster_key_genes_tb$single_sample, "#E69F00", "black")) - - par(mar=c(0,0,0,0)+.1) - igraph::plot.igraph(ig, layout = igraph::layout_as_tree(ig), - #vertex.color = "white", - vertex.label.family = "Helvetica", - edge.arrow.size = 0.2, edge.arrow.width = 2, - edge.width = igraph::E(ig)$weight*3) -} - -labelMAPEdgesFromPostAM <- function(post_am) { - post_am %>% - group_by(child) %>% - mutate(map_edge = posterior_prob == max(posterior_prob)) %>% - ungroup() -} - -getMAPGraphFromPostAM <- function(post_am) { - map_am <- labelMAPEdgesFromPostAM(post_am) %>% - mutate(connected = ifelse(map_edge, 1, 0)) - return(map_am) -} - -edgeTibbleToAmLong <- function(edge_tb, root = 0) { - K <- length(unique(c(edge_tb$From, edge_tb$To))) - 1 - am_long <- toLong(initEmptyAdmatFromK(K)) - edge_tb$From <- as.character(edge_tb$From) - edge_tb[edge_tb == as.character(root)] <- "root" - for (i in seq_len(nrow(edge_tb))) { - temp_edge <- getEdgeName(edge_tb$From[i], edge_tb$To[i]) - am_long$connected[which(am_long$edge == temp_edge)] <- 1 - } - return(am_long) -} - -# getParents <- function(am_long, node, prev_parents = c()) { -# temp_parent <- filter(am_long, connected == 1, child == node)$parent -# if (temp_parent == "root") { -# return(c(prev_parents, "root")) -# } else { -# return(getParents(am_long, temp_parent, c(prev_parents, temp_parent))) -# } -# } - -getBTColumn <- function(am_long, node) { - BT_column <- rep(0, length(unique(am_long$child))) - path <- getPathFromRoot(node, am_long) - BT_column[path] <- 1 - return(BT_column) -} - -amToBT <- function(am_long) { - # returns binary perfect phylogeny matrix - # where columns are clones and rows are mutation clusters - # clones have the same numeric ID as the last mutation cluster on their path from the root - children <- unique(am_long$child) - children_num <- sort(as.numeric(children)) - - BT_cols <- sapply(children_num, function(node) getBTColumn(am_long, node)) - - return(BT_cols) -} \ No newline at end of file diff --git a/R/help.R b/R/help.R deleted file mode 100644 index 1a99056..0000000 --- a/R/help.R +++ /dev/null @@ -1,14 +0,0 @@ -#' pictograph -#' -#' @docType package -#' @name pictograph -#' @import methods -#' @import dplyr -#' @import readr -#' @import magrittr -#' @import rjags -#' @import tidyr -#' @import ggplot2 -#' @import ggmcmc -#' @import igraph -NULL diff --git a/R/metrics.R b/R/metrics.R deleted file mode 100644 index 28d4c54..0000000 --- a/R/metrics.R +++ /dev/null @@ -1,199 +0,0 @@ -# ----------------------------------------------------------------------------- -# ----------------------------------------------------------------------------- -# Tree metric: proportion of correct ancestral relationships - -getParent <- function(node, am.long) { - am.long <- am.long %>% - mutate(parent = as.character(parent)) - e <- am.long %>% - filter(child == node, connected == 1) - if (nrow(e) > 1) warning(paste0("node ", node, " has ", nrow(e), " parents")) - return(e$parent[1]) -} - -getPathFromRoot <- function(node, am.long) { - path <- node - curr_parent <- getParent(node, am.long) - while(curr_parent != "root") { - path <- c(path, curr_parent) - curr_parent <- getParent(curr_parent, am.long) - } - as.numeric(path) -} - -getRelationshipTypeOfClusters <- function(cluster1, cluster2, am.long) { - # input: cluster1 and cluster2 can be either characters or numeric - # returns type of ancestral relationship of cluster1 and cluster2 - # 1 = cluster1 and cluster2 are the same - # 2 = cluster1 is ancestral to cluster2 - # 3 = cluster2 is ancestral to cluster1 - # 4 = cluster1 and cluster2 are on distinct branches - - if (is.numeric(cluster1)) cluster1 <- as.character(cluster1) - if (is.numeric(cluster2)) cluster2 <- as.character(cluster2) - - # clusters are the same - if (cluster1 == cluster2) return(1) - - # cluster1 is ancestral to cluster2 - temp_path <- getPathFromRoot(cluster2, am.long) - if (cluster1 %in% temp_path) return(2) - - # cluster2 is ancestral to cluster1 - temp_path <- getPathFromRoot(cluster1, am.long) - if (cluster2 %in% temp_path) return(3) - - # cluster1 and cluster2 are on distinct branches - return(4) -} - -getMutRelTb <- function(z, mut_ind, am) { - # input: - # z = vector of cluster assignments for each mutation - # mut_ind = vector of mutation indices e.g. 1:I - # am = am.long format of graph - # output: tibble with columns mut1, mut2, cluster1, cluster2, relationship_type - # relationship_type is 1:4 -- see getRelationshipTypeOfCluster() - - # mutation pairs are all pairwise combinations, not including self - all_mut_pairs <- t(combn(mut_ind, 2)) - - # cluster pairs are all permutations of 2, including self - all_cluster_pairs <- rbind(t(combn(unique(z), 2)), t(combn(rev(unique(z)), 2)), - matrix(rep(unique(z), 2), nrow=length(unique(z)), byrow = F)) - all_cluster_pairs_tb <- tibble(cluster1 = all_cluster_pairs[, 1], - cluster2 = all_cluster_pairs[, 2]) - - true_rel_types <- mapply(function(c1, c2) getRelationshipTypeOfClusters(c1, c2, am), - c1=all_cluster_pairs[, 1], c2=all_cluster_pairs[, 2]) - - rel_tb <- tibble(cluster1 = all_cluster_pairs[, 1], - cluster2 = all_cluster_pairs[, 2], - relationship_type = true_rel_types) - - true_mut_rel <- tibble(mut1 = all_mut_pairs[, 1], - mut2 = all_mut_pairs[, 2], - cluster1 = z[all_mut_pairs[, 1]], - cluster2 = z[all_mut_pairs[, 2]]) - - left_join(true_mut_rel, rel_tb, by = c("cluster1", "cluster2")) -} - -calcPropRelationshipsCorrect <- function(test_mut_rel, true_mut_rel) { - # input: tibbles from getMutRelTb() - # returns proportion of relationships in test_mut_rel that match true_mut_rel - test_comp <- left_join(true_mut_rel, test_mut_rel, by = c("mut1", "mut2")) - rel_same <- test_comp$relationship_type.x == test_comp$relationship_type.y - return(sum(rel_same) / length(rel_same)) -} - -calcTreeMetricSingleIter <- function(z, am, sim_data) { - true_mut_rel <- getMutRelTb(sim_data$z, 1:sim_data$I, sim_data$am.long) - if (length(unique(z$value)) == 1) { - this_rel <- tibble(mut1 = true_mut_rel$mut1, - mut2 = true_mut_rel$mut2, - cluster1 = 1, - cluster2 = 1, - relationship_type = 1) - } else { - this_rel <- getMutRelTb(z$value, 1:sim_data$I, am) - } - - prop_true <- calcPropRelationshipsCorrect(this_rel, true_mut_rel) - return(prop_true) -} - -calcTreeMetricChain <- function(z_chain_list, am_chain, sim_data, - mc.cores=1) { - - tree_metric <- parallel::mcmapply(function(z, am) calcTreeMetricSingleIter(z, am, sim_data), - z_chain_list, am_chain, - mc.cores = mc.cores) - return(tree_metric) -} - -# ----------------------------------------------------------------------------- -# ----------------------------------------------------------------------------- -# CCF metrics (as described in PASTRI paper) - - -calcMetric1 <- function(true_w, w_star) { - # Metric 1 -- A measure of sensitivity, matches the true clones to the - # nearest reported clusters - # input: matrices with ncol = number of samples, nrow = number of clusters - # returns: numeric value - - # number of clusters can be different, but number of samples must be equal - if (ncol(true_w) != ncol(w_star)) { - stop("true_w and w_star have different number of samples") - } - - min_diff <- rep(Inf, nrow(true_w)) - - for (i in 1:nrow(true_w)) { - for (j in 1:nrow(w_star)) { - temp_diff <- mean(abs(true_w[i, ] - w_star[j, ])) - if (temp_diff < min_diff[i]) min_diff[i] <- temp_diff - } - } - - return(sum(min_diff)) -} - -calcMetric2 <- function(true_w, w_star) { - # Metric 2 -- A measure of specificity, matches the reported clusters to - # the nearest true clones - # input: matrices with ncol = number of samples, nrow = number of clusters - # returns: numeric value - - # number of clusters can be different, but number of samples must be equal - if (ncol(true_w) != ncol(w_star)) { - stop("true_w and w_star have different number of samples") - } - - min_diff <- rep(Inf, nrow(w_star)) - - for (j in 1:nrow(w_star)) { - for (i in 1:nrow(true_w)) { - temp_diff <- mean(abs(true_w[i, ] - w_star[j, ])) - if (temp_diff < min_diff[j]) min_diff[j] <- temp_diff - } - } - - return(sum(min_diff)) -} - -wTibbleToMatrix <- function(w_tb) { - # input: w_chain tibble with columns Iteration, Parameter, value for a single Iteration - # output: w_matrix with rows = clusters, columns = samples - S <- numberSamples(w_tb) - K <- numberClusters(w_tb) - w_mat <- matrix(w_tb$value, nrow = K, ncol = S, byrow = T) - return(w_mat) -} - -calcMetric1Chain <- function(true_w, w_chain, mc.cores) { - w_chain_list <- w_chain %>% - group_by(Iteration) %>% - group_split() - w_chain_list_matrix <- parallel::mclapply(w_chain_list, - wTibbleToMatrix, - mc.cores = mc.cores) - m1_chain <- parallel::mclapply(w_chain_list_matrix, - function(w_star) calcMetric1(true_w, w_star), - mc.cores = mc.cores) - return(unlist(m1_chain)) -} - -calcMetric2Chain <- function(true_w, w_chain, mc.cores) { - w_chain_list <- w_chain %>% - group_by(Iteration) %>% - group_split() - w_chain_list_matrix <- parallel::mclapply(w_chain_list, - wTibbleToMatrix, - mc.cores = mc.cores) - m2_chain <- parallel::mclapply(w_chain_list_matrix, - function(w_star) calcMetric2(true_w, w_star), - mc.cores = mc.cores) - return(unlist(m2_chain)) -} \ No newline at end of file diff --git a/R/pictograph-package.R b/R/pictograph-package.R new file mode 100644 index 0000000..351d1a9 --- /dev/null +++ b/R/pictograph-package.R @@ -0,0 +1,23 @@ +#' pictograph +#' +#' infer tumor evolution using SNV and CNA +#' +#' @import readr +#' @import tidyverse +#' @import dplyr +#' @import tidyr +#' @import rjags +#' @import ggmcmc +#' @import magrittr +#' @import methods +#' @importFrom epiR epi.betabuster +#' @import ggplot2 +#' @importFrom stringr str_replace +#' @import viridis +#' @import igraph +#' @import stringr +#' @import UpSetR +#' @import cluster +#' @name pictograph-package +#' @aliases pictograph +NULL diff --git a/R/plot.R b/R/plot.R deleted file mode 100644 index 684b57e..0000000 --- a/R/plot.R +++ /dev/null @@ -1,661 +0,0 @@ -plot.chain.trace <- function(chain, K) { - ggplot(chain, aes(x = Iteration, y = value)) + - geom_line() + - facet_wrap(~Parameter, nrow = K) + - theme_light() -} - -get.parameter.chain <- function(param, chains) { - chains[grep(paste0(param, "\\["), chains$Parameter), ] -} - -#' Plot probabilities of mutation cluster assignments -#' -#' @export -#' @import ggplot2 -#' @param z_chain MCMC chain of mutation cluster assignment values, which is the second item in the list returned by \code{clusterSep} -plotClusterAssignmentProb <- function(z_chain) { - I <- length(unique(z_chain$Parameter)) - K <- max(unique(z_chain$value)) - num_iter <- max(z_chain$Iteration) - - mcmc_z <- z_chain %>% - group_by(Parameter, value) %>% - summarize(n=n(), - num_iter=num_iter) %>% - mutate(probability=n/num_iter) %>% - ungroup() - - z.seg.tb <- mcmc_z %>% - group_by(Parameter) %>% - summarize(z1 = min(value), z2 = max(value)) - - z.plot <- ggplot(mcmc_z, aes(x = Parameter, y = value, color = probability)) + - theme_light() + - scale_x_discrete(labels = 1:I, name = "Variant") + - scale_y_continuous(breaks = 1:K, name = "Cluster") + - geom_segment(data = z.seg.tb, - aes(x=Parameter, xend=Parameter, - y=z1, yend=z2), - color="black", linetype=2) + - geom_point() + - theme(panel.grid.minor = element_blank()) - return(z.plot) -} - -summarizeZPost <- function(z_chain) { - I <- length(unique(z_chain$Parameter)) - K <- max(unique(z_chain$value)) - num_iter <- max(z_chain$Iteration) - mcmc_z <- z_chain %>% - group_by(Parameter, value) %>% - summarize(n=n(), - num_iter=num_iter) %>% - mutate(probability=n/num_iter) %>% - ungroup() - return(mcmc_z) -} - -#' Plot probabilities of mutation cluster assignments - vertical -#' -#' @export -#' @import ggplot2 -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @param z_chain MCMC chain of mutation cluster assignment values, which is the second item in the list returned by \code{clusterSep} -#' @param w_chain MCMC chain of CCF values, which is the first item in the list returned by \code{clusterSep} -#' @param filter_thresh Lowest posterior probability to include cluster assignment. Default value is 0.05 (inclusive) -#' @param MutID (Optional) Vector of mutation IDs for labeling purposes. Same order as supplied as input data (e.g. indata$Mut_ID) -#' @param SampleID (Optional) Vector of sample IDs for labeling purposes. Same order as supplied as input data (e.g. indata$Sample_ID) -plotClusterAssignmentProbVertical <- function(z_chain, - w_chain, - filter_thresh = 0.05, - MutID = NULL, - SampleID = NULL) { - - mcmc_z <- generateZPostSummary(z_chain, w_chain, filter_thresh, MutID, SampleID) - K <- max(mcmc_z$value) - z.seg.tb <- mcmc_z %>% - group_by(Parameter) %>% - summarize(z1 = min(value), z2 = max(value)) %>% - ungroup() %>% - mutate(Variant = as.numeric(gsub("z\\[|]", "", Parameter)), - Mut_ID = mcmc_z$Mut_ID[match(Variant, mcmc_z$Variant)], - Sample_presence = mcmc_z$Sample_presence[match(Variant, mcmc_z$Variant)]) - - z.plot <- ggplot(mcmc_z, aes(x = value, y = Mut_ID, color = probability)) + - theme_light() + - scale_y_discrete(drop = T, name = "Variant") + - scale_x_continuous(breaks = 1:K, name = "Cluster", labels = 1:K) + - geom_segment(data = z.seg.tb, - aes(y=Mut_ID, yend=Mut_ID, - x=z1, xend=z2), - color="black", linetype=2) + - geom_point() + - theme(panel.grid.minor = element_blank(), - strip.background=element_blank(), - strip.text = element_text(colour = 'black'), - strip.text.y = element_text(angle = 0)) + - facet_grid(Sample_presence~., scales = "free", space = "free") + - scale_color_gradient(limits = c(0,1)) - return(z.plot) -} - -generateZPostSummary <- function(z_chain, - w_chain, - filter_thresh = 0.05, - MutID = NULL, - SampleID = NULL) { - - map_z <- estimateClusterAssignments(z_chain) - map_w <- estimateCCFs(w_chain) - - I <- length(unique(z_chain$Parameter)) - K <- max(unique(z_chain$value)) - num_iter <- max(z_chain$Iteration) - S <- ncol(map_w) - - if (is.null(MutID)) { - mut_labels <- 1:I - } else { - mut_labels <- MutID - } - if (is.null(SampleID)) { - sample_labels <- paste0("Sample ", 1:S) - } else { - sample_labels <- SampleID - } - - - - tiers <- generateTiers(map_w, sample_labels) - - mcmc_z <- summarizeZPost(z_chain) %>% - filter(probability >= filter_thresh) - - # Variant sample presence - var_sample_pres <- map_z %>% - ungroup() %>% - mutate(cluster_num = value, - Variant = as.numeric(gsub("z\\[|]", "", Parameter)), - Mut_ID = mut_labels[Variant], - Sample_presence = tiers$samples[value]) - # sample presence order - sample_pres_order <- tiers %>% - select(samples, tier) %>% - distinct() %>% - arrange(-tier) %>% - pull(samples) - # variant order - var_order <- map_z %>% - arrange(-value) %>% - mutate(Variant = as.numeric(gsub("z\\[|]", "", Parameter)), - Mut_ID = mut_labels[Variant]) %>% - pull(Mut_ID) - - mcmc_z <- mcmc_z %>% - mutate(Variant = as.numeric(gsub("z\\[|]", "", Parameter)), - Mut_ID = factor(mut_labels[Variant], var_order), - Sample_presence = factor(var_sample_pres$Sample_presence[Variant], - sample_pres_order)) - return(mcmc_z) -} - -grabBIC <- function(all_set_results) { - bic_list <- lapply(all_set_results, function(x) x$BIC) - bic_list_filt <- bic_list[sapply(bic_list, function(x) typeof(x) != "logical")] - bic_tb <- bic_list_filt %>% - bind_rows(.id = 'Set') %>% - mutate(Set = factor(Set, levels = names(all_set_results))) - return(bic_tb) -} - -grabBestK <- function(all_set_results) { - best_k <- lapply(all_set_results, function(x) x$best_K) %>% - stack() %>% - rename(Set = ind, - Best_K = values) %>% - as_tibble() - return(best_k) -} - -#' Plot probabilities of mutation cluster assignments (vertical) for tested K across all mutation sets -#' -#' @export -#' @import ggplot2 -#' @import dplyr -#' @param all_set_results List of MCMC results for each mutation set; returned by \code{clusterSep} -#' @param outdir Path to directory for output of plots -#' @param SampleID (Optional) Vector of sample IDs for labeling purposes. Same order as supplied as input data (e.g. indata$Sample_ID) -#' @param filter_thresh Lowest posterior probability to include cluster assignment. Default value is 0.05 (inclusive) -#' @param compare Option to only plot cluster probabilities for K chosen by minimum BIC, elbow or knee of plot when different (default FALSE plots all K tested) -plotAllZProb <- function(all_set_results, outdir, SampleID = NULL, filter_thresh = 0.05, compare = FALSE) { - if (is.null(SampleID)) { - S <- estimateCCFs(all_set_results[[1]]$all_chains[[1]]$w_chain) %>% - ncol - sample_names <- paste0("Sample ", 1:S) - } else { - sample_names <- SampleID - } - - num_sets <- length(all_set_results) - set_names_bin <- names(all_set_results) - - if (compare) k_tb <- writeSetKTable(all_set_results) - - for (set in set_names_bin) { - set_name_full <- sample_names[as.logical(as.numeric(strsplit(set, "")[[1]]))] %>% - paste0(., collapse = ",\n") - - all_set_chains <- all_set_results[[set]]$all_chains - k_tested <- as.numeric(gsub("K", "", names(all_set_chains))) - S <- all_set_chains[[1]]$w_chain %>% - estimateCCFs %>% - ncol - I <- all_set_chains[[1]]$z_chain %>% - estimateClusterAssignments %>% - nrow - num_iter <- all_set_chains[[1]]$z_chain %>% - pull(Iteration) %>% - max - - if (I == 1) next # plot is trivial if only one mutation in set; skip plotting - - if (compare) { - # only plot for K = minimum BIC and K = elbow - k_to_plot <- k_tb %>% - filter(set_name_bin == set) %>% - select(min_BIC, elbow, knee) %>% - unlist %>% - unname %>% - unique - if (any(is.na(k_to_plot))) k_to_plot <- k_to_plot[-which(is.na(k_to_plot))] - - } else { - k_to_plot <- k_tested - } - - for (k in k_to_plot) { - z_plot_file <- file.path(outdir, paste0(set, "_", names(all_set_chains)[k], "_z_plot.pdf")) - plot_title <- paste0(set_name_full, ": ", names(all_set_chains)[k]) - temp_chains <- all_set_chains[[k]] - - mcmc_z <- summarizeZPost(temp_chains$z_chain) %>% - filter(probability >= filter_thresh) %>% - mutate(Variant = as.numeric(gsub("z\\[|]", "", Parameter))) - - # order varints by highest probability cluster assignment - var_order <- mcmc_z %>% - group_by(Variant) %>% - summarize(map_z = value[which.max(probability)]) %>% - arrange(-map_z) %>% - pull(Variant) - - mcmc_z <- mcmc_z %>% - mutate(Variant = factor(Variant, levels = var_order)) - - # segments connecting multiple assignments for each variant - z.seg.tb <- mcmc_z %>% - group_by(Variant) %>% - summarize(z1 = min(value), z2 = max(value)) %>% - ungroup() - - z.plot <- ggplot(mcmc_z, aes(x = value, y = Variant, color = probability)) + - theme_light() + - scale_y_discrete(drop = T, name = "Variant", labels = NULL) + - scale_x_continuous(breaks = 1:k, name = "Cluster", labels = 1:k) + - geom_segment(data = z.seg.tb, - aes(y=Variant, yend=Variant, - x=z1, xend=z2), - color="black", linetype=2) + - geom_point() + - theme(panel.grid.minor = element_blank(), - strip.background=element_blank(), - strip.text = element_text(colour = 'black'), - strip.text.y = element_text(angle = 0)) + - scale_color_gradient(limits = c(0,1)) + - ggtitle(plot_title) - plot_height <- max(3, I/15) + S/2 - ggsave(z_plot_file, plot = z.plot, height = plot_height, width = max(3, k)) - } - } -} - -#' Plot BIC for all mutation sets -#' -#' @export -#' @import dplyr -#' @import ggplot2 -#' @param all_set_results List of MCMC results for each mutation set; returned by \code{clusterSep} -#' @param SampleID (Optional) Vector of sample IDs for labeling purposes. Same order as supplied as input data (e.g. indata$Sample_ID) -plotBIC <- function(all_set_results, Sample_ID = NULL) { - bic_tb <- grabBIC(all_set_results) - k_tb <- writeSetKTable(all_set_results) - min_BIC <- grabBestK(all_set_results) %>% - rename(K_tested = Best_K) %>% - left_join(., bic_tb, - by = c("Set", "K_tested")) %>% - mutate(Choice = "Minimum") - elbow <- k_tb %>% - select(K_tested = elbow, Set = set_name_bin) %>% - mutate(Set = factor(Set, levels(bic_tb$Set))) %>% - left_join(., bic_tb, - by = c("Set", "K_tested")) %>% - mutate(Choice = "Elbow") - knee <- k_tb %>% - select(K_tested = knee, Set = set_name_bin) %>% - mutate(Set = factor(Set, levels(bic_tb$Set))) %>% - left_join(., bic_tb, - by = c("Set", "K_tested")) %>% - mutate(Choice = "Knee") - - if (any(is.na(min_BIC$BIC))) min_BIC <- min_BIC[-which(is.na(min_BIC$BIC)), ] - if (any(is.na(elbow$BIC))) elbow <- elbow[-which(is.na(elbow$BIC)), ] - if (any(is.na(knee$BIC))) knee <- knee[-which(is.na(knee$BIC)), ] - - # rename sets - if (is.null(Sample_ID)) { - S <- all_set_results[[1]]$best_chains$w_chain %>% - estimateCCFs %>% - ncol - Sample_ID <- paste0("Sample ", 1:S) - } - - set_name_tb <- tibble(set_bin = unique(bic_tb$Set), - set_name = sapply(unique(bic_tb$Set), function(x) getSetName(x, Sample_ID))) %>% - mutate(set_name = factor(set_name, set_name)) - - bic_tb <- bic_tb %>% - mutate(Set_name = sapply(bic_tb$Set, function(x) getSetName(x, Sample_ID))) %>% - mutate(Set_name = factor(Set_name, set_name_tb$set_name)) - k_choices <- bind_rows(min_BIC, elbow, knee) %>% - mutate(Set_name = sapply(Set, function(x) getSetName(x, Sample_ID))) %>% - mutate(Set_name = factor(Set_name, set_name_tb$set_name)) %>% - mutate(Choice = factor(Choice, c("Minimum", "Elbow", "Knee"))) - - # plot - bic_plot <- ggplot(bic_tb, aes(x = K_tested, y = BIC)) + - theme_light() + - facet_wrap(~Set_name, scales = "free") + - geom_line() + - geom_point(data = k_choices, aes(color = Choice, size = Choice, shape = Choice), stroke = 1) + - scale_shape_manual(values=c(19, 1, 1))+ - scale_color_manual(values=c('#999999',"#56B1F7", "#E69F00")) + - scale_size_manual(values=c(1, 3, 5)) + - #geom_point(data = elbow, color = , size = 4, shape = 1) - theme(strip.background=element_blank(), - strip.text = element_text(colour = 'black'), - panel.grid.minor = element_blank()) + - xlab("K") - - return(bic_plot) -} - -#' Convert binary set names to long form with Sample_ID -getSetName <- function(binary_name, Sample_ID, collapse_string = ", \n") { - split_bin <- strsplit(as.character(binary_name), "") %>% - .[[1]] %>% - as.numeric() %>% - as.logical() - samples_present <- Sample_ID[split_bin] - set_name <- paste0(samples_present, collapse = collapse_string) - return(set_name) -} - -#' Plot cluster CCF posterior distributions -#' -#' @export -#' @import ggplot2 -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @param w_chain MCMC chain of CCF values, which is the first item in the list returned by \code{clusterSep} -plotDensityCCF <- function(w_chain) { - w_chain <- w_chain %>% - mutate(Cluster = as.numeric(gsub("w\\[", "", sapply(w_chain$Parameter, function(x) strsplit(as.character(x), ",")[[1]][1])))) %>% - mutate(Sample = gsub("\\]", "", sapply(w_chain$Parameter, function(x) strsplit(as.character(x), ",")[[1]][2]))) - K <- max(as.numeric(w_chain$Cluster)) - S <- max(as.numeric(w_chain$Sample)) - suppressWarnings(print( - ggplot(w_chain, aes(x = value)) + - geom_density() + - facet_wrap(~Cluster + Sample, ncol = S, scales = "free_y") + - theme_light() + - ylab("Density") + xlab("CCF") + - theme(panel.grid.major = element_blank(), - panel.grid.minor = element_blank(), - strip.background = element_blank(), - #strip.text = element_text(colour = 'black'), - strip.text.x = element_blank(), - #axis.text.x=element_blank(), - #axis.ticks.x=element_blank(), - axis.text.y=element_blank(), - axis.ticks.y=element_blank()) + - scale_x_continuous(breaks=c(0, 0.5, 1)) - )) -} - -#' Plot cluster CCF posterior distributions as violin plots -#' -#' @export -#' @import ggplot2 -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @importFrom stringr str_replace_all -#' @param w_chain MCMC chain of CCF values -#' @param z_chain (Optional) MCMC chain of mutation cluster assignment values. If provided, cluster names will show the number of mutations assigned in brackets -#' @param indata (Optional) List of input data items -plotCCFViolin <- function(w_chain, z_chain = NULL, indata = NULL) { - # process data - vdat <- violinProcessData(w_chain, indata) - - if (!is.null(z_chain)) { - num_muts_in_clusters <- estimateClusterAssignments(z_chain) %>% - group_by(value) %>% - summarize(num_muts = n()) %>% - ungroup() %>% - rename(cluster = value) - num_muts <- num_muts_in_clusters$num_muts[match(vdat$cluster_num, num_muts_in_clusters$cluster)] - new_cluster_labels <- paste0("Cluster ", - vdat$cluster_num, - " [", num_muts,"]") - vdat <- vdat %>% - mutate(cluster = factor(new_cluster_labels, unique(new_cluster_labels))) - } - - # plot violins - vplot <- plotViolin(vdat) - return(vplot) -} - -generateTiers <- function(w_mat, Sample_ID) { - clusters <- paste0("Cluster ", seq_len(nrow(w_mat))) - bin <- w_mat > 0 - samples <- apply(bin, 1, function(x) paste(Sample_ID[x], collapse = ",\n")) - tier <- rowSums(bin) - tiers <- tibble(cluster = clusters, - cluster_num = seq_len(nrow(w_mat)), - samples = samples, - tier = tier) - return(tiers) -} - -violinProcessData <- function(w_chain, indata = NULL) { - w_mat <- estimateCCFs(w_chain) - est_K <- nrow(w_mat) - - if (is.null(indata$Sample_ID)) { - sample_names <- paste0("Sample ", 1:ncol(w_mat)) - } else { - sample_names <- indata$Sample_ID - } - - vdat <- w_chain %>% - mutate(sample=stringr::str_replace_all(Parameter, "w\\[[:digit:]+,", ""), - sample=stringr::str_replace_all(sample, "\\]", ""), - cluster=stringr::str_replace_all(Parameter, "w\\[", ""), - cluster=stringr::str_replace_all(cluster, ",[:digit:]\\]", "")) %>% - mutate(sample=as.numeric(sample), - sample=sample_names[sample], - sample=factor(sample, sample_names), - cluster=as.numeric(cluster), - cluster=paste0("Cluster ", cluster), - cluster=factor(cluster, level=paste("Cluster", 1:est_K))) - - tiers <- generateTiers(w_mat, sample_names) - - vdat <- vdat %>% - mutate(cluster=as.character(cluster)) %>% - left_join(tiers, by="cluster") %>% - mutate(cluster=factor(cluster, tiers$cluster), - tier=factor(tier, sort(unique(tiers$tier)))) - return(vdat) -} - -plotViolin <- function(vdat) { - vplot <- ggplot(vdat, aes(sample, value)) + - geom_violin(aes(fill=tier), - alpha=0.6, - scale="width", - draw_quantiles=c(0.25, 0.5, 0.75), - color="white") + - geom_violin(fill="transparent", color="black", - scale="width", draw_quantiles=0.5) + - theme_bw(base_size=12) + - theme(strip.background=element_blank(), - axis.text.x=element_text(size=12), - panel.grid=element_blank(), - legend.pos="bottom") + - facet_wrap(~cluster, nrow=1) + - ylab("Posterior CCF") + xlab("") +ylim(c(0, 1)) + - guides(fill=guide_legend("Sample-presence")) + - theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1)) - return(vplot) -} - -#' Plot single tree -#' -#' @export -#' @param edges tibble of edges with columns edge, parent, child -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @import ggplot2 -plotTree <- function(edges, palette=viridis::viridis) { - plotGraph(edgesToAmLong(edges), colorScheme(edges, palette)) -} - -#' generate colors for each vertice -#' @export -colorScheme <- function(edges, palette=viridis::viridis) { - v_sorted = sort(unique(c(edges$parent, edges$child))) - v_sorted = c(sort(as.integer(v_sorted[!v_sorted=='root'])), "root") - # root_idx <- which(v_sorted=="root") - colors <- c(palette(length(v_sorted)-1), "white") - v_color <- tibble(v_sorted, colors) - return(v_color) -} - -#' Plot ensemble tree -#' -#' @export -#' @param trees list of tibbles of edges, each with columns edge, parent, child -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @import ggplot2 -plotEnsembleTree <- function(trees, palette=viridis::viridis) { - am_chain <- lapply(trees, edgesToAmLong) - post_am <- getPosteriorAmLong(am_chain) - plotPosteriorAmLong(post_am, colorScheme(trees[[1]], palette)) -} - -#' Plot CCF chain trace -#' -#' @export -#' @import ggplot2 -#' @import tibble -#' @import dplyr -#' @import tidyr -#' @param w_chain MCMC chain of CCF values, which is the first item in the list returned by \code{mergeSetChains} -plotChainsCCF <- function(w_chain) { - cluster <- strsplit(as.character(w_chain$Parameter), ",") %>% - sapply(., function(x) gsub("w\\[", "", x[1])) %>% - as.numeric - sample <- strsplit(as.character(w_chain$Parameter), ",") %>% - sapply(., function(x) gsub("\\]", "", x[2])) %>% - as.numeric - - w_chain <- w_chain %>% - mutate(Cluster = factor(paste0("Cluster ", cluster), - levels = paste0("Cluster ", sort(unique(cluster)))), - Sample = factor(paste0("Sample ", sample), - levels = paste0("Sample ", sort(unique(sample))))) - - ggplot(w_chain, aes(x = Iteration, y = value)) + - geom_line() + - theme_light() + - facet_grid(Cluster ~ Sample) + - ylab("Cancer Cell Fraction") -} - -#' Plot posterior predictive distribution for number of variant reads -#' -#' @export -#' @import ggplot2 -#' @import tibble -#' @import tidyr -#' @param ystar_chain MCMC chain of ystar values, which is the third item in the list returned by \code{clusterSep} -#' @param indata List of input data items -#' @param SampleID (Optional) Vector of sample IDs for labeling purposes. Same order as supplied as input data (e.g. indata$Sample_ID). If not provided, function will use the Sample_ID in indata -#' @param Mutation_ID (Optional) Vector of mutation IDs. If not provided, function will use the MutID in indata -plotPPD <- function(ystar_chain, indata, - Sample_ID = NULL, - Mutation_ID = NULL) { - I <- indata$I - if (is.null(Sample_ID)) Sample_ID <- indata$Sample_ID - if (is.null(Mutation_ID)) Mutation_ID <- indata$Mut_ID - - ppd.summaries <- ystar_chain %>% - group_by(Parameter) %>% - summarize(mean=mean(value), - median=median(value), - q1=quantile(value, 0.025), - q3=quantile(value, 0.975)) - - observed_y <- indata$y %>% - magrittr::set_colnames(Sample_ID) %>% - as_tibble() %>% - mutate(Mutation_index = 1:I) %>% - pivot_longer(cols = Sample_ID, - names_to = "Sample", - values_to = "observed_y") %>% - mutate(s = match(Sample, Sample_ID), - Parameter = paste0("ystar[", Mutation_index, ",", s, "]")) - - ppd.summaries2 <- ppd.summaries %>% - left_join(., observed_y, by = "Parameter") - points <- ppd.summaries2 %>% - select(Parameter, Mutation_index, Sample, observed_y, median) %>% - rename("Observed variant read count" = observed_y, - "Posterior median" = median) %>% - pivot_longer(cols = c("Observed variant read count", "Posterior median"), - names_to = "type", - values_to = "value") %>% - left_join(., ppd.summaries2, by = c("Parameter", - "Mutation_index", - "Sample")) - points_order <- ppd.summaries2 %>% - filter(Sample == Sample_ID[1]) %>% - arrange(observed_y) %>% - pull(Mutation_index) - - variant_gene_names <- Mutation_ID %>% - sapply(., function(x) strsplit(x, "_")[[1]][1]) %>% - as.character() - variant_gene_names_ordered <- variant_gene_names[points_order] - points2 <- points %>% - mutate(Mutation_index = factor(Mutation_index, - levels = points_order)) - - # plot - points3 <- points2 %>% - mutate(type=gsub("Observed variant read count", - "Observed variant\nread count", - type)) - colors <- setNames(c("gray40", "steelblue"), unique(points3$type)) - fill <- setNames(c("white", "steelblue"), unique(points3$type)) - points3 %>% - ggplot(aes(x=mean, y=Mutation_index, - xmin=q1, - xmax=q3)) + - geom_errorbar(color="gray") + - geom_point(aes(x = value, y = Mutation_index, color=type, fill=type), - size=2, pch=21) + - scale_y_discrete(labels = variant_gene_names_ordered, - breaks = points_order) + - theme_bw(base_size=15) + - theme(#axis.text.y=element_blank(), - axis.title.x=element_text(size=20), - axis.text.x=element_text(size=17), - strip.text=element_text(size=22), - panel.grid=element_blank(), - axis.ticks.y=element_blank(), - legend.text=element_text(size=18), - panel.background=element_rect(fill="white", - color="black"), - legend.pos="bottom", - strip.background=element_blank()) + - scale_color_manual(name="", - labels=names(colors), - values=colors) + - scale_fill_manual(name="", - labels=names(colors), - values=fill) + - xlab("Variant allele count") + - ylab("") + - facet_wrap(~Sample) + - guides(color=guide_legend(override.aes=list(size=3))) -} diff --git a/R/preprocessing.R b/R/preprocessing.R index e3f8cb4..a8ed103 100644 --- a/R/preprocessing.R +++ b/R/preprocessing.R @@ -1,10 +1,28 @@ -#' read input data file and store in PICTOGRAPH input format +#' read input data file and store in required format #' #' @export -#' @param input_file input data file; -importCSV <- function(inputFile, alt_reads_thresh = 6, vaf_thresh = 0.02) { - data <- read_csv(inputFile, show_col_types = FALSE) - data <- data %>% filter(alt_reads/total_reads>vaf_thresh, alt_reads>alt_reads_thresh) +#' @param mutation_file mutation data file; see inst/extdata/examples/*_snv.csv for examples +#' @param outputDir output directory for saving output data +importFiles <- function(mutation_file, + outputDir=NULL, + alt_reads_thresh = 0, # to be tested + vaf_thresh = 0 # to be tested + ) { + + if (is.null(outputDir)) { + outputDir = getwd() + } + + mutation_data = importMutationFileOnly(mutation_file, alt_reads_thresh, vaf_thresh) + mutation_data$is_cn <- c(rep(0, nrow(mutation_data$y))) + + return(mutation_data) +} + +#' import mutation file +importMutationFileOnly <- function(mutation_file, alt_reads_thresh = 0, vaf_thresh = 0) { + data <- read_csv(mutation_file, show_col_types = FALSE) + data <- data %>% filter(alt_reads/total_reads>=vaf_thresh, alt_reads>=alt_reads_thresh) output_data <- list() output_data$y <- as.matrix(data[c("mutation", "sample", "alt_reads")] %>% pivot_wider(names_from = sample, values_from = alt_reads, values_fill = 0)) @@ -28,169 +46,69 @@ importCSV <- function(inputFile, alt_reads_thresh = 6, vaf_thresh = 0.02) { colnames(output_data$n) = colname if (any((output_data$y - output_data$n) > 0)) { - warning("Total read count must be equal or bigger than alt read count. Please check input data before proceeding!") - stop() + stop("Total read count must be equal or bigger than alt read count. Please check input data before proceeding!") } if (any(output_data$n==0)) { - warning("Total read counts of 0 encoutered. Replaced 0 with mean total read count.") + print("Total read counts of 0 encoutered. Replaced 0 with mean total read count.") output_data$n[output_data$n==0] <- round(mean(output_data$n)) } - output_data$tcn <- as.matrix(data[c("mutation", "sample", "tumor_integer_copy_number")] %>% pivot_wider(names_from = sample, values_from = tumor_integer_copy_number, values_fill = 2)) - rownames(output_data$tcn) <- output_data$tcn[,'mutation'] - output_data$tcn <- output_data$tcn[,-1, drop=FALSE] - rowname = rownames(output_data$tcn) - colname = colnames(output_data$tcn) - output_data$tcn <- matrix(as.numeric(output_data$tcn), ncol = ncol(output_data$tcn)) - rownames(output_data$tcn) = rowname - colnames(output_data$tcn) = colname - - output_data$purity <- as.matrix(data[c("mutation", "sample", "purity")] %>% pivot_wider(names_from = sample, values_from = purity, values_fill = 0)) - rownames(output_data$purity) <- output_data$purity[,'mutation'] - output_data$purity <- output_data$purity[,-1, drop=FALSE] - rowname = rownames(output_data$purity) - colname = colnames(output_data$purity) - output_data$purity <- matrix(as.numeric(output_data$purity), ncol = ncol(output_data$purity)) - rownames(output_data$purity) = rowname - colnames(output_data$purity) = colname - output_data$purity = colSums(output_data$purity) / colSums(!!output_data$purity) - # if (ncol(output_data$purity) == 1) { - # if (length(unique(output_data$purity[,])) != 1) { - # warning("purity not consistent for the same sample; taking the mean purity") - # output_data$purity <- round(colMeans(output_data$purity), digit=2) - # } else { - # output_data$purity <- unique(output_data$purity[,]) - # } - # } else { - # if (nrow(unique(output_data$purity[,])) != 1) { - # warning("Purity not consistent for the same sample; taking the mean purity") - # output_data$purity <- round(colMeans(output_data$purity), digit=2) - # } else { - # output_data$purity <- unique(output_data$purity[,])[1,] - # } - # } + output_data$icn <- as.matrix(data[c("mutation", "sample", "tumor_integer_copy_number")] %>% pivot_wider(names_from = sample, values_from = tumor_integer_copy_number, values_fill = 2)) + rownames(output_data$icn) <- output_data$icn[,'mutation'] + output_data$icn <- output_data$icn[,2:ncol(output_data$icn)] + output_data$icn <- matrix(as.numeric(output_data$icn), ncol=ncol(output_data$y)) + output_data$icn <- apply(output_data$icn, 1, function(x) { + if (all(x == 2)) { + return(2) + } else { + return(mean(x[x != 2])) + } + }) + + output_data$cncf <- as.matrix(data[c("mutation", "sample", "cncf")] %>% pivot_wider(names_from = sample, values_from = cncf, values_fill = 0)) + rownames(output_data$cncf) <- output_data$cncf[,'mutation'] + output_data$cncf <- output_data$cncf[,-1,drop=FALSE] + rowname = rownames(output_data$cncf) + colname = colnames(output_data$cncf) + output_data$cncf <- matrix(as.numeric(output_data$cncf), ncol = ncol(output_data$cncf)) + rownames(output_data$cncf) = rowname + colnames(output_data$cncf) = colname output_data$S = ncol(output_data$y) output_data$I = nrow(output_data$y) - if ("multiplicity" %in% colnames(data)) { - output_data$m <- as.matrix(data[c("mutation", "sample", "multiplicity")] %>% pivot_wider(names_from = sample, values_from = multiplicity, values_fill = 1)) - rownames(output_data$m) <- output_data$m[,'mutation'] - output_data$m <- output_data$m[,-1, drop=FALSE] - rowname = rownames(output_data$m) - colname = colnames(output_data$m) - output_data$m <- matrix(as.numeric(output_data$m), ncol = ncol(output_data$m)) - rownames(output_data$m) = rowname - colnames(output_data$m) = colname - if(any(data$multiplicity == 0)){ - warning("Multiplicity of 0 encoutered in the input data file which may cause issue for jags model!") - } + output_data$tcn = output_data$icn * output_data$cncf + 2 * ( 1 - output_data$cncf) + + if ("major_integer_copy_number" %in% colnames(data)) { + output_data$mtp <- as.matrix(data[c("mutation", "sample", "major_integer_copy_number")] %>% pivot_wider(names_from = sample, values_from = major_integer_copy_number, values_fill = 1)) + rownames(output_data$mtp) <- output_data$mtp[,'mutation'] + output_data$mtp <- output_data$mtp[,2:ncol(output_data$mtp)] + output_data$mtp <- matrix(as.numeric(output_data$mtp), ncol=ncol(output_data$y)) + output_data$mtp <- apply(output_data$mtp, 1, function(x) { + if (all(x == 1)) { + return(1) + } else { + return(mean(x[x != 1])) + } + }) } else { - output_data$m <- estimateMultiplicityMatrix(output_data) - } - - # output_data$y[output_data$y / output_data$n < vaf_thresh] = 0 - # output_data$y[output_data$y < alt_reads_thresh] = 0 - - # output_data$n = output_data$n[rowSums(output_data$y) > 0,] - # output_data$tcn = output_data$tcn[rowSums(output_data$y) > 0,] - # output_data$m = output_data$m[rowSums(output_data$y) > 0,] - # output_data$MutID = output_data$MutID[rowSums(output_data$y) > 0] - # output_data$y = output_data$y[rowSums(output_data$y) > 0,] - # output_data$I = nrow(output_data$y) - return(output_data) -} - -get95CI <- function(y, n) { - test <- prop.test(y, n, correct = T) - ci_lower <- test$conf.int[1] - ci_upper <- test$conf.int[2] - return(c(ci_lower, ci_upper)) -} - -calcmC <- function(VAF, purity, tcn) { - mC <- (VAF * (purity * tcn + (1-purity) * 2)) / purity - return(mC) -} - -getmCCI <- function(y, n, purity, tcn) { - VAF_CI <- get95CI(y, n) - lower_mC <- calcmC(VAF_CI[1], purity, tcn) - upper_mC <- calcmC(VAF_CI[2], purity, tcn) - return(c(lower_mC, upper_mC)) -} - -assignMultiplicity <- function(lower_mC, upper_mC, tcn) { - # (1) If the CI for mC overlaps an integer value, - # that value is estimated to indicate the multiplicity - # of the mutation and the mutation is clonal (C=1) - if (ceiling(lower_mC) == floor(upper_mC)) { - test_m <- ceiling(lower_mC) - # cap m at tcn - if (test_m > tcn) return (tcn) - return(test_m) + output_data$mtp <- estimateMultiplicityMatrix(output_data)[,1] } - # (2) If the upper bound of the CI for mC is below 1, - # the multiplicity is set to 1, and the mutation is - # subclonal, unless the resulting estimate for C is - # within a tolerance threshold (0.25) of 1 - if (upper_mC < 1) return(1) - - # (3) If the CI for mC is above 1 and does not overlap - # any integer values, multiplicity is greater than 1 - # and m is set such that the confidence interval for C - # falls within the expected intervals of [0,1] - if (lower_mC > 1) { - keep_going <- TRUE - m <- 1 - while(keep_going) { - # cap m at tcn - if (m == tcn) return(m) - - m <- m + 1 - C_lower <- lower_mC / m - C_upper <- upper_mC / m - if (C_lower > 0 & C_upper < 1) { - keep_going <- FALSE - } - } - return(m) + if ("purity" %in% colnames(data)) { + output_data$purity <- as.matrix(data[c("mutation", "sample", "purity")] %>% pivot_wider(names_from = sample, values_from = purity, values_fill = 0)) + rownames(output_data$purity) <- output_data$purity[,'mutation'] + output_data$purity <- output_data$purity[,-1, drop=FALSE] + rowname = rownames(output_data$purity) + colname = colnames(output_data$purity) + output_data$purity <- matrix(as.numeric(output_data$purity), ncol = ncol(output_data$purity)) + rownames(output_data$purity) = rowname + colnames(output_data$purity) = colname + output_data$purity = colSums(output_data$purity) / colSums(!!output_data$purity) + } else { + output_data$purity = rep(0.8, ncol(output_data$y)) } - # CI for mC spans more than 1 integer value including 1 - if (lower_mC <= 1 && upper_mC >= 1) return(1) - - return(NA) -} - -estimateMultiplicity <- function(y, n, purity, tcn) { - # if no variant reads, assigning multiplicity of 1 - if (y == 0) return(1) - mC_CI <- getmCCI(y, n, purity, tcn) - m <- max(1, assignMultiplicity(mC_CI[1], mC_CI[2], tcn)) - return(m) + return(output_data) } - -estimateMultiplicityMatrix <- function(data) { - Y = data$y - N = data$n - Tcn = data$tcn - Purity = data$purity - I = data$I - S = data$S - M = matrix(100, I, S) - - for (i in 1:I) { - for (s in 1:S) { - y = Y[[i, s]] - n = N[[i, s]] - tcn = Tcn[[i, s]] - purity = Purity[s] - m = estimateMultiplicity(y, n, purity, tcn) - M[i, s] = m - } - } - return(M) -} \ No newline at end of file diff --git a/R/sample-presence.R b/R/sample-presence.R new file mode 100644 index 0000000..e004921 --- /dev/null +++ b/R/sample-presence.R @@ -0,0 +1,30 @@ +#' sample presence for MCMC +#' @export +separateMutationsBySamplePresence <- function(input_data) { + # returns list of lists -- + # each item of list contains input data for a mutation sample presence set + # original mutation indices from input_data are recorded in $mutation_indices + pres <- ifelse(input_data$y > 0 & !input_data$is_cn, 1, 0) + ifelse(input_data$is_cn & input_data$tcn != 2, 1, 0) + + pat <- apply(pres, 1, function(x) paste0(x, collapse="")) + types <- sort(names(table(pat)), decreasing=TRUE) + + type_indices <- lapply(types, function(x) which(pat == x)) + names(type_indices) <- types + + sep_list <- list() + for (t in seq_len(length(types))) { + sep_list[[types[t]]] <- list(pattern = types[t], + mutation_indices = type_indices[[types[t]]], + y = input_data$y[type_indices[[types[t]]], ,drop=FALSE], + n = input_data$n[type_indices[[types[t]]], ,drop=FALSE], + tcn = input_data$tcn[type_indices[[types[t]]], ,drop=FALSE], + is_cn = input_data$is_cn[type_indices[[types[t]]]], + cncf = input_data$cncf[type_indices[[types[t]]], ,drop=FALSE], + mtp = input_data$mtp[type_indices[[types[t]]]], + icn = input_data$icn[type_indices[[types[t]]]], + MutID = input_data$MutID[type_indices[[types[t]]]], + purity = input_data$purity) + } + return(sep_list) +} \ No newline at end of file diff --git a/R/simulation.R b/R/simulation.R new file mode 100644 index 0000000..718ce77 --- /dev/null +++ b/R/simulation.R @@ -0,0 +1,510 @@ +simulation_type3_jags <- function(eta=0.8, S=3, K=2, I=50, num_cn=10, seed=12345, depth=50) { + set.seed(12345) + eta <- 0.85 + S <- 2 + K <- 3 + I <- 70 + num_cn=10 + depth = 50 + mcf <- ifelse(runif(K*S, 0, 1) < eta, 1, 0) * + rbeta(K*S, 1, 1) %>% + matrix(K, S) + pi <- rdirichlet(1, rep(1, K)) + z <- replicate(I, sample(seq_len(K), size=1, + replace=TRUE, prob=pi)) + ## indicator for whether mutation is in copy-altered or LOH region + h <- rep(c(0, 1), c(I-num_cn, num_cn)) + + ## integer total copy number in the tumor + icn <- rep(NA, I) + icn[ h==0 ] <- 2 + icn[ h==1 ] <- rpois(sum(h==1), 2) + + ## m is the number of copies of the chromosome for an allele/variant + m <- rep(NA, I) + m[ h == 0 ] <- 1 + m[ h == 1 ] <- pmin(icn[h==1], rpois(sum(h==1), 1)) + + indices <- sample(1:2, sum(h==1), replace = TRUE) + m[ h==1 ] <- ifelse(indices == 1, m[h==1], icn[h==1]-m[h==1]) + + ## tcn is the fraction copy number of mixture of normal and tumor cells + epsilon <- 0.1 + tcn <- matrix(2, I, S) + for (i in 1:I) { + for (s in 1:S) { + if (h[i] == 1) { + tcn[i,s] <- rnorm(1, icn[i] * mcf[z[i], s] + 2 * (1-mcf[z[i], s]), epsilon) + } + } + } + + ## indicator for whether a SSM is diploid + ## cncf if the fraction of copy number alteration that overlaps a SSM + q <- rep(0, I) + for (i in 1:I) { + if (i <= (I-num_cn)) { + prob <- runif(1) + if (prob > 0.9) { + q[i] <- sample((I-num_cn+1):I,1) + tcn[i,] <- tcn[q[i],] + icn[i] <- icn[q[i]] + m[i] <- sample(c(m[q[i]], icn[q[i]]-m[q[i]]),1) + } else { + q[i] <- i + } + } else { + q[i] <- i + } + } + + vaf <- matrix(NA, I, S) + + for(i in seq_len(I)){ + for(s in seq_len(S)){ + if(h[i] == 0){ + vaf[i,s] <- max(0, (mcf[z[i], s] + (m[i] - 1) * mcf[z[q[i]],s]) / tcn[i,s]) + vaf[i,s] <- min(1, vaf[i,s]) + } else{ + vaf[i,s] <- max(0, (mcf[z[i], s]*m[i] + 1 - mcf[z[i], s]) / tcn[i,s]) + vaf[i,s] <- min(1, vaf[i,s]) + } + } + } + + n <- matrix(rpois(n = I*S, lambda = depth), I, S) + y <- matrix(rbinom(n=I*S, size=as.numeric(n), prob=as.numeric(vaf)), I, S) + + model <- jags.model(file = "~/JHU/scripts/R/pictograph2/inst/extdata/type3.jags", + data = list(K=K, S=S, I=I, y=y, is_cn=h, n=n, tcn=tcn, q=q), + inits = list(".RNG.name" = "base::Wichmann-Hill", + ".RNG.seed" = 123)) + + update(model, n.iter = 1000) + + Nrep = 10000 + + posterior_sample <- coda.samples(model, + variable.names = c("mcf", "z", "icn", "m"), + n.iter = Nrep) + # plot(posterior_sample[,1]) + # summary(posterior_sample) + + # get.parameter.chain("z", ggmcmc::ggs(posterior_sample)) + + chains <- formatChains(posterior_sample) + + mcf + mcf_est <- writeClusterMCFsTable(chains$mcf_chain) + mcf_est + plotChainsCCF(chains$mcf_chain) + + # which(z==1) + # which(z==2) + # z + z_est <- writeClusterAssignmentsTable(chains$z_chain) + # z_est %>% filter(Cluster==2) + z_est <- z_est %>% mutate(idx = as.numeric(gsub("Mut(\\d+)","\\1", Mut_ID))) %>% arrange(idx) + # z_est$Cluster + table(z, z_est$Cluster) + + m + m_est <- writeMultiplicityTable(chains$m_chain) + m_est$Multiplicity + table(m, m_est$Multiplicity) + # m_tmp <- get.parameter.chain("m", ggmcmc::ggs(posterior_sample)) + # m_tmp <- m_tmp %>% filter(Parameter=="m[46]") + + icn + icn_est <- writeIcnTable(chains$icn_chain) + icn_est$icn + table(icn, icn_est$icn) + # icn_tmp <- get.parameter.chain("icn", ggmcmc::ggs(posterior_sample)) + # icn_tmp <- icn_tmp %>% filter(Parameter=="icn[50]") + # icn_tmp <- chains$icn_chain %>% group_by(Parameter) %>% reframe(val=round(mean(value))) %>% mutate(idx = as.numeric(gsub("icn\\[(\\d+)\\]","\\1", Parameter))) %>% arrange(idx) +} + +simulation_type1_jags <- function(ets=0.8, S=3, K=2, I=50, num_cn=10, seed=12345) { + set.seed(123) + eta <- 0.8 + S <- 4 + K <- 3 + I <- 70 + num_cn=10 + mcf <- ifelse(runif(K*S, 0, 1) < eta, 1, 0) * + rbeta(K*S, 1, 1) %>% + matrix(K, S) + pi <- rdirichlet(1, rep(1, K)) + z <- replicate(I, sample(seq_len(K), size=1, + replace=TRUE, prob=pi)) + ## indicator for whether mutation is a copy number alteration + h <- rep(c(0, 1), c(I-num_cn, num_cn)) + ## integer total copy number in the tumor + icn <- rep(NA, I) + icn[ h==0 ] <- 2 + # multinom <- function(p){ + # sample(0:(p-1), sum(h==1), replace=TRUE, + # prob=rep(1/p, p)) + # } + # icn[ h==1 ] <- multinom(8) + icn[ h==1 ] <- rpois(sum(h==1), 2) + + ## m is the number of copies of the chromosome for an allele/variant + m <- rep(NA, I) + m[ h == 0 ] <- 1 + # m[ h == 1 ] <- pmin(icn[h==1], multinom(4)) + m[ h == 1 ] <- pmin(icn[h==1], rpois(sum(h==1), 1)) + + indices <- sample(1:2, sum(h==1), replace = TRUE) + m[ h==1 ] <- ifelse(indices == 1, m[h==1], icn[h==1]-m[h==1]) + + vaf <- matrix(NA, I, S) + tcn <- matrix(2, I, S) + epsilon <- 0.1 + for(i in seq_len(I)){ + for(s in seq_len(S)){ + if(h[i] == 0){ + vaf[i, s] <- mcf[z[i], s]/tcn[i,s] + } else{ + tcn[i,s] <- max(0.01, rnorm(1, icn[i] * mcf[z[i], s] + 2 * (1-mcf[z[i], s]), epsilon)) + vaf[i,s] <- (mcf[z[i], s]*m[i] + 1 - mcf[z[i], s])/tcn[i,s] + } + } + } + + n <- matrix(rpois(n = I*S, lambda = 50), I, S) + y <- matrix(rbinom(n=I*S, size=as.numeric(n), prob=as.numeric(vaf)), I, S) + + model <- jags.model(file = "~/JHU/scripts/R/pictograph2/inst/extdata/type1.jags", + data = list(K=K, S=S, I=I, y=y, is_cn=h, n=n, tcn=tcn), + inits = list(".RNG.name" = "base::Wichmann-Hill", + ".RNG.seed" = 123)) + + update(model, n.iter = 1000) + + Nrep = 10000 + + posterior_sample <- coda.samples(model, + variable.names = c("mcf", "z", "icn", "m"), + n.iter = Nrep) + # plot(posterior_sample[,1]) + # summary(posterior_sample) + + # get.parameter.chain("z", ggmcmc::ggs(posterior_sample)) + + chains <- formatChains(posterior_sample) + + mcf + mcf_est <- writeClusterMCFsTable(chains$mcf_chain) + mcf_est + plotChainsMCF(chains$mcf_chain) + + # which(z==1) + # which(z==2) + # z + z_est <- writeClusterAssignmentsTable(chains$z_chain) + # z_est %>% filter(Cluster==2) + z_est <- z_est %>% mutate(idx = as.numeric(gsub("Mut(\\d+)","\\1", Mut_ID))) %>% arrange(idx) + # z_est$Cluster + table(z, z_est$Cluster) + + m + m_est <- writeMultiplicityTable(chains$m_chain) + m_est$Multiplicity + table(m, m_est$Multiplicity) + # m_tmp <- get.parameter.chain("m", ggmcmc::ggs(posterior_sample)) + # m_tmp <- m_tmp %>% filter(Parameter=="m[46]") + + icn + icn_est <- writeIcnTable(chains$icn_chain) + icn_est$icn + table(icn, icn_est$icn) + # icn_tmp <- get.parameter.chain("icn", ggmcmc::ggs(posterior_sample)) + # icn_tmp <- icn_tmp %>% filter(Parameter=="icn[50]") + # icn_tmp <- chains$icn_chain %>% group_by(Parameter) %>% reframe(val=round(mean(value))) %>% mutate(idx = as.numeric(gsub("icn\\[(\\d+)\\]","\\1", Parameter))) %>% arrange(idx) +} + +simulation_type2_jags <- function(ets=0.8, S=3, K=2, I=50, num_cn=10, seed=12345) { + set.seed(1234) + eta <- 0.8 + S <- 3 + K <- 2 + I <- 50 + num_cn <- 10 + mcf <- ifelse(runif(K*S, 0, 1) < eta, 1, 0) * + rbeta(K*S, 1, 1) %>% + matrix(K, S) + pi <- rdirichlet(1, rep(1, K)) + z <- replicate(I, sample(seq_len(K), size=1, + replace=TRUE, prob=pi)) + ## indicator for whether mutation is in copy-altered or LOH region + h <- rep(c(0, 1), c(I-num_cn, num_cn)) + + ## integer total copy number in the tumor + icn <- rep(NA, I) + icn[ h==0 ] <- 2 + icn[ h==1 ] <- rpois(sum(h==1), 2) + + ## m is the number of copies of the chromosome for an allele/variant + m <- rep(NA, I) + m[ h == 0 ] <- 1 + m[ h == 1 ] <- pmin(icn[h==1], rpois(sum(h==1), 1)) + + indices <- sample(1:2, sum(h==1), replace = TRUE) + m[ h==1 ] <- ifelse(indices == 1, m[h==1], icn[h==1]-m[h==1]) + + + ## tcn is the fraction copy number of mixture of normal and tumor cells + epsilon <- 0.1 + tcn <- matrix(2, I, S) + for (i in 1:I) { + for (s in 1:S) { + if (h[i] == 1) { + tcn[i,s] <- rnorm(1, icn[i] * mcf[z[i], s] + 2 * (1-mcf[z[i], s]), epsilon) + } + } + } + + ## indicator for whether a SSM is diploid + ## cncf if the fraction of copy number alteration that overlaps a SSM + q <- rep(0, I) + cncf <- matrix(0, I, S) + for (i in 1:I) { + if (i <= (I-num_cn)) { + prob <- runif(1) + if (prob > 0.9) { + q[i] <- sample((I-num_cn+1):I,1) + if (icn[q[i]]!=0) { + cncf[i,] <- mcf[z[q[i]],] + icn[i] <- icn[q[i]] + m[i] <- sample(c(m[q[i]], icn[q[i]]-m[q[i]]),1) + tcn[i,] <- tcn[q[i],] + } else { + q[i] <- 0 + } + } + } else { + cncf[i,] <- mcf[z[i],] + } + } + + vaf <- matrix(NA, I, S) + for(i in seq_len(I)){ + for(s in seq_len(S)){ + if(h[i] == 0){ + vaf[i, s] <- max(0, (mcf[z[i], s] + (m[i] - 1) * cncf[i,s]) / tcn[i,s]) + } else{ + vaf[i,s] <- max(0, (mcf[z[i], s]*m[i] + 1 - mcf[z[i], s]) / tcn[i,s]) + } + } + } + + n <- matrix(rpois(n = I*S, lambda = 50), I, S) + y <- matrix(rbinom(n=I*S, size=as.numeric(n), prob=as.numeric(vaf)), I, S) + + model <- jags.model(file = "~/JHU/scripts/R/pictograph2/inst/extdata/type2.jags", + data = list(K=K, S=S, I=I, y=y, is_cn=h, n=n, tcn=tcn, mtp=m, cncf=cncf, icn=icn), + inits = list(".RNG.name" = "base::Wichmann-Hill", + ".RNG.seed" = 123)) + + update(model, n.iter = 1000) + + Nrep = 10000 + + posterior_sample <- coda.samples(model, + variable.names = c("mcf", "z", "icn", "m"), + n.iter = Nrep) + # plot(posterior_sample[,1]) + # summary(posterior_sample) + + # get.parameter.chain("z", ggmcmc::ggs(posterior_sample)) + + chains <- formatChains(posterior_sample) + + mcf + mcf_est <- writeClusterMCFsTable(chains$mcf_chain) + mcf_est + plotChainsCCF(chains$mcf_chain) + + # which(z==1) + # which(z==2) + # z + z_est <- writeClusterAssignmentsTable(chains$z_chain) + # z_est %>% filter(Cluster==2) + z_est <- z_est %>% mutate(idx = as.numeric(gsub("Mut(\\d+)","\\1", Mut_ID))) %>% arrange(idx) + # z_est$Cluster + table(z, z_est$Cluster) + + m + m_est <- writeMultiplicityTable(chains$m_chain) + m_est$Multiplicity + table(m, m_est$Multiplicity) + # m_tmp <- get.parameter.chain("m", ggmcmc::ggs(posterior_sample)) + # m_tmp <- m_tmp %>% filter(Parameter=="m[46]") + + icn + icn_est <- writeIcnTable(chains$icn_chain) + icn_est$icn + table(icn, icn_est$icn) + # icn_tmp <- get.parameter.chain("icn", ggmcmc::ggs(posterior_sample)) + # icn_tmp <- icn_tmp %>% filter(Parameter=="icn[50]") + # icn_tmp <- chains$icn_chain %>% group_by(Parameter) %>% reframe(val=round(mean(value))) %>% mutate(idx = as.numeric(gsub("icn\\[(\\d+)\\]","\\1", Parameter))) %>% arrange(idx) +} + + +simulation <- function(mcf=0, icn=2, minor_cn=1, depth=30, num_SNV=30, seed=NULL, normal_prop=0) { + # mcf=0.5 + # icn=4 + # minor_cn=1 + # depth=100 + # num_SNV=100 + # normal_prop=0 # proportion of SNV is actually from CN-neutral region + # seed=123 + + if (!is.null(seed)) { + set.seed(seed) + } + + tcn = 2 * (1-mcf) + icn * mcf + + # if a proportion of SNVs on CNA is actually on CN-neutral region + num_neutral = round(num_SNV * normal_prop) + SNV_depth_neutral = rpois(n = num_neutral, lambda = depth) + SNV_alt_neutral = numeric(num_neutral) + for (i in seq_len(num_neutral)) { + SNV_alt_neutral[i] <- rbinom(n=1, size=SNV_depth_neutral[i], prob=0.5) + } + + vaf_neutral = SNV_alt_neutral / SNV_depth_neutral + + # Actual tumor proportion + num_SNV = num_SNV - num_neutral + + # generate depth for each SNV + depth_total = rpois(n = num_SNV, lambda = depth * tcn / 2) + + # assign each SNV to one copy + SNV_assignment = sample(c(1, 2), size = num_SNV, replace = TRUE) # which segment + + # generate depth for germline + SNV_depth_germline = numeric(num_SNV) + for (i in seq_len(num_SNV)) { + SNV_depth_germline[i] <- rbinom(n=1, size=depth_total[i], prob=2 * (1-mcf)/tcn) + } + + SNV_alt_germline = numeric(num_SNV) + for (i in seq_len(num_SNV)) { + SNV_alt_germline[i] <- rbinom(n=1, size=SNV_depth_germline[i], prob=0.5) + } + + vaf_germline <- SNV_alt_germline/SNV_depth_germline + + # generate depth for tumor + SNV_depth_tumor = depth_total - SNV_depth_germline + SNV_alt_tumor = numeric(num_SNV) + for (i in seq_len(num_SNV)) { + if (icn == 0) { + SNV_alt_tumor[i] <- 0 + } else { + tumor_vaf = minor_cn / icn + if (SNV_assignment[i] == 1) { + tumor_vaf = 1 - (minor_cn / icn) + } + SNV_alt_tumor[i] <- rbinom(n=1, size=SNV_depth_tumor[i], prob=tumor_vaf) + } + } + + # vaf_tumor <- ifelse(SNV_depth_tumor==0, 0, SNV_alt_tumor/SNV_depth_tumor) + vaf_tumor = c((SNV_alt_germline + SNV_alt_tumor) / depth_total, vaf_neutral) + # return(vaf_neutral) + title = paste("mcf: ", mcf, ", num_SNV: ", num_SNV, ", depth: ", depth, ", \nICN: ", icn, ", minor CN: ", minor_cn, + ", true_prop: ", 1-normal_prop, ", unimodal: ", is.unimodal(vaf_tumor), sep="") + plot(density(vaf_tumor), xlim=c(0,1), main = title, cex.main=0.9) + + # plot(density(vaf_tumor), xlim=c(0,1), main = "VAF_tumor") + # qqnorm(vaf_tumor, main = "tumor") + # qqline(vaf_tumor, col="grey") + + is.unimodal(vaf_tumor) + # return(um) +} + +simulation_normal <- function(depth=30, num_SNV=30) { + + # generate depth for each SNV + SNV_depth = rpois(n = num_SNV, lambda = depth) + + # generate alt read counts for each SNV + SNV_alt = numeric(num_SNV) + for (i in seq_len(num_SNV)) { + SNV_alt[i] <- rbinom(n=1, size=SNV_depth[i], prob=0.5) + } + + # calculate VAF for all SNVs + vaf <- SNV_alt/SNV_depth + + # plot the SNVs + title = paste("num_SNV: ", num_SNV, ", depth: ", depth, ", unimodal: ", is.unimodal(vaf), sep="") + plot(density(vaf), xlim=c(0,1), main = title) +} + +simulation_CNA_germline_SNV <- function(mcf=0.9, icn=2, minor_cn=1, depth=30, num_SNV=30, seed=NULL, normal_prop=1) { + + if (!is.null(seed)) { + set.seed(seed) + } + + tcn = 2 * (1-mcf) + icn * mcf + + # if a proportion of SNVs on CNA is actually on CN-neutral region + num_neutral = round(num_SNV * normal_prop) + SNV_depth_neutral = rpois(n = num_neutral, lambda = depth) + SNV_alt_neutral = numeric(num_neutral) + for (i in seq_len(num_neutral)) { + SNV_alt_neutral[i] <- rbinom(n=1, size=SNV_depth_neutral[i], prob=0.5) + } + + vaf_neutral = SNV_alt_neutral / SNV_depth_neutral + + # Actual tumor proportion + num_SNV = num_SNV - num_neutral + + # generate depth for each SNV + depth_total = rpois(n = num_SNV, lambda = depth * tcn / 2) + + # assign each SNV to one copy + SNV_assignment = sample(c(1, 2), size = num_SNV, replace = TRUE) # which segment + + # generate depth for germline + SNV_depth_germline = numeric(num_SNV) + for (i in seq_len(num_SNV)) { + SNV_depth_germline[i] <- rbinom(n=1, size=depth_total[i], prob=2 * (1-mcf)/tcn) + } + + SNV_alt_germline = numeric(num_SNV) + for (i in seq_len(num_SNV)) { + SNV_alt_germline[i] <- rbinom(n=1, size=SNV_depth_germline[i], prob=0.5) + } + + vaf_germline <- SNV_alt_germline/SNV_depth_germline + + # generate depth for tumor + SNV_depth_tumor = depth_total - SNV_depth_germline + SNV_alt_tumor = numeric(num_SNV) + for (i in seq_len(num_SNV)) { + if (icn == 0) { + SNV_alt_tumor[i] <- 0 + } else { + tumor_vaf = minor_cn / icn + if (SNV_assignment[i] == 1) { + tumor_vaf = 1 - (minor_cn / icn) + } + SNV_alt_tumor[i] <- rbinom(n=1, size=SNV_depth_tumor[i], prob=tumor_vaf) + } + } + + vaf_tumor = c((SNV_alt_germline + SNV_alt_tumor) / depth_total, vaf_neutral) + + is.unimodal(vaf_tumor) +} + diff --git a/R/subclone-proportion.R b/R/subclone-proportion.R new file mode 100644 index 0000000..883da99 --- /dev/null +++ b/R/subclone-proportion.R @@ -0,0 +1,113 @@ +#' Calculate proportions of subclones in each sample (assumes CCFs comply with lineage precedence and sum condition) +#' +#' @param w_mat Matrix of CCF estimates (from \code{estimateCCFs}) +#' @param tree_edges Tibble of tree edges with columns edge, parent, and child +#' @export +calcSubcloneProportions <- function(w_mat, tree_edges) { + K <- nrow(w_mat) + S <- ncol(w_mat) + subclone_props <- matrix(NA, nrow = K, ncol = S) + + for (i in seq_len(nrow(w_mat))) { + children <- tree_edges %>% + filter(parent == as.character(i)) %>% + pull(child) %>% + as.numeric() + + if (length(children) == 1) { + children_ccfs <- w_mat[children, ] + } else if (length(children) > 1) { + children_ccfs <- w_mat[children, ,drop=FALSE] %>% + colSums + } else { + children_ccfs <- rep(0, ncol(w_mat)) + } + + subclone_props[i, ] <- w_mat[i, ] - children_ccfs + } + + # normalize subclone_props matrix so the props add up to 1 + subclone_props[subclone_props < 0] = 0 + subclone_props = round(t(t(subclone_props) / colSums(subclone_props)),digit = 3) + + return(subclone_props) +} + +#' Plot pie charts for subclone proportions in each sample +#' +#' @param subclone_props matrix of subclone proportions (returned from \code{calcSubcloneProportions}) +#' @param sample_names (Optional) Vector of sample names. Should be in the order of columns of subclone_props +#' @export +plotSubclonePie <- function(subclone_props, palette=viridis::viridis, sample_names = NULL, title_size=16, legend_size=10) { + if (is.null(sample_names)) sample_names <- paste0("Sample ", 1:ncol(subclone_props)) + props_tb <- subclone_props %>% + magrittr::set_colnames(sample_names) %>% + as_tibble() %>% + mutate(Subclone = factor(paste0("Clone ", 1:nrow(.)), + levels = paste0("Clone ", 1:nrow(.)))) %>% + pivot_longer(cols = sample_names, + names_to = "Sample", + values_to = "Proportion") + + clone_colors <- palette(nrow(subclone_props)) + ggplot(props_tb, aes(x="", y=Proportion, fill = Subclone)) + + geom_bar(stat="identity", width=1, color="white") + + coord_polar("y", start=0) + + scale_fill_manual(values = clone_colors, drop = F) + + theme_void() + + theme(legend.position = "bottom") + + theme(legend.text = element_text(size=legend_size), legend.title = element_text(size=legend_size)) + + facet_wrap(~Sample) + + theme(strip.text.x = element_text(size=title_size)) + +} + +#' Plot subclone proportions in each sample as stacked bar chart +#' +#' @param subclone_props matrix of subclone proportions (returned from \code{calcSubcloneProportions}) +#' @param sample_names (Optional) Vector of sample names. Should be in the order of columns of subclone_props +#' @param label_cluster (Default FALSE) Whether to add cluster label to text on stacked bar +#' @export +plotSubcloneBar <- function(subclone_props, palette=viridis::viridis, sample_names = NULL, label_cluster = FALSE) { + if (is.null(sample_names)) { + sample_names <- paste0("Sample ", 1:ncol(subclone_props)) + } + + clone_colors <- palette(nrow(subclone_props)) + color_half <- nrow(subclone_props) / 2 + color_half_vec <- factor(ifelse(1:nrow(subclone_props) < color_half, "white", "black"), + c("white", "black")) + + props_tb <- subclone_props %>% + magrittr::set_colnames(sample_names) %>% + as_tibble %>% + mutate(Clone = as.factor(1:nrow(.)), + text_color = color_half_vec) %>% + pivot_longer(cols = all_of(sample_names), + names_to = "Sample", + values_to = "Proportion of Tumor") + if (label_cluster) { + text_label <- paste0("Clone ", props_tb$Clone, ": ", props_tb$`Proportion of Tumor`) + props_tb <- props_tb %>% + mutate(text_label = text_label) + } else { + props_tb <- props_tb %>% + mutate(text_label = `Proportion of Tumor`) + } + + stacked_bar <- ggplot(props_tb, aes(x = Sample, y = `Proportion of Tumor`, fill = Clone)) + + theme_light() + + geom_bar(stat = "identity") + + scale_fill_manual(values = clone_colors) + + geom_text(data = subset(props_tb, `Proportion of Tumor` != 0), + aes(label = text_label, colour = text_color), + size = 4, position = position_stack(vjust = 0.5)) + + xlab("") + + scale_x_discrete(guide = guide_axis(angle = 0)) + + scale_color_manual(values = c("white", "black"), guide = "none") + + ylim(0,1.05) + + theme(axis.text=element_text(size=12), axis.title=element_text(size=14,face="bold")) + + theme(legend.text = element_text(size=12), legend.title = element_text(size=12)) + + return(stacked_bar) +} \ No newline at end of file diff --git a/R/subclone-proportions.R b/R/subclone-proportions.R deleted file mode 100644 index a97a431..0000000 --- a/R/subclone-proportions.R +++ /dev/null @@ -1,308 +0,0 @@ -#' Calculate proportions of subclones in each sample -#' -#' @param w_mat Matrix of CCF estimates (from \code{estimateCCFs}) -#' @param tree_edges Tibble of tree edges with columns edge, parent, and child -#' @import dplyr -#' @export -calcSubcloneProportions2 <- function(w_mat, tree_edges) { - K <- nrow(w_mat) - S <- ncol(w_mat) - subclone_props <- matrix(NA, nrow = K, ncol = S) - - leaves <- seq_len(K)[sapply(as.character(seq_len(K)), function(x) isLeaf(x, tree_edges))] - - # subclone proportions of leaves is just CCFs - for (leaf in leaves) { - subclone_props[leaf, ] <- w_mat[leaf, ] - } - - nodes_left <- as.character(seq_len(K))[sapply(as.character(seq_len(K)), function(x) !isLeaf(x, tree_edges))] - new_children <- leaves - - # calculate proportions of other subclones (bottom up) - while(length(nodes_left) > 0) { - temp_nodes <- tree_edges %>% - filter(child %in% new_children, parent != "root") %>% - pull(parent) %>% - unique() - - # check if nodes are branch points - for (node in temp_nodes) { - if (isBranchPoint(node, tree_edges)) { - - branch_children <- tree_edges %>% - filter(parent == node) %>% - pull(child) - - # only add ccf if all children have been added - if (any(branch_children %in% as.character(nodes_left))) { - temp_nodes <- temp_nodes[-which(temp_nodes == node)] - next - } - - node_ccf <- w_mat[as.numeric(node), ] - ##sum_child_ccfs <- colSums(w_mat[as.numeric(branch_children), ]) - # sum up proportions for all children (all generations) - temp_child_prop <- lapply(branch_children, - function(x) calcDescendantProps(x, tree_edges, subclone_props) + - subclone_props[as.numeric(x), ]) %>% - unlist() %>% - matrix(., nrow = length(branch_children), byrow = T) %>% - colSums() - - subclone_props[as.numeric(node), ] <- sapply(node_ccf - temp_child_prop, function(x) max(x, 0)) - nodes_left <- nodes_left[-which(nodes_left == node)] - - } else { - # add ccf like normal - - # sum up proportions for all children (all generations) - temp_child_prop <- calcDescendantProps(node, tree_edges, subclone_props) - - # proportion is node ccf - sum(all children proportions) - subclone_props[as.numeric(node), ] <- sapply(w_mat[as.numeric(node), ] - temp_child_prop, function(x) max(x, 0)) - nodes_left <- nodes_left[-which(nodes_left == node)] - } - } - new_children <- temp_nodes - } - - # @TODO normalize proportions -- columns should be no more than 1 - subclone_props <- normalizeProps(subclone_props) - - return(subclone_props) -} - -normalizeProps <- function(subclone_props) { - props_sums <- colSums(subclone_props) - if (all(props_sums == 1)) return(subclone_props) - - for (s in seq_len(ncol(subclone_props))) { - if (props_sums[s] != 1) { - new_col <- round(subclone_props[, s] / props_sums[s], digits = 3) - subclone_props[, s] <- new_col - } - } - return(subclone_props) -} - -calcDescendantProps <- function(node, tree_edges, subclone_props) { - temp_child <- tree_edges %>% - filter(parent == node) %>% - pull(child) - temp_child_prop <- subclone_props[as.numeric(temp_child), ] - while(!isLeaf(temp_child, tree_edges)) { - temp_child <- tree_edges %>% - filter(parent == temp_child) %>% - pull(child) - temp_child_prop <- temp_child_prop + subclone_props[as.numeric(temp_child), ] - } - return(temp_child_prop) -} - -isBranchPoint <- function(node, tree_edges) { - node <- as.character(node) # make sure node is character - children <- tree_edges %>% - filter(parent == node) %>% - pull(child) - return(length(children) > 1) -} - -isLeaf <- function(node, tree_edges) { - node <- as.character(node) # make sure node is character - children <- tree_edges %>% - filter(parent == node) %>% - pull(child) - return(length(children) == 0) -} - -#' Plot pie charts for subclone proportions in each sample -#' -#' @param subclone_props matrix of subclone proportions (returned from \code{calcSubcloneProportions}) -#' @param sample_names (Optional) Vector of sample names. Should be in the order of columns of subclone_props -#' @export -#' @import ggplot2 -#' @importFrom magrittr set_colnames -#' @importFrom viridis viridis -plotSubclonePie <- function(subclone_props, palette=viridis::viridis, sample_names = NULL, title_size=16, legend_size=10) { - if (is.null(sample_names)) sample_names <- paste0("Sample ", 1:ncol(subclone_props)) - props_tb <- subclone_props %>% - magrittr::set_colnames(sample_names) %>% - as_tibble() %>% - mutate(Subclone = factor(paste0("Clone ", 1:nrow(.)), - levels = paste0("Clone ", 1:nrow(.)))) %>% - pivot_longer(cols = sample_names, - names_to = "Sample", - values_to = "Proportion") - - clone_colors <- palette(nrow(subclone_props)) - - ggplot(props_tb, aes(x="", y=Proportion, fill = Subclone)) + - geom_bar(stat="identity", width=1, color="white") + - coord_polar("y", start=0) + - scale_fill_manual(values = clone_colors, drop = F) + - theme_void() + - theme(legend.position = "bottom") + - theme(legend.text = element_text(size=legend_size), legend.title = element_text(size=legend_size)) + - facet_wrap(~Sample) + - theme(strip.text.x = element_text(size=title_size)) - -} - -#' Force CCFs to comply with lineage precedence and sum condition -#' -#' @param w_mat Matrix of CCF estimates (from \code{estimateCCFs}) -#' @param tree_edges Tibble of tree edges with columns edge, parent, and child -#' @export -#' @import dplyr -forceCCFs <- function(w_mat, tree_edges) { - - K <- nrow(w_mat) - S <- ncol(w_mat) - fixed_w_mat <- matrix(NA, nrow = K, ncol = S) - - curr_edges <- tree_edges %>% - filter(parent == "root") - - while (nrow(curr_edges) > 0) { - next_edges <- tibble() - for (p in unique(curr_edges$parent)) { - # grab parent node CCF - if (p == "root") { - parent_ccfs <- rep(1, S) - } else { - parent_ccfs <- fixed_w_mat[as.numeric(p), ] - } - - temp_curr_edges <- curr_edges %>% - filter(parent == p) - - if (isBranchPoint(p, tree_edges)) { - # if branch point, check sum condition - child_ccfs <- w_mat[as.numeric(temp_curr_edges$child), ] - sample_sums <- colSums(child_ccfs) - for (s in 1:S) { - # if sum condition is violated, normalize children CCFs to parent CCF - if (sample_sums[s] > parent_ccfs[s]) { - for (i in seq_len(length(temp_curr_edges$child))) { - child_num <- as.numeric(temp_curr_edges$child)[i] - fixed_w_mat[child_num, s] <- round(child_ccfs[i, s] / sample_sums[s] * parent_ccfs[s], 2) - } - } else { - # else sum condition is not violated, children CCFs are fine as is - # not violating sum condition guarantees compliance with lineage precedence - for (child in as.numeric(temp_curr_edges$child)) { - fixed_w_mat[child, s] <- w_mat[child, s] - } - } - } - } else { - for (child in as.numeric(temp_curr_edges$child)) { - child_ccfs <- w_mat[child, ] - fixed_ccfs <- mapply(function(child_ccf, parent_ccf) ifelse(child_ccf > parent_ccf, parent_ccf, child_ccf), - child_ccf = child_ccfs, - parent_ccf = parent_ccfs) - fixed_w_mat[child, ] <- fixed_ccfs - } - } - - - child_next_edges <- tree_edges %>% - filter(parent %in% temp_curr_edges$child) - next_edges <- bind_rows(next_edges, - child_next_edges) - } - curr_edges <- next_edges - } - return(fixed_w_mat) -} - -#' Calculate proportions of subclones in each sample (assumes CCFs comply with lineage precedence and sum condition) -#' -#' @param w_mat Matrix of CCF estimates (from \code{estimateCCFs}) -#' @param tree_edges Tibble of tree edges with columns edge, parent, and child -#' @export -#' @import dplyr -calcSubcloneProportions <- function(w_mat, tree_edges) { - K <- nrow(w_mat) - S <- ncol(w_mat) - subclone_props <- matrix(NA, nrow = K, ncol = S) - - for (i in seq_len(nrow(w_mat))) { - children <- tree_edges %>% - filter(parent == as.character(i)) %>% - pull(child) %>% - as.numeric() - - if (length(children) == 1) { - children_ccfs <- w_mat[children, ] - } else if (length(children) > 1) { - children_ccfs <- w_mat[children, ] %>% - colSums - } else { - children_ccfs <- rep(0, ncol(w_mat)) - } - - subclone_props[i, ] <- w_mat[i, ] - children_ccfs - } - - # normalize subclone_props matrix so the props add up to 1 - subclone_props[subclone_props < 0] = 0 - subclone_props = round(t(t(subclone_props) / colSums(subclone_props)),digit = 3) - - return(subclone_props) -} - -#' Plot subclone proportions in each sample as stacked bar chart -#' -#' @param subclone_props matrix of subclone proportions (returned from \code{calcSubcloneProportions}) -#' @param sample_names (Optional) Vector of sample names. Should be in the order of columns of subclone_props -#' @param label_cluster (Default FALSE) Whether to add cluster label to text on stacked bar -#' @export -#' @import ggplot2 -#' @importFrom magrittr set_colnames -#' @importFrom viridis viridis -plotSubcloneBar <- function(subclone_props, palette=viridis::viridis, sample_names = NULL, label_cluster = FALSE) { - if (is.null(sample_names)) { - sample_names <- paste0("Sample ", 1:ncol(subclone_props)) - } - - clone_colors <- palette(nrow(subclone_props)) - color_half <- nrow(subclone_props) / 2 - color_half_vec <- factor(ifelse(1:nrow(subclone_props) < color_half, "white", "black"), - c("white", "black")) - - props_tb <- subclone_props %>% - magrittr::set_colnames(sample_names) %>% - as_tibble %>% - mutate(Clone = as.factor(1:nrow(.)), - text_color = color_half_vec) %>% - pivot_longer(cols = all_of(sample_names), - names_to = "Sample", - values_to = "Proportion of Tumor") - if (label_cluster) { - text_label <- paste0("Clone ", props_tb$Clone, ": ", props_tb$`Proportion of Tumor`) - props_tb <- props_tb %>% - mutate(text_label = text_label) - } else { - props_tb <- props_tb %>% - mutate(text_label = `Proportion of Tumor`) - } - - - stacked_bar <- ggplot(props_tb, aes(x = Sample, y = `Proportion of Tumor`, fill = Clone)) + - theme_light() + - geom_bar(stat = "identity") + - scale_fill_manual(values = clone_colors) + - geom_text(data = subset(props_tb, `Proportion of Tumor` != 0), - aes(label = text_label, colour = text_color), - size = 4, position = position_stack(vjust = 0.5)) + - xlab("") + - scale_x_discrete(guide = guide_axis(angle = 0)) + - scale_color_manual(values = c("white", "black"), guide = "none") + - ylim(0,1.05) + - theme(axis.text=element_text(size=12), axis.title=element_text(size=14,face="bold")) + - theme(legend.text = element_text(size=12), legend.title = element_text(size=12)) - - return(stacked_bar) -} diff --git a/R/tree-gabowmyers.R b/R/tree-gabowmyers.R new file mode 100644 index 0000000..ef1ea03 --- /dev/null +++ b/R/tree-gabowmyers.R @@ -0,0 +1,231 @@ +#' Enumerate all spanning trees using modified Gabow-Myers wrapper +#' +#' @export +#' @param w matrix of CCF values (rows = clusters, columns = samples) +#' @param lineage_precedence_thresh maximum allowed violation of lineage precedence (default = 0.1) +#' @param sum_filter_thresh thresh maximum allowed violation of Sum Condition (default = 0.2) +generateAllTrees <- function(mcf, purity, lineage_precedence_thresh=0.1, sum_filter_thresh=0.2) { + mcf_mat <- estimateMCFs(mcf) + mcf_mat <- assign("mcf_mat", mcf_mat, envir = .GlobalEnv) + graph_G_pre <- prepareGraph(mcf_mat, lineage_precedence_thresh) + graph_G <- filterEdgesBasedOnCCFs(graph_G_pre, mcf_mat, thresh = lineage_precedence_thresh) + graph_G <- assign("graph_G", graph_G, envir = .GlobalEnv) + enumerateSpanningTreesModified(graph_G, mcf_mat, purity, sum_filter_thresh = sum_filter_thresh) +} + +#' Create tibble of possible edges from CCF values based on w_mat only +#' +#' @export +#' @param w matrix of CCF values (rows = clusters, columns = samples) +#' @return graph_G tibble of possible edges with columns edge, parent, child +prepareGraph <- function(mcf_mat, thresh) { + graph_pre <- data.frame(edge = character(), parent = character(), child = character()) + for (i in seq_len(nrow(mcf_mat))) { + graph_pre <- graph_pre %>% add_row(edge = paste("root->", i, sep = ""), parent = "root", child = as.character(i)) + for (j in seq_len(nrow(mcf_mat))) { + if (i!=j) { + i_row = mcf_mat[i, ] + j_row = mcf_mat[j, ] + if (all(j_row-i_row >= -thresh)) { + graph_pre <- graph_pre %>% add_row(edge = paste(j, "->", i, sep = ""), parent = as.character(j), child = as.character(i)) + } + } + } + } + return(graph_pre) +} + +#' Filter possible edges based on lineage precedence +#' +#' @export +#' @param graph_G tibble of possible edges with columns edge, parent, child +#' @param w matrix of CCF values (rows = clusters, columns = samples) +#' @param thresh maximum allowed violation of lineage precedence (default = 0.1) +filterEdgesBasedOnCCFs <- function(graph_G, mcf, thresh = 0.1) { + check_edges_logical <- apply(graph_G, 1, function(edge) checkEdge(edge, mcf, thresh)) + filtered_graph_G <- graph_G[check_edges_logical, ] + return(filtered_graph_G) +} + +checkEdge <- function(edge, mcf, thresh = 0.2) { + # returns TRUE if satisfies lineage precedence with given threshold + # returns FALSE if violates i.e. child_ccf - parent_ccf > thresh in any sample + # edge is in the format c(edge_name, parent, child) + + # in case of factors + p <- as.character(edge[2]) + c <- as.character(edge[3]) + + if (p == "root") { + parent_ccfs <- rep(1, ncol(mcf)) + } else { + parent_ccfs <- mcf[as.numeric(p), ] + } + child_ccfs <- mcf[as.numeric(c), ] + + diff <- child_ccfs - parent_ccfs + if (any(diff > thresh)) { + return(FALSE) + } else { + return(TRUE) + } +} + +#' Enumerate all spanning trees using modified Gabow-Myers +#' +#' @export +#' @param graph_G tibble of possible edges with columns edge, parent, child +#' @param w matrix of CCF values (rows = clusters, columns = samples) +#' @param sum_filter_thresh thresh maximum allowed violation of Sum Condition (default = 0.2) +enumerateSpanningTreesModified <- function(graph_G, mcf, purity, sum_filter_thresh=0.2) { + # all_spanning_trees must be set as an empty list, global variable, before function is called + # graph_G must be set as global variable before function is called + all_spanning_trees <- assign("all_spanning_trees", list(), envir = .GlobalEnv) + #filtered_trees <- assign("filtered_trees", list(), envir = .GlobalEnv) + F_tb <- assign("F_tb", filter(graph_G, parent == "root"), envir = .GlobalEnv) + all_vertices <- verticesInGraph(graph_G) + tree_T <- tibble(parent = character(), child = character()) + + growModified(tree_T, all_vertices, mcf, purity, sum_filter_thresh) +} + +verticesInGraph <- function(tb) { + unique(c(tb$parent, tb$child)) +} + +growModified <- function(tree_T, all_vertices, w, purity, sum_thresh=0.2) { + + if (length(verticesInGraph(tree_T)) == length(all_vertices) & nrow(tree_T) == (length(all_vertices)-1)) { + assign("all_spanning_trees", c(all_spanning_trees, list(tree_T)), envir = .GlobalEnv) + + } else { + FF <- tibble(parent = character(), child = character()) + + bridge <- FALSE + while(!bridge) { + # new tree edge + if (nrow(F_tb) == 0) stop("F_tb is empty") + edge_e <- pop(F_tb, "F_tb") + v <- edge_e$child + tree_T <- rbind(tree_T, edge_e) + + # check if adding this node does not violate the constraint + if (satisfiesSumCondition(tree_T, w, purity, sum_thresh)) { + # update F + ## push each edge (v,w), w not in T onto F + in_T <- verticesInGraph(tree_T) + temp_add_to_F <- filter(graph_G, parent == v, !(child %in% in_T)) + # temp_add_to_F + assign("F_tb", rbind(temp_add_to_F, F_tb), envir = .GlobalEnv) + + ## remove each edge (w,v), w in T from F + w_in_T <- verticesInGraph(tree_T) + removed_edges <- filter(F_tb, parent %in% w_in_T, child == v) + assign("F_tb", filter(F_tb, !edge %in% removed_edges$edge), envir = .GlobalEnv) + + # recurse + growModified(tree_T, all_vertices, w, purity, sum_thresh) + + # restore F + # pop each edge (v,w), w not in T, from F + not_in_T <- all_vertices[!all_vertices %in% verticesInGraph(tree_T)] + if (length(not_in_T) > 0 & nrow(F_tb) > 0) { + edges_to_remove_9 <- paste0(v, "->", not_in_T) + assign("F_tb", filter(F_tb, !edge %in% edges_to_remove_9), envir = .GlobalEnv) + } + # restore each edge (w,v), w in T, in F + assign("F_tb", rbind(removed_edges, F_tb), envir = .GlobalEnv) + + } + # delete e from T and from G, add e to FF + tree_T <- tree_T[tree_T$edge != edge_e$edge, ] + assign("graph_G",graph_G[graph_G$edge != edge_e$edge, ], envir = .GlobalEnv) + FF <- rbind(edge_e, FF) + + # bridge test + bridge <- bridgeTestBFS(graph_G, edge_e) + } + + # pop each edge e from FF, push e onto F,and add e to G + if (nrow(FF) > 0) { + + # pop and push all edges at once (same order) + # assign("F_tb", rbind(FF, F_tb), envir = .GlobalEnv) + assign("graph_G", rbind(FF, graph_G), envir = .GlobalEnv) + + # pop and push edges one by one (rev order in F) + while (nrow(FF) > 0) { + assign("F_tb", rbind(FF[1, ], F_tb), envir = .GlobalEnv) + FF <- FF[-1, ] + } + } + } +} + +satisfiesSumCondition <- function(edges, w, purity, thresh = 0.2) { + # returns TRUE if sum condition is not violated with given threshold (default 0.2) + + edges$parent <- as.character(edges$parent) + all_parents <- unique(edges$parent) + + for (p in all_parents) { + # get parent CCF + if (p == "root") { + # parent_ccf <- rep(1, ncol(w)) + parent_ccf <- purity + } else { + parent_ccf <- w[as.numeric(p), ] + } + + # get children CCF (sum if more than 1 child) + children <- as.numeric(filter(edges, parent == p)$child) + if (length(children) > 1) { + children_ccf <- colSums(w[children, ,drop=FALSE]) + } else { + children_ccf <- w[children, ] + } + + diff <- children_ccf - parent_ccf + if (any(diff > thresh)) return(FALSE) + } + + # sum condition is never violated, return TRUE + return(TRUE) +} + +pop <- function(edges_tb, tb_name) { + assign(tb_name, edges_tb[-1, ], envir = .GlobalEnv) + return(edges_tb[1, ]) +} + +bridgeTestBFS <- function(graph_G, edge_e) { + node_to_check <- edge_e$child + + nodes_connected_to_root <- bfsLong2(graph_G) + !(node_to_check %in% nodes_connected_to_root) +} + +bfsLong2 <- function(graph_G) { + # returns vector of nodes in main tree (connected to root) including "root" + # starting at root + # does not stop if there is a cycle in graph + graph_G$parent <- as.character(graph_G$parent) + children <- graph_G[(graph_G$parent == "root"), ]$child + nodes <- c("root", children) + + while(length(children) > 0) { + c <- children[1] + temp.children <- graph_G[(graph_G$parent == c), ]$child + + # remove children already seen + if (any(temp.children %in% nodes)) { + temp.children <- temp.children[! temp.children %in% nodes] + } + + children <- c(children, temp.children) + + nodes <- c(nodes, temp.children) + children <- children[-1] + } + return(nodes) +} \ No newline at end of file diff --git a/R/tree-plot.R b/R/tree-plot.R new file mode 100644 index 0000000..62de812 --- /dev/null +++ b/R/tree-plot.R @@ -0,0 +1,84 @@ +#' Plot ensemble tree +#' +#' @export +#' @param trees list of tibbles of edges, each with columns edge, parent, child +plotEnsembleTree <- function(trees, palette=viridis::viridis) { + am_chain <- lapply(trees, edgesToAmLong) + post_am <- getPosteriorAmLong(am_chain) + plotPosteriorAmLong(post_am, colorScheme(trees[[1]], palette)) +} + +plotPosteriorAmLong <- function(post_am, v_color, filter1 = TRUE, filter1.threshold = 0.1, + filter2 = TRUE, filter2.threshold = 0.1) { + # filter1 filters columns (am wide format) for edges with posterior prob > (max(column) - filter1.threshold) + admat <- prepPostAmForGraphing(post_am) + + # filter edges of low freq + admat <- filterAdmat(admat, filter1 = filter1, filter1.threshold = filter1.threshold, + filter2 = filter2, filter2.threshold = filter2.threshold) + + ig <- igraph::graph_from_adjacency_matrix(admat, mode = "directed", weighted = TRUE, + diag = FALSE, add.row = TRUE) + + igraph::E(ig)$lty <- ifelse(igraph::E(ig)$weight < 0.25, 2, 1) + + # make edge black if only 1 edge to vertex + e <- igraph::ends(ig, igraph::E(ig)) + numTo <- table(e[,2]) + edgeColors <- sapply(e[,2], function(x) ifelse(x %in% names(which(numTo==1)), "black", "darkgrey")) + igraph::E(ig)$color <- edgeColors + + igraph::V(ig)$label.cex <- 1.5 + + igraph::V(ig)$color <- as.list(v_color %>% arrange(match(v_sorted, names(V(ig)))) %>% select(colors))$colors + + par(mar=c(0,0,0,0)+.1) + + igraph::plot.igraph(ig, layout = igraph::layout_as_tree(ig), + vertex.label.family = "Helvetica", vertex.size=20, + edge.arrow.size = 0.5, edge.arrow.width = 2, + edge.width = igraph::E(ig)$weight*3) +} + +#' Plot single tree +#' +#' @export +#' @param edges tibble of edges with columns edge, parent, child +plotTree <- function(edges, palette=viridis::viridis) { + plotGraph(edgesToAmLong(edges), colorScheme(edges, palette)) +} + +#' generate colors for each vertice +#' @export +colorScheme <- function(edges, palette=viridis::viridis) { + v_sorted = sort(unique(c(edges$parent, edges$child))) + v_sorted = c(sort(as.integer(v_sorted[!v_sorted=='root'])), "root") + # root_idx <- which(v_sorted=="root") + colors <- c(palette(length(v_sorted)-1), "white") + v_color <- tibble(v_sorted, colors) + return(v_color) +} + +plotGraph <- function(am.long, v_color){ + # make sure am.long is sorted by parent and child + am.long <- mutate(am.long, child = as.numeric(am.long$child)) %>% + arrange(parent, child) + am.long <- mutate(am.long, child = as.character(am.long$child)) + + # change to wide format and plot + am <- toWide(am.long) + rownames(am) <- c("root", colnames(am)) + am <- cbind(root=0, am) ## add column for root + colnames(am) <- rownames(am) + + am[is.na(am)] <- 0 + + ig <- igraph::graph_from_adjacency_matrix(am, mode = "directed", weighted = TRUE, + diag = FALSE, add.row = TRUE) + V(ig)$color <- as.list(v_color %>% arrange(match(v_sorted, names(V(ig)))) %>% select(colors))$colors + par(mar=c(0,0,0,0)+.1) + igraph::plot.igraph(ig, layout = igraph::layout_as_tree(ig), + vertex.size=24, vertex.frame.color = "#000000", vertex.label.cex = 1.5, + vertex.label.family = "Helvetica", vertex.label.color = "#000000", + edge.arrow.size = 0.5, edge.arrow.width = 2) +} \ No newline at end of file diff --git a/R/tree-score.R b/R/tree-score.R new file mode 100644 index 0000000..b1cebc7 --- /dev/null +++ b/R/tree-score.R @@ -0,0 +1,1374 @@ +constrainedEdgesMatrix <- function(wmat, chains, input_data) { + ## + ## Rules: + ## - cluster (node) cannot connect to itself + ## - a cluster with near-zero MCF cannot have children + ## - a cluster present in X multiple samples cannot connect to a cluster present in Y samples + ## if X < Y + ## - X < Y implies ... + ## + ##cluster.sample.presence <- apply(w, 1, function(x) which( x>= zero.thresh)) + samp_pres <- matchSamplePresence(wmat, chains, input_data) + if (input_data$S == 1) { + cluster.sample.presence <- lapply(samp_pres, function(x) which(x==1)) + } else { + cluster.sample.presence <- apply(samp_pres, 1, function(x) which(x==1)) + } + K <- nrow(wmat) + S <- ncol(wmat) + admat <- matrix(T, K, K) + + for(i in 1:K){ + for(j in 1:K){ + + if (is.matrix(cluster.sample.presence)) { + from.samples <- cluster.sample.presence[, i] + to.samples <- cluster.sample.presence[, j] + } else if (is.list(cluster.sample.presence)) { + from.samples <- cluster.sample.presence[[i]] + to.samples <- cluster.sample.presence[[j]] + } else if (is.vector(cluster.sample.presence)) { + from.samples <- cluster.sample.presence[i] + to.samples <- cluster.sample.presence[j] + } + + if (setequal(from.samples, to.samples)) next() + if(length(from.samples) < length(to.samples)) { + admat[i, j] <- F + next() + } + if (all(to.samples %in% from.samples)) next() + admat[i, j] <- F + } + } + diag(admat) <- F + am2 <- rbind(T, admat) + dimnames(am2) <- list(c("root", 1:K), 1:K) + return(am2) +} + +matchSamplePresence <- function(w_mat, chains, input_data) { + map_z <- estimateClusterAssignments(chains$z_chain) + + # pull one variant for each cluster + single_var_clust <- map_z[match(unique(map_z$value), map_z$value), ] %>% + mutate(mut_ind = as.numeric(gsub("z\\[|]", "", Parameter))) %>% + arrange(value) + + samp_pres <- ifelse(input_data$y[single_var_clust$mut_ind, ] >=1, 1, 0) + return(samp_pres) +} + + +## refactored base.admat +constrainedEdges <- function(wmat, chains, input_data) { + am2 <- constrainedEdgesMatrix(wmat, chains, input_data) + am2.long <- as_tibble(am2) %>% + mutate(parent=rownames(am2)) %>% + pivot_longer(-parent, + names_to="child", + values_to="possible_edge") %>% + filter(parent != child) %>% + unite("edge", c("parent", "child"), sep="->", + remove=FALSE) %>% + mutate(parent=factor(parent, levels=unique(parent))) %>% + mutate(connected=0) + am2.long +} + +calcConstrianedTreeSpace <- function(mcf_matrix, zero.thresh = 0.01) { + # input: + # - mcf_matrix = matrix of cell fraction values where rows are clusters, columns are samples + # - zero.thresh = minimum cell fraction to be considered "present" in sample (default = 0.01) + # output: number of possible trees, given constraints + ce <- constrainedEdgesMatrix(mcf_matrix, zero.thresh) + possible_from_edges_per_node <- colSums(ce) + tree_space <- prod(possible_from_edges_per_node) + return(tree_space) +} + +getAllNodes <- function(am.long) { + # returns vector of all nodes in graph + am.long$parent <- as.character(am.long$parent) + unique(c(am.long$parent, am.long$child)) +} + +reversedConnection <- function(am) { + connections <- setNames(am$connected, am$edge) + reversed_connections <- connections[am$reverse_edge] %>% + "["(!is.na(.)) + reversed <- setNames(rep(0, nrow(am)), am$reverse_edge) + reversed[names(reversed_connections)] <- reversed_connections + reversed +} + +isBidirectional <- function(am) { + am %>% + mutate(bi_directional=(reverse_edge %in% edge) & + connected==1 & + reversed_connected == 1) %>% + pull(bi_directional) +} + +updateGraphElements <- function(am) { + am %>% + mutate(parent=factor(parent, levels=unique(parent))) %>% + mutate(reversed_connected=reversedConnection(.)) %>% + mutate(bi_directional=isBidirectional(.)) %>% + mutate(root_connected=isRootConnected(.)) +} + + +reversedEdges <- function(am) { + am2 <- am %>% + filter(!is.na(connected)) %>% + unite("reverse_edge", c("child", "parent"), sep="->", + remove=FALSE) + am2 +} + +getEdgeName <- function(from, to) { + paste0(from, "->", to) +} + +numNodesConnectedToRoot <- function(am.long) { + sum(am.long[am.long$parent == "root", ]$connected) +} + +randAdmatUnchecked <- function(am.long, max.num.root.children) { + # input: blank am.long (from either constrainedEdges or toLong(initEmptyAdmatFromK(K)) + # - $connected = 0 + # - $possible_edge = T/F if from constrainedEdges + # output: random graph (not necessarily valid) + blank <- am.long # save copy of original am.long + parent_levels <- levels(blank$parent) + + am.long$parent <- as.character(am.long$parent) + + all.nodes <- getAllNodes(am.long) + node.pool <- all.nodes[all.nodes != "root"] # nodes left to connect in graph + # possible edges may be limited by constraints + if ("possible_edge" %in% colnames(am.long)) { + possible.edges <- am.long %>% + filter(possible_edge == TRUE) + has_constraints <- TRUE + } else { + possible.edges <- am.long + has_constraints <- FALSE + } + parent.pool <- unique(possible.edges$parent) # possible parent nodes + + # choose node to connect to root + # select "to" node from parent.pool to prevent getting stuck if max.num.root.children == 1 + temp.possible.root.children <- filter(possible.edges, parent == "root")$child + if (length(temp.possible.root.children) > 1) { + temp.node <- sample(temp.possible.root.children, 1) + } else { + temp.node <- temp.possible.root.children + } + + am.long[am.long$edge == getEdgeName("root", temp.node), ]$connected <- 1 + node.pool <- node.pool[node.pool != temp.node] + + # connect nodes that are left + while(length(node.pool) > 0) { + #for (n in node.pool) { + if (length(node.pool) > 1) { + n <- sample(node.pool, 1) + } else { + n <- node.pool + } + + # all possible edges to node n + # check if there are constraints present + if (has_constraints) { + temp.possible.edges <- am.long %>% + filter(possible_edge == T) + } else { + temp.possible.edges <- am.long + } + # can't connect to root if max.num.root.children quota is satisfied + if (numNodesConnectedToRoot(am.long) >= max.num.root.children) { + temp.possible.edges <- temp.possible.edges %>% + filter(child == n, parent != "root") + } else { + temp.possible.edges <- temp.possible.edges %>% + filter(child == n) + } + + # choose edge to connect -- randomly sample if more than 1 possible edge + if(nrow(temp.possible.edges) > 1) { + temp.edge <- temp.possible.edges[sample(nrow(temp.possible.edges), 1), ]$edge + } else if (nrow(temp.possible.edges) == 1) { + temp.edge <- temp.possible.edges$edge + } else { + # if no possible edges, start over + return(randAdmatUnchecked(blank, max.num.root.children)) + } + + # connect edge + am.long[am.long$edge == temp.edge, ]$connected <- 1 + + node.pool <- node.pool[node.pool != n] + } + + am.long <- am.long %>% + mutate(parent = factor(am.long$parent, levels = parent_levels)) + + am.long <- reversedEdges(am.long) %>% + mutate(reversed_connected=reversedConnection(.), + bi_directional=NA, + root_connected=NA) + am.long <- updateGraphElements(am.long) + + return(am.long) +} + +randAdmat <- function(am.long, max.num.root.children) { + # input: blank am.long (from either constrainedEdges or toLong(initEmptyAdmatFromK(K)) + # - $connected = 0 + # - $possible_edge = T/F if from constrainedEdges + # output: random graph + blank <- am.long + has_constraints <- ifelse("possible_edge" %in% colnames(am.long), + ifelse(any(!am.long$possible_edge), T, F), + F) + + am.long$parent <- as.character(am.long$parent) + + all.nodes <- getAllNodes(am.long) + node.pool <- all.nodes[all.nodes != "root"] # nodes left to connect in graph + possible.edges <- am.long %>% + filter(!is.na(connected)) + parent.pool <- unique(possible.edges$parent) # possible parent nodes + + # choose node to connect to root + # select "to" node from parent.pool to prevent getting stuck if max.num.root.children == 1 + temp.node <- sample(parent.pool[parent.pool != "root"], 1) + am.long[am.long$edge == getEdgeName("root", temp.node), ]$connected <- 1 + node.pool <- node.pool[node.pool != temp.node] + from.nodes <- c("root", temp.node) + + while(length(node.pool) > 0) { + + # remove "root" from possible parents if max.num.root.children quota satisfied + if(numNodesConnectedToRoot(am.long) < max.num.root.children) { + from.nodes.pool <- from.nodes + } else { + from.nodes.pool <- from.nodes[-1] + } + + if (length(from.nodes.pool) == 1) { + temp.from <- from.nodes.pool + } else { + temp.from <- sample(from.nodes.pool, 1) + } + + # remove possible "to" nodes based on NA constraints + temp.to.pool <- am.long %>% + filter(parent==temp.from) %>% + filter(!is.na(connected)) + # remove "to" nodes if not in node.pool + temp.to.pool <- temp.to.pool$child + temp.to.pool <- temp.to.pool[temp.to.pool %in% node.pool] + # sample possible children nodes to be "to" node and connect edge + if (length(temp.to.pool) > 1) { + temp.to <- sample(temp.to.pool, 1) + } else if (length(temp.to.pool) == 1) { + temp.to <- temp.to.pool + } else { + # remove temp.from from from.nodes + } + + am.long[am.long$edge == getEdgeName(temp.from, temp.to), ]$connected <- 1 + + # add temp.to to possible from.nodes if it is a possible parent + if (temp.to %in% parent.pool) { + from.nodes <- c(from.nodes, temp.to) + } + + node.pool <- node.pool[node.pool != temp.to] + } + + am.long <- reversedEdges(am.long) %>% + mutate(reversed_connected=reversedConnection(.), + bi_directional=NA, + root_connected=NA) + am.long <- updateGraphElements(am.long) + am.long +} + +isParentConnected <- function(am) { + am %>% + mutate(parent=factor(parent, levels=unique(parent))) %>% + group_by(parent) %>% + summarize(n=sum(connected)) %>% + pull(n) > 0 +} + +isRootConnected <- function(am) isParentConnected(am)[1] + +isDirected <- function(am) !any(am$bi_directional) + +isFullyConnected <- function(am.long) { + # checks if graph (am.long format) is fully connected + all_nodes <- getAllNodes(am.long) + nodes_in_main_tree <- bfsLong(am.long) + length(all_nodes) == length(nodes_in_main_tree) +} + +containsCycle <- function(am.long) { + # returns nodes in main tree (connected to root) including "root" + # starting at root + am.long$parent <- as.character(am.long$parent) + children <- am.long[(am.long$parent == "root" & am.long$connected == 1), ]$child + nodes <- c("root", children) + + while(length(children) > 0) { + c <- children[1] + temp.children <- am.long[(am.long$parent == c & am.long$connected == 1), ]$child + children <- c(children, temp.children) + if (any(temp.children %in% nodes)) return(TRUE) + nodes <- c(nodes, temp.children) + + children <- children[-1] + } + FALSE +} + +validGraph <- function(am) { + isDirected(am) && + isRootConnected(am) && + !containsCycle(am) && + isFullyConnected(am) +} + +bfsLong <- function(am.long) { + # returns vector of nodes in main tree (connected to root) including "root" + # starting at root + # stops if there is a cycle present in graph + am.long$parent <- as.character(am.long$parent) + children <- am.long[(am.long$parent == "root" & am.long$connected == 1), ]$child + nodes <- c("root", children) + + while(length(children) > 0) { + c <- children[1] + temp.children <- am.long[(am.long$parent == c & am.long$connected == 1), ]$child + children <- c(children, temp.children) + if (any(temp.children %in% nodes)) stop("graph has cycle") + nodes <- c(nodes, temp.children) + children <- children[-1] + } + return(nodes) +} + +addEdge <- function(am, new_edge) { + c <- new_edge$child + # disconnect existing edge connecting to child + am[which(am$child == c & am$connected == 1), ]$connected <- 0 + # connect new edge + am[which(am$edge == new_edge$edge), ]$connected <- 1 + # update graph elements + am <- updateGraphElements(am) + return(am) +} + +toWide <- function(am.long){ + am.long$child <- as.numeric(am.long$child) + am.long %>% select(parent, child, connected) %>% + tidyr::spread(child, connected) %>% + select(-parent) %>% + as.matrix() +} + +toLong <- function(am) { + am.long <- as_tibble(am) %>% + mutate(parent=rownames(am)) %>% + pivot_longer(-parent, + names_to="child", + values_to="connected") %>% + filter(parent != child) %>% + unite("edge", c("parent", "child"), sep="->", + remove=FALSE) %>% + mutate(parent=factor(parent, levels=unique(parent))) + return(am.long) +} + +isMoveValid <- function(a, possible_move, max.num.root.children) { + # a = am.long format of current graph + # possible_move = a row in possible_moves tibble (am.long format) + # max.num.root.children = maximum number of nodes allowed to be connected to root + # returns TRUE or FALSE + astar <- addEdge(a, possible_move) + + is_valid <- validGraph(astar) & (numNodesConnectedToRoot(astar) <= max.num.root.children) + return(is_valid) +} + +sampleNewEdge <- function(a, max.num.root.children, mc.cores=1){ + ## a move is connecting a new edge and disconnecting the pre-existing edge connected to the new edge's child + possible_moves <- filter(a, connected==0, possible_edge==T) + possible_moves_list <- possible_moves %>% + group_by(edge) %>% + group_split() + is_valid <- unlist(parallel::mclapply(possible_moves_list, function(x) isMoveValid(a, x, max.num.root.children), + mc.cores = mc.cores)) + move_set <- possible_moves_list[is_valid] + ix <- tryCatch(sample(seq_len(length(move_set)), 1), error=function(e) NULL) + if(is.null(ix)) { + return(a) + } else { + astar <- addEdge(a, move_set[[ix]]) + return(astar) + } +} + +initEmptyAdmatFromK <- function(K) { + admat <- matrix(0, K, K) + diag(admat) <- NA + am2 <- rbind(0, admat) + dimnames(am2) <- list(c("root", 1:K), 1:K) + return(am2) +} + +generateRandomGraphFromK <- function(K, max.num.root.children) { + # input: number of mutation clusters, K + # output: mutation tree; adjacency matrix + am.long <- toLong(initEmptyAdmatFromK(K)) + rand.am.long <- randAdmat(am.long, max.num.root.children) + if (!validGraph(rand.am.long)) warning("graph is not valid") + return(rand.am.long) +} + +getPosteriorAmLong <- function(am_chain) { + # input: chain from tree MCMC of trees in am.long format + # output: posterior am.long + num_trees <- length(am_chain) + + combined_am_chain <- am_chain %>% + bind_rows + post_am <- combined_am_chain %>% + group_by(edge) %>% + mutate(posterior_prob = sum(connected) / num_trees) %>% + ungroup() %>% + select(edge, parent, child, posterior_prob) %>% + distinct() + post_am +} + +toWidePostAm <- function(post_am) { + post_am <- post_am %>% + mutate(child = as.numeric(post_am$child)) + if(!is.factor(post_am$parent)) { + post_am <- post_am %>% + mutate(parent = factor(parent, levels = c("root", 1:max(post_am$parent)))) + } + post_am %>% + select(parent, child, posterior_prob) %>% + tidyr::spread(child, posterior_prob) %>% + select(-parent) %>% + as.matrix() +} + +filterAdmat <- function(admat, filter1 = TRUE, filter1.threshold = 0.1, + filter2 = TRUE, filter2.threshold = 0.1) { + # filter1 filters columns (am wide format) for edges with posterior prob > (max(column) - filter1.threshold) + # filter2 filters entire matrix for prob > filter2.threshold + + if (filter1) { + admat <- apply(admat, 2, function(x) ifelse(x > (max(x)-filter1.threshold), x, 0)) + } + + if (filter2) { + admat[admat <= filter2.threshold] <- 0 + } + + return(admat) +} + +prepPostAmForGraphing <- function(post_am) { + post_am_mat <- toWidePostAm(post_am) + + # add column for root + post_am_mat <- cbind(0, post_am_mat) + colnames(post_am_mat)[1] <- "root" + rownames(post_am_mat) <- colnames(post_am_mat) + admat <- round(as.matrix(post_am_mat), 2) + admat[is.na(admat)] <- 0 + + return(admat) +} + +labelMAPEdgesFromPostAM <- function(post_am) { + post_am %>% + group_by(child) %>% + mutate(map_edge = posterior_prob == max(posterior_prob)) %>% + ungroup() +} + +getMAPGraphFromPostAM <- function(post_am) { + map_am <- labelMAPEdgesFromPostAM(post_am) %>% + mutate(connected = ifelse(map_edge, 1, 0)) + return(map_am) +} + +edgeTibbleToAmLong <- function(edge_tb, root = 0) { + K <- length(unique(c(edge_tb$From, edge_tb$To))) - 1 + am_long <- toLong(initEmptyAdmatFromK(K)) + edge_tb$From <- as.character(edge_tb$From) + edge_tb[edge_tb == as.character(root)] <- "root" + for (i in seq_len(nrow(edge_tb))) { + temp_edge <- getEdgeName(edge_tb$From[i], edge_tb$To[i]) + am_long$connected[which(am_long$edge == temp_edge)] <- 1 + } + return(am_long) +} + +getBTColumn <- function(am_long, node) { + BT_column <- rep(0, length(unique(am_long$child))) + path <- getPathFromRoot(node, am_long) + BT_column[path] <- 1 + return(BT_column) +} + +amToBT <- function(am_long) { + # returns binary perfect phylogeny matrix + # where columns are clones and rows are mutation clusters + # clones have the same numeric ID as the last mutation cluster on their path from the root + children <- unique(am_long$child) + children_num <- sort(as.numeric(children)) + + BT_cols <- sapply(children_num, function(node) getBTColumn(am_long, node)) + + return(BT_cols) +} + +summarizeWChain <- function(w.chain) { + # output: mcf_stats + mcf_stats <- w.chain %>% + group_by(Parameter) %>% + summarize(sd=sd(value), + mean=mean(value)) + return(mcf_stats) +} + +create.cpov <- function(mcf_stats, alpha=0.05, zero.thresh=0.001, mcf_matrix = NULL, restriction.val = 1) { + cpov <- NA + MCF <- NA + + ## if mcf_matrix is supplied, use that to create cpov + if (is.null(mcf_matrix)) { + cpov <- initializeAdjacencyMatrix(mcf_stats = mcf_stats, zero.thresh = zero.thresh) + cpov[is.na(cpov)] <- restriction.val + MCF <- mcfMatrix(mcf_stats) + } else { + cpov <- initializeAdjacencyMatrix(mcf_matrix = mcf_matrix, zero.thresh = zero.thresh) + cpov[is.na(cpov)] <- restriction.val + MCF <- mcf_matrix + } + + sds <- mcfMatrix(mcf_stats, parameter="sd") + ##S <- ncol(mcmc_w) # number of samples + S <- numberSamples(mcf_stats) + ##cpov <- cpov[-1, ] + ## root can go to anyone -- all 0's (default base admat value) + for (r in 2:nrow(cpov)) { + for (c in 1:ncol(cpov)) { + if (cpov[r,c] == restriction.val) next # skip restricted position + from <- r-1 # 'from' cluster node + to <- c # 'to' cluster node + statistic <- 0 + pval <- 0 + for(s in seq_len(S)) { + ##d <- mcmc_w[from,s] - mcmc_w[to,s] + d <- MCF[from, s] - MCF[to, s] + d_sd <- sqrt(sds[from, s]^2 + sds[to, s]^2) + ##d_sd <- sqrt((mcmc_w_sd[from,s])^2 + (mcmc_w_sd[to,s])^2) + I <- sum(d < 0) + ## cumulative sum of the + ## number of standard deviations for the difference in + ## MCFs between 2 samples + if (d == 0 || is.nan(d / d_sd)) { + next + } else { + statistic <- statistic + (d / d_sd)^2 * I + } + + for (k in 0:S) { + pval <- pval + ((1 - pchisq(statistic, k)) * + choose(S, k) / (2^S)) + } + } + + pval <- ifelse(is.na(pval), 0, pval) + pval <- ifelse(is.nan(pval), 0, pval) + ## + ## edge seems to be based on this ad-hoc statistic, not + ## the probability of the tree + ## + cpov[r,c] <- decide.ht(pval, alpha) + } + } + cpov +} + +decide.ht <- function(pval, alpha=0.05) { + # 1 signals rejection event for null of i -> j + if (pval <= alpha) return(1) + else return(0) +} + +calcTopologyCost <- function(am, cpov, am_format = "long") { + TC <- 0 + + if (am_format == "long") { + am <- toWide(am) + } + + edges <- which(am == 1, arr.ind=TRUE) + N <- nrow(edges) + for (i in seq_len(N)) { + TC <- TC + cpov[edges[i,1], edges[i,2]] + } + + TC +} + +getEdges <- function(am.long) { + am.long %>% + filter(connected == 1) %>% + mutate(parent = as.character(parent)) +} + +getChildren <- function(am.long, node) { + # returns vector of children nodes + edges <- am.long %>% + mutate(parent = as.character(parent)) %>% + filter(connected == 1) %>% + filter(parent == node) + return(edges$child) +} + +calcMassCost <- function(am, mcf_matrix, purity, am_format="long") { + num_samples <- ncol(mcf_matrix) + + if (am_format == "long") { + edges <- getEdges(am) + + parent_nodes <- unique(edges$parent) + mass_cost <- rep(0, length(parent_nodes)) # mass cost of each parent node + + for (i in seq_len(length(parent_nodes))) { + parent_node <- parent_nodes[i] + + # root MCF is purity instead of 1 + if (parent_node == "root") { + # parent_w <- rep(1, num_samples) # 1 replaced by purity + parent_w <- purity + } else { + parent_w <- mcf_matrix[as.numeric(parent_node), ,drop=FALSE] + } + + kids <- getChildren(am, parent_node) + if (length(kids) > 1) { + children_w <- colSums(mcf_matrix[as.numeric(kids), ,drop=FALSE]) + } else { + children_w <- mcf_matrix[as.numeric(kids), ,drop=FALSE] + } + + mc_s <- ifelse(parent_w >= children_w, 0, children_w - parent_w) + #mass_cost[i] <- sqrt(sum(mc_s^2)) + mass_cost[i] <- max(mc_s) # take max across samples instead of euclidean distance + } + return(sum(mass_cost)) + + } else if (am_format == "wide") { + num_children <- rowSums(am, na.rm = T) + nodes <- which(num_children > 0, arr.ind = T) # not leaves + mc_node <- rep(0, length(nodes)) + + for (i in 1:length(nodes)) { + node <- nodes[i] + + # root node: MCF = 1 + parent_w <- rep(1, ncol(mcf_matrix)) + # not root node: look up MCF in mcf_matrix + if (node != 1) { + parent_w <- mcf_matrix[node-1,] + } + + kids <- which(am[node,] == 1, arr.ind = T) + if (num_children[node] > 1) { + children_w <- colSums(mcf_matrix[kids, ]) + } else { + children_w <- mcf_matrix[kids, ] + } + + mc_s <- ifelse(parent_w >= children_w, 0, children_w - parent_w) + mc_node[i] <- sqrt(sum(mc_s^2)) + } + return(sum(mc_node)) + } +} + +edgesToAmLong <- function(edges) { + am_wide <- initEmptyAdmatFromK(length(unique(edges$child))) + edges[edges$parent == "root", "parent"] <- "0" + edges <- edges %>% + mutate(parent = as.numeric(parent) + 1, + child = as.numeric(child)) %>% + select(parent, child) + edges <- as.matrix(edges) + for (r in 1:nrow(edges)) { + am_wide[edges[r,1], edges[r,2]] <- 1 + } + admat <- toLong(am_wide) + admat <- reversedEdges(admat) %>% + mutate(reversed_connected=reversedConnection(.), + bi_directional=NA, + root_connected=NA) + admat <- updateGraphElements(admat) + return(admat) +} + +calcTreeFitness <- function(admat, cpov, mcf_matrix, purity, am_format = "long", weight_mass = 1, weight_topology = 1, scaling_coeff=5) { + # if only edges are given, change into long format + if (am_format == "edges") { + admat <- edgesToAmLong(admat) + am_format <- "long" + } + + TC <- calcTopologyCost(admat, cpov, am_format) + MC <- calcMassCost(admat, mcf_matrix, purity, am_format) + Z <- weight_topology * TC + weight_mass * MC + fitness <- exp(-scaling_coeff * Z) + fitness +} + +satisfiesCCFSumProperties <- function(am_long, mcf_matrix, threshold = 0.2) { + # threshold = max value that children CCFs can be larger than parent; + # i.e. function returns false if (sum of children CCFs) - parent CCF > threshold + + edges <- getEdges(am_long) + parent_nodes <- unique(edges$parent) + + for (i in seq_len(length(parent_nodes))) { + parent_node <- parent_nodes[i] + + # root CCF is 1 + if (parent_node == "root") { + parent_w <- rep(1, ncol(mcf_matrix)) + } else { + parent_w <- mcf_matrix[as.numeric(parent_node), ] + } + + kids <- getChildren(am_long, parent_node) + if (length(kids) > 1) { + children_w <- colSums(mcf_matrix[as.numeric(kids), ]) + } else { + children_w <- mcf_matrix[as.numeric(kids), ] + } + + # return false if violates sum properties + if (any(children_w - parent_w > threshold)) return(FALSE) + } + + return(TRUE) +} + +#' Calculate SCHISM fitness scores for trees +#' +#' @export +#' @param w_chain MCMC chain of CCF values, which is the first item in the list returned by \code{clusterSep} +#' @param trees list of tibbles, where each tibble contains edges of a tree with columns edge, parent, child +calcTreeScores <- function(mcf_chain, trees, purity, mc.cores = 1) { + # calculate mean and sd of mcf for each cluster in each sample + mcf_stats <- summarizeWChain(mcf_chain) + + # create cpov matrix + # first: using sample presence to create a binary matrix; 0 is i can be a ancestor of j; 1 if not + # second: for i,j pair that pass the sample presence test, calc stats of the difference between mcf of all + # samples; return binary matrix + # problem: is the stats calculation in create.cpov correct? only using cluster so is actually POV instead + # of CPOV + cpov <- create.cpov(mcf_stats) + mcf_mat <- estimateMCFs(mcf_chain) + + # first calculate topology cost: sum of the cpov matrix over all edges + # potential problem: mcf[i]=0.4->mcf[j]=0.6 has same weight as mcf[i]=0.5->mcf[j]=0.6 + # second calculate mass cost: take the max mass violation among all samples; is there a better strategy? + # fitness is exp(-5*(topology cost + mass cost)) + schism_scores <- unlist(parallel:::mclapply(trees, + function(x) calcTreeFitness(x, cpov, mcf_mat, purity, am_format = "edges"), + mc.cores = mc.cores)) + return(schism_scores) +} + +#' Calculate SCHISM fitness scores for trees +#' +#' @export +calculateTreeScoreMutations <- function(mcf_chain, data, icnTable, cncfTable, multiplicityTable, clusterAssingmentTable, purity, trees, restriction.val = 1, mc.cores = 8) { + + mcfMutations1 <- (data$y * (icnTable$icn*cncfTable+2-2*cncfTable) - data$n * (multiplicityTable$Multiplicity-1)*cncfTable) / data$n + mcfMutations1[mcfMutations1>1] <-1 + mcfMutations1[mcfMutations1<0] <-0 + mcfMutations2 <- (data$n - 2 * data$y) / (data$y * icnTable$icn - 2 * data$y - data$n*multiplicityTable$Multiplicity + data$n) + mcfMutations2[mcfMutations2>1] <-1 + mcfMutations2[mcfMutations2<0] <-0 + + mcfMutations <- matrix(0, nrow = nrow(mcfMutations1), ncol = ncol(mcfMutations1)) + mcfMutations[data$is_cn == 1, ] <- mcfMutations2[data$is_cn == 1, ] + mcfMutations[data$is_cn == 0, ] <- mcfMutations1[data$is_cn == 0, ] + mcfMutations[is.nan(mcfMutations)] <- 0 + + colnames(mcfMutations) <- seq_len(ncol(mcfMutations)) + + mutation_chain <- as_tibble(mcfMutations) %>% rownames_to_column("Row") %>% + pivot_longer( + cols = -Row, + names_to = "Column", + values_to = "value" + ) %>% mutate(Row = as.integer(Row)) + + mutation_chain <- clusterAssingmentTable %>% + mutate(row = row_number()) %>% + inner_join(mutation_chain, by = c("row" = "Row")) %>% + mutate(Parameter = paste("mcf[", row, ",", gsub("V", "", Column), "]", sep = "")) %>% + select(Parameter, value, Cluster) + + mutation_stats <- mutation_chain %>% + group_by(Cluster) %>% + summarize(sd=sd(value),mean=mean(value)) + + mutation_stats <- mutation_chain %>% + left_join(mutation_stats, by="Cluster") %>% + select(Parameter, sd, value) %>% + mutate(mean = value) %>% + select(Parameter, sd, mean) + + # create pov for mutaiton pairs + pov <- create.cpov(mutation_stats) + pov <- pov[2:nrow(pov),] + + cpov <- initializeAdjacencyMatrix(mcf_stats = summarizeWChain(mcf_chain)) + cpov[is.na(cpov)] <- restriction.val + + for (r in 2:nrow(cpov)) { + for (c in 1:ncol(cpov)) { + if (cpov[r,c] == restriction.val) next + from <- r-1 # 'from' cluster node + to <- c # 'to' cluster node + fromMutations <- which(clusterAssingmentTable$Cluster==from) + toMutations <- which(clusterAssingmentTable$Cluster==to) + + totPov <- 0 + for (fromIdx in fromMutations) { + for (toIdx in toMutations) { + totPov = totPov + pov[fromIdx, toIdx] + } + } + totPov = totPov / (length(fromMutations)*length(toMutations)) + cpov[r,c] = totPov + } + } + # scores <- calcTreeScores(chains$mcf_chain, all_spanning_trees, purity) + mcf_mat <- estimateMCFs(mcf_chain) + + # first calculate topology cost: sum of the cpov matrix over all edges + # potential problem: mcf[i]=0.4->mcf[j]=0.6 has same weight as mcf[i]=0.5->mcf[j]=0.6 + # second calculate mass cost: take the max mass violation among all samples; is there a better strategy? + # fitness is exp(-5*(topology cost + mass cost)) + schism_scores <- unlist(parallel:::mclapply(trees, + function(x) calcTreeFitness(x, cpov, mcf_mat, purity, am_format = "edges"), + mc.cores = mc.cores)) +} + +rand.admat <- function(admat) { + for(col in 1:ncol(admat)) { + ind.0 <- which(admat[,col] == 0) # possible positions (0's) + + # place 1 if only 1 position available + if (length(ind.0) == 1) { + admat[ind.0, col] <- 1 + + } else { # else randomly pick which position to place 1 + rand.ind <- sample(ind.0, size=1) + admat[rand.ind,col] <- 1 + } + } + + if (sum(admat[1, ], na.rm=TRUE) == 0) { + # pick random cluster to be connected to root + rand.k <- sample(1:ncol(admat), size = 1) + curr.1 <- which(admat[, rand.k] == 1) + admat[curr.1, rand.k] <- 0 + admat[1, rand.k] <- 1 + } + + while (is.bidirectional(admat)) { + admat <- fix.bidirectional(admat) + } + + admat +} + +restrictions.from.post.admat <- function(post.admat, threshold=0.1) { + # input: posterior adjacency matrix + # output: adjacency matrix with restrictions (0's in allowed positions, NAs in restricted positions) + # For each column, posible positions are the position with the max posterior + # probability and those within the threshold of the max (> (max - 0.1)) + + thresh <- apply(post.admat, 2, max) - threshold + apply(post.admat, 2, function(x) ifelse(x > (max(x)-threshold), 0, NA)) +} + +initializeAdjacencyMatrix <- function(mcf_stats=NULL, mcf_matrix=NULL, zero.thresh=0.01) { + if (!is.null(mcf_stats)) { + MCF <- mcfMatrix(mcf_stats) + } else if (!is.null(mcf_matrix)) { + MCF <- mcf_matrix + } else stop("must supply either mcf_stats or mcf_matrix") + + ## + ## for each row (cluster) of the MCF matrix, + ## list indices of samples for which the cluster is present + ## + K <- nrow(MCF) + S <- ncol(MCF) + # cluster.sample.presence should be a list + MCF_list <- split(MCF, seq(nrow(MCF))) + cluster.sample.presence <- lapply(MCF_list, + function(x) which(x > zero.thresh)) + all.samples <- seq_len(S) + ## initialize adjacency matrix + ##admat <- matrix(data=0, nrow=(1+K), ncol=K) + admat <- matrix(data=0, K, K) + ## can't go to self + diag(admat) <- NA + for(from in seq_len(K)){ + for(to in seq_len(K)){ + ## can't go to self + if (from == to) next() + ## hierarchy restraints + from.samples <- cluster.sample.presence[[from]] + to.samples <- cluster.sample.presence[[to]] + ## no restraints if same sample presence + if (identical(from.samples, to.samples)) next() + ## restraint if # from.samples < # to.samples + if(length(from.samples) < length(to.samples)) { + admat[from, to] <- NA + next() + } + ## no restraints if to.samples is subset of from.samples + if (all(to.samples %in% from.samples)) { + next + } else { + admat[from, to] <- NA + } + } + } + ## Add root + ## can go from root to anyone + admat <- rbind(0, admat) + dimnames(admat) <- list(c("root", paste0("cluster", seq_len(K))), + paste0("cluster", seq_len(K))) + admat +} + +init.admat <- function(w, zero.thresh) { + base <- base.admat(w, zero.thresh) + rand.admat(base) +} + +#' @export +mutate.admat <- function(admat, ncol.to.mutate) { + ## choose a column(s) to mutate + K <- ncol(admat) + rand.ks <- sample(seq_len(K), size=ncol.to.mutate) + ## mutate columns + new.admat <- admat + for(k in rand.ks){ + + temp.admat <- mutate.column(new.admat, k) + # make sure admat is fully connected + while (!is.fully.connected(temp.admat)) { + temp.admat <- mutate.column(new.admat, k) + } + new.admat <- temp.admat + } + + # replace root edge if missing + if (sum(new.admat[1, ]) == 0) { + otherCol <- sample(seq_len(K)[-rand.ks], size = 1) + ind.1 <- which(admat[, otherCol] == 1) + new.admat[1, otherCol] <- 1 + new.admat[ind.1, otherCol] <- 0 + } + + # fix bidirectional edge if present + while (is.bidirectional(new.admat)) { + new.admat <- fix.bidirectional(new.admat) + } + + new.admat +} + +#' @export +mutate.admat.2 <- function(admat, ncol.to.mutate) { + + new.admat <- mutate.n.columns(admat, ncol.to.mutate) + + # make sure admat is fully connected + while (!is.fully.connected(new.admat)) { + new.admat <- mutate.n.columns(admat, ncol.to.mutate) + } + + new.admat +} + +#' @export +mutate.n.columns <- function(admat, ncol.to.mutate) { + K <- ncol(admat) + # columns with more than 1 possible position + columns.to.choose.from <- seq_len(K)[apply(admat, 2, function(x) sum(is.na(x)) < K)] + # sample columns from those with more than 1 possible position + rand.ks <- sample(columns.to.choose.from, size=ncol.to.mutate) + for(k in rand.ks){ + admat <- mutate.column(admat, k) + } + admat +} + +#' @export +mutate.column <- function(admat, k) { + ## possible positions (0's) + possiblePos <- which(!is.na(admat[, k]) & admat[, k] != 1) + ## current position with 1 + ind.1 <- which(admat[, k] == 1) + ## select new position + if (length(possiblePos) == 1) { + new.1 <- possiblePos + } else { + new.1 <- sample(possiblePos, size=1) + } + + admat[ind.1, k] <- 0 + admat[new.1, k] <- 1 + admat +} + +#' @export +mutate.admat.3 <- function(admat, ncol.to.mutate, mcf_matrix) { + + mutate.prob.tb <- get.cluster.mutate.prob(mcf_matrix) + + new.admat <- mutate.n.columns.clusterprob(admat, ncol.to.mutate, mutate.prob.tb) + + # make sure admat is fully connected + while (!is.fully.connected(new.admat)) { + new.admat <- mutate.n.columns.clusterprob(admat, ncol.to.mutate, mutate.prob.tb) + } + + new.admat +} + +#' @export +mutate.n.columns.clusterprob <- function(admat, ncol.to.mutate, mutate.prob.tb) { + K <- ncol(admat) + rand.ks <- sample(seq_len(K), size=ncol.to.mutate, prob = mutate.prob.tb$cluster_prob) + for(k in rand.ks){ + admat <- mutate.column(admat, k) + } + admat +} + +get.cluster.mutate.prob <- function(mcf_matrix) { + sample.presence <- get.sample.presence(mcf_matrix) + tiers <- sort(unique(sample.presence$num_samples)) + tier.prob <- get.tier.probs(tiers) + mutate.prob.tb <- sample.presence %>% + mutate(tier_prob = tier.prob$tier_prob[match(sample.presence$num_samples, tier.prob$num_samples)]) + mutate.prob.tb <- mutate.prob.tb %>% + group_by(num_samples) %>% + mutate(cluster_prob = tier_prob / n()) + mutate.prob.tb +} + +get.sample.presence <- function(mcf_matrix) { + mcf <- round(mcf_matrix, 2) + sample.presence <- tibble(cluster = paste0("cluster", 1:nrow(mcf_matrix)), + num_samples = rowSums(mcf > 0)) + sample.presence +} + +get.tier.probs <- function(tiers) { + numTiers <- length(tiers) + tibble(num_samples = tiers, + tier_prob = round(rev(10^(numTiers))/sum(10^(numTiers)), 5)) + #tier_prob = rev(1:numTiers / sum(1:numTiers))) +} + +is.fully.connected <- function(admat) { + # checks if admat is fully connected + numClusters <- nrow(admat) + nodesInMainTree <- bfs(admat) + numNodesInMainTree <- length(nodesInMainTree) + numClusters == numNodesInMainTree +} + +bfs <- function(admat) { + # starting at root + children <- names(which(admat[1, ] == 1)) + nodes <- c("root", children) + + while(length(children) > 0) { + c <- children[1] + children <- children[-1] + temp.children <- names(which(admat[c, ] == 1)) + children <- c(children, temp.children) + nodes <- c(nodes, temp.children) + } + nodes +} + +is.bidirectional <- function(admat) { + numClusters <- ncol(admat) + for (i in seq_len(numClusters)) { + for (j in seq_len(numClusters)) { + s <- sum(admat[i+1, j], admat[j+1, i], na.rm = TRUE) + if (s == 2) return(TRUE) + } + } + + FALSE +} + +fix.bidirectional <- function(admat) { + numClusters <- ncol(admat) + for (i in seq_len(numClusters)) { + for (j in seq_len(numClusters)) { + s <- sum(admat[i+1, j], admat[j+1, i], na.rm = TRUE) + if (s == 2) { + # pick one edge to change + to <- sample(c(i,j), size = 1) + + new.admat <- admat + ## possible positions (0's) + possiblePos <- which(!is.na(admat[, to]) & admat[, to] != 1) + ## current position with 1 + ind.1 <- which(admat[, to] == 1) + ## select new position + if (length(possiblePos) == 1) { + new.1 <- possiblePos + } else { + new.1 <- sample(possiblePos, size=1) + } + + new.admat[ind.1, to] <- 0 + new.admat[new.1, to] <- 1 + return(new.admat) + } + } + } +} + + +plotDAG <- function(admat){ + admat.untouched <- admat + admat <- cbind(0, admat) ## add column for root + dimnames(admat)[[2]][1] <- "root" + dimnames(admat) <- lapply(dimnames(admat), function(x) gsub("cluster", "", x)) + + admat[is.na(admat)] <- 0 + + net <- network::network(admat, directed=TRUE) + GGally::ggnet2(net, label=TRUE, arrow.size=12, + arrow.gap=0.025, mode = get.DAG.coords.2(admat.untouched)) +} + +get.DAG.coords <- function(admat) { + dat <- data.frame(label = rownames(admat), + x = 0, + y = 0) + + # fix root position + dat[dat$label=="root", ]$x <- 0.5 + dat[dat$label=="root", ]$y <- 1 + + + lvls <- getNodesInLevels(admat) + #lvls <- lapply(lvls, function(x) gsub("cluster", "", x)) + + yvals <- seq(1, 0, by = -1/length(lvls))[-1] + for (i in 1:length(lvls)) { + nodes <- lvls[[i]] + dat[match(nodes, dat$label), ]$y <- yvals[i] + + xvals <- seq(0, 1, by = 1/(length(nodes) + 1))[-c(1, length(nodes) + 2)] + dat[match(nodes, dat$label), ]$x <- xvals + } + cbind(dat$x, dat$y) +} + + +get.DAG.coords.2 <- function(admat) { + nodeInfo <- getNodeInfo(admat) + nodeInfo$x <- 0 + nodeInfo$y <- 0 + + # fix root position + nodeInfo[nodeInfo$node=="root", ]$x <- 0.5 + nodeInfo[nodeInfo$node=="root", ]$y <- 1 + + yvals <- seq(1, 0, by = -1/max(nodeInfo$level))[-1] + + + for (i in 1:max(nodeInfo$level)-1) { + + parents <- nodeInfo[nodeInfo$level == i, ]$node + for (parent in parents) { + if(nodeInfo[nodeInfo$node == parent, ]$numKids == 0) next + kids <- nodeInfo[which(nodeInfo$parent == parent), ]$node + + # set y vals + nodeInfo[match(kids, nodeInfo$node), ]$y <- yvals[i+1] + + # set x vals + if (parent == "root") { + xvals <- seq(0, 1, by = 1/(length(kids) + 1))[-c(1, length(kids) + 2)] + nodeInfo[match(kids, nodeInfo$node), ]$x <- xvals + } else { + p.x <- nodeInfo[which(nodeInfo$node == parent), ]$x + if (length(kids) == 1) { + nodeInfo[match(kids, nodeInfo$node), ]$x <- p.x + } else { + r <- 0.025*(max(nodeInfo$level)-i)* length(kids) + xvals <- seq(p.x - (r/2), p.x + (r/2), length.out = length(kids)) + nodeInfo[match(kids, nodeInfo$node), ]$x <- xvals + } + + } + } + } + cbind(nodeInfo$x, nodeInfo$y) +} + +getNodeInfo <- function(admat) { + nodeInfo <- getLevels(admat) + nodeInfo$parent <- NA + for (r in 2:nrow(nodeInfo)) { + nodeInfo$parent[r] <- names(which(admat[, r-1] == 1)) + + } + nodeInfo$numKids <- rowSums(admat, na.rm = T) + nodeInfo +} + +getLevels <- function(admat) { + nodeNames <- rownames(admat) + numNodes <- nrow(admat) + + lvl <- data.frame(node = nodeNames, + level = 0, + stringsAsFactors = F) + + currParents <- "root" + currKids <- unname(unlist(sapply(currParents, function(x) names(which(admat[x, ] == 1))))) + currlvl <- 1 + + while (length(currKids) > 0) { + lvl[match(currKids, lvl$node), ]$level <- currlvl + currParents <- currKids + currKids <- unname(unlist(sapply(currParents, function(x) names(which(admat[x, ] == 1))))) + + currlvl <- currlvl + 1 + } + lvl +} + +getNodesInLevels <- function(admat) { + nodeNames <- rownames(admat) + numNodes <- nrow(admat) + + lvls <- list() + + currParents <- "root" + currKids <- unname(unlist(lapply(currParents, function(x) names(which(admat[x, ] == 1))))) + currlvl <- 1 + + while (length(currKids) > 0) { + lvls[[currlvl]] <- currKids + currParents <- currKids + currKids <- unname(unlist(lapply(currParents, function(x) names(which(admat[x, ] == 1))))) + currlvl <- currlvl + 1 + } + lvls +} + + + +numericRepresentation <- function(x){ + x[is.na(x)] <- 0 + x <- as.numeric(x) + paste(x, collapse="") +} + +plainAdmat <- function(admat) { + plain <- cbind(root = rep(0, nrow(admat)), admat) + plain[is.na(plain)] <- 0 + plain +} + +calc.tree.prop.true <- function(admat, true.admat) { + # inputs: + # - admat = an adjacency matrix + # - true.admat = the true adjacency matrix + # output: proportion of edges that are correct [0,1] + true.edges <- which(true.admat == 1) + admat.edges <- which(admat == 1) + sum(admat.edges %in% true.edges) / length(true.edges) +} + +plotEnsembleDAG <- function(post.admat, filter1 = TRUE, filter1.threshold = 0.1) { + # filter1 filters columns for edges with posterior prob > (max(column) - filter1.threshold) + + admat <- cbind(0, post.admat) ## add column for root + dimnames(admat)[[2]][1] <- "root" + dimnames(admat) <- lapply(dimnames(admat), function(x) gsub("cluster", "", x)) + admat <- as.matrix(admat) + + ad <- admat + # filter edges + if (filter1) { + #thresh <- apply(admat, 2, max) - filter1.threshold + ad <- apply(admat, 2, function(x) ifelse(x > (max(x)-filter1.threshold), x, 0)) + } + + ig <- graph_from_adjacency_matrix(ad, mode = "directed", weighted = TRUE, + diag = FALSE, add.row = TRUE) + + E(ig)$lty <- ifelse(E(ig)$weight < 0.25, 2, 1) + + # make edge black if only 1 edge to vertex + e <- ends(ig, E(ig)) + numTo <- table(e[,2]) + edgeColors <- sapply(e[,2], function(x) ifelse(x %in% names(which(numTo==1)), "black", "darkgrey")) + E(ig)$color <- edgeColors + + V(ig)$label.cex <- 0.5 + + plot.igraph(ig, layout = layout_as_tree(ig), + vertex.color = "white", vertex.label.family = "Helvetica", + edge.arrow.size = 0.2, edge.arrow.width = 2, + edge.width = E(ig)$weight*3) +} + +mcfMatrix <- function(mcf_stats, parameter="mean"){ + K <- numberClusters(mcf_stats) + S <- numberSamples(mcf_stats) + if(parameter=="mean") + MCF <- matrix(mcf_stats$mean, K, S, byrow=TRUE) + if(parameter=="sd") + MCF <- matrix(mcf_stats$sd, K, S, byrow=TRUE) + MCF +} diff --git a/R/tree.R b/R/tree.R deleted file mode 100644 index ad48b46..0000000 --- a/R/tree.R +++ /dev/null @@ -1,474 +0,0 @@ -rand.admat <- function(admat) { - for(col in 1:ncol(admat)) { - ind.0 <- which(admat[,col] == 0) # possible positions (0's) - - # place 1 if only 1 position available - if (length(ind.0) == 1) { - admat[ind.0, col] <- 1 - - } else { # else randomly pick which position to place 1 - rand.ind <- sample(ind.0, size=1) - admat[rand.ind,col] <- 1 - } - } - - if (sum(admat[1, ], na.rm=TRUE) == 0) { - # pick random cluster to be connected to root - rand.k <- sample(1:ncol(admat), size = 1) - curr.1 <- which(admat[, rand.k] == 1) - admat[curr.1, rand.k] <- 0 - admat[1, rand.k] <- 1 - } - - while (is.bidirectional(admat)) { - admat <- fix.bidirectional(admat) - } - - admat -} - -restrictions.from.post.admat <- function(post.admat, threshold=0.1) { - # input: posterior adjacency matrix - # output: adjacency matrix with restrictions (0's in allowed positions, NAs in restricted positions) - # For each column, posible positions are the position with the max posterior - # probability and those within the threshold of the max (> (max - 0.1)) - - thresh <- apply(post.admat, 2, max) - threshold - apply(post.admat, 2, function(x) ifelse(x > (max(x)-threshold), 0, NA)) -} - -initializeAdjacencyMatrix <- function(mcf_stats=NULL, mcf_matrix=NULL, zero.thresh=0.01) { - if (!is.null(mcf_stats)) { - MCF <- mcfMatrix(mcf_stats) - } else if (!is.null(mcf_matrix)) { - MCF <- mcf_matrix - } else stop("must supply either mcf_stats or mcf_matrix") - - ## - ## for each row (cluster) of the MCF matrix, - ## list indices of samples for which the cluster is present - ## - K <- nrow(MCF) - S <- ncol(MCF) - # cluster.sample.presence should be a list - MCF_list <- split(MCF, seq(nrow(MCF))) - cluster.sample.presence <- lapply(MCF_list, - function(x) which(x > zero.thresh)) - all.samples <- seq_len(S) - ## initialize adjacency matrix - ##admat <- matrix(data=0, nrow=(1+K), ncol=K) - admat <- matrix(data=0, K, K) - ## can't go to self - diag(admat) <- NA - for(from in seq_len(K)){ - for(to in seq_len(K)){ - ## can't go to self - if (from == to) next() - ## hierarchy restraints - from.samples <- cluster.sample.presence[[from]] - to.samples <- cluster.sample.presence[[to]] - ## no restraints if same sample presence - if (identical(from.samples, to.samples)) next() - ## restraint if # from.samples < # to.samples - if(length(from.samples) < length(to.samples)) { - admat[from, to] <- NA - next() - } - ## no restraints if to.samples is subset of from.samples - if (all(to.samples %in% from.samples)) { - next - } else { - admat[from, to] <- NA - } - } - } - ## Add root - ## can go from root to anyone - admat <- rbind(0, admat) - dimnames(admat) <- list(c("root", paste0("cluster", seq_len(K))), - paste0("cluster", seq_len(K))) - admat -} - -init.admat <- function(w, zero.thresh) { - base <- base.admat(w, zero.thresh) - rand.admat(base) -} - - -mutate.admat <- function(admat, ncol.to.mutate) { - ## choose a column(s) to mutate - K <- ncol(admat) - rand.ks <- sample(seq_len(K), size=ncol.to.mutate) - ## mutate columns - new.admat <- admat - for(k in rand.ks){ - - temp.admat <- mutate.column(new.admat, k) - # make sure admat is fully connected - while (!is.fully.connected(temp.admat)) { - temp.admat <- mutate.column(new.admat, k) - } - new.admat <- temp.admat - } - - # replace root edge if missing - if (sum(new.admat[1, ]) == 0) { - otherCol <- sample(seq_len(K)[-rand.ks], size = 1) - ind.1 <- which(admat[, otherCol] == 1) - new.admat[1, otherCol] <- 1 - new.admat[ind.1, otherCol] <- 0 - } - - # fix bidirectional edge if present - while (is.bidirectional(new.admat)) { - new.admat <- fix.bidirectional(new.admat) - } - - new.admat -} - -mutate.admat.2 <- function(admat, ncol.to.mutate) { - - new.admat <- mutate.n.columns(admat, ncol.to.mutate) - - # make sure admat is fully connected - while (!is.fully.connected(new.admat)) { - new.admat <- mutate.n.columns(admat, ncol.to.mutate) - } - - new.admat -} - -mutate.n.columns <- function(admat, ncol.to.mutate) { - K <- ncol(admat) - # columns with more than 1 possible position - columns.to.choose.from <- seq_len(K)[apply(admat, 2, function(x) sum(is.na(x)) < K)] - # sample columns from those with more than 1 possible position - rand.ks <- sample(columns.to.choose.from, size=ncol.to.mutate) - for(k in rand.ks){ - admat <- mutate.column(admat, k) - } - admat -} - -mutate.column <- function(admat, k) { - ## possible positions (0's) - possiblePos <- which(!is.na(admat[, k]) & admat[, k] != 1) - ## current position with 1 - ind.1 <- which(admat[, k] == 1) - ## select new position - if (length(possiblePos) == 1) { - new.1 <- possiblePos - } else { - new.1 <- sample(possiblePos, size=1) - } - - admat[ind.1, k] <- 0 - admat[new.1, k] <- 1 - admat -} - -mutate.admat.3 <- function(admat, ncol.to.mutate, mcf_matrix) { - - mutate.prob.tb <- get.cluster.mutate.prob(mcf_matrix) - - new.admat <- mutate.n.columns.clusterprob(admat, ncol.to.mutate, mutate.prob.tb) - - # make sure admat is fully connected - while (!is.fully.connected(new.admat)) { - new.admat <- mutate.n.columns.clusterprob(admat, ncol.to.mutate, mutate.prob.tb) - } - - new.admat -} - -mutate.n.columns.clusterprob <- function(admat, ncol.to.mutate, mutate.prob.tb) { - K <- ncol(admat) - rand.ks <- sample(seq_len(K), size=ncol.to.mutate, prob = mutate.prob.tb$cluster_prob) - for(k in rand.ks){ - admat <- mutate.column(admat, k) - } - admat -} - -get.cluster.mutate.prob <- function(mcf_matrix) { - sample.presence <- get.sample.presence(mcf_matrix) - tiers <- sort(unique(sample.presence$num_samples)) - tier.prob <- get.tier.probs(tiers) - mutate.prob.tb <- sample.presence %>% - mutate(tier_prob = tier.prob$tier_prob[match(sample.presence$num_samples, tier.prob$num_samples)]) - mutate.prob.tb <- mutate.prob.tb %>% - group_by(num_samples) %>% - mutate(cluster_prob = tier_prob / n()) - mutate.prob.tb -} - -get.sample.presence <- function(mcf_matrix) { - mcf <- round(mcf_matrix, 2) - sample.presence <- tibble(cluster = paste0("cluster", 1:nrow(mcf_matrix)), - num_samples = rowSums(mcf > 0)) - sample.presence -} - -get.tier.probs <- function(tiers) { - numTiers <- length(tiers) - tibble(num_samples = tiers, - tier_prob = round(rev(10^(numTiers))/sum(10^(numTiers)), 5)) - #tier_prob = rev(1:numTiers / sum(1:numTiers))) -} - -is.fully.connected <- function(admat) { - # checks if admat is fully connected - numClusters <- nrow(admat) - nodesInMainTree <- bfs(admat) - numNodesInMainTree <- length(nodesInMainTree) - numClusters == numNodesInMainTree -} - -bfs <- function(admat) { - # starting at root - children <- names(which(admat[1, ] == 1)) - nodes <- c("root", children) - - while(length(children) > 0) { - c <- children[1] - children <- children[-1] - temp.children <- names(which(admat[c, ] == 1)) - children <- c(children, temp.children) - nodes <- c(nodes, temp.children) - } - nodes -} - -is.bidirectional <- function(admat) { - numClusters <- ncol(admat) - for (i in seq_len(numClusters)) { - for (j in seq_len(numClusters)) { - s <- sum(admat[i+1, j], admat[j+1, i], na.rm = TRUE) - if (s == 2) return(TRUE) - } - } - - FALSE -} - -fix.bidirectional <- function(admat) { - numClusters <- ncol(admat) - for (i in seq_len(numClusters)) { - for (j in seq_len(numClusters)) { - s <- sum(admat[i+1, j], admat[j+1, i], na.rm = TRUE) - if (s == 2) { - # pick one edge to change - to <- sample(c(i,j), size = 1) - - new.admat <- admat - ## possible positions (0's) - possiblePos <- which(!is.na(admat[, to]) & admat[, to] != 1) - ## current position with 1 - ind.1 <- which(admat[, to] == 1) - ## select new position - if (length(possiblePos) == 1) { - new.1 <- possiblePos - } else { - new.1 <- sample(possiblePos, size=1) - } - - new.admat[ind.1, to] <- 0 - new.admat[new.1, to] <- 1 - return(new.admat) - } - } - } -} - - -plotDAG <- function(admat){ - admat.untouched <- admat - admat <- cbind(0, admat) ## add column for root - dimnames(admat)[[2]][1] <- "root" - dimnames(admat) <- lapply(dimnames(admat), function(x) gsub("cluster", "", x)) - - admat[is.na(admat)] <- 0 - - net <- network::network(admat, directed=TRUE) - GGally::ggnet2(net, label=TRUE, arrow.size=12, - arrow.gap=0.025, mode = get.DAG.coords.2(admat.untouched)) -} - -get.DAG.coords <- function(admat) { - dat <- data.frame(label = rownames(admat), - x = 0, - y = 0) - - # fix root position - dat[dat$label=="root", ]$x <- 0.5 - dat[dat$label=="root", ]$y <- 1 - - - lvls <- getNodesInLevels(admat) - #lvls <- lapply(lvls, function(x) gsub("cluster", "", x)) - - yvals <- seq(1, 0, by = -1/length(lvls))[-1] - for (i in 1:length(lvls)) { - nodes <- lvls[[i]] - dat[match(nodes, dat$label), ]$y <- yvals[i] - - xvals <- seq(0, 1, by = 1/(length(nodes) + 1))[-c(1, length(nodes) + 2)] - dat[match(nodes, dat$label), ]$x <- xvals - } - cbind(dat$x, dat$y) -} - - -get.DAG.coords.2 <- function(admat) { - nodeInfo <- getNodeInfo(admat) - nodeInfo$x <- 0 - nodeInfo$y <- 0 - - # fix root position - nodeInfo[nodeInfo$node=="root", ]$x <- 0.5 - nodeInfo[nodeInfo$node=="root", ]$y <- 1 - - yvals <- seq(1, 0, by = -1/max(nodeInfo$level))[-1] - - - for (i in 1:max(nodeInfo$level)-1) { - - parents <- nodeInfo[nodeInfo$level == i, ]$node - for (parent in parents) { - if(nodeInfo[nodeInfo$node == parent, ]$numKids == 0) next - kids <- nodeInfo[which(nodeInfo$parent == parent), ]$node - - # set y vals - nodeInfo[match(kids, nodeInfo$node), ]$y <- yvals[i+1] - - # set x vals - if (parent == "root") { - xvals <- seq(0, 1, by = 1/(length(kids) + 1))[-c(1, length(kids) + 2)] - nodeInfo[match(kids, nodeInfo$node), ]$x <- xvals - } else { - p.x <- nodeInfo[which(nodeInfo$node == parent), ]$x - if (length(kids) == 1) { - nodeInfo[match(kids, nodeInfo$node), ]$x <- p.x - } else { - r <- 0.025*(max(nodeInfo$level)-i)* length(kids) - xvals <- seq(p.x - (r/2), p.x + (r/2), length.out = length(kids)) - nodeInfo[match(kids, nodeInfo$node), ]$x <- xvals - } - - } - } - } - cbind(nodeInfo$x, nodeInfo$y) -} - -getNodeInfo <- function(admat) { - nodeInfo <- getLevels(admat) - nodeInfo$parent <- NA - for (r in 2:nrow(nodeInfo)) { - nodeInfo$parent[r] <- names(which(admat[, r-1] == 1)) - - } - nodeInfo$numKids <- rowSums(admat, na.rm = T) - nodeInfo -} - -getLevels <- function(admat) { - nodeNames <- rownames(admat) - numNodes <- nrow(admat) - - lvl <- data.frame(node = nodeNames, - level = 0, - stringsAsFactors = F) - - currParents <- "root" - currKids <- unname(unlist(sapply(currParents, function(x) names(which(admat[x, ] == 1))))) - currlvl <- 1 - - while (length(currKids) > 0) { - lvl[match(currKids, lvl$node), ]$level <- currlvl - currParents <- currKids - currKids <- unname(unlist(sapply(currParents, function(x) names(which(admat[x, ] == 1))))) - - currlvl <- currlvl + 1 - } - lvl -} - -getNodesInLevels <- function(admat) { - nodeNames <- rownames(admat) - numNodes <- nrow(admat) - - lvls <- list() - - currParents <- "root" - currKids <- unname(unlist(lapply(currParents, function(x) names(which(admat[x, ] == 1))))) - currlvl <- 1 - - while (length(currKids) > 0) { - lvls[[currlvl]] <- currKids - currParents <- currKids - currKids <- unname(unlist(lapply(currParents, function(x) names(which(admat[x, ] == 1))))) - currlvl <- currlvl + 1 - } - lvls -} - - - -numericRepresentation <- function(x){ - x[is.na(x)] <- 0 - x <- as.numeric(x) - paste(x, collapse="") -} - -plainAdmat <- function(admat) { - plain <- cbind(root = rep(0, nrow(admat)), admat) - plain[is.na(plain)] <- 0 - plain -} - -calc.tree.prop.true <- function(admat, true.admat) { - # inputs: - # - admat = an adjacency matrix - # - true.admat = the true adjacency matrix - # output: proportion of edges that are correct [0,1] - true.edges <- which(true.admat == 1) - admat.edges <- which(admat == 1) - sum(admat.edges %in% true.edges) / length(true.edges) -} - -plotEnsembleDAG <- function(post.admat, filter1 = TRUE, filter1.threshold = 0.1) { - # filter1 filters columns for edges with posterior prob > (max(column) - filter1.threshold) - - admat <- cbind(0, post.admat) ## add column for root - dimnames(admat)[[2]][1] <- "root" - dimnames(admat) <- lapply(dimnames(admat), function(x) gsub("cluster", "", x)) - admat <- as.matrix(admat) - - ad <- admat - # filter edges - if (filter1) { - #thresh <- apply(admat, 2, max) - filter1.threshold - ad <- apply(admat, 2, function(x) ifelse(x > (max(x)-filter1.threshold), x, 0)) - } - - ig <- graph_from_adjacency_matrix(ad, mode = "directed", weighted = TRUE, - diag = FALSE, add.row = TRUE) - - E(ig)$lty <- ifelse(E(ig)$weight < 0.25, 2, 1) - - # make edge black if only 1 edge to vertex - e <- ends(ig, E(ig)) - numTo <- table(e[,2]) - edgeColors <- sapply(e[,2], function(x) ifelse(x %in% names(which(numTo==1)), "black", "darkgrey")) - E(ig)$color <- edgeColors - - V(ig)$label.cex <- 0.5 - - plot.igraph(ig, layout = layout_as_tree(ig), - vertex.color = "white", vertex.label.family = "Helvetica", - edge.arrow.size = 0.2, edge.arrow.width = 2, - edge.width = E(ig)$weight*3) -} \ No newline at end of file diff --git a/R/tree_scoring.R b/R/tree_scoring.R deleted file mode 100644 index 0424d5e..0000000 --- a/R/tree_scoring.R +++ /dev/null @@ -1,243 +0,0 @@ -summarizeWChain <- function(w.chain) { - # output: mcf_stats - mcf_stats <- w.chain %>% - group_by(Parameter) %>% - summarize(sd=sd(value), - mean=mean(value)) - return(mcf_stats) -} - -create.cpov <- function(mcf_stats, alpha=0.05, zero.thresh=0.01, mcf_matrix = NULL, restriction.val = 1) { - cpov <- NA - MCF <- NA - - ## if mcf_matrix is supplied, use that to create cpov - if (is.null(mcf_matrix)) { - cpov <- initializeAdjacencyMatrix(mcf_stats = mcf_stats, zero.thresh = zero.thresh) - cpov[is.na(cpov)] <- restriction.val - MCF <- mcfMatrix(mcf_stats) - } else { - cpov <- initializeAdjacencyMatrix(mcf_matrix = mcf_matrix, zero.thresh = zero.thresh) - cpov[is.na(cpov)] <- restriction.val - MCF <- mcf_matrix - } - - sds <- mcfMatrix(mcf_stats, parameter="sd") - ##S <- ncol(mcmc_w) # number of samples - S <- numberSamples(mcf_stats) - ##cpov <- cpov[-1, ] - ## root can go to anyone -- all 0's (default base admat value) - for (r in 2:nrow(cpov)) { - for (c in 1:ncol(cpov)) { - if (cpov[r,c] == restriction.val) next # skip restricted position - from <- r-1 # 'from' cluster node - to <- c # 'to' cluster node - statistic <- 0 - pval <- 0 - for(s in seq_len(S)) { - ##d <- mcmc_w[from,s] - mcmc_w[to,s] - d <- MCF[from, s] - MCF[to, s] - d_sd <- sqrt(sds[from, s]^2 + sds[to, s]^2) - ##d_sd <- sqrt((mcmc_w_sd[from,s])^2 + (mcmc_w_sd[to,s])^2) - I <- sum(d < 0) - ## cumulative sum of the - ## number of standard deviations for the difference in - ## MCFs between 2 samples - if (d == 0 || is.nan(d / d_sd)) { - next - } else { - statistic <- statistic + (d / d_sd)^2 * I - } - - for (k in 0:S) { - pval <- pval + ((1 - pchisq(statistic, k)) * - choose(S, k) / (2^S)) - } - } - ## - ## edge seems to be based on this ad-hoc statistic, not - ## the probability of the tree - ## - cpov[r,c] <- decide.ht(pval, alpha) - } - } - cpov -} - -decide.ht <- function(pval, alpha=0.05) { - # 1 signals rejection event for null of i -> j - if (pval <= alpha) return(1) - else return(0) -} - -calcTopologyCost <- function(am, cpov, am_format = "long") { - TC <- 0 - - if (am_format == "long") { - am <- toWide(am) - } - - edges <- which(am == 1, arr.ind=TRUE) - N <- nrow(edges) - for (i in seq_len(N)) { - TC <- TC + cpov[edges[i,1], edges[i,2]] - } - - TC -} - -getEdges <- function(am.long) { - am.long %>% - filter(connected == 1) %>% - mutate(parent = as.character(parent)) -} - -getChildren <- function(am.long, node) { - # returns vector of children nodes - edges <- am.long %>% - mutate(parent = as.character(parent)) %>% - filter(connected == 1) %>% - filter(parent == node) - return(edges$child) -} - -calcMassCost <- function(am, mcf_matrix, am_format="long") { - num_samples <- ncol(mcf_matrix) - - if (am_format == "long") { - edges <- getEdges(am) - - parent_nodes <- unique(edges$parent) - mass_cost <- rep(0, length(parent_nodes)) # mass cost of each parent node - - for (i in seq_len(length(parent_nodes))) { - parent_node <- parent_nodes[i] - - # root CCF is 1 - if (parent_node == "root") { - parent_w <- rep(1, num_samples) - } else { - parent_w <- mcf_matrix[as.numeric(parent_node), ,drop=FALSE] - } - - kids <- getChildren(am, parent_node) - if (length(kids) > 1) { - children_w <- colSums(mcf_matrix[as.numeric(kids), ,drop=FALSE]) - } else { - children_w <- mcf_matrix[as.numeric(kids), ,drop=FALSE] - } - - mc_s <- ifelse(parent_w >= children_w, 0, children_w - parent_w) - #mass_cost[i] <- sqrt(sum(mc_s^2)) - mass_cost[i] <- max(mc_s) # take max across samples instead of euclidean distance - } - return(sum(mass_cost)) - - } else if (am_format == "wide") { - num_children <- rowSums(am, na.rm = T) - nodes <- which(num_children > 0, arr.ind = T) # not leaves - mc_node <- rep(0, length(nodes)) - - for (i in 1:length(nodes)) { - node <- nodes[i] - - # root node: MCF = 1 - parent_w <- rep(1, ncol(mcf_matrix)) - # not root node: look up MCF in mcf_matrix - if (node != 1) { - parent_w <- mcf_matrix[node-1,] - } - - kids <- which(am[node,] == 1, arr.ind = T) - if (num_children[node] > 1) { - children_w <- colSums(mcf_matrix[kids, ]) - } else { - children_w <- mcf_matrix[kids, ] - } - - mc_s <- ifelse(parent_w >= children_w, 0, children_w - parent_w) - mc_node[i] <- sqrt(sum(mc_s^2)) - } - return(sum(mc_node)) - } -} - -edgesToAmLong <- function(edges) { - am_wide <- initEmptyAdmatFromK(length(unique(edges$child))) - edges[edges$parent == "root", "parent"] <- "0" - edges <- edges %>% - mutate(parent = as.numeric(parent) + 1, - child = as.numeric(child)) %>% - select(parent, child) - edges <- as.matrix(edges) - for (r in 1:nrow(edges)) { - am_wide[edges[r,1], edges[r,2]] <- 1 - } - admat <- toLong(am_wide) - admat <- reversedEdges(admat) %>% - mutate(reversed_connected=reversedConnection(.), - bi_directional=NA, - root_connected=NA) - admat <- updateGraphElements(admat) - return(admat) -} - -calcTreeFitness <- function(admat, cpov, mcf_matrix, am_format = "long", weight_mass = 1, weight_topology = 1, scaling_coeff=5) { - # if only edges are given, change into long format - if (am_format == "edges") { - admat <- edgesToAmLong(admat) - am_format <- "long" - } - - TC <- calcTopologyCost(admat, cpov, am_format) - MC <- calcMassCost(admat, mcf_matrix, am_format) - Z <- weight_topology * TC + weight_mass * MC - fitness <- exp(-scaling_coeff * Z) - fitness -} - -satisfiesCCFSumProperties <- function(am_long, mcf_matrix, threshold = 0.2) { - # threshold = max value that children CCFs can be larger than parent; - # i.e. function returns false if (sum of children CCFs) - parent CCF > threshold - - edges <- getEdges(am_long) - parent_nodes <- unique(edges$parent) - - for (i in seq_len(length(parent_nodes))) { - parent_node <- parent_nodes[i] - - # root CCF is 1 - if (parent_node == "root") { - parent_w <- rep(1, ncol(mcf_matrix)) - } else { - parent_w <- mcf_matrix[as.numeric(parent_node), ] - } - - kids <- getChildren(am_long, parent_node) - if (length(kids) > 1) { - children_w <- colSums(mcf_matrix[as.numeric(kids), ]) - } else { - children_w <- mcf_matrix[as.numeric(kids), ] - } - - # return false if violates sum properties - if (any(children_w - parent_w > threshold)) return(FALSE) - } - - return(TRUE) -} - -#' Calculate SCHISM fitness scores for trees -#' -#' @export -#' @param w_chain MCMC chain of CCF values, which is the first item in the list returned by \code{clusterSep} -#' @param trees list of tibbles, where each tibble contains edges of a tree with columns edge, parent, child -calcTreeScores <- function(w_chain, trees, mc.cores = 1) { - mcf_stats <- summarizeWChain(w_chain) - cpov <- create.cpov(mcf_stats) - w_mat <- estimateCCFs(w_chain) - schism_scores <- unlist(parallel:::mclapply(trees, - function(x) calcTreeFitness(x, cpov, w_mat, am_format = "edges"), - mc.cores = mc.cores)) - return(schism_scores) -} \ No newline at end of file diff --git a/data/example_results.rda b/data/example_results.rda deleted file mode 100644 index 65c9ad6fb1a9294fb8a78fde997cf13fa66a8468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1866296 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�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

VP4*Ai;;CRxkE~C_92Z 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

Z!NWXxf!2YncB8oy!^SK|L* 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

;T(u#R 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

YXco{*K>+dl!zzJw2NJz)B=k*#Bf-#0^L< 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/++ef@_dC?E{$9k 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

v|PZyRjvsnu}->zDK?WGRIS2hlQ%e%5L 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 vQ6MAB8zV|2{6TYLw@ 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 z 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

AhI`y)xgXL;MC0iD3~2#`P;W)>??n`# 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�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