user4512750
user4512750

Reputation:

Comparing DNA sequences in Python 3

My program so far is:

seq_a = "TGGAGGCAATGGCGGCCAGCA"
seq_b = "GACTCCTCCTCCTCCTGCTCA"    
len_a = len(seq_a)    
len_b = len(seq_b)    
print("Length of Sequence A: " + str(len_a))    
print()    
print("Length of Sequence B: " + str(len_b))
print()

def sequence_compare(seq_a, seq_b):
        len1 = len(seq_a)
        len2 = len(seq_b)
        mismatches = []
        for pos in range (0, min(len1, len2)) :
              if seq_a[pos] != seq_b[pos]:
                  mismatches.append('|')
              else:
                  mismatches.append(' ')
        print (seq_a)
        print (mismatches)
        print (seq_b)
sequence_compare(seq_a,seq_b)

I expect an output along the lines of:

TGGAGGCAATGGCGGCCAGCA
||||||||| |||||||||
GACTCCTCCTCCTCCTGCTCA

But instead the output is:

TGGAGGCAATGGCGGCCAGCA
['|', '|', '|', '|', '|', '|', '|', '|', '|', ' ', '|', '|', '|', '|', '|', '|', '|', '|', '|', ' ', ' ']
GACTCCTCCTCCTCCTGCTCA

Upvotes: 8

Views: 5191

Answers (1)

Bhargav Rao
Bhargav Rao

Reputation: 52071

You are quite near..

print ("".join(mismatches))

will do the trick and print as required which is

||||||||| |||||||||

Upvotes: 6

Related Questions