diff --git a/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilder.java b/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilder.java index 696b23534..f1a6d57c6 100644 --- a/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilder.java +++ b/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilder.java @@ -120,7 +120,16 @@ public class TribbleRMDTrackBuilder extends PluginManager implemen */ public static LinearIndex createIndex(File inputFile, FeatureCodec codec) throws IOException { LinearIndexCreator create = new LinearIndexCreator(inputFile, codec); - return create.createIndex(); + create.setDisplayProgress(false); // don't display progress indicators + + // if we can write the index, we should, but if not just create it in memory + if (new File(inputFile.getAbsoluteFile() + linearIndexExtension).canWrite()) + return create.createIndex(); + else { + logger.info("Unable to write to location " + inputFile.getAbsoluteFile() + linearIndexExtension + " for index file, creating index in memory only"); + return create.createIndex(null); + } + } /** diff --git a/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFReader.java b/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFReader.java index e65859284..5a22f8466 100644 --- a/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFReader.java +++ b/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFReader.java @@ -69,7 +69,7 @@ public class VCFReader implements Iterator, Iterable { } if (transform != null) codec.setTransformer(transform); try { - vcfReader = new FeatureReader(vcfFile,codec); + vcfReader = new FeatureReader(vcfFile,index,codec); iterator= vcfReader.iterator(); } catch (FileNotFoundException e) { throw new StingException("Unable to read VCF File from " + vcfFile, e); diff --git a/java/test/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilderUnitTest.java b/java/test/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilderUnitTest.java index e1f1838c2..af39ecd98 100644 --- a/java/test/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilderUnitTest.java +++ b/java/test/org/broadinstitute/sting/gatk/refdata/tracks/builders/TribbleRMDTrackBuilderUnitTest.java @@ -23,10 +23,14 @@ package org.broadinstitute.sting.gatk.refdata.tracks.builders; +import org.broad.tribble.vcf.VCFCodec; import org.broadinstitute.sting.BaseTest; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import java.io.File; +import java.io.IOException; import java.util.Map; @@ -49,9 +53,19 @@ public class TribbleRMDTrackBuilderUnitTest extends BaseTest { @Test public void testBuilder() { Map classes = builder.getAvailableTrackNamesAndTypes(); - for (String c: classes.keySet()) { - System.err.println("class = " + c); + Assert.assertTrue(classes.size() > 0); + } + + @Test + public void testBuilderIndexUnwriteable() { + File vcfFile = new File(validationDataLocation + "/ROD_validation/mixedup.vcf"); + try { + builder.createIndex(vcfFile,new VCFCodec()); + } catch (IOException e) { + Assert.fail("Unable to make index because of IO exception " + e.getMessage()); } - //Assert.fail("Fail"); + // make sure we didn't write the file (check that it's length is zero) + Assert.assertEquals(0,new File(vcfFile + TribbleRMDTrackBuilder.linearIndexExtension).length()); + } } diff --git a/settings/repository/org.broad/tribble-75.xml b/settings/repository/org.broad/tribble-75.xml deleted file mode 100644 index e05fab800..000000000 --- a/settings/repository/org.broad/tribble-75.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/settings/repository/org.broad/tribble-75.jar b/settings/repository/org.broad/tribble-77.jar similarity index 93% rename from settings/repository/org.broad/tribble-75.jar rename to settings/repository/org.broad/tribble-77.jar index e8ee0024d..fcc69ef14 100644 Binary files a/settings/repository/org.broad/tribble-75.jar and b/settings/repository/org.broad/tribble-77.jar differ diff --git a/settings/repository/org.broad/tribble-77.xml b/settings/repository/org.broad/tribble-77.xml new file mode 100644 index 000000000..0db99f214 --- /dev/null +++ b/settings/repository/org.broad/tribble-77.xml @@ -0,0 +1,3 @@ + + +