BOTeome / scripts /uniprot.py
Juan
added data files
456f631
import requests, sys
import xml.dom.minidom
def get_protein_location(accession=None, gene=None, protein=None, organism=None):
requestURL = 'https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=-1'
if (accession is not None):
requestURL = f'{requestURL}&accession={accession}'
else:
if (gene is not None):
requestURL = f'{requestURL}&gene={gene}'
elif (protein is not None):
requestURL = f'{requestURL}&protein={protein}'
else:
raise ValueError('Either accession, gene, or protein must be specified in the search parameters')
if organism is not None:
requestURL = f'{requestURL}&organism={organism}'
r = requests.get(requestURL, headers={"Accept": "application/xml"})
if not r.ok:
r.raise_for_status()
sys.exit()
xml_doc = xml.dom.minidom.parseString(r.text)
packages = xml_doc.getElementsByTagName('subcellularLocation')
locations = []
for package in packages:
locations.append(package.getElementsByTagName('location')[0].childNodes[0].data)
return list(set(locations))
#def is_transcription_factor(accession=None, gene=None, protein=None, organism=None):