I encountered an interesting problem: running HaplotypeCaller on different machines generates different result for 2 sites. The machines use the same input BAM file, same reference, same java (jdk1.8.0_73) and same GATK jar (3.5.0).
The reference vcf was generated on a server with a Xeon CPU E5-2650 v3 (result A). On another srever with a Xeon CPU E5-2670 CPU (result B ), the vcf has 2 diff sites:
diff B A
3681040c3681040
< chr6 84563147 . G A,<NON_REF> 410.77 . BaseQRankSum=-0.220;ClippingRankSum=0.641;DP=52;ExcessHet=3.0103;MLEAC=1,0;MLEAF=0.500,0.00;MQRankSum=0.488;RAW_MQ=187200.00;ReadPosRankSum=0.603 GT:AD:DP:GQ:PL:SB 0/1:30,21,0:51:99:439,0,701,529,764,1293:15,15,11,10
---
> chr6 84563147 . G A,<NON_REF> 409.77 . BaseQRankSum=-0.220;ClippingRankSum=0.641;DP=52;ExcessHet=3.0103;MLEAC=1,0;MLEAF=0.500,0.00;MQRankSum=0.488;RAW_MQ=187200.00;ReadPosRankSum=0.603 GT:AD:DP:GQ:PL:SB 0/1:30,21,0:51:99:438,0,701,529,764,1293:15,15,11,10
7077874c7077874
< chr13 113496566 . C G,<NON_REF> 808.77 . BaseQRankSum=0.483;ClippingRankSum=0.332;DP=88;ExcessHet=3.0103;MLEAC=1,0;MLEAF=0.500,0.00;MQRankSum=-1.041;RAW_MQ=316800.00;ReadPosRankSum=1.290 GT:AD:DP:GQ:PL:SB 0/1:48,37,0:85:99:837,0,1129,981,1240,2220:28,20,24,13
---
> chr13 113496566 . C G,<NON_REF> 808.77 . BaseQRankSum=0.483;ClippingRankSum=0.332;DP=88;ExcessHet=3.0103;MLEAC=1,0;MLEAF=0.500,0.00;MQRankSum=-1.041;RAW_MQ=316800.00;ReadPosRankSum=1.290 GT:AD:DP:GQ:PL:SB 0/1:48,37,0:85:99:837,0,1129,981,1239,2220:28,20,24,13
Re-running the same task on the E5-2670 server generated the same results.
I double checked this by running on another servers
Xeon E5-2670 -> same as B.
Xeon E5-2683 v3 -> same as A.
Core i3-4160 -> same as A.
Why is E5-2670 so special for the results? Does GATK use some CPU specific features that lead to these diff?
Thanks in advance.