Source code for pytaxize.classification.classification

import warnings
import sys
from pytaxize.itis import hierarchy_full
from pytaxize.ncbi import hierarchy


[docs]class Classification(object): """ Classification: Retrieve taxonomic hierarchy for taxonomic IDs Usage:: from pytaxize import Classification # ITIS ## one id x = Classification(99208) x x.ids res = x.itis() res[99208] ## many ids - with one invalid id x = Classification([99208, 129313, 9999999]) x x.ids res = x.itis() res[99208] res[129313] res[9999999] # NCBI x = Classification(9606) x x.ids x.ncbi() """ def __init__(self, ids): if isinstance(ids, int): ids = [ids] self.ids = ids def __repr__(self): x = """<%s>\n""" % type(self).__name__ y = """ ids: %s""" % ",".join([str(w) for w in self.ids[:10]]) return x + y def itis(self): out = [] for i in range(len(self.ids)): id = self.ids[i] res = hierarchy_full(id) if res[0] is None: warnings.warn("No results for taxon '" + str(id) + "'") res = {} out.append(res) out = dict(zip(self.ids, out)) return out def ncbi(self): res = hierarchy(self.ids) # out = [] # for i in range(len(self.ids)): # id = self.ids[i] # if res[0] is None: # warnings.warn("No results for taxon '" + str(id) + "'") # res = {} # out.append(res) # out = dict(zip(self.ids, out)) return res