def test_global_pairwise_align_protein(self): expected = ("HEAGAWGHEE-", "---PAW-HEAE", 23.0) with warnings.catch_warnings(): warnings.simplefilter("ignore") actual = global_pairwise_align_protein( "HEAGAWGHEE", "PAWHEAE", gap_open_penalty=10., gap_extend_penalty=5.) self.assertEqual(str(actual[0]), expected[0]) self.assertEqual(str(actual[1]), expected[1]) self.assertEqual(actual.score(), expected[2]) self.assertEqual(actual.start_end_positions(), [(0, 9), (0, 6)]) self.assertEqual(actual.ids(), list('01')) expected = ("HEAGAWGHE-E", "---PAW-HEAE", 30.0) # EMBOSS result: P---AW-HEAE with warnings.catch_warnings(): warnings.simplefilter("ignore") actual = global_pairwise_align_protein( "HEAGAWGHEE", "PAWHEAE", gap_open_penalty=5., gap_extend_penalty=0.5) self.assertEqual(str(actual[0]), expected[0]) self.assertEqual(str(actual[1]), expected[1]) self.assertEqual(actual.score(), expected[2]) self.assertEqual(actual.start_end_positions(), [(0, 9), (0, 6)]) self.assertEqual(actual.ids(), list('01')) # Protein (rather than str) as input expected = ("HEAGAWGHEE-", "---PAW-HEAE", 23.0) with warnings.catch_warnings(): warnings.simplefilter("ignore") actual = global_pairwise_align_protein( Protein("HEAGAWGHEE", "s1"), Protein("PAWHEAE", "s2"), gap_open_penalty=10., gap_extend_penalty=5.) self.assertEqual(str(actual[0]), expected[0]) self.assertEqual(str(actual[1]), expected[1]) self.assertEqual(actual.score(), expected[2]) self.assertEqual(actual.start_end_positions(), [(0, 9), (0, 6)]) self.assertEqual(actual.ids(), ["s1", "s2"]) # ids are provided if they're not passed in with warnings.catch_warnings(): warnings.simplefilter("ignore") actual = global_pairwise_align_protein( Protein("HEAGAWGHEE"), Protein("PAWHEAE"), gap_open_penalty=10., gap_extend_penalty=5.) self.assertEqual(actual.ids(), list('01'))
def test_global_pairwise_align_protein_penalize_terminal_gaps(self): expected = ("HEAGAWGHEE", "---PAWHEAE", 1.0) with warnings.catch_warnings(): warnings.simplefilter("ignore") actual = global_pairwise_align_protein( "HEAGAWGHEE", "PAWHEAE", gap_open_penalty=10., gap_extend_penalty=5., penalize_terminal_gaps=True) self.assertEqual(str(actual[0]), expected[0]) self.assertEqual(str(actual[1]), expected[1]) self.assertEqual(actual.score(), expected[2]) self.assertEqual(actual.start_end_positions(), [(0, 9), (0, 6)]) self.assertEqual(actual.ids(), list('01'))