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?
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.
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.