Beispiel #1
0
  @Test
  public void testVCFHeaderSerialization() throws Exception {
    final VCFFileReader reader =
        new VCFFileReader(new File("testdata/htsjdk/variant/HiSeq.10000.vcf"), false);
    final VCFHeader originalHeader = reader.getFileHeader();
    reader.close();

    final VCFHeader deserializedHeader = TestUtil.serializeAndDeserialize(originalHeader);

    Assert.assertEquals(
        deserializedHeader.getMetaDataInInputOrder(),
        originalHeader.getMetaDataInInputOrder(),
        "Header metadata does not match before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getContigLines(),
        originalHeader.getContigLines(),
        "Contig header lines do not match before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getFilterLines(),
        originalHeader.getFilterLines(),
        "Filter header lines do not match before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getFormatHeaderLines(),
        originalHeader.getFormatHeaderLines(),
        "Format header lines do not match before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getIDHeaderLines(),
        originalHeader.getIDHeaderLines(),
        "ID header lines do not match before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getInfoHeaderLines(),
        originalHeader.getInfoHeaderLines(),
        "Info header lines do not match before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getOtherHeaderLines(),
        originalHeader.getOtherHeaderLines(),
        "Other header lines do not match before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getGenotypeSamples(),
        originalHeader.getGenotypeSamples(),
        "Genotype samples not the same before/after serialization");
    Assert.assertEquals(
        deserializedHeader.samplesWereAlreadySorted(),
        originalHeader.samplesWereAlreadySorted(),
        "Sortedness of samples not the same before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getSampleNamesInOrder(),
        originalHeader.getSampleNamesInOrder(),
        "Sorted list of sample names in header not the same before/after serialization");
    Assert.assertEquals(
        deserializedHeader.getSampleNameToOffset(),
        originalHeader.getSampleNameToOffset(),
        "Sample name to offset map not the same before/after serialization");
    Assert.assertEquals(
        deserializedHeader.toString(),
        originalHeader.toString(),
        "String representation of header not the same before/after serialization");
  }
Beispiel #2
0
  @DataProvider(name = "HiSeqVCFHeaderDataProvider")
  public Object[][] getHiSeqVCFHeaderData() {
    final File vcf = new File("testdata/htsjdk/variant/HiSeq.10000.vcf");
    final VCFFileReader reader = new VCFFileReader(vcf, false);
    final VCFHeader header = reader.getFileHeader();
    reader.close();

    return new Object[][] {{header}};
  }
  @Test
  public void shouldPreserveSymbolicAlleleCase() {
    VCFFileReader reader =
        new VCFFileReader(new File(VariantBaseTest.variantTestDataRoot + "breakpoint.vcf"), false);
    VariantContext variant = reader.iterator().next();
    reader.close();

    // VCF v4.1 s1.4.5
    // Tools processing VCF files are not required to preserve case in the allele String, except for
    // IDs, which are case sensitive.
    Assert.assertTrue(variant.getAlternateAllele(0).getDisplayString().contains("chr12"));
  }