def my_tree_loader(tree): """ This function is used to load trees within the WebTreeApplication object. """ t = PhyloTree(tree, sp_naming_function=None) #Check one leaf to see if species information is included if t.get_leaves()[0].species == "Unknown": t.set_species_naming_function(extract_species_code) return t
def main(): fn=sys.argv[1] nw=open(fn).readline() species={} t=PhyloTree(nw) #set species naming function t.set_species_naming_function(_get_spcode) for l in t.get_leaves(): spCode=l.species try: species[spCode]+=1 except: species[spCode] =1 for spCode in sorted( species, key=lambda x: species[x], reverse=True ): print '%s\t%s' % ( spCode,species[spCode] )
def main(): fn = sys.argv[1] nw = open(fn).readline() species = {} t = PhyloTree(nw) #set species naming function t.set_species_naming_function(_get_spcode) for l in t.get_leaves(): spCode = l.species try: species[spCode] += 1 except: species[spCode] = 1 for spCode in sorted(species, key=lambda x: species[x], reverse=True): print '%s\t%s' % (spCode, species[spCode])
t = PhyloTree("(((Hsa_001,Ptr_001),(Cfa_001,Mms_001)),(Dme_001,Dme_002));") # /-Hsa_001 # /--------| # | \-Ptr_001 # /--------| # | | /-Cfa_001 # | \--------| #---------| \-Mms_001 # | # | /-Dme_001 # \--------| # \-Dme_002 # # Prints current leaf names and species codes print "Deafult mode:" for n in t.get_leaves(): print "node:", n.name, "Species name:", n.species # node: Dme_001 Species name: Dme # node: Dme_002 Species name: Dme # node: Hsa_001 Species name: Hsa # node: Ptr_001 Species name: Ptr # node: Cfa_001 Species name: Cfa # node: Mms_001 Species name: Mms # # We can also use our own leaf name parsing function to obtain species # names. All we need to do is create a python function that takes # node's name as argument and return its corresponding species name. def get_species_name(node_name_string): # Species code is the first part of leaf name (separated by an # underscore character) spcode = node_name_string.split("_")[0]