Ejemplo n.º 1
0
def test_recursivekinship():
    peds = getpeds()
    ped = peds['fullsib']
    
    # Self
    assert ped.kinship('1', '1') == 1/2
    # Unrelated founders 
    assert ped.kinship('1', '2') == 0
    # Full-sib
    assert ped.kinship('3', '4') == 1/4
    # Parent-child
    assert ped.kinship('1', '3') == 1/4
    
    ped = peds['first_cousins']
    # First cousins
    assert ped.kinship('7', '8') == 1/16
    # Avuncular (related)
    assert ped.kinship('7', '5') == 1/8
    # Avuncular (marry-in)
    assert ped.kinship('7', '6') == 0
    # Grandparent
    assert ped.kinship('7', '1') == 1/8

    ped = peds['half_sibs']
    assert ped.kinship('4', '5') == 1/8 
Ejemplo n.º 2
0
def test_pathfraternity():
    from pydigree.paths import fraternity

    peds = getpeds()
    ped = peds["fullsib"]

    # None should return 0
    assert fraternity(ped["1"], None) == 0
    # Unrelated founders
    assert fraternity(ped["1"], ped["2"]) == 0
    # Full-sib
    assert fraternity(ped["3"], ped["4"]) == 1 / 4
    # Parent-child
    assert fraternity(ped["1"], ped["3"]) == 0

    ped = peds["first_cousins"]
    # First cousins
    assert fraternity(ped["7"], ped["8"]) == 0
    # Avuncular (related)
    assert fraternity(ped["7"], ped["5"]) == 0
    # Avuncular (marry-in)
    assert fraternity(ped["7"], ped["6"]) == 0
    # Grandparent
    assert fraternity(ped["7"], ped["1"]) == 0

    ped = peds["half_sibs"]
    assert fraternity(ped["4"], ped["5"]) == 0
Ejemplo n.º 3
0
def test_recursivekinship():
    peds = getpeds()
    ped = peds['fullsib']
    
    # Self
    assert ped.kinship('1', '1') == 1/2
    # Unrelated founders 
    assert ped.kinship('1', '2') == 0
    # Full-sib
    assert ped.kinship('3', '4') == 1/4
    # Parent-child
    assert ped.kinship('1', '3') == 1/4
    
    ped = peds['first_cousins']
    # First cousins
    assert ped.kinship('7', '8') == 1/16
    # Avuncular (related)
    assert ped.kinship('7', '5') == 1/8
    # Avuncular (marry-in)
    assert ped.kinship('7', '6') == 0
    # Grandparent
    assert ped.kinship('7', '1') == 1/8

    ped = peds['half_sibs']
    assert ped.kinship('4', '5') == 1/8 
Ejemplo n.º 4
0
def test_inbreeding():
    peds = getpeds()
    ped = peds['first_cousin_child']
    assert ped.inbreeding('9') == 1/16
    # Everyone else is outbred
    for x in ped.individuals:
        if x.label == '9':
            continue
        assert ped.inbreeding(x.label) == 0
Ejemplo n.º 5
0
def test_inbreeding():
    peds = getpeds()
    ped = peds['first_cousin_child']
    assert ped.inbreeding('9') == 1/16
    # Everyone else is outbred
    for x in ped.individuals:
        if x.label == '9':
            continue
        assert ped.inbreeding(x.label) == 0
Ejemplo n.º 6
0
def test_bitsize():
    peds = getpeds()
    
    fullsib = peds['fullsib']
    assert fullsib.bit_size() == 2

    first_cousins = peds['first_cousins']
    assert first_cousins.bit_size() == 4

    huntingtons = peds['vz_huntington_autosomal_dominant']
    assert huntingtons.bit_size() == 2*47-18 
Ejemplo n.º 7
0
def test_bitsize():
    peds = getpeds()
    
    fullsib = peds['fullsib']
    assert fullsib.bit_size() == 2

    first_cousins = peds['first_cousins']
    assert first_cousins.bit_size() == 4

    huntingtons = peds['vz_huntington_autosomal_dominant']
    assert huntingtons.bit_size() == 2*47-18 
Ejemplo n.º 8
0
def test_commonancestors():
    from pydigree.paths import common_ancestors

    peds = getpeds()
    ped = peds["fullsib"]
    # Two founders have no common ancestors
    assert common_ancestors(ped["1"], ped["2"]) == set()

    # Parent and child no common ancestors
    assert common_ancestors(ped["1"], ped["3"]) == set()

    # Full sibs have parents in common
    assert common_ancestors(ped["3"], ped["4"]) == {ped["1"], ped["2"]}

    # Test first cousins
    ped = peds["first_cousins"]
    assert common_ancestors(ped["7"], ped["8"]) == {ped["1"], ped["2"]}
Ejemplo n.º 9
0
def test_recursivefraternity():
    peds = getpeds()
    ped = peds['fullsib']

    # Unrelated founders                                                                                                                                                                                                                                                                   
    assert ped.fraternity('1', '2') == 0
    # Full-sib                                                                                                                                                                                                                                                                             
    assert ped.fraternity('3', '4') == 1/4
    # Parent-child                                                                                                                                                                                                                                                                         
    assert ped.fraternity('1', '3') == 0

    ped = peds['first_cousins']
    # First cousins                                                                                                                                                                                                                                                                        
    assert ped.fraternity('7', '8') == 0
    # Avuncular (related)                                                                                                                                                                                                                                                                  
    assert ped.fraternity('7', '5') == 0
    # Avuncular (marry-in)                                                                                                                                                                                                                                                                 
    assert ped.fraternity('7', '6') == 0
    # Grandparent                                                                                                                                                                                                                                                                          
    assert ped.fraternity('7', '1') == 0

    ped = peds['half_sibs']
    assert ped.fraternity('4', '5') == 0
Ejemplo n.º 10
0
def test_recursivefraternity():
    peds = getpeds()
    ped = peds['fullsib']

    # Unrelated founders                                                                                                                                                                                                                                                                   
    assert ped.fraternity('1', '2') == 0
    # Full-sib                                                                                                                                                                                                                                                                             
    assert ped.fraternity('3', '4') == 1/4
    # Parent-child                                                                                                                                                                                                                                                                         
    assert ped.fraternity('1', '3') == 0

    ped = peds['first_cousins']
    # First cousins                                                                                                                                                                                                                                                                        
    assert ped.fraternity('7', '8') == 0
    # Avuncular (related)                                                                                                                                                                                                                                                                  
    assert ped.fraternity('7', '5') == 0
    # Avuncular (marry-in)                                                                                                                                                                                                                                                                 
    assert ped.fraternity('7', '6') == 0
    # Grandparent                                                                                                                                                                                                                                                                          
    assert ped.fraternity('7', '1') == 0

    ped = peds['half_sibs']
    assert ped.fraternity('4', '5') == 0