def fetch_and_write_taxon_info(id_list, include_anc, list_tips, output): from peyotl.sugar import taxonomy for ott_id in id_list: info = taxonomy.taxon(ott_id, include_lineage=include_anc, list_terminal_descendants=list_tips, wrap_response=True) write_taxon_info(info, include_anc, output)
def fetch_and_write_taxon_info(id_list, include_anc, list_tips, output): from peyotl.sugar import taxonomy assert(list_tips == False) # args.list_tips once https://github.com/OpenTreeOfLife/taxomachine/issues/89 is fixed @TEMP for ott_id in id_list: info = taxonomy.taxon(ott_id, include_lineage=include_anc, list_terminal_descendants=list_tips, wrap_response=True) write_taxon_info(info, include_anc, output)
def get_taxonomic_ancestor_ids(ott_id): from peyotl.sugar import taxonomy info = taxonomy.taxon(ott_id, include_lineage=True, list_terminal_descendants=False, wrap_response=True) anc_id_list = [] while True: anc_id_list.append(info.ott_id) info = info.parent if info is None: return anc_id_list