def test_split_disjoint(self): family, genotyped = read_ped_file(os.path.join(DATA_DIR, 'ped_soup.ped')) self.assertEqual(len(family), 7711) founders, non_founders, dangling, couples, children = ped.analyze(family) splits = ped.split_disjoint(family, children) self.assertEqual(sum(map(len, splits)), len(family)) self.assertEqual(set(family), set().union(*map(set, splits)))
def test_split_disjoint(self): family, genotyped = read_ped_file( os.path.join(DATA_DIR, 'ped_soup.ped')) self.assertEqual(len(family), 7711) founders, non_founders, dangling, couples, children = ped.analyze( family) splits = ped.split_disjoint(family, children) self.assertEqual(sum(map(len, splits)), len(family)) self.assertEqual(set(family), set().union(*map(set, splits)))
def get_all_families(kb): inds = kb.get_objects(kb.Individual) not_one_parent = [i for i in inds if not (((i.mother is None) or (i.father is None)) and not (i.mother is None and i.father is None)) ] founders, non_founders, dangling, couples, children = ped.analyze( not_one_parent ) return ped.split_disjoint(not_one_parent, children)
def test_split_family(self): family, genotyped = read_ped_file(os.path.join(DATA_DIR, 'ped_soup.ped')) self.assertEqual(len(family), 7711) founders, non_founders, dangling, couples, children = ped.analyze(family) splits = ped.split_disjoint(family, children) fams = [] max_complexity = ped.MAX_COMPLEXITY for f in splits: cbn = ped.compute_bit_complexity(f, genotyped) if cbn > max_complexity: subfs = ped.split_family(f, genotyped, max_complexity) subfs_i = set().union(*map(set, subfs)) self.assertTrue(len(f) >= len(subfs_i)) self.assertTrue(len(set(f) - subfs_i) >= 0) for s in subfs: self.assertTrue( ped.compute_bit_complexity(s, genotyped) <= max_complexity )
def test_split_family(self): family, genotyped = read_ped_file( os.path.join(DATA_DIR, 'ped_soup.ped')) self.assertEqual(len(family), 7711) founders, non_founders, dangling, couples, children = ped.analyze( family) splits = ped.split_disjoint(family, children) fams = [] max_complexity = ped.MAX_COMPLEXITY for f in splits: cbn = ped.compute_bit_complexity(f, genotyped) if cbn > max_complexity: subfs = ped.split_family(f, genotyped, max_complexity) subfs_i = set().union(*map(set, subfs)) self.assertTrue(len(f) >= len(subfs_i)) self.assertTrue(len(set(f) - subfs_i) >= 0) for s in subfs: self.assertTrue( ped.compute_bit_complexity(s, genotyped) <= max_complexity)