code: def map_all(self, prot_alignment, nucl_sequences):
          
          zipped = itertools.zip_longest(prot_alignment, nucl_sequences)
          for p, n in zipped:
              if p is None:
                  raise ValueError("Exhausted protein sequences")
              elif n is None:
                  raise ValueError("Exhausted nucleotide sequences")
              yield self.map_alignment(p, n)
docs: Convert protein sequences to nucleotide alignment