docs: def parse_uniprot_xml_metadata(sr):
      """Load relevant attributes and dbxrefs from a parsed UniProt XML file in a SeqRecord.
  
      Returns:
          dict: All parsed information 
  
      """
      # TODO: What about "reviewed" status? and EC number
      xref_dbs_to_keep = ['GO', 'KEGG', 'PDB', 'PROSITE', 'Pfam', 'RefSeq']
  
      infodict = {}
  
      infodict['alt_uniprots'] = list(set(sr.annotations['accessions']).difference([sr.id]))
      infodict['gene_name'] = None
      if 'gene_name_primary' in sr.annotations:
          infodict['gene_name'] = sr.annotations['gene_name_primary']
      infodict['description'] = sr.description
      infodict['taxonomy'] = None
      if 'organism' in sr.annotations:
          infodict['taxonomy'] = sr.annotations['organism']
      infodict['seq_version'] = sr.annotations['sequence_version']
      infodict['seq_date'] = sr.annotations['sequence_modified']
      infodict['entry_version'] = sr.annotations['version']
      infodict['entry_date'] = sr.annotations['modified']
  
      tmp = defaultdict(list)
      for xref in sr.dbxrefs:
          database = xref.split(':', 1)[0]
          xrefs = xref.split(':', 1)[-1]
  
          if database in xref_dbs_to_keep:
              if database == 'PDB':
                  tmp['pdbs'].append(xrefs)
              else:
                  tmp[database.lower()].append(xrefs)
  
      infodict.update(tmp)
  
      return infodict