Better error checking for missing .dict file.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@741 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2009-05-17 21:57:12 +00:00
parent 7161b8f927
commit d35e20ce21
1 changed files with 12 additions and 11 deletions

View File

@ -67,20 +67,21 @@ public class IndexedFastaSequenceFile implements ReferenceSequenceFile {
dictionaryName = dictionaryName.substring(0, dictionaryName.lastIndexOf(".fasta")); dictionaryName = dictionaryName.substring(0, dictionaryName.lastIndexOf(".fasta"));
dictionaryName += ".dict"; dictionaryName += ".dict";
final File dictionary = new File(dictionaryName); final File dictionary = new File(dictionaryName);
if (dictionary.exists()) { if (!dictionary.exists())
IoUtil.assertFileIsReadable(dictionary); throw new PicardException("Unable to load .dict file. Dictionary is required for the indexed fasta reader.");
try { IoUtil.assertFileIsReadable(dictionary);
final SAMTextHeaderCodec codec = new SAMTextHeaderCodec();
final SAMFileHeader header = codec.decode(new AsciiLineReader(new FileInputStream(dictionary)), dictionary); try {
if (header.getSequenceDictionary() != null && header.getSequenceDictionary().size() > 0) { final SAMTextHeaderCodec codec = new SAMTextHeaderCodec();
this.sequenceDictionary = header.getSequenceDictionary(); final SAMFileHeader header = codec.decode(new AsciiLineReader(new FileInputStream(dictionary)), dictionary);
} if (header.getSequenceDictionary() != null && header.getSequenceDictionary().size() > 0) {
} this.sequenceDictionary = header.getSequenceDictionary();
catch (Exception e) {
throw new PicardException("Could not open sequence dictionary file: " + dictionaryName, e);
} }
} }
catch (Exception e) {
throw new PicardException("Could not open sequence dictionary file: " + dictionaryName, e);
}
} }