diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java index 2054c083d..bb39e2765 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java @@ -139,10 +139,15 @@ public class LeftAlignVariants extends RodWalker { int indelIndex = originalIndex-difference; byte[] newBases = new byte[indelLength]; - System.arraycopy(refSeq, indelIndex, newBases, 0, indelLength); + System.arraycopy((vc.isDeletion() ? refSeq : originalIndel), indelIndex, newBases, 0, indelLength); Allele newAllele = Allele.create(newBases, vc.isDeletion()); newVC = updateAllele(newVC, newAllele); + // we need to update the reference base just in case it changed + Map attrs = new HashMap(newVC.getAttributes()); + attrs.put(VariantContext.REFERENCE_BASE_FOR_INDEL_KEY, refSeq[indelIndex-1]); + newVC = VariantContext.modifyAttributes(newVC, attrs); + writer.add(newVC, refSeq[indelIndex-1]); return 1; } else {