def test_translate(self): """GeneticCode translate should return correct amino acid string""" allg = GeneticCode(self.allg) sgc = GeneticCode(self.sgc) mt = GeneticCode(self.mt) seq = 'AUGCAUGACUUUUGA' # . . . . . markers for codon start self.assertEqual(allg.translate(seq), Protein('GGGGG')) self.assertEqual(allg.translate(seq, 1), Protein('GGGG')) self.assertEqual(allg.translate(seq, 2), Protein('GGGG')) self.assertEqual(allg.translate(seq, 3), Protein('GGGG')) self.assertEqual(allg.translate(seq, 4), Protein('GGG')) self.assertEqual(allg.translate(seq, 12), Protein('G')) self.assertEqual(allg.translate(seq, 14), Protein('')) self.assertRaises(ValueError, allg.translate, seq, 15) self.assertRaises(ValueError, allg.translate, seq, 20) self.assertEqual(sgc.translate(seq), Protein('MHDF*')) self.assertEqual(sgc.translate(seq, 3), Protein('HDF*')) self.assertEqual(sgc.translate(seq, 6), Protein('DF*')) self.assertEqual(sgc.translate(seq, 9), Protein('F*')) self.assertEqual(sgc.translate(seq, 12), Protein('*')) self.assertEqual(sgc.translate(seq, 14), Protein('')) # check shortest translatable sequences self.assertEqual(sgc.translate('AAA'), Protein('K')) self.assertEqual(sgc.translate(''), Protein('')) # check that different code gives different results self.assertEqual(mt.translate(seq), Protein('MHDFW')) # check translation with invalid codon(s) self.assertEqual(sgc.translate('AAANNNCNC123UUU'), Protein('KXXXF'))
def test_translate(self): """GeneticCode translate should return correct amino acid string""" allg = GeneticCode(self.allg) sgc = GeneticCode(self.sgc) mt = GeneticCode(self.mt) seq = "AUGCAUGACUUUUGA" # . . . . . markers for codon start self.assertEqual(allg.translate(seq), Protein("GGGGG")) self.assertEqual(allg.translate(seq, 1), Protein("GGGG")) self.assertEqual(allg.translate(seq, 2), Protein("GGGG")) self.assertEqual(allg.translate(seq, 3), Protein("GGGG")) self.assertEqual(allg.translate(seq, 4), Protein("GGG")) self.assertEqual(allg.translate(seq, 12), Protein("G")) self.assertEqual(allg.translate(seq, 14), Protein("")) self.assertRaises(ValueError, allg.translate, seq, 15) self.assertRaises(ValueError, allg.translate, seq, 20) self.assertEqual(sgc.translate(seq), Protein("MHDF*")) self.assertEqual(sgc.translate(seq, 3), Protein("HDF*")) self.assertEqual(sgc.translate(seq, 6), Protein("DF*")) self.assertEqual(sgc.translate(seq, 9), Protein("F*")) self.assertEqual(sgc.translate(seq, 12), Protein("*")) self.assertEqual(sgc.translate(seq, 14), Protein("")) # check shortest translatable sequences self.assertEqual(sgc.translate("AAA"), Protein("K")) self.assertEqual(sgc.translate(""), Protein("")) # check that different code gives different results self.assertEqual(mt.translate(seq), Protein("MHDFW")) # check translation with invalid codon(s) self.assertEqual(sgc.translate("AAANNNCNC123UUU"), Protein("KXXXF"))