docs: def merge_peptides(fns, ns):
      """Loops peptides from multiple files, fetches PSMs from
      sequence:PSM map, outputs correctly PSM mapped peptides"""
      peptides_to_map = reader.generate_peptides_multiple_fractions(fns, ns)
      psmmap = create_merge_psm_map(peptides_to_map, ns)
      peptides = reader.generate_peptides_multiple_fractions(fns, ns)
      for peptide in peptides:
          seq = reader.get_peptide_seq(peptide, ns)
          psm_ids = reader.get_psm_ids_from_peptide(peptide, ns)
          # remove current psm ids, repopulate with stored ones
          psm_ids.clear()
          for new_psm_id in psmmap[seq]:
              etree.SubElement(psm_ids, 'psm_id').text = new_psm_id
          yield formatting.string_and_clear(peptide, ns)