code: def _validate_translation(self, aligned_prot, aligned_nucl):
          
          codons = [''.join(i) for i in batch(str(aligned_nucl), 3)]
          for codon, aa in zip(codons, str(aligned_prot)):
              # Check gaps
              if codon == '---' and aa == '-':
                  continue
  
              try:
                  trans = self.translation_table.forward_table[codon]
                  if not trans == aa:
                      raise ValueError("Codon {0} translates to {1}, not {2}".format(
                          codon, trans, aa))
              except (KeyError, CodonTable.TranslationError):
                  if aa != 'X':
                      if self.unknown_action == 'fail':
                          raise ValueError("Unknown codon: {0} mapped to {1}".format(
                              codon, aa))
                      elif self.unknown_action == 'warn':
                          logging.warn('Cannot verify that unknown codon %s '
                                       'maps to %s', codon, aa)
          return True
docs: Given a seq for protein and nucleotide, ensure that the translation holds