def test_trios_multi_multi3_full(variants_vcf):
    fvars = variants_vcf("backends/trios_multi")
    vs = list(
        fvars.query_variants(
            regions=[Region("1", 11505, 11505)],
            return_reference=True,
            return_unknown=True,
        )
    )
    assert len(vs) == 1
    for v in vs:
        print(mat2str(v.best_state))
        assert v.best_state.shape == (4, 3)

    fvars = variants_vcf("backends/trios_multi")
    vs = list(
        fvars.query_variants(
            regions=[Region("1", 11506, 11506)],
            return_reference=True,
            return_unknown=True,
        )
    )
    assert len(vs) == 1
    for v in vs:
        print(mat2str(v.best_state))
        assert v.best_state.shape == (4, 3)
Exemple #2
0
def test_multi_alt_allele_effects(variants_vcf, region, worst_effect, count):
    fvars = variants_vcf("backends/effects_trio_multi")
    vs = list(fvars.query_variants(regions=[region], effects=["missense"]))
    for v in vs:
        print("------------------")
        print(mat2str(v.best_state))
        print(mat2str(v.gt))
        assert len(v.effects) == 2
        assert v.effects[0].worst == worst_effect[0]
        assert v.effects[1].worst == worst_effect[1]

    assert len(vs) == count
def test_inheritance_multi_full(variants_vcf, region, count, inheritance):
    fvars = variants_vcf("backends/inheritance_multi")
    vs = list(
        fvars.query_variants(
            regions=[region], return_reference=False, return_unknown=False
        )
    )
    assert len(vs) == count
    for v in vs:
        for a in v.alt_alleles:
            print(a, mat2str(a.gt), a.members_ids, a.inheritance_in_members)
            assert len(a.inheritance_in_members) == 7
        # assert Inheritance.from_name(inheritance) in v.inheritance_in_members
        assert len(mat2str(v.best_state)) == 15
Exemple #4
0
def test_inheritance_quad_full(variants_impl, variants, count, inheritance):
    fvars = variants_impl(variants)("backends/inheritance_quad")
    vs = list(
        fvars.query_variants(inheritance=inheritance, return_reference=False))
    assert len(vs) == count
    for v in vs:
        assert len(mat2str(v.best_state)) == 9
def test_df_query_multiallelic3_families(variants_impl, variants,
                                         fixture_name):

    dfvars = variants_impl(variants)(fixture_name)
    assert dfvars is not None

    regions = [Region("1", 11606, 11606)]
    family_ids = ["f1"]
    vs = dfvars.query_variants(
        regions=regions,
        family_ids=family_ids,
        return_reference=True,
        return_unknown=True,
    )
    vs = list(vs)
    assert len(vs) == 1
    v = vs[0]

    print(v, mat2str(v.best_state))
    fa1 = v.alt_alleles[0]
    fa2 = v.alt_alleles[1]
    assert len(v.alt_alleles) == 2

    assert "mom1" in fa1.variant_in_members
    assert "dad1" in fa2.variant_in_members
    assert "ch1" not in fa1.variant_in_members
    assert "ch1" not in fa2.variant_in_members
def test_family_variant_X_gt2best_st(fvX1, fvX2, gt, bs1, gm1, bs2, gm2,
                                     genome_2013):
    v = fvX1(gt, None)
    best_state = VariantsGenotypesLoader._calc_best_state(v, genome_2013)
    print(v)
    print(mat2str(best_state))
    assert mat2str(best_state) == bs1
    genetic_model = VariantsGenotypesLoader._calc_genetic_model(v, genome_2013)
    assert genetic_model == gm1

    v = fvX2(gt, None)
    best_state = VariantsGenotypesLoader._calc_best_state(v, genome_2013)
    print(v)
    print(mat2str(best_state))
    assert mat2str(best_state) == bs2

    genetic_model = VariantsGenotypesLoader._calc_genetic_model(v, genome_2013)
    assert genetic_model == gm2
def test_variant_in_members(variants_impl, variants, region, count, members):
    fvars = variants_impl(variants)("backends/unknown_trio")
    vs = list(fvars.query_variants(regions=[region]))
    assert len(vs) == count
    for v in vs:
        print(v, mat2str(v.best_state))
        for aa in v.alt_alleles:
            print(aa, aa.variant_in_members)
            assert list(aa.variant_in_members) == members
def test_reference_multiallelic_variant(variants_impl, variants, fixture_name):

    fvars = variants_impl(variants)(fixture_name)
    assert fvars is not None

    vs = fvars.query_variants(return_reference=True, return_unknown=True)
    vs = list(vs)
    print(vs)
    assert len(vs) == 2

    for v in vs:
        print(mat2str(v.best_state))
