Holiday Notice:
The Frontline Support team will be slow to respond December 17-18 due to an institute-wide retreat and offline December 22- January 1, while the institute is closed. Thank you for your patience during these next few weeks. Happy Holidays!

GATK4 realignment

igorigor New YorkMember ✭✭

As discussed in a blog post, GATK4 removes the realignment step:

As announced in the GATK v3.6 highlights, variant calling workflows that use HaplotypeCaller or MuTect2 now omit indel realignment. This change does not apply to workflows that call variants with UnifiedGenotyper or the original MuTect. We still recommend indel realignment for these legacy workflows.

I understand that HaplotypeCaller and MuTect2 do their own internal realignment, but I would like to examine the BAMs manually or feed them to other variant callers. It's nice to have the cleanest possible version. Technically, HaplotypeCaller can output a realigned BAM, but as the documentation states:

The assembled haplotypes and locally realigned reads will be written as BAM to this file if requested. Really for debugging purposes only. Note that the output here does not include uninformative reads so that not every input read is emitted to the bam.

Is there a recommended approach going forward? I am guessing you may have had an internal discussion about this. Should I keep the realignment step as GATK3 and move other steps to GATK4? That seems terribly inelegant and probably will eventually start causing issues.

Best Answer


  • igorigor New YorkMember ✭✭

    I wanted to make sure I feed the cleanest possible BAM to all variant callers, not just check for discrepancies. I just wanted to know if I am missing any developments in regards to the realignment step. I am happy to hear there are plans to port it to GATK4 (although it sounds like that is not imminent).

  • SheilaSheila Broad InstituteMember, Broadie, Moderator admin


    If you are going to be using the same BAM file for both local reassembly based variant callers and position based variant callers, it may be best to use the Indel Realignment workflow. However, keep in mind that HaplotypeCaller uses the realigned BAM file (produced by bamout) to determine variants. This realigned BAM file may have changes from the Indel Realigned BAM file and cause discrepancies between callers.


Sign In or Register to comment.