我正在編寫一個分析和解析共有序列的程序。我已經成功地進行了分析和解析工作,程序告訴我兩個序列是否一致。在字符串中打印不一致的位置
我想添加一個額外的功能,如果兩個序列不一致,我希望它告訴我兩個序列不匹配的位置。
例如:
如果序列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'。 –