Beispiel #1
0
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)