Can anyone recommend a good tool for estimating the tumor content given a matched tumor and normal file for DNA NGS whole genome sequencing data or whole exome data?

Is it possible to estimate this without a normal sample as well?

  • $\begingroup$ N.B., I've edited your post to include the word "admixture", which is what you should search for the find relevant tools. $\endgroup$
    – Devon Ryan
    Jun 1, 2017 at 13:21
  • $\begingroup$ Great, might as well make it purity/contamination/admixture then =). Many names for same meaning. $\endgroup$ Jun 1, 2017 at 13:36
  • $\begingroup$ Yeah, but you'll get a lot more relevant hits with "cancer admixture estimate" :) $\endgroup$
    – Devon Ryan
    Jun 1, 2017 at 13:37
  • $\begingroup$ I would suggest to change "admixture", which is common in population genetics for genetic exchange between populations to "cell admixture". $\endgroup$ Jun 1, 2017 at 16:26

3 Answers 3


I have previously estimated tumour purity with the EXPANDS an inferred tumour heterogeneity program which is designed to calculate the number of clonal subpopulations in matched tumour/normal samples. The purity is essentially the size of the largest subpopulation identified in that sample - this is discussed in the programs FAQ. In addition to a matched tumour / normal exome or genome sequencing you'll also need match somatic copy number as a seg file as input. Other programs also exist for this sort of inferred heterogeneity analysis - some of which may also give you a measure of purity are: Absolute, ThetA, SciClone, CHAT, PyClone and Canopy. A more complete list looks to be here.

The only other thing I'd suggest is have an estimate via some orthogonal measure of the purity to try at least judge how the different methods are performing with you data, e.g. you might have clonality indications from cytogenetics/FISH or histology work, or perhaps FACS. Picking samples known to be pure / impure via one or more of these might help you get a handle on how well various methods are performing.

As regards estimation without a normal sample the only program which looks like it might help is QuantumClone, but that requires more than one tumour sample form said patient either spatially or temporally distinct to perform the analysis.

Also If you have low coverage DNA sequencing CNAnorm looks like it could be useful with just a single sample.


It's usually CNV callers that make use of Tumour/Normal WGS pairs to estimate purity. It can also be done with WES (exome) Tumour/Normal pairs.

There are several tools out there, I have some experience with the one written by Illumina (public on Github):


It requires realigning things with bowtie2, so I don't think it can take existing data aligned with other aligners. Not sure why.

  • $\begingroup$ Where are you getting the bowtie2 requirement from? The readme examples all use isaac bams $\endgroup$
    – blmoore
    Jun 1, 2017 at 13:44
  • $\begingroup$ Section 5.1 of the pdf documentation (CanvasBin): Canvas has been validated using BAM files created using the Isaac and Bowtie aligners. I guess it means that it may work with other aligners, but hasn't been validated. $\endgroup$
    – 719016
    Jun 1, 2017 at 13:48
  • $\begingroup$ Thanks for your answer. Since this is primarily a CNV caller, do you think that mean it requires rearrangements to estimate admixture amount? $\endgroup$ Jun 1, 2017 at 14:03

Celluloid emits copy number profiles and tumour purity / ploidy information. There's a nice tutorial https://github.com/mathieu-lemire/celluloid_0.11_tutorial. One thing to keep in mind is that celluloid will find multiple solutions and taking advantage of its plotting tools is essential to determining which solution is correct. Typically the first solution is correct, but occasionally it may not be.

Another tool similar is TITAN, which may also require hand annotated the ideal solution.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.