code: def _get_uniprot_id(agent):
      
      up_id = agent.db_refs.get('UP')
      hgnc_id = agent.db_refs.get('HGNC')
      if up_id is None:
          if hgnc_id is None:
              # If both UniProt and HGNC refs are missing we can't
              # sequence check and so don't report a failure.
              return None
          # Try to get UniProt ID from HGNC
          up_id = hgnc_client.get_uniprot_id(hgnc_id)
          # If this fails, again, we can't sequence check
          if up_id is None:
              return None
      # If the UniProt ID is a list then choose the first one.
      if not isinstance(up_id, basestring) and \
         isinstance(up_id[0], basestring):
          up_id = up_id[0]
      return up_id
docs: Return the UniProt ID for an agent, looking up in HGNC if necessary.
  
      If the UniProt ID is a list then return the first ID by default.