def test_combine_families_sex_mismatch(): families_A = FamiliesLoader.load_pedigree_file( relative_to_this_test_folder("fixtures/pedigree_A.ped")) families_D = FamiliesLoader.load_pedigree_file( relative_to_this_test_folder("fixtures/pedigree_D.ped")) with pytest.raises(AssertionError): FamiliesData.combine(families_A, families_D, forced=False)
def test_combine_families(): families_A = FamiliesLoader.load_pedigree_file( relative_to_this_test_folder("fixtures/pedigree_A.ped")) families_B = FamiliesLoader.load_pedigree_file( relative_to_this_test_folder("fixtures/pedigree_B.ped")) new_families = FamiliesData.combine(families_A, families_B, forced=False) merged_f1 = new_families["f1"] assert set(merged_f1.persons.keys()) == { "f1.mom", "f1.dad", "f1.p1", "f1.s1", "f1.s2", }
def test_mom_dad_child_sibling_roles(fixture_dirname, ped_file): families = FamiliesLoader.load_pedigree_file(fixture_dirname(ped_file)) family = families.get("f1") role_builder = FamilyRoleBuilder(family) role_builder.build_roles() members = family.full_members assert members[0].role == Role.dad assert members[1].role == Role.mom assert members[2].role == Role.prb assert members[3].role == Role.sib
def test_handling_of_family_with_only_prb_role(fixture_dirname): ped_file = fixture_dirname("pedigrees/pedigree_prb_only.ped") families = FamiliesLoader.load_pedigree_file(ped_file) family = families.get("f1") role_builder = FamilyRoleBuilder(family) role_builder.build_roles() members = family.full_members assert members[0].role == Role.dad assert members[1].role == Role.mom assert members[2].role == Role.prb assert members[3].role == Role.sib
def test_load_family_simple(fixture_name, temp_filename, fixture_dirname): family_filename = fixture_dirname(fixture_name) assert os.path.exists(family_filename) families = FamiliesLoader.load_simple_families_file(family_filename) assert families is not None FamiliesLoader.save_pedigree(families, temp_filename) families1 = FamiliesLoader.load_pedigree_file(temp_filename) assert set(families.keys()) == set(families1.keys())
def test_child_and_spouse(fixture_dirname): ped_file = fixture_dirname("pedigrees/pedigree_no_role_D.ped") families = FamiliesLoader.load_pedigree_file(ped_file) family = families.get("f1") role_builder = FamilyRoleBuilder(family) role_builder.build_roles() members = family.full_members assert members[0].role == Role.dad assert members[1].role == Role.mom assert members[2].role == Role.prb assert members[3].role == Role.sib assert members[4].role == Role.spouse assert members[5].role == Role.child
def test_paternal_and_maternal_grandparents(fixture_dirname): ped_file = fixture_dirname("pedigrees/pedigree_no_role_C.ped") families = FamiliesLoader.load_pedigree_file(ped_file) family = families.get("f1") role_builder = FamilyRoleBuilder(family) role_builder.build_roles() members = family.full_members assert members[0].role == Role.maternal_grandfather assert members[1].role == Role.maternal_grandmother assert members[2].role == Role.paternal_grandfather assert members[3].role == Role.paternal_grandmother assert members[4].role == Role.dad assert members[5].role == Role.mom assert members[6].role == Role.prb assert members[7].role == Role.sib
def test_stepmom_and_stepdad(fixture_dirname): ped_file = fixture_dirname("pedigrees/pedigree_no_role_G.ped") families = FamiliesLoader.load_pedigree_file(ped_file) family = families.get("f1") role_builder = FamilyRoleBuilder(family) role_builder.build_roles() members = family.full_members assert members[0].role == Role.dad assert members[1].role == Role.mom assert members[2].role == Role.step_dad assert members[3].role == Role.step_mom assert members[4].role == Role.maternal_half_sibling assert members[5].role == Role.paternal_half_sibling assert members[6].role == Role.prb assert members[7].role == Role.sib
def test_maternal_and_paternal_cousins(fixture_dirname): ped_file = fixture_dirname("pedigrees/pedigree_no_role_F.ped") families = FamiliesLoader.load_pedigree_file(ped_file) family = families.get("f1") role_builder = FamilyRoleBuilder(family) role_builder.build_roles() members = family.full_members assert members[0].role == Role.maternal_grandfather assert members[1].role == Role.maternal_grandmother assert members[2].role == Role.paternal_grandfather assert members[3].role == Role.paternal_grandmother assert members[4].role == Role.dad assert members[5].role == Role.mom assert members[6].role == Role.maternal_aunt assert members[7].role == Role.unknown assert members[8].role == Role.unknown assert members[9].role == Role.paternal_uncle assert members[10].role == Role.prb assert members[11].role == Role.sib assert members[12].role == Role.maternal_cousin assert members[13].role == Role.paternal_cousin