diff --git a/uk/ac/sanger/artemis/components/variant/IOUtils.java b/uk/ac/sanger/artemis/components/variant/IOUtils.java index 3486fde5310f2cf3b451e107d93f57972dff12ae..ddae3a9cc66e97d92cb4020e6fbbb561970acc4d 100644 --- a/uk/ac/sanger/artemis/components/variant/IOUtils.java +++ b/uk/ac/sanger/artemis/components/variant/IOUtils.java @@ -390,7 +390,7 @@ class IOUtils if(vcfRecord.getAlt().isDeletion(vcf_v4)) { - int ndel = vcfRecord.getAlt().getNumberOfDeletions(vcf_v4); + int ndel = vcfRecord.getAlt().getNumberOfIndels(vcf_v4); if(!vcfRecord.getAlt().toString().equals(".") && isFwd) { buff.append(getBase(vcfRecord.getAlt().toString(), isFwd)); diff --git a/uk/ac/sanger/artemis/components/variant/VariantBase.java b/uk/ac/sanger/artemis/components/variant/VariantBase.java index aeedb74d42e62554e603e3acea81f1ae33b075a4..f151114087f2e7a559e255045a1115f1ed0f7ab1 100644 --- a/uk/ac/sanger/artemis/components/variant/VariantBase.java +++ b/uk/ac/sanger/artemis/components/variant/VariantBase.java @@ -79,16 +79,18 @@ public class VariantBase return alt.split(",").length + 1; } - protected int getNumberOfDeletions(boolean vcf_v4) + protected int getNumberOfIndels(boolean vcf_v4) { if (vcf_v4) { if (alt.equals(".")) return record.getRef().length(); - return record.getRef().length() - alt.length(); + return Math.abs(record.getRef().length() - alt.length()); } int index = alt.indexOf("D"); + if(index < 0) + index = alt.indexOf("I"); int ndel = 0; try {