def __init__(self, default=None, name=None, dimensions=None, dimension=None, size=None, **kw): PartitionDefn.__init__(self, default, name, dimensions, dimension, size, **kw) (dim_name, dim_cats) = self.internal_dimension self.internal_dimensions = (dim_name, dim_name+"2") self.array_template = DictArrayTemplate(dim_cats, dim_cats)
def __init__(self, default=None, name=None, dimensions=None, dimension=None, size=None, **kw): PartitionDefn.__init__(self, default, name, dimensions, dimension, size, **kw) (dim_name, dim_cats) = self.internal_dimension self.internal_dimensions = (dim_name, dim_name + "2") self.array_template = DictArrayTemplate(dim_cats, dim_cats)
def makeForwardTreeDefn(subst_model, tree, bin_names, with_indel_params=True, kn=True): """Pairwise Fwd""" indel = makeIndelModelDefn(with_indel_params, kn) subst = subst_model.makeFundamentalParamControllerDefns(bin_names) leaf = NonParamDefn('leaf', dimensions=('edge', )) if len(bin_names) > 1: switch = ProbabilityParamDefn('bin_switch', dimensions=['locus']) bprobs = PartitionDefn([1.0 / len(bin_names) for bin in bin_names], name="bprobs", dimensions=['locus'], dimension=('bin', bin_names)) edge_args = [switch, bprobs] edge_defn_constructor = EdgeSumAndAlignDefnWithBins else: edge_args = [] edge_defn_constructor = EdgeSumAndAlignDefn mprobs = subst['word_probs'] bin_data = CalcDefn(BinData)(mprobs, indel, subst['Qd']) bin_data = bin_data.acrossDimension('bin', bin_names) edge_args.extend(bin_data) (top, scores) = _recursive_defns(tree, subst, leaf, edge_defn_constructor, edge_args) defn = FwdDefn(top) #defn = SumDefn(*scores) return AnnotateFloatDefn(defn, top)
def checkValueIsValid(self, value, is_constant): if value.shape != (self.size,self.size): raise ValueError("Wrong array shape %s for %s, expected (%s,%s)" % (value.shape, self.name, self.size, self.size)) for part in value: PartitionDefn.checkValueIsValid(self, part, is_constant)
def checkValueIsValid(self, value, is_constant): if value.shape != (self.size, self.size): raise ValueError("Wrong array shape %s for %s, expected (%s,%s)" % (value.shape, self.name, self.size, self.size)) for part in value: PartitionDefn.checkValueIsValid(self, part, is_constant)