The answer depends on what tool we're talking about, and whether we're considering variant discovery or variant manipulation.
GATK variant manipulation tools are able to recognize the following types of alleles:
<NON-REF>allele used in GVCFs produced by HaplotypeCaller, the
*allele used to signify the presence of a spanning deletion, or undefined events like a very large allele or one that's fuzzy and not fully modeled; i.e. there's some event going on here but we don't know what exactly)
Note that SelectVariants, the GATK tool most used for VCF subsetting operations, discriminates strictly between these categories. This means that if you use for example
INDEL to pull out indels, it will only select pure INDEL records, excluding any MIXED records that might include a SNP allele in addition to the insertion or deletion alleles of interest. To include those you would have to also specify
selectType MIXED in the same command.
The HaplotypeCaller is a sophisticated variant caller that can call different types of variants at the same time. So in addition to SNPs and indels, it is capable of emitting mixed records by default, as well as symbolic representations for e.g. spanning deletions. It does emit physical phasing information, but in its current version, HC is not able to emit MNPs. If you would like to combine contiguous SNPs into MNPs, you will need to use the ReadBackedPhasing tool with the MNP merging function activated. See the tool documentation for details. Our older (and now deprecated) variant caller, UnifiedGenotyper, was even more limited. It only called SNPs and indels, and did so separately (even if you ran in calling mode BOTH, the program performed separate calling operations internally) so it was not able to recognize that SNPs and Indels should be emitted together as a joint record when they occur at the same site.
The general release version of GATK is currently not able to detect SVs (structural variations) or CNVs (copy number variations). However, the alpha version of GATK 4 (the next generation of GATK tools) includes tools for performing CNV (copy number variation) analysis in exome data. Let us know if you're interested in trying them out by commenting on this article in the forum.
There is also a third-party software package called GenomeSTRiP built on top of GATK that provides SV (structural variation) analysis capabilities.
I notice that although UnifiedGenotyper and HaplotypeCaller identify indels, none or reported greater than a length of around 50bp. Obviously integrating this ability into the already complicated algorithms is not easy, nor are such variants especially common - but they can easily be biologically-important, as well as interfered SNP calls, e.g. if a SNP is in a heterozygous deletion.
Do you know of any callers for larger indels/CNVs, specifically for multi-sample NGS projects ? I've looked at pindel and break-dancer (and probably a few others) but they seem mostly for single samples.
I am interested in finding copy number variation in my samples. I have looked for SNPS and INDELS with GATK UnifiedGenoTyper (still have to use it with haplotypecaller). Is there a walker to find CNV's (duplications or deletions) in GATK?
Hope to hear from you soon.
Hello Geraldine et al,
I've a question about CNV calling, which you might or might have an answer for. We're doing a case/control analysis on two cohorts, and one of the analyses we'd like to carry out is an examination of CNV length - one thing we want to do is analyse by genome (average site above/below average, say), and by region (same general idea).
While calling SNPs and indels seems straightforward enough with UG, I wonder if you have a best practice for calling CNV - or rather, a candidate for what might become an integrated best practice? Maybe I can even help with maturation/integration.
Thanks for your relentless work on the site, tools and community, this is the place to be.