Better error checking and messages for bad alleles
This commit is contained in:
parent
6967b3de6c
commit
0f7c917e7a
|
|
@ -693,7 +693,10 @@ public abstract class AbstractVCFCodec extends AsciiFeatureCodec<VariantContext>
|
|||
if ( a.isSymbolic() ) {
|
||||
clippedAlleles.add(a);
|
||||
} else {
|
||||
clippedAlleles.add(Allele.create(Arrays.copyOfRange(a.getBases(), forwardClipping, a.getBases().length-reverseClipping), a.isReference()));
|
||||
final byte[] allele = Arrays.copyOfRange(a.getBases(), forwardClipping, a.getBases().length-reverseClipping);
|
||||
if ( !Allele.acceptableAlleleBases(allele) )
|
||||
generateException("Unparsable vcf record with bad allele [" + allele + "]", lineNo);
|
||||
clippedAlleles.add(Allele.create(allele, a.isReference()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ public class Allele implements Comparable<Allele> {
|
|||
case 'G': case 'g' : return isRef ? REF_G : ALT_G;
|
||||
case 'T': case 't' : return isRef ? REF_T : ALT_T;
|
||||
case 'N': case 'n' : return isRef ? REF_N : ALT_N;
|
||||
default: throw new IllegalArgumentException("Illegal base: " + (char)bases[0]);
|
||||
default: throw new IllegalArgumentException("Illegal base [" + (char)bases[0] + "] seen in the allele");
|
||||
}
|
||||
} else {
|
||||
return new Allele(bases, isRef);
|
||||
|
|
|
|||
Loading…
Reference in New Issue