# HG changeset patch # User earlhaminst # Date 1481824502 18000 # Node ID 276e3ee68c3772adaba21b45ac52a9ac8bc029a2 planemo upload for repository https://github.com/TGAC/earlham-galaxytools/tree/master/tools/ete commit 230ae552ddeb1bfdef3a09becaa5c6d373529a05-dirty diff -r 000000000000 -r 276e3ee68c37 ete_tree_generator.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ete_tree_generator.py Thu Dec 15 12:55:02 2016 -0500 @@ -0,0 +1,56 @@ +import optparse + +from ete3 import NCBITaxa + +ncbi = NCBITaxa() + +parser = optparse.OptionParser() +parser.add_option('-s', '--species', dest="input_species_filename", + help='Species list in text format one species in each line') + +parser.add_option('-f', '--format', type='choice', choices=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '100'], dest="format", + default='8', help='outpur format for tree') + +parser.add_option('-t', '--treebest', type='choice', choices=['yes', 'no'], dest="treebest", + default='no', help='To be used in TreeBest') + +parser.add_option('-d', '--database', type='choice', choices=['yes', 'no'], dest="database", + default='no', help='Update database') + +options, args = parser.parse_args() + +if options.database == "yes": + try: + ncbi.update_taxonomy_database() + except: + pass + +if options.input_species_filename is None: + raise Exception('-s option must be specified, Species list in text format one species in each line') + +with open(options.input_species_filename) as f: + species_name = [_.strip().replace('_', ' ') for _ in f.readlines()] + +name2taxid = ncbi.get_name_translator(species_name) + +taxid = [name2taxid[_][0] for _ in species_name] + +tree = ncbi.get_topology(taxid) + +if options.treebest == "yes": + inv_map = {str(v[0]): k.replace(" ", "") + "*" for k, v in name2taxid.items()} +else: + inv_map = {str(v[0]): k for k, v in name2taxid.items()} + + +for leaf in tree: + leaf.name = inv_map[leaf.name] + +newickTree = tree.write(format=int(options.format)) + +if options.treebest == "yes": + newickTree = newickTree.rstrip(';') + newickTree = newickTree + "root;" + +with open('newickTree.nhx', 'w') as newickFile: + newickFile.write(newickTree) diff -r 000000000000 -r 276e3ee68c37 ete_tree_generator.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ete_tree_generator.xml Thu Dec 15 12:55:02 2016 -0500 @@ -0,0 +1,90 @@ + + from a list of species using the ETE Toolkit + + ete3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10.1093/molbev/msw046 + + diff -r 000000000000 -r 276e3ee68c37 test-data/out.nhx --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/out.nhx Thu Dec 15 12:55:02 2016 -0500 @@ -0,0 +1,1 @@ +((((((((((((((((Homosapiens*,Pantroglodytes*,Gorillagorillagorilla*)207598,Pongoabelii*)9604,Nomascusleucogenys*)314295,(Chlorocebussabaeus*,Macacamulatta*,Papioanubis*)9528)9526,Callithrixjacchus*)314293,Tarsiussyrichta*)376913,(Microcebusmurinus*,Otolemurgarnettii*)376911)9443,((Oryctolaguscuniculus*,Ochotonaprinceps*)9975,(((Rattusnorvegicus*,Musmusculus*)39107,Dipodomysordii*,Ictidomystridecemlineatus*)33553,Caviaporcellus*)9989)314147,Tupaiabelangeri*)314146,(((Ailuropodamelanoleuca*,Canislupusfamiliaris*,Mustelaputoriusfuro*)379584,Feliscatus*)33554,(Erinaceuseuropaeus*,Sorexaraneus*)9362,(Myotislucifugus*,Pteropusvampyrus*)9397,((Ovisaries*,Bostaurus*)9895,Vicugnapacos*,Susscrofa*,Tursiopstruncatus*)91561,Equuscaballus*)314145)1437010,(Dasypusnovemcinctus*,Choloepushoffmanni*)9348,(Echinopstelfairi*,Loxodontaafricana*,Procaviacapensis*)311790)9347,(Sarcophilusharrisii*,Macropuseugenii*,Monodelphisdomestica*)9263)32525,Ornithorhynchusanatinus*)40674,((Pelodiscussinensis*,(((Meleagrisgallopavo*,Gallusgallus*)9005,Anasplatyrhynchos*)1549675,(Ficedulaalbicollis*,Taeniopygiaguttata*)9126)8825)1329799,Anoliscarolinensis*)32561)32524,Xenopustropicalis*)32523,Latimeriachalumnae*)8287,(((Daniorerio*,Astyanaxmexicanus*)186626,((((Tetraodonnigroviridis*,Takifugurubripes*)31031,Gasterosteusaculeatus*)1489922,((Poeciliaformosa*,Xiphophorusmaculatus*)586240,Oreochromisniloticus*)1489908)1489872,Gadusmorhua*)123368)186625,Lepisosteusoculatus*)41665)root; \ No newline at end of file diff -r 000000000000 -r 276e3ee68c37 test-data/species.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/species.txt Thu Dec 15 12:55:02 2016 -0500 @@ -0,0 +1,62 @@ +Latimeria chalumnae +Xenopus tropicalis +Ornithorhynchus anatinus +Macropus eugenii +Sarcophilus harrisii +Monodelphis domestica +Echinops telfairi +Procavia capensis +Loxodonta africana +Dasypus novemcinctus +Choloepus hoffmanni +Ochotona princeps +Oryctolagus cuniculus +Cavia porcellus +Ictidomys tridecemlineatus +Dipodomys ordii +Rattus norvegicus +Mus musculus +Tupaia belangeri +Otolemur garnettii +Microcebus murinus +Tarsius syrichta +Callithrix jacchus +Chlorocebus sabaeus +Papio anubis +Macaca mulatta +Nomascus leucogenys +Pongo abelii +Gorilla gorilla gorilla +Pan troglodytes +Homo sapiens +Sorex araneus +Erinaceus europaeus +Pteropus vampyrus +Myotis lucifugus +Felis catus +Canis lupus familiaris +Mustela putorius furo +Ailuropoda melanoleuca +Equus caballus +Vicugna pacos +Sus scrofa +Tursiops truncatus +Ovis aries +Bos taurus +Anolis carolinensis +Pelodiscus sinensis +Taeniopygia guttata +Ficedula albicollis +Anas platyrhynchos +Meleagris gallopavo +Gallus gallus +Lepisosteus oculatus +Danio rerio +Astyanax mexicanus +Gadus morhua +Oreochromis niloticus +Poecilia formosa +Xiphophorus maculatus +Gasterosteus aculeatus +Tetraodon nigroviridis +Takifugu rubripes