knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(revolver)
library(evoverse.datasets)
require(tidyverse)

Data

Cross et al. The evolutionary landscape of colorectal tumorigenesis. Nat Ecol Evol. 2018 2(10). PMID 30177804.

Building the cohort

data(CROSS_CRC_ADENOCARCINOMA_NATECOEVO_2018, packages = 'evoverse.datasets')

print(CROSS_CRC_ADENOCARCINOMA_NATECOEVO_2018)

# Constructor
CROSS_CRC_ADENOCARCINOMA_REVOLVER = revolver_cohort(
  CROSS_CRC_ADENOCARCINOMA_NATECOEVO_2018, 
  MIN.CLUSTER.SIZE = 0, 
  annotation = "Colorectal adenocarcinomas (Cross et al, PMID 30177804)")

We can check the cohort, and flag put drivers that are not recurrent.

# Diagnostic
revolver_check_cohort(CROSS_CRC_ADENOCARCINOMA_REVOLVER)

# Driver events that occur in 1 patient
non_recurrent = Stats_drivers(CROSS_CRC_ADENOCARCINOMA_REVOLVER) %>% 
  filter(N_tot == 1) %>% 
  pull(variantID)

# Remove drivers
CROSS_CRC_ADENOCARCINOMA_REVOLVER = remove_drivers(CROSS_CRC_ADENOCARCINOMA_REVOLVER, non_recurrent)

Constructing mutation trees

revolver uses the mtree package to implement mutation trees from binary data.

# Compute the trees
CROSS_CRC_ADENOCARCINOMA_REVOLVER = compute_mutation_trees(CROSS_CRC_ADENOCARCINOMA_REVOLVER)

Fitting models with REVOLVER

Function revolver_fit implements the 2-steps REVOLVER algorithm to fit the data.

We use the following parameters:

CROSS_CRC_ADENOCARCINOMA_REVOLVER = revolver_fit(
  CROSS_CRC_ADENOCARCINOMA_REVOLVER, 
  parallel = F, 
  n = 3, 
  initial.solution = NA)

Computing REVOLVER hierarchical clusters

CROSS_CRC_ADENOCARCINOMA_REVOLVER = revolver_cluster(
  CROSS_CRC_ADENOCARCINOMA_REVOLVER, 
  split.method = 'cutreeHybrid',
  min.group.size = 3)
plot_clusters(CROSS_CRC_ADENOCARCINOMA_REVOLVER, cutoff_trajectories = 1, cutoff_drivers = 0)
plot_drivers_graph(CROSS_CRC_ADENOCARCINOMA_REVOLVER)
plot_dendrogram(CROSS_CRC_ADENOCARCINOMA_REVOLVER)
plot_DET_index(CROSS_CRC_ADENOCARCINOMA_REVOLVER)
plot(CROSS_CRC_ADENOCARCINOMA_REVOLVER)
plot_drivers_clonality(CROSS_CRC_ADENOCARCINOMA_REVOLVER)
plot_drivers_occurrence(CROSS_CRC_ADENOCARCINOMA_REVOLVER)
plot_patient_trees(CROSS_CRC_ADENOCARCINOMA_REVOLVER, CROSS_CRC_ADENOCARCINOMA_REVOLVER$patients[3])


caravagn/revolver documentation built on May 21, 2022, 5:48 p.m.