Example #1
0
'''

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=',')
Example #2
0
#!/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)
Example #3
0
#!/usr/bin/env python3
from taxadb.taxid import TaxID
import fileinput
taxid = TaxID()
for line in fileinput.input():
    print(taxid.sci_name(line.rstrip()))