Ejemplo n.º 1
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_permute_trees_3(self):
     XML = etree.tostring(etree.parse('data/input/permute_trees.phyml',
                                      parser),
                          pretty_print=True)
     trees = obtain_trees(XML)
     # contains quoted taxa too
     output = permute_tree(trees['Hill_Davis_2011_2'], treefile="newick")
     self.assert_(_trees_equal(output, "(A, (B, (C, D, E_E, F, G)));"))
Ejemplo n.º 2
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_permute_trees_2(self):
     XML = etree.tostring(etree.parse('data/input/permute_trees.phyml',
                                      parser),
                          pretty_print=True)
     trees = obtain_trees(XML)
     output = permute_tree(trees['Davis_2011_1'], treefile="newick")
     temp_file_handle, temp_file = tempfile.mkstemp(suffix=".new")
     f = open(temp_file, "w")
     f.write(output)
     f.close()
     output_trees = import_trees(temp_file)
     expected_trees = import_trees("data/output/permute_trees_2.nex")
     os.remove(temp_file)
     self.assert_(len(output_trees) == len(expected_trees))
     for i in range(0, len(output_trees)):
         self.assert_(_trees_equal(output_trees[i], expected_trees[i]))
Ejemplo n.º 3
0
    def test_clean_data(self):
        XML = etree.tostring(etree.parse('data/input/clean_data.phyml',
                                         parser),
                             pretty_print=True)
        XML = clean_data(XML)
        trees = obtain_trees(XML)
        self.assert_(len(trees) == 2)
        expected_trees = {
            'Hill_2011_2': '(A,B,(C,D,E));',
            'Hill_2011_1': '(A, B, C, (D, E, F));'
        }
        for t in trees:
            self.assert_(_trees_equal(trees[t], expected_trees[t]))

        # check only one source remains
        names = get_all_source_names(XML)
        self.assert_(len(names) == 1)
        self.assert_(names[0] == "Hill_2011")
Ejemplo n.º 4
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_amalgamate_trees_tnt(self):
     XML = etree.tostring(etree.parse('data/input/old_stk_input.phyml',
                                      parser),
                          pretty_print=True)
     output_string = amalgamate_trees(XML, format="tnt")
     trees = obtain_trees(XML)
     # save the file and read it back in. Then we check correct format (i.e. readable) and
     # we can check the trees are correct
     temp_file_handle, temp_file = tempfile.mkstemp(suffix=".tre")
     f = open(temp_file, "w")
     f.write(output_string)
     f.close()
     try:
         trees_read = import_trees(temp_file)
     except:
         self.assert_(False)
         # we should get no error
     os.remove(temp_file)
     self.assert_(len(trees) == len(trees_read))
     names = trees.keys()
     for i in range(0, len(trees)):
         self.assert_(_trees_equal(trees_read[i], trees[names[i]]))
Ejemplo n.º 5
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_utf_tree(self):
     test_file = "data/input/utf_tree.tre"
     trees = import_trees(test_file)
     expected_tree = """(Colletes_skinneri, ((((Melitta_eickworti, Hesperapis_larreae), ('Andrena (Callandrena) sp.', (Panurgus_calcaratus, (Calliopsis_fracta, Calliopsis_pugionis)))), ((Svastra_machaerantherae, Svastra_obliqua), ('Tetraloniella_sp.', (Melissodes_rustica, (Melissodes_desponsa, 'Melissodes_sp.'))))), ((((Dieunomia_heteropoda, Dieunomia_nevadensis), ((Ceratina_calcarata, ((Chelostoma_fuliginosum, (Hoplitis_biscutellae, (Hoplitis_albifrons, Hoplitis_pilosifrons))), (Megachile_pugnata, Coelioxys_alternata))), ((Paranthidium_jugatorium, Anthidiellum_notatum), (Anthidium_oblongatum, Anthidium_porterae)))), ((Oreopasites_barbarae, ((Holcopasites_calliopsidis, Holcopasites_ruthae), (Nomada_maculata, (Nomada_imbricata, Nomada_obliterta)))), ((Leiopodus_singularis, (Xeromelecta_californica, Zacosmia_maculata)), ((Paranomada_velutina, Triopasites_penniger), (Epeolus_scutellaris, ('Triepeolus "rozeni"', Triepeolus_verbesinae)))))), ((Anthophora_furcata, (Anthophora_montana, Anthophora_urbana)), (((Exomalopsis_completa, Exomalopsis_rufiventris), ('Ptilothrix_sp.', (Diadasia_bituberculata, Diadasia_nigrifrons, (Diadasia_diminuta, Diadasia_martialis)))), ((Xylocopa_tabaniformis, Xylocopa_virginica), (Centris_hoffmanseggiae, (Apis_dorsata, (Apis_mellifera, Apis_nigrocincta)), ((Euglossa_imperialis, (Eulaema_meriana, (Eufriesea_caerulescens, Exaerete_frontalis))), ((Bombus_avinoviellus, (Bombus_pensylvanicus, Bombus_terrestris)), ('Melipona_sp.', Scaptotrigona_depilis, Lestrimelitta_limao, (Trigona_dorsalis, Trigona_necrophaga)))))))))));"""
     self.assert_(_trees_equal(expected_tree, trees[0]))
