Exemplo n.º 1
0
  @Test(dataProvider = "mergeFiltered")
  public void testMergeFiltered(MergeFilteredTest cfg) {
    final List<String> priority = vcs2priority(cfg.inputs);
    final VariantContext merged =
        VariantContextUtils.simpleMerge(
            genomeLocParser,
            cfg.inputs,
            priority,
            cfg.type,
            VariantContextUtils.GenotypeMergeType.PRIORITIZE,
            true,
            false,
            "set",
            false,
            false);

    // test alleles are equal
    Assert.assertEquals(merged.getAlleles(), cfg.expected.getAlleles());

    // test set field
    Assert.assertEquals(merged.getAttribute("set"), cfg.setExpected);

    // test filter field
    Assert.assertEquals(merged.getFilters(), cfg.expected.getFilters());
  }
Exemplo n.º 2
0
  @Test
  public void testAnnotationSet() {
    for (final boolean annotate : Arrays.asList(true, false)) {
      for (final String set : Arrays.asList("set", "combine", "x")) {
        final List<String> priority = Arrays.asList("1", "2");
        VariantContext vc1 = makeVC("1", Arrays.asList(Aref, T), VariantContext.PASSES_FILTERS);
        VariantContext vc2 = makeVC("2", Arrays.asList(Aref, T), VariantContext.PASSES_FILTERS);

        final VariantContext merged =
            VariantContextUtils.simpleMerge(
                genomeLocParser,
                Arrays.asList(vc1, vc2),
                priority,
                VariantContextUtils.FilteredRecordMergeType.KEEP_IF_ANY_UNFILTERED,
                VariantContextUtils.GenotypeMergeType.PRIORITIZE,
                annotate,
                false,
                set,
                false,
                false);

        if (annotate)
          Assert.assertEquals(merged.getAttribute(set), VariantContextUtils.MERGE_INTERSECTION);
        else Assert.assertFalse(merged.hasAttribute(set));
      }
    }
  }
Exemplo n.º 3
0
  @Test(dataProvider = "mergeAlleles")
  public void testMergeAlleles(MergeAllelesTest cfg) {
    final List<VariantContext> inputs = new ArrayList<VariantContext>();

    int i = 0;
    for (final List<Allele> alleles : cfg.inputs) {
      final String name = "vcf" + ++i;
      inputs.add(makeVC(name, alleles));
    }

    final List<String> priority = vcs2priority(inputs);

    final VariantContext merged =
        VariantContextUtils.simpleMerge(
            genomeLocParser,
            inputs,
            priority,
            VariantContextUtils.FilteredRecordMergeType.KEEP_IF_ANY_UNFILTERED,
            VariantContextUtils.GenotypeMergeType.PRIORITIZE,
            false,
            false,
            "set",
            false,
            false);

    Assert.assertEquals(merged.getAlleles(), cfg.expected);
  }
Exemplo n.º 4
0
  @Test(expectedExceptions = UserException.class)
  public void testMergeGenotypesRequireUnique() {
    final VariantContext vc1 = makeVC("1", Arrays.asList(Aref, T), makeG("s1", Aref, T, -1));
    final VariantContext vc2 = makeVC("2", Arrays.asList(Aref, T), makeG("s1", Aref, T, -2));

    final VariantContext merged =
        VariantContextUtils.simpleMerge(
            genomeLocParser,
            Arrays.asList(vc1, vc2),
            null,
            VariantContextUtils.FilteredRecordMergeType.KEEP_IF_ANY_UNFILTERED,
            VariantContextUtils.GenotypeMergeType.REQUIRE_UNIQUE,
            false,
            false,
            "set",
            false,
            false);
  }
Exemplo n.º 5
0
  @Test(dataProvider = "mergeGenotypes")
  public void testMergeGenotypes(MergeGenotypesTest cfg) {
    final VariantContext merged =
        VariantContextUtils.simpleMerge(
            genomeLocParser,
            cfg.inputs,
            cfg.priority,
            VariantContextUtils.FilteredRecordMergeType.KEEP_IF_ANY_UNFILTERED,
            VariantContextUtils.GenotypeMergeType.PRIORITIZE,
            true,
            false,
            "set",
            false,
            false);

    // test alleles are equal
    Assert.assertEquals(merged.getAlleles(), cfg.expected.getAlleles());

    // test genotypes
    assertGenotypesAreMostlyEqual(merged.getGenotypes(), cfg.expected.getGenotypes());
  }
Exemplo n.º 6
0
  @Test
  public void testMergeGenotypesUniquify() {
    final VariantContext vc1 = makeVC("1", Arrays.asList(Aref, T), makeG("s1", Aref, T, -1));
    final VariantContext vc2 = makeVC("2", Arrays.asList(Aref, T), makeG("s1", Aref, T, -2));

    final VariantContext merged =
        VariantContextUtils.simpleMerge(
            genomeLocParser,
            Arrays.asList(vc1, vc2),
            null,
            VariantContextUtils.FilteredRecordMergeType.KEEP_IF_ANY_UNFILTERED,
            VariantContextUtils.GenotypeMergeType.UNIQUIFY,
            false,
            false,
            "set",
            false,
            false);

    // test genotypes
    Assert.assertEquals(
        merged.getSampleNames(), new HashSet<String>(Arrays.asList("s1.1", "s1.2")));
  }
Exemplo n.º 7
0
  @Test(dataProvider = "simplemergersiddata")
  public void testRSIDMerge(SimpleMergeRSIDTest cfg) {
    VariantContext snpVC1 = makeVC("snpvc1", Arrays.asList(Aref, T));
    final List<VariantContext> inputs = new ArrayList<VariantContext>();

    for (final String id : cfg.inputs) {
      inputs.add(new VariantContextBuilder(snpVC1).id(id).make());
    }

    final VariantContext merged =
        VariantContextUtils.simpleMerge(
            genomeLocParser,
            inputs,
            null,
            VariantContextUtils.FilteredRecordMergeType.KEEP_IF_ANY_UNFILTERED,
            VariantContextUtils.GenotypeMergeType.UNSORTED,
            false,
            false,
            "set",
            false,
            false);
    Assert.assertEquals(merged.getID(), cfg.expected);
  }