Esempio n. 1
0
class TestTree(TestCase):
    def setUp(self):
        self.tree = Tree('((a,b),(c,d),e)')
        assert sorted(self.tree.taxa) == list('abcde')

    def test_getDistanceToRoot(self):
        assert self.tree.getDistanceToRoot('a') == 2

    def test_get_LCA(self):
        assert str(self.tree.get_LCA('a', 'b')) == '(a,b);'

    def test_get_distance(self):
        tree_a = Tree('((a:1,b:1):1,(c:1,d:1):1)')
        tree_b = Tree('((a:1,c:1):1,(b:1,d:1):1)')

        assert tree_a.get_distance(tree_b, 'grf') == 1.0
        assert tree_a.get_distance(tree_b, 'rf') == 1.0
        assert tree_a.get_distance(tree_b, 'symmetric') == 2
        assert tree_a.get_distance(tree_b, 'grf') == 1.0

    def test_get_distance_unknown(self):
        """test failure with unknown distance"""
        with self.assertRaises(ValueError):
            Tree('(a,b)').get_distance(Tree('(a,b)'), 'xxx')

    def test_init_from_file(self):
        tree = Tree(test_data('phybo.tre'))
        assert len(tree.taxa) == 40, "should have a taxa attribute and 40 tips"

    def test_init_from_list(self):
        tree = Tree(['Simon', 'Mattis', 'Robert'])
        assert len(tree.taxa) == 3, "should have a taxa attribute and 3 tips"
Esempio n. 2
0
class TestTree(object):

    def setup(self):

        self.tree = Tree('((a,b),(c,d),e)')

        assert sorted(self.tree.taxa) == list('abcde')
    
    def test_getDistanceToRoot(self):

        
        assert self.tree.getDistanceToRoot('a') == 2

    def test_get_LCA(self):

        assert str(self.tree.get_LCA('a','b')) == '(a,b);'

    def test_get_distance(self):

        treeA = Tree('((a:1,b:1):1,(c:1,d:1):1)')
        treeB = Tree('((a:1,c:1):1,(b:1,d:1):1)')

        assert treeA.get_distance(treeB,'grf') == 1.0
        assert treeA.get_distance(treeB,'rf') == 1.0
        assert treeA.get_distance(treeB,'symmetric') == 2
        assert treeA.get_distance(treeB,'grf') == 1.0
Esempio n. 3
0
def test_random_tree():
    taxa = list('abcdefg')

    t1 = Tree(random_tree(taxa, branch_lengths=False))
    t2 = Tree(random_tree(taxa, branch_lengths=True))

    assert sorted(t1.taxa) == sorted(t2.taxa)
    assert str(t1) != str(t2)
    assert ':' in str(t2) and ':' not in str(t1)
Esempio n. 4
0
    def test_get_distance(self):
        tree_a = Tree('((a:1,b:1):1,(c:1,d:1):1)')
        tree_b = Tree('((a:1,c:1):1,(b:1,d:1):1)')

        assert tree_a.get_distance(tree_b, 'grf') == 1.0
        assert tree_a.get_distance(tree_b, 'rf') == 1.0
        assert tree_a.get_distance(tree_b, 'symmetric') == 2
        assert tree_a.get_distance(tree_b, 'grf') == 1.0
Esempio n. 5
0
class TestTree(TestCase):
    def setUp(self):
        self.tree = Tree('((a,b),(c,d),e)')
        assert sorted(self.tree.taxa) == list('abcde')

    def test_getDistanceToRoot(self):
        assert self.tree.getDistanceToRoot('a') == 2

    def test_get_LCA(self):
        assert str(self.tree.get_LCA('a', 'b')) == '(a,b);'

    def test_get_distance(self):
        treeA = Tree('((a:1,b:1):1,(c:1,d:1):1)')
        treeB = Tree('((a:1,c:1):1,(b:1,d:1):1)')

        assert treeA.get_distance(treeB, 'grf') == 1.0
        assert treeA.get_distance(treeB, 'rf') == 1.0
        assert treeA.get_distance(treeB, 'symmetric') == 2
        assert treeA.get_distance(treeB, 'grf') == 1.0
Esempio n. 6
0
 def test_init_from_list(self):
     tree = Tree(['Simon', 'Mattis', 'Robert'])
     assert len(tree.taxa) == 3, "should have a taxa attribute and 3 tips"
Esempio n. 7
0
 def test_init_from_file(self):
     tree = Tree(test_data('phybo.tre'))
     assert len(tree.taxa) == 40, "should have a taxa attribute and 40 tips"
Esempio n. 8
0
 def test_get_distance_unknown(self):
     """test failure with unknown distance"""
     with self.assertRaises(ValueError):
         Tree('(a,b)').get_distance(Tree('(a,b)'), 'xxx')
Esempio n. 9
0
 def setUp(self):
     self.tree = Tree('((a,b),(c,d),e)')
     assert sorted(self.tree.taxa) == list('abcde')
Esempio n. 10
0
def test_nwk2tree_matrix():
    newick = '(((a,b),(c,d)),e);'
    matrix, taxa = tree.nwk2tree_matrix(newick)
    assert taxa == Tree(newick).taxa
Esempio n. 11
0
def test_get_distance_unknown():
    """test failure with unknown distance"""
    with pytest.raises(ValueError):
        Tree('(a,b)').get_distance(Tree('(a,b)'), 'xxx')
Esempio n. 12
0
def tree():
    return Tree('((a,b),(c,d),e)')
Esempio n. 13
0
 def setUp(self):
     WithTempDir.setUp(self)
     self.newick = '(((a,b),(c,d)),e);'
     self.tree = Tree(self.newick)