Ejemplo n.º 6
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_import_paup(self):
     test_file = "data/input/paup_tree.tre"
     tree = import_tree(test_file)
     expected_tree = "(Mimodes_graysoni, (Mimus_gilvus, Mimus_polyglottos), ((Mimus_gundlachii, (Nesomimus_macdonaldi, Nesomimus_melanotis, Nesomimus_parvulus, Nesomimus_trifasciatus)), ((Mimus_longicaudatus, ((Mimus_patagonicus, Mimus_thenca), (Mimus_saturninus, Mimus_triurus))), (Oreoscoptes_montanus, (Toxostoma_curvirostre, Toxostoma_rufum)))));"
     self.assert_(_trees_equal(expected_tree, tree))
Ejemplo n.º 7
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_import_macclade(self):
     test_file = "data/input/macclade_test.tre"
     tree = import_tree(test_file)
     expected_tree = "((Taxon_c, (Taxon_a, Taxon_b)), (Taxon_d, Taxon_e));"
     self.assert_(_trees_equal(expected_tree, tree))
Ejemplo n.º 8
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_import_dendroscope(self):
     test_file = "data/input/dendroscope_test.tre"
     tree = import_tree(test_file)
     expected_tree = "((Taxon_c:1, (Taxon_a:1, Taxon_b:1):0):0, (Taxon_d:1, Taxon_e:1):0);"
     self.assert_(_trees_equal(expected_tree, tree))
Ejemplo n.º 9
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_collapse_with_quotes(self):
     tree = "(Proteroiulus_fuscus, (Craterostigmus_tasmanianus, ((Scolopendra_viridis,(Lithobius_variegatus, (Paralamyctes_validus, Anopsobius_neozelanicus))),(Sphendononema_guildingii, ((Scutigerina_weberi%1, (Scutigerina_weberi%2,(Scutigerina_malagassa, Scutigerina_hova))), (Scutigera_coleoptrata,((Thereuopoda_longicornis, 'Thereuopodina, sp. nov.', (Thereuonema_tuberculata,Thereuonema_turkestana, Thereuopoda_clunifera)), (Allothereua_bidenticulata,Allothereua_serrulata, Parascutigera_festiva, Parascutigera_latericia))))))));"
     output = permute_tree(tree, treefile="newick")
     expected_tree = "(Proteroiulus_fuscus, (Craterostigmus_tasmanianus,((Scolopendra_viridis,(Lithobius_variegatus,(Paralamyctes_validus,Anopsobius_neozelanicus))),(Sphendononema_guildingii,((Scutigerina_weberi,(Scutigerina_malagassa, Scutigerina_hova)), (Scutigera_coleoptrata,((Thereuopoda_longicornis, 'Thereuopodina, sp. nov.', (Thereuonema_tuberculata,Thereuonema_turkestana, Thereuopoda_clunifera)), (Allothereua_bidenticulata,Allothereua_serrulata, Parascutigera_festiva, Parascutigera_latericia))))))));"
     self.assert_(_trees_equal(output, expected_tree))
Ejemplo n.º 10
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_trees_equal2(self):
     test_file = "data/input/equal_trees.new"
     trees = import_trees(test_file)
     self.assert_(_trees_equal(trees[1], trees[0]) == True)
     self.assert_(_trees_equal(trees[3], trees[2]) == False)
Ejemplo n.º 11
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_trees_not_equal(self):
     test_file = "data/input/multiple_trees.tre"
     trees = import_trees(test_file)
     self.assert_(_trees_equal(trees[1], trees[0]) == False)
Ejemplo n.º 12
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_sub_taxa_missing(self):
     t = "((A_1:1.00000,B_1:1.00000)0.00000:0.00000,F_1:1.00000,E_1:1.00000,(G_1:1.00000,H_1:1.00000)0.00000:0.00000)0.00000:0.00000;"
     new_tree = _sub_taxon("Fred", "Blah", t)
     self.assert_(_trees_equal(new_tree, "((A_1,B_1),F_1,E_1,(G_1,H_1));"))
Ejemplo n.º 13
0
Archivo: _trees.py Proyecto: jhill1/stk
 def test_sub_taxa(self):
     t = "((A_1:1.00000,B_1:1.00000)0.00000:0.00000,F_1:1.00000,E_1:1.00000,(G_1:1.00000,H_1:1.00000)0.00000:0.00000)0.00000:0.00000;"
     new_tree = _sub_taxon("H_1", "blah", t)
     self.assert_(_trees_equal(new_tree, "((A_1,B_1),F_1,E_1,(G_1,blah));"))