写一个函数,根据下面的计分方案比较两个DNA序列:+1代表一个匹配,+3代表每个连续匹配,-1代表每个不匹配。在
我的代码:
def pairwiseScore(seqA, seqB):
'''1+1+3-1-1+1+3+1-1-1+1-1-1-1'''
print
signed = ''
score = 0
for i in range(len(seqA)):
if(seqA[i] == seqB[i]):
signed += '|'
score += 1
if signed=='||':
score=0
score += 3
else:
score += 1
else:
signed += ' '
score -=1
return seqA+"\n"+signed+"\n"+seqB+"\n"+'score:'+ str(score)
print pairwiseScore("ATTCGT", "ATCTAT")
print pairwiseScore("GATAAATCTGGTCT", "CATTCATCATGCAA")
print pairwiseScore('ATCG', 'ATCG')
print pairwiseScore('CATTCATCATGCAA', 'GATAAATCTGGTCT')
输出:
^{pr2}$谁能给我小费吗?在
谢谢
此代码仅在有符号正好等于
'||'
时匹配。在你想看看最后两个字符,那么试试:
^{pr2}$我想你在计算分数时也有计算错误。在
以下是您的函数的固定和清理版本:
^{3}$Look here
相关问题 更多 >
编程相关推荐