def edit_distance(seq_x, seq_y, scoring_matrix): """ calculate the edit distance through seq_x, seq_y and scoring matrix by return |seq_x| + |seq_y| - score of the corresponding global alignment """ alignment_matrix = pj4.compute_alignment_matrix(seq_x, seq_y, scoring_matrix, True) score, align_x, align_y = pj4.compute_global_alignment(seq_x, seq_y, scoring_matrix, alignment_matrix) return len(seq_x) + len(seq_y) - score
for char in seq_human: if char != '-': seq_human_nodash = seq_human_nodash + char for char in seq_fruitfly: if char != '-': seq_fruitfly_nodash = seq_fruitfly_nodash + char print len(seq_human_nodash) print len(seq_fruitfly_nodash) # for human alignment_matrix = pj4.compute_alignment_matrix(seq_human_nodash, seq_PAX, scoring_matrix, True) score_human, align_human, align_PAX_1 = pj4.compute_global_alignment(seq_human_nodash, seq_PAX, scoring_matrix, alignment_matrix) print score_human print align_human print align_PAX_1 match_human = 0 for ind in range(len(align_human)): if align_human[ind] == align_PAX_1[ind]: match_human += 1 print float(match_human) / len(align_human) * 100. # for fruit fly alignment_matrix = pj4.compute_alignment_matrix(seq_fruitfly_nodash, seq_PAX, scoring_matrix, True) score_fruitfly, align_fruitfly, align_PAX_2 = pj4.compute_global_alignment(seq_fruitfly_nodash, seq_PAX, scoring_matrix, alignment_matrix)