diff --git a/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/CombineVariantsIntegrationTest.java b/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/CombineVariantsIntegrationTest.java index bca2c491f..cc5bcbbff 100644 --- a/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/CombineVariantsIntegrationTest.java +++ b/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/CombineVariantsIntegrationTest.java @@ -237,4 +237,18 @@ public class CombineVariantsIntegrationTest extends WalkerTest { Arrays.asList("")); executeTest("combineSymbolicVariants: ", spec); } -} \ No newline at end of file + + @Test + public void combineSpanningDels() { + // Just checking that this does not fail, hence no output files and MD5 + WalkerTestSpec spec = new WalkerTestSpec( + "-T CombineVariants --no_cmdline_in_header -o %s " + + " -R " + b37KGReference + + " -V " + privateTestDir + "test.spanningdel.combine.1.vcf " + + " -V " + privateTestDir + "test.spanningdel.combine.2.vcf " + + " -genotypeMergeOptions UNIQUIFY", + 0, + Arrays.asList("")); + executeTest("combineSpanningDels: ", spec); + } +} diff --git a/public/gatk-utils/src/main/java/org/broadinstitute/gatk/utils/variant/GATKVariantContextUtils.java b/public/gatk-utils/src/main/java/org/broadinstitute/gatk/utils/variant/GATKVariantContextUtils.java index e314d95c6..520582a47 100644 --- a/public/gatk-utils/src/main/java/org/broadinstitute/gatk/utils/variant/GATKVariantContextUtils.java +++ b/public/gatk-utils/src/main/java/org/broadinstitute/gatk/utils/variant/GATKVariantContextUtils.java @@ -1468,7 +1468,9 @@ public class GATKVariantContextUtils { if ( extended.equals(b) ) extended = b; map.put(a, extended); - } else if ( a.isSymbolic() ) { + } + // as long as it's not a reference allele then we want to add it as is (this covers e.g. symbolic and spanning deletion alleles) + else if ( !a.isReference() ) { map.put(a, a); } } @@ -1477,7 +1479,7 @@ public class GATKVariantContextUtils { } static private boolean isUsableAlternateAllele(final Allele allele) { - return ! (allele.isReference() || allele.isSymbolic() ); + return ! (allele.isReference() || allele.isSymbolic() || allele == Allele.SPAN_DEL ); } public static List sortVariantContextsByPriority(Collection unsortedVCs, List priorityListOfVCs, GenotypeMergeType mergeOption ) {