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:
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, is more limited. It only calls SNPs and indels, and does so separately (even if you run in calling mode BOTH, the program performs separate calling operations internally) so it is not able to recognize that SNPs and Indels should be emitted together as a joint record when they occur at the same site.
The GATK is currently not able to detect SVs (structural variations) or CNVs (copy number variations), but there are some third-party software packages built on top of GATK that provide this functionality. See GenomeSTRiP for SVs and XHMM for CNVs.
I have many adjacent SNPs in my VCF that I need to merge into MNP. These SNPs can be homozygous or heterozygous.
chr1 889158 rs13303056 G C
chr1 889159 rs13302945 A C
The two SNPs above need to be turned into the MNP below: chr1 889158 . GA CC
I tried the option --mergeVariantsViaLD in HaplotypeCaller but as mentioned in other posts, it didn't really work.
What are my options for merging?