code: def parse_cgmlst_alleles(cgmlst_fasta):
      
      out = defaultdict(list)
      for header, seq in parse_fasta(cgmlst_fasta):
          if not '|' in header:
              raise Exception('Unexpected format for cgMLST fasta file header. No "|" (pipe) delimiter present! Header="{}"'.format(header))
          marker_name, allele_name = header.split('|')
          out[marker_name].append(seq)
      return out
docs: Parse cgMLST alleles from fasta file
      cgMLST FASTA file must have a header format of ">{marker name}|{allele name}"
  
      Args:
          cgmlst_fasta (str): cgMLST fasta file path
  
      Returns:
          dict of list: Marker name to list of allele sequences