def read_taxonomy(tax_f): root = TNode('*', []) tax = Taxonomy(tax_f, root) with open(tax_f) as f: for line in f: node_name, ph_str = line.strip('\r\n').split('\t') node = TNode(node_name, ph_str.split(',')) tax.add_node(node) return tax