diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngine.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngine.java index c9c33f98d75..4631723e9e4 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngine.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngine.java @@ -14,6 +14,7 @@ import org.broadinstitute.hellbender.utils.SimpleInterval; import org.broadinstitute.hellbender.utils.codecs.gtf.GencodeGtfFeature; import org.broadinstitute.hellbender.utils.codecs.gtf.GencodeGtfTranscriptFeature; +import org.broadinstitute.hellbender.utils.variant.GATKSVVariantContextUtils; import java.util.*; @@ -476,13 +477,8 @@ protected static StructuralVariantAnnotationType getSVType(final VariantContext } return StructuralVariantAnnotationType.BND; } else if (alt.isSymbolic()) { - if (alt.toString().contains("INS")) { - // account for , etc. types - return StructuralVariantAnnotationType.INS; - } else { - // parse ALT as symbolic allele, assuming format - return StructuralVariantAnnotationType.valueOf(alt.toString().substring(1, alt.toString().length()-1)); - } + // parse ALT as symbolic allele, assuming format or + return StructuralVariantAnnotationType.valueOf(GATKSVVariantContextUtils.getSymbolicAlleleSymbols(alt)[0]); } else { throw new IllegalArgumentException("Unexpected ALT allele: " + alt + ". Expected breakpoint or symbolic ALT allele representing a structural variant record."); diff --git a/src/test/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngineUnitTest.java b/src/test/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngineUnitTest.java index 812dae6f145..fab48187507 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngineUnitTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/walkers/sv/SVAnnotateEngineUnitTest.java @@ -425,6 +425,12 @@ public Object[][] getSVTypesAndSegmentsTestData() { createListOfSVSegments(SVAnnotateEngine.StructuralVariantAnnotationType.DEL, new SimpleInterval[]{ new SimpleInterval("chr22", 10510000, 10694100)}), null}, + { createVariantContext("chr22", 10510000, 10694100, "chr22", null, "N", + "", 184100, null, null, null), + SVAnnotateEngine.StructuralVariantAnnotationType.DEL, + createListOfSVSegments(SVAnnotateEngine.StructuralVariantAnnotationType.DEL, + new SimpleInterval[]{ new SimpleInterval("chr22", 10510000, 10694100)}), + null}, { createVariantContext("chr22", 10524000, 10710000, "chr22", null, "N", "", 186000, null, null, null), SVAnnotateEngine.StructuralVariantAnnotationType.DUP,