diff --git a/ippisite/ippidb/ws.py b/ippisite/ippidb/ws.py index 422a5219ab38cde7844249ba0962e58ca891e3f2..de60b85751eb7b668a0922a652133a8c49be5df1 100644 --- a/ippisite/ippidb/ws.py +++ b/ippisite/ippidb/ws.py @@ -36,10 +36,18 @@ def get_epo_info(patent_number): 'authors_list': authors} def get_uniprot_info(uniprot_id): - uniprot_client = Uniprot() + uniprot_client = UniProt() resp = uniprot_client.retrieve(uniprot_id) - recommended_name = res.root.findall('{http://uniprot.org/uniprot}entry/{http://uniprot.org/uniprot}protein/{http://uniprot.org/uniprot}recommendedName/{http://uniprot.org/uniprot}fullName')[0].text - organism = res.root.findall('{http://uniprot.org/uniprot}entry/{http://uniprot.org/uniprot}organism/{http://uniprot.org/uniprot}dbReference[@type="NCBI Taxonomy"]/@id') + recommended_name = resp.root.findall('{http://uniprot.org/uniprot}entry/{http://uniprot.org/uniprot}protein/{http://uniprot.org/uniprot}recommendedName/{http://uniprot.org/uniprot}fullName')[0].text + organism = resp.root.findall('{http://uniprot.org/uniprot}entry/{http://uniprot.org/uniprot}organism/{http://uniprot.org/uniprot}dbReference[@type="NCBI Taxonomy"]')[0].attrib['id'] + gene = resp.root.findall('{http://uniprot.org/uniprot}entry/{http://uniprot.org/uniprot}gene/{http://uniprot.org/uniprot}name[@type="primary"]')[0].text return {'recommended_name': recommended_name, - 'organism': organism - } + 'organism': int(organism), + 'gene': gene + } + +def get_taxonomy_info(taxonomy_id): + eu = EUtils() + r = eu.EFetch('taxonomy', taxonomy_id, retmode='dict') + scientific_name = r['TaxaSet']['Taxon']['ScientificName'] + return {'scientific_name': scientific_name}