def buildGrammar(self, grammar): """build PFold like grammar.""" Grammar.buildGrammar(self, grammar) # state pfoldS grammar.addRule(Rule(("pfoldS", ), ("pfoldL", ), ("prob", (1.0, )))) grammar.addRule(Rule(("pfoldS", ), ("pfoldB", ), ("prob", (1.0, )))) # state pfoldF annotation1 = Annotation(row="PFOLD", column="LNUC", label="<") annotation2 = Annotation(row="PFOLD", column="RNUC", label=">") grammar.addRule( Rule(("pfoldF", ), ("LNUC", "pfoldF*", "RNUC"), gapsok=True, annotations=[annotation1, annotation2])) grammar.addRule(Rule(("pfoldF*", ), ("pfoldF", ), ("prob", (1.0, )))) grammar.addRule(Rule(("pfoldF*", ), ("pfoldB", ), ("prob", (1.0, )))) ## state pfoldB grammar.addRule(Rule(("pfoldL", ), ("pfoldF", ), ("prob", (1.0, )))) grammar.addRule(Rule(("pfoldL", ), ("pfoldU", ), ("prob", (1.0, )))) ## state pfoldB grammar.addRule(Rule(("pfoldB", ), ("pfoldL", "pfoldS"))) annotation3 = Annotation(row="PFOLD", column="NUC", label="_") ## state pfoldB grammar.addRule( Rule(("pfoldU", ), ("NUC", "pfoldU*"), gapsok=True, annotations=[ annotation3, ])) grammar.addRule(Rule(("pfoldU*", ), (), ("prob", (1.0, ))))
def buildGrammar(self, grammar): """build PFold like grammar.""" Grammar.buildGrammar( self, grammar) # state pfoldS grammar.addRule( Rule( ("pfoldS",), ("pfoldL",), ("prob", (1.0,)) ) ) grammar.addRule( Rule( ("pfoldS",), ("pfoldB",), ("prob", (1.0,)) ) ) # state pfoldF annotation1 = Annotation( row = "PFOLD", column = "LNUC", label = "<" ) annotation2 = Annotation( row = "PFOLD", column = "RNUC", label = ">" ) grammar.addRule( Rule( ("pfoldF",), ("LNUC", "pfoldF*", "RNUC"), gapsok = True, annotations = [annotation1,annotation2] ) ) grammar.addRule( Rule( ("pfoldF*",), ("pfoldF",), ("prob", (1.0,) ) ) ) grammar.addRule( Rule( ("pfoldF*",), ("pfoldB",), ("prob", (1.0,) ) )) ## state pfoldB grammar.addRule( Rule( ("pfoldL",), ("pfoldF",), ("prob", (1.0,)) ) ) grammar.addRule( Rule( ("pfoldL",), ("pfoldU",), ("prob", (1.0,)) ) ) ## state pfoldB grammar.addRule( Rule( ("pfoldB",), ("pfoldL", "pfoldS") ) ) annotation3 = Annotation( row = "PFOLD", column = "NUC", label = "_" ) ## state pfoldB grammar.addRule( Rule( ("pfoldU",), ("NUC", "pfoldU*"), gapsok = True, annotations = [annotation3,])) grammar.addRule( Rule( ("pfoldU*",), (), ("prob", (1.0,)) ) )
def __init__(self, *args, **kwargs): Grammar.__init__(self, *args, **kwargs)