README.md

Github Status :

Build Status AppVeyor Build Status Coverage Status

CRAN Status and statistics :

CRAN version CRAN downloads weekly CRAN total

QuantumClone and QuantumCat

R package also available on CRAN Maintainer: Paul Deveau (quantumclone.package at gmail.com)

Clonal Reconstruction from High-Throughput Sequencing data

This Readme is divided in two parts:

1. Installation instructions

2. Usage (Advanced)

Installation instructions

The full package is available and is maintained on CRAN.

The package can be installed using:

install.packages("QuantumClone")

or from the GitHub repository using devtools:

devtools::install_github("DeveauP/QuantumClone")

Usage

QuantumClone is looking for clones in your samples assuming that there is an evolutionary logic between samples, so you should use data from the same patient for one analysis (either different timepoints, or spatially separated samples, or biological replicates).

QuantumClone requires few informations in the input file: The columns in the file MUST be separated by tabulations Line 1 should be the column titles (Sample | Chr | Start | Alt | Depth ). An additional argument is required if you do not have a FREEC profile associated to your files: the Genotype. The first column needs to be the name of your sample The Chr column contains the chromosome of variant (e.g. "chr2") Start is the position of the variant Alt is the number of reads supporting the variant * Depth is the depth of coverage at the position of the variant (number of reads mapped at this position)

Any additional column will not be taken into account for the analysis

You should have something similar to this:

|SampleName | Chr| Start| Depth| Alt|Genotype | |:-----------|---:|-----:|-----:|---:|:--------| |Timepoint_1 | 1| 1| 149| 67|AB | |Timepoint_1 | 4| 2| 162| 2|AB | |Timepoint_1 | 4| 3| 132| 5|AB | |Timepoint_1 | 4| 4| 57| 1|AB | |Timepoint_1 | 4| 5| 93| 0|AB | |Timepoint_1 | 4| 6| 95| 0|AB |

While the input file can be as large as you want, the computation time will grow with the number of variants to be studied. In order to keep computation time reasonable ( < 1h ), a reasonable set of mutation is between 100 to 1000 variants.

(a) alt tag (b) alt tag

Usage

The QuantumClone package is divided in two: The clonal reconstruction: QuantumClone / One_step_clustering functions Plots The clonal simulation: QuantumCat (not included in the GUI) VariantFiltering: Suggestion for variant filtering prior the QuantumClone analysis

All of this is detailed in the vignette that can be accessed with:

vignette("Use_case",package = "QuantumClone")

Clonal reconstruction

One_step_clustering() has several parameters required (some have default configuration):

One_step_clustering(SNV_list, FREEC_list = NULL, contamination, nclone_range = 2:5, clone_priors = NULL, prior_weight = NULL, Initializations = 1, preclustering = "FLASH", simulated = FALSE, epsilon = NULL, save_plot = TRUE, ncores = 1, restrict.to.AB = FALSE, output_directory = NULL, model.selection = "BIC", optim = "default", keep.all.models = FALSE, force.single.copy = FALSE)

Plots

2D plot

plot_QC_out(QClone_Output,Sample_names=NULL, simulated = FALSE,sample_selected = 1:2)

Evolution plots

evolution_plot(QC_out,Sample_names=NULL)

Clonal simulation

This part is about generating data to test clonal reconstruction algorithms. Its core is the QuantumCat function. It will generate data for a single cancer that can be sequenced multiple times (either spatially separated or different timepoints). It thus assumes that there is an evolutionary history between samples. The "Chr" columns stores the information of the clonal attribution.

QuantumCat(number_of_clones, number_of_mutations, ploidy = 2, depth = 100, number_of_samples = 2, Random_clones = F, contamination = NULL)

For multiple testings, and calculation of the Normalized Mutual Information (NMI), see Multitest() and statistics_on_Multitest()

Suggestions for variant filtering

We suggest to run QuantumClone on somatic variants only detected, for example, using VarScan2. We suggest to apply the following filters to select variants for clonal reconstruction:

Any other variants can be mapped on the clonal structure using the QuantumClone function Probability.to.belong.to.clone().

Acknowledgments

Many thanks to the contributors of this work: my supervisors, Elodie for the features improvement and Linux debugging and more generally to the U830 & U900 people. This work had been funded by the Ministere de l'Enseignement Supérieur de la Recherche (AMX grant).



DeveauP/QuantumClone documentation built on Oct. 29, 2021, 8:56 a.m.