def test1(self): # x x x c d e filled_matrix = [ [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], # a [0, 0, 0, 0, 0, 0, 0], # b [0, 0, 0, 0, 2, 1, 0], # c [0, 2, 2, 2, 1, 1, 0], # x [0, 1, 1, 1, 1, 3, 2], # d [0, 0, 0, 0, 0, 2, 5], # e [0, 2, 2, 2, 1, 1, 4] ] # x list1 = "abcxdex" list2 = "xxxcde" alignment = SmithWaterman.do_alignment(list1, list2, filled_matrix) self.assertEqual( alignment, [['c', 'x', 'd', 'e'], ['|', ' ', '|', '|'], ['c', '-', 'd', 'e']])
def test2(self): # T A C G G G T A T filled_matrix = [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 0, 0, 0], # G [0, 0, 0, 0, 1, 2, 2, 1, 0, 0], # G [0, 0, 1, 0, 0, 1, 1, 1, 2, 1], # A [0, 0, 0, 2, 1, 0, 0, 0, 1, 1], # C [0, 0, 0, 1, 3, 2, 1, 0, 0, 0], # G [0, 1, 0, 0, 2, 2, 1, 2, 1, 1], # T [0, 0, 2, 1, 1, 1, 1, 1, 3, 2], # A [0, 0, 1, 3, 2, 1, 0, 0, 2, 2], # C [0, 0, 0, 2, 4, 3, 2, 1, 1, 1] ] # G list1 = "GGACGTACG" list2 = "TACGGGTAT" alignment = SmithWaterman.do_alignment(list1, list2, filled_matrix) self.assertEqual( alignment, [['T', 'A', 'C', 'G'], ['|', '|', '|', '|'], ['T', 'A', 'C', 'G']])
def test3(self): # G G A C A A A C G filled_matrix = [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], # G [0, 1, 2, 1, 0, 0, 0, 0, 0, 1], # G [0, 0, 1, 3, 2, 1, 1, 1, 0, 0], # A [0, 0, 0, 2, 4, 3, 2, 1, 1, 0], # C [0, 1, 1, 1, 3, 3, 2, 1, 0, 1], # G [0, 0, 0, 0, 2, 2, 2, 1, 0, 0], # T [0, 0, 0, 1, 1, 3, 3, 3, 2, 1], # A [0, 0, 0, 0, 1, 2, 2, 2, 4, 3], # C [0, 1, 1, 0, 0, 1, 1, 1, 3, 5] ] # G list1 = "GGACGTACG" list2 = "GGACAAACG" alignment = SmithWaterman.do_alignment(list1, list2, filled_matrix) self.assertEqual(alignment, [['G', 'G', 'A', 'C', 'G', 'T', 'A', 'C', 'G'], ['|', '|', '|', '|', '.', '.', '|', '|', '|'], ['G', 'G', 'A', 'C', 'A', 'A', 'A', 'C', 'G']])
import SmithWaterman import AlignmentTools file1 = SmithWaterman.get_file_data("Enter first file name: ") file2 = SmithWaterman.get_file_data("Enter second file name: ") file1list = list(file1) file2list = list(file2) file1len = len(file1list) file2len = len(file2list) matrix = SmithWaterman.create_matrix(file1len, file2len) AlignmentTools.fill_matrix(file1list, file2list, matrix) alignment = SmithWaterman.do_alignment(file1list, file2list, matrix) print(''.join(alignment[0])) print(''.join(alignment[1])) print(''.join(alignment[2]))