在Python 3中比较DNA序列

7 python string list python-3.x

到目前为止,我的计划是:

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)
Run Code Online (Sandbox Code Playgroud)

我希望输出符合以下几行:

TGGAGGCAATGGCGGCCAGCA
||||||||| |||||||||
GACTCCTCCTCCTCCTGCTCA
Run Code Online (Sandbox Code Playgroud)

但相反输出是:

TGGAGGCAATGGCGGCCAGCA
['|', '|', '|', '|', '|', '|', '|', '|', '|', ' ', '|', '|', '|', '|', '|', '|', '|', '|', '|', ' ', ' ']
GACTCCTCCTCCTCCTGCTCA
Run Code Online (Sandbox Code Playgroud)

Bha*_*Rao 5

你很近..

print ("".join(mismatches))
Run Code Online (Sandbox Code Playgroud)

将按照要求进行操作和打印

||||||||| |||||||||
Run Code Online (Sandbox Code Playgroud)

  • 它所做的只是说:"按顺序列出不匹配的字符,并将它们连接成一个单独的字符串,不分开." 如果你已经完成了`",".join(mismatches)`你得到了相同的输出,用逗号分隔而不是压缩在一起. (2认同)