def BM_Eval(seq_dict, BMlist, toeholds):
w_exp = np.concatenate([np.zeros((5,)), np.power(2, np.arange(6))])
BM_score = 0
Largest_match = 0
numstrings = len(BMlist);
prog = MyProgress((numstrings**2 - numstrings)/2)
for ctr in range(numstrings):
strand1 = BMlist[ctr];
for strand2 in BMlist[ctr+1:]:
[ismaxmatch, maxmatch, mm_i, mm_j] = \
compare_sequence_notoe(seq_dict[strand1],
seq_dict[strand2],
toeholds)
if maxmatch > Largest_match:
Largest_match = maxmatch
BM_score = BM_score + w_exp[int(min(maxmatch, 10))]
prog.inc()
return [BM_score, Largest_match]
评论列表
文章目录