def test_query_protein_deprecated(): g = uniprot_client.query_protein('Q8NHX1') assert g is not None gene_name = uniprot_client.get_gene_name('Q8NHX1') assert gene_name == 'MAPK3' assert unicode_strs(gene_name) gene_name = uniprot_client.get_gene_name('Q8NHX1', web_fallback=False) assert gene_name == 'MAPK3' assert unicode_strs(gene_name)
def _get_name_by_id(self, entity_id): entity_term = self.tree.find("TERM/[@id='%s']" % entity_id) name = entity_term.find("name") if name is None: warnings.warn('Entity without a name') return '' try: dbid = entity_term.attrib["dbid"] except: warnings.warn('No grounding information for %s' % name.text) return self._get_valid_component_name(name.text) dbids = dbid.split('|') hgnc_ids = [i for i in dbids if i.startswith('HGNC')] up_ids = [i for i in dbids if i.startswith('UP')] #TODO: handle protein families like 14-3-3 with IDs like # XFAM:PF00244.15, FA:00007 if hgnc_ids: if len(hgnc_ids) > 1: warnings.warn('%d HGNC IDs reported.' % len(hgnc_ids)) hgnc_id = re.match(r'HGNC\:([0-9]*)', hgnc_ids[0]).groups()[0] hgnc_name = self._get_hgnc_name(hgnc_id) return self._get_valid_component_name(hgnc_name) elif up_ids: if len(hgnc_ids) > 1: warnings.warn('%d UniProt IDs reported.' % len(up_ids)) up_id = re.match(r'UP\:([A-Z0-9]*)', up_ids[0]).groups()[0] up_rdf = up_client.query_protein(up_id) # First try to get HGNC name hgnc_name = up_client.get_hgnc_name(up_rdf) if hgnc_name is not None: return self._get_valid_component_name(hgnc_name) # Next, try to get the gene name gene_name = up_client.get_gene_name(up_rdf) if gene_name is not None: return self._get_valid_component_name(gene_name) # By default, return the text of the name tag name_txt = name.text.strip('|') return self._get_valid_component_name(name_txt)
def test_query_protein_exists(): g = uniprot_client.query_protein('P00533') assert g is not None
def test_query_protein_nonexist(): g = uniprot_client.query_protein('XXXX') assert g is None
def test_query_protein_deprecated(): g = uniprot_client.query_protein('Q8NHX1') assert(g is not None) assert(uniprot_client.get_hgnc_name('Q8NHX1') == 'MAPK3')