diff --git a/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsUnitTest.java b/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsUnitTest.java index 750041bdb..2eef77400 100644 --- a/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsUnitTest.java +++ b/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsUnitTest.java @@ -1,5 +1,6 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; +import org.broad.tribble.readers.AsciiLineReader; import org.broad.tribble.vcf.VCFCodec; import org.broad.tribble.vcf.VCFHeader; import org.broad.tribble.vcf.VCFHeaderLine; @@ -9,6 +10,7 @@ import org.broadinstitute.sting.utils.vcf.VCFUtils; import org.testng.annotations.Test; +import java.io.StringBufferInputStream; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -19,54 +21,50 @@ import java.util.Set; public class CombineVariantsUnitTest { // this header is a small subset of the header in VCFHeaderUnitTest: VCF4headerStrings - public static String[] VCF4headerStringsSmallSubset = { - "##fileformat=VCFv4.0", - "##filedate=2010-06-21", - "##reference=NCBI36", - "##INFO=", - "##INFO=", - "##INFO=", - "##FILTER=", - "##FORMAT=", - "##FORMAT=", - "##FORMAT=", - }; + public static String VCF4headerStringsSmallSubset = + "##fileformat=VCFv4.0\n" + + "##filedate=2010-06-21\n"+ + "##reference=NCBI36\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##FILTER=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\n"; // altered info field - public static String[] VCF4headerStringsBrokenInfo = { - "##fileformat=VCFv4.0", - "##filedate=2010-06-21", - "##reference=NCBI36", - "##INFO=", - "##INFO=", - "##INFO=", // string to integer - "##FILTER=", - "##FORMAT=", - "##FORMAT=", - "##FORMAT=", - }; + public static String VCF4headerStringsBrokenInfo = + "##fileformat=VCFv4.0\n"+ + "##filedate=2010-06-21\n"+ + "##reference=NCBI36\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ // string to integer + "##FILTER=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\n"; // altered format field - public static String[] VCF4headerStringsBrokenFormat = { - "##fileformat=VCFv4.0", - "##filedate=2010-06-21", - "##reference=NCBI36", - "##INFO=", - "##INFO=", - "##INFO=", - "##FILTER=", - "##FORMAT=", // changed 1 to 6 here - "##FORMAT=", - "##FORMAT=", - }; + public static String VCF4headerStringsBrokenFormat = + "##fileformat=VCFv4.0\n"+ + "##filedate=2010-06-21\n"+ + "##reference=NCBI36\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##FILTER=\n"+ + "##FORMAT=\n"+ // changed 1 to 6 here + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\n"; - private VCFHeader createHeader(String[] headerStr) { + private VCFHeader createHeader(String headerStr) { VCFCodec codec = new VCFCodec(); - List headerFields = new ArrayList(); - for (String str : headerStr) - headerFields.add(str); - VCFHeader head = (VCFHeader)codec.createHeader(headerFields,"#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO"); - Assert.assertEquals(head.getMetaData().size(), headerStr.length /* for the # line */); + VCFHeader head = (VCFHeader)codec.readHeader(new AsciiLineReader(new StringBufferInputStream(headerStr))); return head; } @@ -78,7 +76,7 @@ public class CombineVariantsUnitTest { headers.add(one); headers.add(two); Set lines = VCFUtils.smartMergeHeaders(headers, null); - Assert.assertEquals(lines.size(), VCFHeaderUnitTest.VCF4headerStrings.length); + Assert.assertEquals(lines.size(), VCFHeaderUnitTest.VCF4headerStringCount); } @Test(expectedExceptions=IllegalStateException.class) @@ -89,7 +87,7 @@ public class CombineVariantsUnitTest { headers.add(one); headers.add(two); Set lines = VCFUtils.smartMergeHeaders(headers, null); - Assert.assertEquals(lines.size(), VCFHeaderUnitTest.VCF4headerStrings.length); + Assert.assertEquals(lines.size(), VCFHeaderUnitTest.VCF4headerStringCount); } @Test @@ -100,6 +98,6 @@ public class CombineVariantsUnitTest { headers.add(one); headers.add(two); Set lines = VCFUtils.smartMergeHeaders(headers, null); - Assert.assertEquals(lines.size(), VCFHeaderUnitTest.VCF4headerStrings.length); + Assert.assertEquals(lines.size(), VCFHeaderUnitTest.VCF4headerStringCount); } } diff --git a/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java b/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java index 561ced1cb..88c1b8294 100644 --- a/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java +++ b/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java @@ -1,5 +1,6 @@ package org.broadinstitute.sting.utils.genotype.vcf; +import org.broad.tribble.readers.AsciiLineReader; import org.broad.tribble.vcf.*; import org.testng.Assert; import org.broadinstitute.sting.BaseTest; @@ -9,6 +10,7 @@ import org.testng.annotations.Test; import java.io.File; import java.io.IOException; import java.io.PrintWriter; +import java.io.StringBufferInputStream; import java.util.ArrayList; import java.util.List; @@ -21,13 +23,10 @@ import java.util.List; */ public class VCFHeaderUnitTest extends BaseTest { - private VCFHeader createHeader(String[] headerStr) { + private VCFHeader createHeader(String headerStr) { VCFCodec codec = new VCFCodec(); - List headerFields = new ArrayList(); - for (String str : headerStr) - headerFields.add(str); - VCFHeader header = (VCFHeader)codec.createHeader(headerFields,"#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO"); - Assert.assertEquals(header.getMetaData().size(), headerStr.length /* for the # line */); + VCFHeader header = (VCFHeader)codec.readHeader(new AsciiLineReader(new StringBufferInputStream(headerStr))); + Assert.assertEquals(header.getMetaData().size(), VCF4headerStringCount); return header; } @@ -39,7 +38,7 @@ public class VCFHeaderUnitTest extends BaseTest { @Test public void testVCF4ToVCF4_alternate() { - VCFHeader header = createHeader(VCF4headerStrings_with_negitiveOne); + VCFHeader header = createHeader(VCF4headerStrings_with_negativeOne); checkMD5ofHeaderFile(header, "ad8c4cf85e868b0261ab49ee2c613088"); } @@ -59,41 +58,45 @@ public class VCFHeaderUnitTest extends BaseTest { Assert.assertTrue(md5sum.equals(md5SumFile(myTempFile))); } - public static String[] VCF4headerStrings = { - "##fileformat=VCFv4.0", - "##filedate=2010-06-21", - "##reference=NCBI36", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##FILTER=", - "##FORMAT=", - "##FORMAT=", - "##FORMAT=", - }; + public static int VCF4headerStringCount = 16; + + public static String VCF4headerStrings = + "##fileformat=VCFv4.0\n"+ + "##filedate=2010-06-21\n"+ + "##reference=NCBI36\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##FILTER=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\n"; + + + public static String VCF4headerStrings_with_negativeOne = + "##fileformat=VCFv4.0\n"+ + "##filedate=2010-06-21\n"+ + "##reference=NCBI36\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##INFO=\n"+ + "##FILTER=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "##FORMAT=\n"+ + "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\n"; - public static String[] VCF4headerStrings_with_negitiveOne = { - "##fileformat=VCFv4.0", - "##filedate=2010-06-21", - "##reference=NCBI36", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##INFO=", - "##FILTER=", - "##FORMAT=", - "##FORMAT=", - "##FORMAT=", - }; }