def evaluate(ancestry, lengths=None): if lengths is None: (wls_err, init_lengths) = wls_eval(ancestry) else: init_lengths = lengths tree = ancestry2tree(ancestry, init_lengths, names) lf = self.lf_factory(tree) lf.setAlignment(subalign) if lengths is not None: lf.setParamRule('length', is_constant=True) lf.optimise(show_progress=False, **self.opt_args) err = -1.0 * lf.getLogLikelihood() tree = lf.getAnnotatedTree() return (err, tree)
def result2output(self, err, ancestry, lengths, names): return (err, ancestry2tree(ancestry, lengths, names))