Canopy: Accessing Intra-Tumor Heterogeneity and Tracking Longitudinal and Spatial Clonal Evolutionary History by Next-Generation Sequencing

A statistical framework and computational procedure for identifying the sub-populations within a tumor, determining the mutation profiles of each subpopulation, and inferring the tumor's phylogenetic history. The input are variant allele frequencies (VAFs) of somatic single nucleotide alterations (SNAs) along with allele-specific coverage ratios between the tumor and matched normal sample for somatic copy number alterations (CNAs). These quantities can be directly taken from the output of existing software. Canopy provides a general mathematical framework for pooling data across samples and sites to infer the underlying parameters. For SNAs that fall within CNA regions, Canopy infers their temporal ordering and resolves their phase. When there are multiple evolutionary configurations consistent with the data, Canopy outputs all configurations along with their confidence assessment.

Install the latest version of this package by entering the following in R:
AuthorYuchao Jiang, Nancy R. Zhang
Date of publication2017-04-08 20:30:16 UTC
MaintainerYuchao Jiang <>

View on CRAN

Man pages

addsamptree: To determine whether the sampled tree will be accepted

AML43: SNA input for primary tumor and relapse genome of leukemia...

canopy.BIC: To get BIC as a model selection criterion

canopy.cluster: EM algorithm for multivariate clustering of SNAs

canopy.cluster.Estep: E-step of EM algorithm for multivariate clustering of SNAs

canopy.cluster.Mstep: M-step of EM algorithm for multivariate clustering of SNAs

canopy.output: To generate a posterior tree

canopy.plottree: To plot tree inferred by Canopy Posterior evaluation of MCMC sampled trees

canopy.sample: MCMC sampling in tree space

canopy.sample.cluster: MCMC sampling in tree space with pre-clustering of SNAs

canopy.sample.cluster.nocna: MCMC sampling in tree space with pre-clustering of SNAs

canopy.sample.nocna: MCMC sampling in tree space

getclonalcomposition: To get clonal composition

getCMCm: To get major and minor copy per clone

getCZ: To get CNA genotyping matrix CZ

getlikelihood: To get likelihood of the tree

getlikelihood.sna: To get SNA likelihood of the tree

getQ: To get SNA-CNA genotyping matrix

getVAF: To get variant allele frequency (VAF)

getZ: To get SNA genotyping matrix Z

initialcna: To initialize positions of CNAs

initialcnacopy: To initialize major and minor copies of CNAs

initialP: To initialize clonal frequency matrix

initialsna: To initialize positions of SNAs

MDA231: Dataset for project MDA231

MDA231_sampchain: List of pre-sampled trees

MDA231_tree: Most likely tree from project MDA231

sampcna: To sample CNA positions

sampcnacopy: To sample major and minor copies of CNAs

sampP: To sample clonal frequency

sampsna: To sample SNA positions

sampsna.cluster: To sample positions of SNA clusters

sortcna: To sort identified overlapping CNAs.

toy: Toy dataset for Canopy

toy2: Toy dataset 2 for Canopy

toy3: Toy dataset 3 for Canopy


addsamptree Man page
AML43 Man page
canopy.BIC Man page
canopy.cluster Man page
canopy.cluster.Estep Man page
canopy.cluster.Mstep Man page
canopy.output Man page
canopy.plottree Man page Man page
canopy.sample Man page
canopy.sample.cluster Man page
canopy.sample.cluster.nocna Man page
canopy.sample.nocna Man page
getclonalcomposition Man page
getCMCm Man page
getCZ Man page
getlikelihood Man page
getlikelihood.sna Man page
getQ Man page
getVAF Man page
getZ Man page
initialcna Man page
initialcnacopy Man page
initialP Man page
initialsna Man page
MDA231 Man page
MDA231_sampchain Man page
MDA231_tree Man page
sampcna Man page
sampcnacopy Man page
sampP Man page
sampsna Man page
sampsna.cluster Man page
sortcna Man page
toy Man page
toy2 Man page
toy3 Man page


R/addsamptree.R R/initialsna.R R/canopy.sample.cluster.nocna.R R/getVAF.R R/canopy.sample.cluster.R R/canopy.cluster.Estep.R R/sampsna.cluster.R R/sampcnacopy.R R/canopy.sample.nocna.R R/getlikelihood.R R/getlikelihood.sna.R R/sampcna.R R/canopy.sample.R R/initialcna.R R/getZ.R R/getCZ.R R/sortcna.R R/canopy.output.R R/canopy.cluster.Mstep.R R/ R/canopy.BIC.R R/canopy.cluster.R R/initialcnacopy.R R/sampsna.R R/sampP.R R/getQ.R R/getclonalcomposition.R R/initialP.R R/canopy.plottree.R R/getCMCm.R
man/canopy.plottree.Rd man/MDA231.Rd man/canopy.BIC.Rd man/sampsna.Rd man/addsamptree.Rd man/getZ.Rd man/getQ.Rd man/toy2.Rd man/sampcna.Rd man/canopy.sample.cluster.nocna.Rd man/toy.Rd man/getCZ.Rd man/initialsna.Rd man/MDA231_tree.Rd man/canopy.cluster.Estep.Rd man/canopy.cluster.Mstep.Rd man/sampP.Rd man/sampcnacopy.Rd man/getlikelihood.sna.Rd man/MDA231_sampchain.Rd man/getVAF.Rd man/ man/getlikelihood.Rd man/canopy.sample.cluster.Rd man/initialP.Rd man/initialcna.Rd man/AML43.Rd man/canopy.sample.Rd man/toy3.Rd man/canopy.sample.nocna.Rd man/canopy.output.Rd man/initialcnacopy.Rd man/canopy.cluster.Rd man/getCMCm.Rd man/sortcna.Rd man/sampsna.cluster.Rd man/getclonalcomposition.Rd

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.