Ejemplo n.º 1
0
 def test_parse(self):
     """correctly construction"""
     ag = MotifChange("A", "G")
     got = parse(str(ag))
     self.assertEqual(str(got), "A/G")
     ts = MotifChange("A", "G") | MotifChange("C", "T")
     got = parse(str(ts))
     self.assertEqual(str(got), "(A/G | C/T)")
     a_g = MotifChange("A", "G", forward_only=True)
     t_c = MotifChange("T", "C", forward_only=True)
     sym = a_g | t_c
     got = parse(str(sym))
     self.assertEqual(str(got), "(A>G | T>C)")
Ejemplo n.º 2
0
 def adapt_predicate(self, pred, label=None):
     if isinstance(pred, str):
         pred = predicate.parse(pred)
     elif isinstance(pred, Callable):
         pred = predicate.UserPredicate(pred)
     pred_func = pred.make_model_predicate(self)
     label = label or repr(pred)
     mask = predicate2matrix(self.get_alphabet(),
                             pred_func,
                             mask=self._instantaneous_mask)
     return (label, mask)
Ejemplo n.º 3
0
 def get_predefined_predicates(self):
     return {
         "transition": predicate.parse("R/R") | predicate.parse("Y/Y"),
         "transversion": predicate.parse("R/Y"),
         "indel": predicate.parse("-/?"),
         "kappa": (predicate.parse("R/R") | predicate.parse("Y/Y")).aliased("kappa"),
     }
Ejemplo n.º 4
0
    def get_predefined_predicates(self):
        codon_preds = _CodonPredicates(self.get_alphabet().get_genetic_code())

        preds = _TimeReversibleNucleotide.get_predefined_predicates(self)
        preds.update(
            {
                "indel": predicate.parse("???/---"),
                "silent": predicate.UserPredicate(codon_preds.silent),
                "replacement": predicate.UserPredicate(codon_preds.replacement),
                "omega": predicate.UserPredicate(codon_preds.replacement),
            }
        )
        return preds
Ejemplo n.º 5
0
 def get_predefined_predicates(self):
     # overridden in subclasses
     return {"indel": predicate.parse("-/?")}