def test_same_topology(self): p = skbio.TreeNode.read(['((a,b),c);']) s = skbio.TreeNode.read(['((a,b),c);']) internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s) for n in internal: self.assertEqual(n.support_count, 1)
def test_same_topology(self): p = skbio.TreeNode.read(['((a,b),c);']) s = skbio.TreeNode.read(['((a,b),c);']) internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s) for n in internal: self.assertEqual(n.support_count, 1)
def test_differing_topology(self): p = skbio.TreeNode.read(['(((a,b),c),d);']) s = skbio.TreeNode.read(['(((a,c),b),d);']) internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s) a_b = p.find('a').parent a_b_c = a_b.parent self.assertEqual(a_b.support_count, 0) self.assertEqual(a_b_c.support_count, 1)
def test_differing_topology(self): p = skbio.TreeNode.read(['(((a,b),c),d);']) s = skbio.TreeNode.read(['(((a,c),b),d);']) internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s) a_b = p.find('a').parent a_b_c = a_b.parent self.assertEqual(a_b.support_count, 0) self.assertEqual(a_b_c.support_count, 1)
def test_extra_node(self): p = skbio.TreeNode.read(['(((a,b),c),d);']) s = skbio.TreeNode.read(['((a,b),(c,d));']) # The first node that has a, b, and c, also has d as a descendant internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s) a_b = p.find('a').parent a_b_c = a_b.parent self.assertEqual(a_b.support_count, 1) self.assertEqual(a_b_c.support_count, 0)
def test_extra_node(self): p = skbio.TreeNode.read(['(((a,b),c),d);']) s = skbio.TreeNode.read(['((a,b),(c,d));']) # The first node that has a, b, and c, also has d as a descendant internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s) a_b = p.find('a').parent a_b_c = a_b.parent self.assertEqual(a_b.support_count, 1) self.assertEqual(a_b_c.support_count, 0)
def test_multiple_calls_with_outgroup(self): p = skbio.TreeNode.read(['((((a,b),c),d),e);']) s1 = skbio.TreeNode.read(['(((c,b),(a,d)),e);']) s2 = skbio.TreeNode.read(['((((a,c),b),d),e);']) # e is the outgroup here internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s1) _add_support_count(internal, s2) a_b = p.find('a').parent a_b_c = a_b.parent a_b_c_d = a_b_c.parent self.assertEqual(a_b.support_count, 0) self.assertEqual(a_b_c.support_count, 1) self.assertEqual(a_b_c_d.support_count, 2)
def test_multiple_calls_with_outgroup(self): p = skbio.TreeNode.read(['((((a,b),c),d),e);']) s1 = skbio.TreeNode.read(['(((c,b),(a,d)),e);']) s2 = skbio.TreeNode.read(['((((a,c),b),d),e);']) # e is the outgroup here internal = list(p.non_tips()) for n in internal: n.support_count = 0 _add_support_count(internal, s1) _add_support_count(internal, s2) a_b = p.find('a').parent a_b_c = a_b.parent a_b_c_d = a_b_c.parent self.assertEqual(a_b.support_count, 0) self.assertEqual(a_b_c.support_count, 1) self.assertEqual(a_b_c_d.support_count, 2)