diff --git a/uk/ac/sanger/artemis/components/variant/IOUtils.java b/uk/ac/sanger/artemis/components/variant/IOUtils.java index 1de636c8fa12a81ecbf8de84b943da994a04bb00..601d554716b4e355c13c89ba2b4f1d0291c49758 100644 --- a/uk/ac/sanger/artemis/components/variant/IOUtils.java +++ b/uk/ac/sanger/artemis/components/variant/IOUtils.java @@ -234,7 +234,7 @@ class IOUtils { e.printStackTrace(); } - + if(!view) new MessageDialog (null, "Saved Files", fastaFiles, false); else @@ -565,15 +565,22 @@ class IOUtils } else { - TabixReader.Iterator iter = - (((TabixReader) reader).query(chr+":"+sbeg+"-"+send)); // get the iterator - String s; - while ((s = iter.next()) != null) + try { - VCFRecord record = VCFRecord.parse(s); - int basePosition = record.getPos() + vcfView.getSequenceOffset(record.getChrom()); - if(vcfView.showVariant(record, features, basePosition, vcf_v4) ) - basesStr = getSeqsVariation(record, basesStr, sbeg, isFwd, vcf_v4); + TabixReader.Iterator iter = + (((TabixReader) reader).query(chr+":"+sbeg+"-"+send)); // get the iterator + String s; + while (iter != null && (s = iter.next()) != null) + { + VCFRecord record = VCFRecord.parse(s); + int basePosition = record.getPos() + vcfView.getSequenceOffset(record.getChrom()); + if(vcfView.showVariant(record, features, basePosition, vcf_v4) ) + basesStr = getSeqsVariation(record, basesStr, sbeg, isFwd, vcf_v4); + } + } + catch(NullPointerException e) + { + System.err.println(chr+":"+sbeg+"-"+send+"\n"+e.getMessage()); } } return basesStr;