The REVOLVER package implements the statistical model described in Caravagna et al; PMID: 30171232 to determine trajectories of repeated evolution in a cohort of multi-region sequencing datasets.

The repeatability of evolution is measured with a new method that extracts evolutionary trajectories within a single patient (intra-tumour), and correlates them against the cohort (inter-patient).

The correlation across patients is measured extracting evolutionary trajectories from the phylogenetic ordering of driver alterations detected from the patients’ trees. Drivers must be annotated in the input genome sequencing data, and shall occur across multiple patients.

Analysis pipeline

A REVOLVER analysis follows the following steps (the main function to implement the step is reported):

  1. create a REVOLVER cohort (revolver_cohort);

  2. generate phylogenetic trees for each patient in the cohort (compute_clone_trees, compute_mutation_trees, etc.);

  3. fit the best tree to a patient’s data, correlating the fit with the other patients’ trees (revolver_fit);

  4. cluster the cohort into groups of patients whose tumours follow similar patterns of repeated evolution (revolver_cluster);

  5. evaluate different measures confidence for the clusters using jackknife statistics (revolver_jackknife);;

At the end of each one of these steps, you can use a number of REVOLVER functions to inspect or plot the results of the analysis.


The following vignettes are available:

  1. Introduction: which discusses input formats, and the creation of a REVOLVER cohort from input sequencing data;

  2. Getter functions: which discusses different getter functions to extract information from a REVOLVER cohort;

  3. Plotting functions: which discusses different plotting functions to visualize cohorts, data, fits etc.;

You might also want to the see a list of Frequently Asked Questions