diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java b/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java index f3b5097c6..b9cddb91f 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java @@ -202,12 +202,13 @@ public class VariantAnnotator extends RodWalker { if ( tracker == null ) return 0; - VariantContext vc = tracker.getVariantContext(ref, "variant", null, context.getLocation(), true); - if ( vc == null ) + Collection VCs = tracker.getVariantContexts(ref, "variant", null, context.getLocation(), true, false); + if ( VCs.size() == 0 ) return 0; + Collection annotatedVCs = VCs; + // if the reference base is not ambiguous, we can annotate - Collection annotatedVCs = Arrays.asList(vc); Map stratifiedContexts; if ( BaseUtils.simpleBaseToBaseIndex(ref.getBase()) != -1 ) { if ( ! context.hasExtendedEventPileup() ) { @@ -216,7 +217,9 @@ public class VariantAnnotator extends RodWalker { stratifiedContexts = StratifiedAlignmentContext.splitContextBySampleName(context.getExtendedEventPileup(), ASSUME_SINGLE_SAMPLE); } if ( stratifiedContexts != null ) { - annotatedVCs = engine.annotateContext(tracker, ref, stratifiedContexts, vc); + annotatedVCs = new ArrayList(VCs.size()); + for ( VariantContext vc : VCs ) + annotatedVCs.addAll(engine.annotateContext(tracker, ref, stratifiedContexts, vc)); } }