''' ranks = 'phylum class order family genus species'.split() print('taxid', 'orgname', *ranks, 'seq', sep=',') skipped = 0 for N, seq in enumerate(soup.find_all('tseq')): taxid = int(seq.find('tseq_taxid').get_text()) lineage = dict(db.lineage_id(taxid, ranks=True)) skip = False rs = [] for rank in ranks: if rank in lineage: rs += [db.sci_name(lineage[rank])] else: print(f'{taxid=} has no {rank=} in {lineage=}, skipping...', file=sys.stderr) skip = True break if skip: skipped += 1 continue print(taxid, seq.find('tseq_orgname').get_text(), *rs, seq.find('tseq_sequence').get_text(), sep=',')
#!/usr/bin/env python3 import sys from taxadb.taxid import TaxID taxid = TaxID() for t in sys.argv[1:]: name = taxid.sci_name(int(t)) print(name)
#!/usr/bin/env python3 from taxadb.taxid import TaxID import fileinput taxid = TaxID() for line in fileinput.input(): print(taxid.sci_name(line.rstrip()))