def test_x_dom_parents(): mom = Sample('mom', affected=False, sex='female') dad = Sample('dad', affected=False, sex='male') kid = Sample('kid', affected=True, sex='female') kid.mom, kid.dad = mom, dad efam = EvalFamily(Family([dad, mom, kid], 'trio')) efam.gt_types = [Family.HOM_REF, Family.HOM_REF, Family.HET] # neither parent is het assert not efam.x_dom() # neither parent is affected efam.gt_types = [Family.HET, Family.HOM_REF, Family.HET] assert not efam.x_dom() dad.affected = True assert efam.x_dom() # for male, only mom must be affected kid.sex = 'male' assert not efam.x_dom()
def test_xdom(): efam = EvalFamily(fam) fam.subjects[0].sex = 'female' fam.subjects[1].sex = 'male' fam.subjects[2].sex = 'female' efam.gt_types = [Family.HET, Family.HOM_REF, Family.HOM_ALT] assert not efam.x_dom() # mom must be affected. fam.subjects[0].affected = False assert not efam.x_dom() efam.gt_types[2] = Family.HET fam.subjects[0].affected = True assert efam.x_dom() fam.subjects[0].affected = False fam.subjects[1].affected = True # dad affected, but hom_ref assert not efam.x_dom() efam.gt_types = [Family.HOM_REF, Family.HET, Family.HOM_ALT] assert not efam.x_dom() fam.subjects[0].sex = 'female' fam.subjects[1].sex = 'male' fam.subjects[2].sex = 'female' efam = EvalFamily(fam) efam.gt_types = [Family.HOM_REF, Family.HOM_ALT, Family.HET] import sys fam.subjects[0].affected = False fam.subjects[1].affected = True fam.subjects[2].affected = True assert efam.x_dom()