def mleks(_seqa, _seqb): seqa, seqb = clean_seqs(_seqa, _seqb) D = calc_difference(seqa, seqb) seqab = seqa + seqb slen = len(seqab)/2 scores = {} # give the optimizer the best guess from this range. for guess in (0.3, 0.5, 0.75, 1.1, 1.5): scores[guess] = score_guess(guess, seqab, D, slen) best_guess = sorted(scores.items(), key=lambda a: (a[1], a[0]))[0][0] def fnopt(ks_guess): return score_guess(ks_guess[0], seqab, D, slen) r = so.fmin(fnopt, best_guess, args=(), disp=False, xtol=0.1, maxfun=20) return r[0]
def mleks(_seqa, _seqb): seqa, seqb = clean_seqs(_seqa, _seqb) D = calc_difference(seqa, seqb) seqab = seqa + seqb slen = len(seqab) / 2 scores = {} # give the optimizer the best guess from this range. for guess in (0.3, 0.5, 0.75, 1.1, 1.5): scores[guess] = score_guess(guess, seqab, D, slen) best_guess = sorted(scores.items(), key=lambda a: (a[1], a[0]))[0][0] def fnopt(ks_guess): return score_guess(ks_guess[0], seqab, D, slen) r = so.fmin(fnopt, best_guess, args=(), disp=False, xtol=0.1, maxfun=20) return r[0]
def fnopt(ks_guess): return score_guess(ks_guess[0], seqab, D, slen)