Exemple #9
0
def test_trios_multi_single_allele1(variants_vcf):
    fvars = variants_vcf("backends/trios_multi")
    vs = list(
        fvars.query_variants(
            regions=[Region("1", 11500, 11500)],
            return_reference=True,
            return_unknown=True,
        ))
    assert len(vs) == 1
    for v in vs:
        assert v.best_state.shape == (3, 3)
        assert len(mat2str(v.best_state)) == 11
def test_inheritance_trio_full(variants_vcf, region, count, inheritance):
    fvars = variants_vcf("backends/inheritance_trio")
    vs = list(
        fvars.query_variants(
            inheritance=inheritance, regions=[region], return_reference=True
        )
    )

    for v in vs:
        # assert Inheritance.from_name(inheritance) in v.inheritance_in_members
        assert len(mat2str(v.best_state)) == 7
        for a in v.alleles:
            print(">>>", a, a.inheritance_in_members)
            assert len(a.inheritance_in_members) == 3

    assert len(vs) == count
def test_variant_frequency_single(variants_impl, variants, region, count,
                                  freq0, freq1):

    fvars = variants_impl(variants)("backends/trios2")
    vs = list(
        fvars.query_variants(regions=[region],
                             return_reference=False,
                             return_unknown=False))
    assert len(vs) == count
    for v in vs:
        print(v, mat2str(v.best_state))
        print(v.frequencies)

        assert freq0 == pytest.approx(v.frequencies[0], 1e-2)
        if len(v.frequencies) == 2:
            assert freq1 == pytest.approx(v.frequencies[1], 1e-2)
Exemple #12
0
def test_f1_check_all_variants_effects(variants_vcf):
    vvars = variants_vcf("backends/f1_test")
    assert vvars is not None

    vs = vvars.query_variants(return_reference=True, return_unknown=True)
    vs = list(vs)
    for v in vs:
        print(v, v.effects, mat2str(v.best_state))
        summary_alleles = v.summary_alleles
        sa1 = summary_alleles[1]
        sa2 = summary_alleles[2]

        assert sa1.effect.worst == "synonymous"
        assert sa2.effect.worst == "missense"

    assert len(vs) == 7
def test_query_strange_multiallelic_families(variants_impl, variants,
                                             fixture_name):

    fvars = variants_impl(variants)(fixture_name)
    assert fvars is not None

    vs = fvars.query_variants()
    vs = list(vs)
    assert len(vs) == 2
    for v in vs:
        # v = vs[0]

        print(v, mat2str(v.best_state))
        print(v.alt_alleles)

        fa1 = v.alt_alleles[0]
        fa2 = v.alt_alleles[1]
        assert len(v.alt_alleles) == 2

        print(fa1.variant_in_members)
        print(fa2.variant_in_members)
def test_reference_variant_single_allele(variants_impl, variants,
                                         fixture_name):

    dfvars = variants_impl(variants)(fixture_name)
    assert dfvars is not None

    vs = dfvars.query_variants(family_ids=["f1"],
                               return_reference=True,
                               return_unknown=True)
    vs = list(vs)
    assert len(vs) == 1

    v = vs[0]
    print(v)

    print("best_st:", mat2str(v.best_state))
    print("freq:   ", v.frequencies)
    print("effects:", v.effects)
    print("alleles:", v.alleles)
    # print("summary:", v.summary_variant)

    assert len(v.frequencies) == 1
    assert v.frequencies[0] == pytest.approx(87.5)
    assert not v.effects
def test_best2gt(bs, gt):
    res = best2gt(bs)
    print(mat2str(res))

    assert np.all(res == gt)
def test_family_variant_unknown_simple_best_st(fv1, gt, bs):
    v = fv1(gt, calculate_simple_best_state(gt, 3))
    print(v)
    print(mat2str(v.best_state))
    assert mat2str(v.best_state) == bs
def test_omission(variants_impl, variants):
    fvars = variants_impl(variants)("backends/inheritance_omission")
    for fv in fvars.query_variants(inheritance="any(mendelian,denovo)"):
        print(fv, fv.matched_alleles)
        for fa in fv.alleles:
            print(fa, mat2str(fa.best_state), fa.inheritance_in_members)
def test_family_variant_unknown_full_best_st(fv1, gt, bs, genome_2013):
    v = fv1(gt, None)
    best_state = VariantsGenotypesLoader._calc_best_state(v, genome_2013)
    print(v)
    print(mat2str(best_state))
    assert mat2str(best_state) == bs
Exemple #19
0
def test_dae_transmitted_loader_simple(dae_transmitted):
    for fv in dae_transmitted.family_variants_iterator():
        print(fv, mat2str(fv.best_state), mat2str(fv.gt))