我正在编写一个分析和解析共有序列的程序。我已经成功地进行了分析和解析工作,程序告诉我两个序列是否一致。在字符串中打印不一致的位置
我想添加一个额外的功能,如果两个序列不一致,我希望它告诉我两个序列不匹配的位置。
例如:
如果序列1:GACTTTTTACTTTTTTG &序列2:GACCTTTTACTTTTTTG
它会告诉我的序列1是不是一致,以序列2,但我也希望它告诉我不一致的位置是第4个字母。
我怎样才能让程序做到这一点?
这里是我到目前为止的代码:
for (h1,s1),(h2,s2) in combinations(zip(header,sequence),2):
if s1[start:stop]==s2[start:stop]:
print h1, "is concordant to", h2
else:
print h1, "is not concordant to", h2
nonconcordance_position=[]
nonconcordance_position.append(idx2[n-1])
print "position of non concordance:", nonconcordance_position
当我运行这个它的工作原理,但它并没有给出正确的位置。
如果一致性意味着字符串是否是完全一样的,那么这是一样的寻找两个字符串的公共前缀。如果是这样,http://stackoverflow.com/a/6718435/85337是一个很好的方法来做到这一点。特别使用'os.path.commonprefix'。 –