From d015a5738d3f7e6682e567976217c0cfa3c02ca2 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Fri, 15 Jun 2012 15:14:36 -0400 Subject: [PATCH] Bugfixes for VCFWriterUnitTest and TestProvider to deal with stricter VCFWriter behavior --- .../sting/utils/codecs/vcf/IndexFactoryUnitTest.java | 5 ++++- .../utils/variantcontext/VariantContextTestProvider.java | 5 +++-- .../sting/utils/variantcontext/writer/VCFWriterUnitTest.java | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/public/java/test/org/broadinstitute/sting/utils/codecs/vcf/IndexFactoryUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/codecs/vcf/IndexFactoryUnitTest.java index 6517d9ce0..6b16ffa0a 100755 --- a/public/java/test/org/broadinstitute/sting/utils/codecs/vcf/IndexFactoryUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/codecs/vcf/IndexFactoryUnitTest.java @@ -10,6 +10,7 @@ import org.broadinstitute.sting.BaseTest; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.fasta.CachingIndexedFastaSequenceFile; import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.writer.Options; import org.broadinstitute.sting.utils.variantcontext.writer.VariantContextWriter; import org.broadinstitute.sting.utils.variantcontext.writer.VariantContextWriterFactory; import org.testng.annotations.BeforeTest; @@ -19,6 +20,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; +import java.util.EnumSet; /** * tests out the various functions in the index factory class @@ -56,7 +58,8 @@ public class IndexFactoryUnitTest extends BaseTest { AbstractFeatureReader source = AbstractFeatureReader.getFeatureReader(inputFile.getAbsolutePath(), new VCFCodec(), indexFromInputFile); int counter = 0; - VariantContextWriter writer = VariantContextWriterFactory.create(outputFile, dict); + final EnumSet options = EnumSet.of(Options.ALLOW_MISSING_FIELDS_IN_HEADER); + VariantContextWriter writer = VariantContextWriterFactory.create(outputFile, dict, options); writer.writeHeader((VCFHeader)source.getHeader()); CloseableTribbleIterator it = source.iterator(); while (it.hasNext() && (counter++ < maxRecords || maxRecords == -1) ) { diff --git a/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextTestProvider.java b/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextTestProvider.java index b47895917..4e765c4e1 100644 --- a/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextTestProvider.java +++ b/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextTestProvider.java @@ -147,7 +147,8 @@ public class VariantContextTestProvider { logger.warn("Reading records from " + file); for ( final VariantContext raw : x.getSecond() ) { - fullyDecoded.add(raw.fullyDecode(x.getFirst())); + if ( raw != null ) + fullyDecoded.add(raw.fullyDecode(x.getFirst())); } logger.warn("Done reading " + file); @@ -328,7 +329,7 @@ public class VariantContextTestProvider { addGenotypeTests(site, homRef, het, homVar); // test no GT at all - addGenotypeTests(site); + addGenotypeTests(site, new GenotypeBuilder("noGT", new ArrayList(0)).attribute("INT1", 10).make()); final List noCall = Arrays.asList(Allele.NO_CALL, Allele.NO_CALL); diff --git a/public/java/test/org/broadinstitute/sting/utils/variantcontext/writer/VCFWriterUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/variantcontext/writer/VCFWriterUnitTest.java index 2a3c390c0..d4e489420 100644 --- a/public/java/test/org/broadinstitute/sting/utils/variantcontext/writer/VCFWriterUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/variantcontext/writer/VCFWriterUnitTest.java @@ -83,7 +83,8 @@ public class VCFWriterUnitTest extends BaseTest { @Test public void testBasicWriteAndRead() { VCFHeader header = createFakeHeader(metaData,additionalColumns); - VariantContextWriter writer = VariantContextWriterFactory.create(fakeVCFFile, seq.getSequenceDictionary()); + final EnumSet options = EnumSet.of(Options.ALLOW_MISSING_FIELDS_IN_HEADER); + VariantContextWriter writer = VariantContextWriterFactory.create(fakeVCFFile, seq.getSequenceDictionary(), options); writer.writeHeader(header); writer.add(createVC(header)); writer.add(createVC(header));