making the reference optional (the GATK will set it on the first run if it's not included), and setting the seq index if they do supply it.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4635 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
aaron 2010-11-07 18:15:31 +00:00
parent e05af54f3e
commit be499fc986
1 changed files with 9 additions and 3 deletions

View File

@ -46,12 +46,10 @@ public class RMDIndexer extends CommandLineProgram {
// ---------------------------------------------------------------------------------
// check the input parameters
if (referenceFile == null || !referenceFile.canRead())
if (referenceFile != null && !referenceFile.canRead())
throw new IllegalArgumentException("We can't read the reference file: "
+ referenceFile + ", check that it exists, and that you have permissions to read it");
// create a reference file reader
IndexedFastaSequenceFile seq = new IndexedFastaSequenceFile(referenceFile);
// set the index file to the default name if they didn't specify a file
if (indexFile == null && inputFileSource != null)
@ -88,6 +86,14 @@ public class RMDIndexer extends CommandLineProgram {
Index index = IndexFactory.createIndex(inputFileSource, codec, approach);
if (referenceFile != null) {
// create a reference file reader
IndexedFastaSequenceFile seq = new IndexedFastaSequenceFile(referenceFile);
// add writing of the sequence dictionary, if supplied
RMDTrackBuilder.setIndexSequenceDictionary(index, seq.getSequenceDictionary(), indexFile, false);
}
// create the output stream, and write the index
LittleEndianOutputStream stream = new LittleEndianOutputStream(new FileOutputStream(indexFile));
index.write(stream);