def sinbad(self, d, wgt): w = wgt d_cmd = ["-d", str(d)] w_cmd = ["-w", str(w)] MetaUtils.runtool(self.cmd + d_cmd + w_cmd) logp = "%s_-d_%s_-w_%s/log" % (self.logd, d, w) f = MetaUtils.fitness(logp) w_values = [(w,f)] while True: sys.stderr.write("\n(d, w, f) => (%s, %s, %s)\n" % \ (str(d), str(w), str(f))) neighw = self.neighbourw(w_values, w) w_cmd = ["-w", str(neighw)] MetaUtils.runtool(self.cmd + d_cmd + w_cmd) logp = "%s_-d_%s_-w_%s/log" % (self.logd, d, neighw) neighf = MetaUtils.fitness(logp) w_values.append((neighw,neighf)) fits = [f for _,f in w_values] if MetaUtils.localmax(fits): for k,f in w_values: print "(%s,%s)" % (k,f) fitw,maxf = self.best_w(w_values) msg = "\n%s ambiguities found" % maxf msg += "\nd=%s, w=%s\n" % (d, fitw) sys.stderr.write(msg) return fitw, maxf w, f = neighw, neighf
def run(self): currval = self.initval amberoptcmd = [self.switch, str(currval)] MetaUtils.runtool(self.cmd + amberoptcmd) currfit = MetaUtils.fitness("%s_%s/log" % (self.logd, currval)) self.k_values.append((currval,currfit)) while True: sys.stderr.write("\n==> current value: %s, fitness: %s\n" \ % (str(currval),str(currfit))) neighval = self.neighbour(currval) sys.stderr.write("neighval: %s" % (str(neighval))) amberoptcmd = [self.switch, str(neighval)] MetaUtils.runtool(self.cmd + amberoptcmd) neighfit = MetaUtils.fitness("%s_%s/log" % (self.logd, neighval)) sys.stderr.write("new fitness: %s " % str(neighfit)) self.k_values.append((neighval,neighfit)) fitvals = [f for _,f in self.k_values] if MetaUtils.localmax(fitvals, 3): MetaUtils.report(self.k_values) sys.exit(0) currval = neighval currfit = neighfit
def __init__(self, cmd, logd, depth): self.cmd = cmd self.logd = logd self.k_values = [] currd = depth fitw, currf = self.sinbad_seq(currd, WGTS) self.k_values.append((currd, fitw, currf)) while True: msg = "\n==> current depth: %s, fitness: %s\n" % (currd, currf) sys.stderr.write(msg) neighd = self.neighbourd(self.k_values, currd) fitw, neighf = self.sinbad_seq(neighd, WGTS) self.k_values.append((neighd, fitw, neighf)) print "------" if MetaUtils.localmax([f for _,_,f in self.k_values]): fitd, maxf = self.best(self.k_values) print "Max ambiguities found: %s" % maxf print "Best depth, weights: " for d,w in fitdw: print "%s : %s " % (d,w) sys.exit(0) currd, currf = neighd, neighf
def __init__(self, cmd, logd, depth): self.cmd = cmd self.logd = logd self.k_values = [] currd = depth currf = self.sinbad(currd) self.k_values.append((currd, currf)) while True: msg = "\n==> current depth: %s, fitness: %s\n" % (currd, currf) sys.stderr.write(msg) neighd = self.neighbour(self.k_values, currd) neighf = self.sinbad(neighd) self.k_values.append((neighd, neighf)) print "------" if MetaUtils.localmax([f for _,f in self.k_values], NBEST): fitd, maxf = self.best(self.k_values) print "Max ambiguities found: %s" % maxf print "Best depths: " , fitd sys.exit(0) currd, currf = neighd, neighf
def run(self): currlen = self.length ambidextoptcmd = ["-k",str(currlen)] MetaUtils.runtool(self.cmd + ambidextoptcmd) currfit = MetaUtils.fitness("%s_%s/log" % (self.logd, currlen)) self.k_values.append((currlen,currfit)) while True: sys.stderr.write("\n==> current length: %s, fitness: %s\n" \ % (str(currlen),str(currfit))) neighlen = self.neighbour(currlen) ambidextoptcmd = ["-k",str(neighlen)] MetaUtils.runtool(self.cmd + ambidextoptcmd) neighfit = MetaUtils.fitness("%s_%s/log" % (self.logd, neighlen)) sys.stderr.write("new fitness: %s " % str(neighfit)) self.k_values.append((neighlen,neighfit)) fitvals = [f for _,f in self.k_values] if MetaUtils.localmax(fitvals, NBEST): MetaUtils.report(self.k_values) sys.exit(0) currlen = neighlen currfit = neighfit