docs: def find_ss_regions_polymer(polymer, ss):
      """Returns an `Assembly` of regions tagged as secondary structure.
  
      Parameters
      ----------
      polymer : Polypeptide
          `Polymer` object to be searched secondary structure regions.
      ss : list
          List of secondary structure tags to be separate i.e. ['H']
          would return helices, ['H', 'E'] would return helices
          and strands.
  
      Returns
      -------
      fragments : Assembly
          `Assembly` containing a `Polymer` for each region of specified
          secondary structure.
      """
      if isinstance(ss, str):
          ss = [ss[:]]
      tag_key = 'secondary_structure'
      monomers = [x for x in polymer if tag_key in x.tags.keys()]
      if len(monomers) == 0:
          return Assembly()
      if (len(ss) == 1) and (all([m.tags[tag_key] == ss[0] for m in monomers])):
          return Assembly(polymer)
      previous_monomer = None
      fragment = Polypeptide(ampal_parent=polymer)
      fragments = Assembly()
      poly_id = 0
      for monomer in monomers:
          current_monomer = monomer.tags[tag_key]
          if (current_monomer == previous_monomer) or (not previous_monomer):
              fragment.append(monomer)
          else:
              if previous_monomer in ss:
                  fragment.tags[tag_key] = monomer.tags[tag_key]
                  fragment.id = chr(poly_id + 65)
                  fragments.append(fragment)
                  poly_id += 1
              fragment = Polypeptide(ampal_parent=polymer)
              fragment.append(monomer)
          previous_monomer = monomer.tags[tag_key]
      return fragments