From 5054739fe11521bc605b919a194f5e041fdb15d9 Mon Sep 17 00:00:00 2001 From: Kyle Ferriter <kferrite@broadinstitute.org> Date: Wed, 20 Sep 2023 09:27:09 -0700 Subject: [PATCH 01/25] Support indefinite and definite uncertain ranges, and unbalanced uncertain ranges, for g. expressions --- src/hgvs/_data/hgvs.pymeta | 7 +- src/hgvs/generated/hgvs_grammar.py | 4385 +++++++++++++--------------- tests/data/grammar_test.tsv | 8 + tests/test_hgvs_location.py | 25 + tests/test_hgvs_sequencevariant.py | 24 + 5 files changed, 2116 insertions(+), 2333 deletions(-) diff --git a/src/hgvs/_data/hgvs.pymeta b/src/hgvs/_data/hgvs.pymeta index fb75e710..0c84c3e6 100644 --- a/src/hgvs/_data/hgvs.pymeta +++ b/src/hgvs/_data/hgvs.pymeta @@ -122,7 +122,7 @@ pro_ident = '=' -> hgvs.edit.AARefAlt(ref='',alt='' # potentially indefinite/uncertain intervals c_interval = def_c_interval | '(' def_c_interval:iv ')' -> iv._set_uncertain() -g_interval = def_g_interval | '(' def_g_interval:iv ')' -> iv._set_uncertain() +g_interval = def_g_uncertain_interval:iv | ('(' def_g_interval:iv ')' -> iv._set_uncertain()) | def_g_interval m_interval = def_m_interval | '(' def_m_interval:iv ')' -> iv._set_uncertain() n_interval = def_n_interval | '(' def_n_interval:iv ')' -> iv._set_uncertain() p_interval = def_p_interval | '(' def_p_interval:iv ')' -> iv._set_uncertain() @@ -136,6 +136,11 @@ def_r_interval = (r_pos:start '_' r_pos:end -> hgvs.location.Interval(start,end) def_c_interval = (c_pos:start '_' c_pos:end -> hgvs.location.BaseOffsetInterval(start,end)) | (c_pos:start -> hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))) def_n_interval = (n_pos:start '_' n_pos:end -> hgvs.location.BaseOffsetInterval(start,end)) | (n_pos:start -> hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))) +# indefinite ranges +def_g_uncertain_interval = '(' def_g_interval:ivl_start ')' '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) + | def_g_interval:ivl_start '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) + | '(' def_g_interval:ivl_start ')' '_' def_g_interval:ivl_end -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) + # positions c_pos = def_c_pos #| '(' def_c_pos:pos ')' -> pos._set_uncertain() g_pos = def_g_pos #| '(' def_g_pos:pos ')' -> pos._set_uncertain() diff --git a/src/hgvs/generated/hgvs_grammar.py b/src/hgvs/generated/hgvs_grammar.py index 38f407b0..26bfc64e 100644 --- a/src/hgvs/generated/hgvs_grammar.py +++ b/src/hgvs/generated/hgvs_grammar.py @@ -3,3456 +3,3177 @@ # Changes will be overwritten by the generation script. # Generated by: sbin/generate_parser.py # Grammar file: src/hgvs/_data/hgvs.pymeta -# Grammar hash: 3a6ac8d6d2dda7f4a178efe0081659e0 +# Grammar hash: 7ea128c4af760e7e198a272b1bc182cb # Parsley version: 1.3 -# Python version: 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] +# Python version: 3.11.4 (main, Jul 25 2023, 17:07:07) [Clang 14.0.3 (clang-1403.0.22.14.1)] # -------------------------------------------------- - def createParserClass(GrammarBase, ruleGlobals): if ruleGlobals is None: ruleGlobals = {} - class Grammar(GrammarBase): def rule_hgvs_variant(self): - _locals = {"self": self} - self.locals["hgvs_variant"] = _locals - + _locals = {'self': self} + self.locals['hgvs_variant'] = _locals def _G_or_1(): - self._trace("", (697, 707), self.input.position) + self._trace('', (697, 707), self.input.position) _G_apply_2, lastError = self._apply(self.rule_g_variant, "g_variant", []) self.considerError(lastError, None) return (_G_apply_2, self.currentError) - def _G_or_3(): - self._trace("", (709, 719), self.input.position) + self._trace('', (709, 719), self.input.position) _G_apply_4, lastError = self._apply(self.rule_m_variant, "m_variant", []) self.considerError(lastError, None) return (_G_apply_4, self.currentError) - def _G_or_5(): - self._trace("", (721, 731), self.input.position) + self._trace('', (721, 731), self.input.position) _G_apply_6, lastError = self._apply(self.rule_c_variant, "c_variant", []) self.considerError(lastError, None) return (_G_apply_6, self.currentError) - def _G_or_7(): - self._trace("", (733, 743), self.input.position) + self._trace('', (733, 743), self.input.position) _G_apply_8, lastError = self._apply(self.rule_n_variant, "n_variant", []) self.considerError(lastError, None) return (_G_apply_8, self.currentError) - def _G_or_9(): - self._trace("", (746, 756), self.input.position) + self._trace('', (746, 756), self.input.position) _G_apply_10, lastError = self._apply(self.rule_r_variant, "r_variant", []) self.considerError(lastError, None) return (_G_apply_10, self.currentError) - def _G_or_11(): - self._trace("", (758, 768), self.input.position) + self._trace('', (758, 768), self.input.position) _G_apply_12, lastError = self._apply(self.rule_p_variant, "p_variant", []) self.considerError(lastError, None) return (_G_apply_12, self.currentError) - _G_or_13, lastError = self._or([_G_or_1, _G_or_3, _G_or_5, _G_or_7, _G_or_9, _G_or_11]) - self.considerError(lastError, "hgvs_variant") + self.considerError(lastError, 'hgvs_variant') return (_G_or_13, self.currentError) + def rule_c_variant(self): - _locals = {"self": self} - self.locals["c_variant"] = _locals - self._trace("", (781, 786), self.input.position) + _locals = {'self': self} + self.locals['c_variant'] = _locals + self._trace('', (781, 786), self.input.position) _G_apply_14, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "c_variant") - _locals["ac"] = _G_apply_14 - self._trace("", (789, 803), self.input.position) + self.considerError(lastError, 'c_variant') + _locals['ac'] = _G_apply_14 + self._trace('', (789, 803), self.input.position) _G_apply_15, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "c_variant") - _locals["gene"] = _G_apply_15 - self._trace("", (808, 812), self.input.position) - _G_exactly_16, lastError = self.exactly(":") - self.considerError(lastError, "c_variant") - self._trace("", (812, 816), self.input.position) - _G_exactly_17, lastError = self.exactly("c") - self.considerError(lastError, "c_variant") - _locals["type"] = _G_exactly_17 - self._trace("", (821, 825), self.input.position) - _G_exactly_18, lastError = self.exactly(".") - self.considerError(lastError, "c_variant") - self._trace("", (825, 835), self.input.position) + self.considerError(lastError, 'c_variant') + _locals['gene'] = _G_apply_15 + self._trace('', (808, 812), self.input.position) + _G_exactly_16, lastError = self.exactly(':') + self.considerError(lastError, 'c_variant') + self._trace('', (812, 816), self.input.position) + _G_exactly_17, lastError = self.exactly('c') + self.considerError(lastError, 'c_variant') + _locals['type'] = _G_exactly_17 + self._trace('', (821, 825), self.input.position) + _G_exactly_18, lastError = self.exactly('.') + self.considerError(lastError, 'c_variant') + self._trace('', (825, 835), self.input.position) _G_apply_19, lastError = self._apply(self.rule_c_posedit, "c_posedit", []) - self.considerError(lastError, "c_variant") - _locals["posedit"] = _G_apply_19 + self.considerError(lastError, 'c_variant') + _locals['posedit'] = _G_apply_19 _G_python_21, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, "c_variant") + self.considerError(lastError, 'c_variant') return (_G_python_21, self.currentError) + def rule_g_variant(self): - _locals = {"self": self} - self.locals["g_variant"] = _locals - self._trace("", (941, 946), self.input.position) + _locals = {'self': self} + self.locals['g_variant'] = _locals + self._trace('', (941, 946), self.input.position) _G_apply_22, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "g_variant") - _locals["ac"] = _G_apply_22 - self._trace("", (949, 963), self.input.position) + self.considerError(lastError, 'g_variant') + _locals['ac'] = _G_apply_22 + self._trace('', (949, 963), self.input.position) _G_apply_23, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "g_variant") - _locals["gene"] = _G_apply_23 - self._trace("", (968, 972), self.input.position) - _G_exactly_24, lastError = self.exactly(":") - self.considerError(lastError, "g_variant") - self._trace("", (972, 976), self.input.position) - _G_exactly_25, lastError = self.exactly("g") - self.considerError(lastError, "g_variant") - _locals["type"] = _G_exactly_25 - self._trace("", (981, 985), self.input.position) - _G_exactly_26, lastError = self.exactly(".") - self.considerError(lastError, "g_variant") - self._trace("", (985, 995), self.input.position) + self.considerError(lastError, 'g_variant') + _locals['gene'] = _G_apply_23 + self._trace('', (968, 972), self.input.position) + _G_exactly_24, lastError = self.exactly(':') + self.considerError(lastError, 'g_variant') + self._trace('', (972, 976), self.input.position) + _G_exactly_25, lastError = self.exactly('g') + self.considerError(lastError, 'g_variant') + _locals['type'] = _G_exactly_25 + self._trace('', (981, 985), self.input.position) + _G_exactly_26, lastError = self.exactly('.') + self.considerError(lastError, 'g_variant') + self._trace('', (985, 995), self.input.position) _G_apply_27, lastError = self._apply(self.rule_g_posedit, "g_posedit", []) - self.considerError(lastError, "g_variant") - _locals["posedit"] = _G_apply_27 + self.considerError(lastError, 'g_variant') + _locals['posedit'] = _G_apply_27 _G_python_28, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, "g_variant") + self.considerError(lastError, 'g_variant') return (_G_python_28, self.currentError) + def rule_m_variant(self): - _locals = {"self": self} - self.locals["m_variant"] = _locals - self._trace("", (1101, 1106), self.input.position) + _locals = {'self': self} + self.locals['m_variant'] = _locals + self._trace('', (1101, 1106), self.input.position) _G_apply_29, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "m_variant") - _locals["ac"] = _G_apply_29 - self._trace("", (1109, 1123), self.input.position) + self.considerError(lastError, 'm_variant') + _locals['ac'] = _G_apply_29 + self._trace('', (1109, 1123), self.input.position) _G_apply_30, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "m_variant") - _locals["gene"] = _G_apply_30 - self._trace("", (1128, 1132), self.input.position) - _G_exactly_31, lastError = self.exactly(":") - self.considerError(lastError, "m_variant") - self._trace("", (1132, 1136), self.input.position) - _G_exactly_32, lastError = self.exactly("m") - self.considerError(lastError, "m_variant") - _locals["type"] = _G_exactly_32 - self._trace("", (1141, 1145), self.input.position) - _G_exactly_33, lastError = self.exactly(".") - self.considerError(lastError, "m_variant") - self._trace("", (1145, 1155), self.input.position) + self.considerError(lastError, 'm_variant') + _locals['gene'] = _G_apply_30 + self._trace('', (1128, 1132), self.input.position) + _G_exactly_31, lastError = self.exactly(':') + self.considerError(lastError, 'm_variant') + self._trace('', (1132, 1136), self.input.position) + _G_exactly_32, lastError = self.exactly('m') + self.considerError(lastError, 'm_variant') + _locals['type'] = _G_exactly_32 + self._trace('', (1141, 1145), self.input.position) + _G_exactly_33, lastError = self.exactly('.') + self.considerError(lastError, 'm_variant') + self._trace('', (1145, 1155), self.input.position) _G_apply_34, lastError = self._apply(self.rule_m_posedit, "m_posedit", []) - self.considerError(lastError, "m_variant") - _locals["posedit"] = _G_apply_34 + self.considerError(lastError, 'm_variant') + _locals['posedit'] = _G_apply_34 _G_python_35, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, "m_variant") + self.considerError(lastError, 'm_variant') return (_G_python_35, self.currentError) + def rule_n_variant(self): - _locals = {"self": self} - self.locals["n_variant"] = _locals - self._trace("", (1261, 1266), self.input.position) + _locals = {'self': self} + self.locals['n_variant'] = _locals + self._trace('', (1261, 1266), self.input.position) _G_apply_36, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "n_variant") - _locals["ac"] = _G_apply_36 - self._trace("", (1269, 1283), self.input.position) + self.considerError(lastError, 'n_variant') + _locals['ac'] = _G_apply_36 + self._trace('', (1269, 1283), self.input.position) _G_apply_37, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "n_variant") - _locals["gene"] = _G_apply_37 - self._trace("", (1288, 1292), self.input.position) - _G_exactly_38, lastError = self.exactly(":") - self.considerError(lastError, "n_variant") - self._trace("", (1292, 1296), self.input.position) - _G_exactly_39, lastError = self.exactly("n") - self.considerError(lastError, "n_variant") - _locals["type"] = _G_exactly_39 - self._trace("", (1301, 1305), self.input.position) - _G_exactly_40, lastError = self.exactly(".") - self.considerError(lastError, "n_variant") - self._trace("", (1305, 1315), self.input.position) + self.considerError(lastError, 'n_variant') + _locals['gene'] = _G_apply_37 + self._trace('', (1288, 1292), self.input.position) + _G_exactly_38, lastError = self.exactly(':') + self.considerError(lastError, 'n_variant') + self._trace('', (1292, 1296), self.input.position) + _G_exactly_39, lastError = self.exactly('n') + self.considerError(lastError, 'n_variant') + _locals['type'] = _G_exactly_39 + self._trace('', (1301, 1305), self.input.position) + _G_exactly_40, lastError = self.exactly('.') + self.considerError(lastError, 'n_variant') + self._trace('', (1305, 1315), self.input.position) _G_apply_41, lastError = self._apply(self.rule_n_posedit, "n_posedit", []) - self.considerError(lastError, "n_variant") - _locals["posedit"] = _G_apply_41 + self.considerError(lastError, 'n_variant') + _locals['posedit'] = _G_apply_41 _G_python_42, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, "n_variant") + self.considerError(lastError, 'n_variant') return (_G_python_42, self.currentError) + def rule_p_variant(self): - _locals = {"self": self} - self.locals["p_variant"] = _locals - self._trace("", (1421, 1426), self.input.position) + _locals = {'self': self} + self.locals['p_variant'] = _locals + self._trace('', (1421, 1426), self.input.position) _G_apply_43, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "p_variant") - _locals["ac"] = _G_apply_43 - self._trace("", (1429, 1443), self.input.position) + self.considerError(lastError, 'p_variant') + _locals['ac'] = _G_apply_43 + self._trace('', (1429, 1443), self.input.position) _G_apply_44, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "p_variant") - _locals["gene"] = _G_apply_44 - self._trace("", (1448, 1452), self.input.position) - _G_exactly_45, lastError = self.exactly(":") - self.considerError(lastError, "p_variant") - self._trace("", (1452, 1456), self.input.position) - _G_exactly_46, lastError = self.exactly("p") - self.considerError(lastError, "p_variant") - _locals["type"] = _G_exactly_46 - self._trace("", (1461, 1465), self.input.position) - _G_exactly_47, lastError = self.exactly(".") - self.considerError(lastError, "p_variant") - self._trace("", (1465, 1475), self.input.position) + self.considerError(lastError, 'p_variant') + _locals['gene'] = _G_apply_44 + self._trace('', (1448, 1452), self.input.position) + _G_exactly_45, lastError = self.exactly(':') + self.considerError(lastError, 'p_variant') + self._trace('', (1452, 1456), self.input.position) + _G_exactly_46, lastError = self.exactly('p') + self.considerError(lastError, 'p_variant') + _locals['type'] = _G_exactly_46 + self._trace('', (1461, 1465), self.input.position) + _G_exactly_47, lastError = self.exactly('.') + self.considerError(lastError, 'p_variant') + self._trace('', (1465, 1475), self.input.position) _G_apply_48, lastError = self._apply(self.rule_p_posedit, "p_posedit", []) - self.considerError(lastError, "p_variant") - _locals["posedit"] = _G_apply_48 + self.considerError(lastError, 'p_variant') + _locals['posedit'] = _G_apply_48 _G_python_49, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, "p_variant") + self.considerError(lastError, 'p_variant') return (_G_python_49, self.currentError) + def rule_r_variant(self): - _locals = {"self": self} - self.locals["r_variant"] = _locals - self._trace("", (1581, 1586), self.input.position) + _locals = {'self': self} + self.locals['r_variant'] = _locals + self._trace('', (1581, 1586), self.input.position) _G_apply_50, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "r_variant") - _locals["ac"] = _G_apply_50 - self._trace("", (1589, 1603), self.input.position) + self.considerError(lastError, 'r_variant') + _locals['ac'] = _G_apply_50 + self._trace('', (1589, 1603), self.input.position) _G_apply_51, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "r_variant") - _locals["gene"] = _G_apply_51 - self._trace("", (1608, 1612), self.input.position) - _G_exactly_52, lastError = self.exactly(":") - self.considerError(lastError, "r_variant") - self._trace("", (1612, 1616), self.input.position) - _G_exactly_53, lastError = self.exactly("r") - self.considerError(lastError, "r_variant") - _locals["type"] = _G_exactly_53 - self._trace("", (1621, 1625), self.input.position) - _G_exactly_54, lastError = self.exactly(".") - self.considerError(lastError, "r_variant") - self._trace("", (1625, 1635), self.input.position) + self.considerError(lastError, 'r_variant') + _locals['gene'] = _G_apply_51 + self._trace('', (1608, 1612), self.input.position) + _G_exactly_52, lastError = self.exactly(':') + self.considerError(lastError, 'r_variant') + self._trace('', (1612, 1616), self.input.position) + _G_exactly_53, lastError = self.exactly('r') + self.considerError(lastError, 'r_variant') + _locals['type'] = _G_exactly_53 + self._trace('', (1621, 1625), self.input.position) + _G_exactly_54, lastError = self.exactly('.') + self.considerError(lastError, 'r_variant') + self._trace('', (1625, 1635), self.input.position) _G_apply_55, lastError = self._apply(self.rule_r_posedit, "r_posedit", []) - self.considerError(lastError, "r_variant") - _locals["posedit"] = _G_apply_55 + self.considerError(lastError, 'r_variant') + _locals['posedit'] = _G_apply_55 _G_python_56, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, "r_variant") + self.considerError(lastError, 'r_variant') return (_G_python_56, self.currentError) - def rule_hgvs_position(self): - _locals = {"self": self} - self.locals["hgvs_position"] = _locals + def rule_hgvs_position(self): + _locals = {'self': self} + self.locals['hgvs_position'] = _locals def _G_or_57(): - self._trace("", (1920, 1936), self.input.position) - _G_apply_58, lastError = self._apply( - self.rule_g_hgvs_position, "g_hgvs_position", [] - ) + self._trace('', (1919, 1935), self.input.position) + _G_apply_58, lastError = self._apply(self.rule_g_hgvs_position, "g_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_58, self.currentError) - def _G_or_59(): - self._trace("", (1938, 1954), self.input.position) - _G_apply_60, lastError = self._apply( - self.rule_m_hgvs_position, "m_hgvs_position", [] - ) + self._trace('', (1937, 1953), self.input.position) + _G_apply_60, lastError = self._apply(self.rule_m_hgvs_position, "m_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_60, self.currentError) - def _G_or_61(): - self._trace("", (1956, 1972), self.input.position) - _G_apply_62, lastError = self._apply( - self.rule_c_hgvs_position, "c_hgvs_position", [] - ) + self._trace('', (1955, 1971), self.input.position) + _G_apply_62, lastError = self._apply(self.rule_c_hgvs_position, "c_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_62, self.currentError) - def _G_or_63(): - self._trace("", (1974, 1990), self.input.position) - _G_apply_64, lastError = self._apply( - self.rule_n_hgvs_position, "n_hgvs_position", [] - ) + self._trace('', (1973, 1989), self.input.position) + _G_apply_64, lastError = self._apply(self.rule_n_hgvs_position, "n_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_64, self.currentError) - def _G_or_65(): - self._trace("", (1992, 2008), self.input.position) - _G_apply_66, lastError = self._apply( - self.rule_r_hgvs_position, "r_hgvs_position", [] - ) + self._trace('', (1991, 2007), self.input.position) + _G_apply_66, lastError = self._apply(self.rule_r_hgvs_position, "r_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_66, self.currentError) - def _G_or_67(): - self._trace("", (2010, 2026), self.input.position) - _G_apply_68, lastError = self._apply( - self.rule_p_hgvs_position, "p_hgvs_position", [] - ) + self._trace('', (2009, 2025), self.input.position) + _G_apply_68, lastError = self._apply(self.rule_p_hgvs_position, "p_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_68, self.currentError) - - _G_or_69, lastError = self._or( - [_G_or_57, _G_or_59, _G_or_61, _G_or_63, _G_or_65, _G_or_67] - ) - self.considerError(lastError, "hgvs_position") + _G_or_69, lastError = self._or([_G_or_57, _G_or_59, _G_or_61, _G_or_63, _G_or_65, _G_or_67]) + self.considerError(lastError, 'hgvs_position') return (_G_or_69, self.currentError) + def rule_c_hgvs_position(self): - _locals = {"self": self} - self.locals["c_hgvs_position"] = _locals - self._trace("", (2045, 2050), self.input.position) + _locals = {'self': self} + self.locals['c_hgvs_position'] = _locals + self._trace('', (2044, 2049), self.input.position) _G_apply_70, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "c_hgvs_position") - _locals["ac"] = _G_apply_70 - self._trace("", (2053, 2067), self.input.position) + self.considerError(lastError, 'c_hgvs_position') + _locals['ac'] = _G_apply_70 + self._trace('', (2052, 2066), self.input.position) _G_apply_71, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "c_hgvs_position") - _locals["gene"] = _G_apply_71 - self._trace("", (2072, 2076), self.input.position) - _G_exactly_72, lastError = self.exactly(":") - self.considerError(lastError, "c_hgvs_position") - self._trace("", (2076, 2080), self.input.position) - _G_exactly_73, lastError = self.exactly("c") - self.considerError(lastError, "c_hgvs_position") - _locals["type"] = _G_exactly_73 - self._trace("", (2085, 2089), self.input.position) - _G_exactly_74, lastError = self.exactly(".") - self.considerError(lastError, "c_hgvs_position") - self._trace("", (2089, 2100), self.input.position) + self.considerError(lastError, 'c_hgvs_position') + _locals['gene'] = _G_apply_71 + self._trace('', (2071, 2075), self.input.position) + _G_exactly_72, lastError = self.exactly(':') + self.considerError(lastError, 'c_hgvs_position') + self._trace('', (2075, 2079), self.input.position) + _G_exactly_73, lastError = self.exactly('c') + self.considerError(lastError, 'c_hgvs_position') + _locals['type'] = _G_exactly_73 + self._trace('', (2084, 2088), self.input.position) + _G_exactly_74, lastError = self.exactly('.') + self.considerError(lastError, 'c_hgvs_position') + self._trace('', (2088, 2099), self.input.position) _G_apply_75, lastError = self._apply(self.rule_c_interval, "c_interval", []) - self.considerError(lastError, "c_hgvs_position") - _locals["pos"] = _G_apply_75 + self.considerError(lastError, 'c_hgvs_position') + _locals['pos'] = _G_apply_75 _G_python_77, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, "c_hgvs_position") + self.considerError(lastError, 'c_hgvs_position') return (_G_python_77, self.currentError) + def rule_g_hgvs_position(self): - _locals = {"self": self} - self.locals["g_hgvs_position"] = _locals - self._trace("", (2194, 2199), self.input.position) + _locals = {'self': self} + self.locals['g_hgvs_position'] = _locals + self._trace('', (2193, 2198), self.input.position) _G_apply_78, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "g_hgvs_position") - _locals["ac"] = _G_apply_78 - self._trace("", (2202, 2216), self.input.position) + self.considerError(lastError, 'g_hgvs_position') + _locals['ac'] = _G_apply_78 + self._trace('', (2201, 2215), self.input.position) _G_apply_79, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "g_hgvs_position") - _locals["gene"] = _G_apply_79 - self._trace("", (2221, 2225), self.input.position) - _G_exactly_80, lastError = self.exactly(":") - self.considerError(lastError, "g_hgvs_position") - self._trace("", (2225, 2229), self.input.position) - _G_exactly_81, lastError = self.exactly("g") - self.considerError(lastError, "g_hgvs_position") - _locals["type"] = _G_exactly_81 - self._trace("", (2234, 2238), self.input.position) - _G_exactly_82, lastError = self.exactly(".") - self.considerError(lastError, "g_hgvs_position") - self._trace("", (2238, 2249), self.input.position) + self.considerError(lastError, 'g_hgvs_position') + _locals['gene'] = _G_apply_79 + self._trace('', (2220, 2224), self.input.position) + _G_exactly_80, lastError = self.exactly(':') + self.considerError(lastError, 'g_hgvs_position') + self._trace('', (2224, 2228), self.input.position) + _G_exactly_81, lastError = self.exactly('g') + self.considerError(lastError, 'g_hgvs_position') + _locals['type'] = _G_exactly_81 + self._trace('', (2233, 2237), self.input.position) + _G_exactly_82, lastError = self.exactly('.') + self.considerError(lastError, 'g_hgvs_position') + self._trace('', (2237, 2248), self.input.position) _G_apply_83, lastError = self._apply(self.rule_g_interval, "g_interval", []) - self.considerError(lastError, "g_hgvs_position") - _locals["pos"] = _G_apply_83 + self.considerError(lastError, 'g_hgvs_position') + _locals['pos'] = _G_apply_83 _G_python_84, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, "g_hgvs_position") + self.considerError(lastError, 'g_hgvs_position') return (_G_python_84, self.currentError) + def rule_m_hgvs_position(self): - _locals = {"self": self} - self.locals["m_hgvs_position"] = _locals - self._trace("", (2343, 2348), self.input.position) + _locals = {'self': self} + self.locals['m_hgvs_position'] = _locals + self._trace('', (2342, 2347), self.input.position) _G_apply_85, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "m_hgvs_position") - _locals["ac"] = _G_apply_85 - self._trace("", (2351, 2365), self.input.position) + self.considerError(lastError, 'm_hgvs_position') + _locals['ac'] = _G_apply_85 + self._trace('', (2350, 2364), self.input.position) _G_apply_86, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "m_hgvs_position") - _locals["gene"] = _G_apply_86 - self._trace("", (2370, 2374), self.input.position) - _G_exactly_87, lastError = self.exactly(":") - self.considerError(lastError, "m_hgvs_position") - self._trace("", (2374, 2378), self.input.position) - _G_exactly_88, lastError = self.exactly("m") - self.considerError(lastError, "m_hgvs_position") - _locals["type"] = _G_exactly_88 - self._trace("", (2383, 2387), self.input.position) - _G_exactly_89, lastError = self.exactly(".") - self.considerError(lastError, "m_hgvs_position") - self._trace("", (2387, 2398), self.input.position) + self.considerError(lastError, 'm_hgvs_position') + _locals['gene'] = _G_apply_86 + self._trace('', (2369, 2373), self.input.position) + _G_exactly_87, lastError = self.exactly(':') + self.considerError(lastError, 'm_hgvs_position') + self._trace('', (2373, 2377), self.input.position) + _G_exactly_88, lastError = self.exactly('m') + self.considerError(lastError, 'm_hgvs_position') + _locals['type'] = _G_exactly_88 + self._trace('', (2382, 2386), self.input.position) + _G_exactly_89, lastError = self.exactly('.') + self.considerError(lastError, 'm_hgvs_position') + self._trace('', (2386, 2397), self.input.position) _G_apply_90, lastError = self._apply(self.rule_m_interval, "m_interval", []) - self.considerError(lastError, "m_hgvs_position") - _locals["pos"] = _G_apply_90 + self.considerError(lastError, 'm_hgvs_position') + _locals['pos'] = _G_apply_90 _G_python_91, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, "m_hgvs_position") + self.considerError(lastError, 'm_hgvs_position') return (_G_python_91, self.currentError) + def rule_n_hgvs_position(self): - _locals = {"self": self} - self.locals["n_hgvs_position"] = _locals - self._trace("", (2492, 2497), self.input.position) + _locals = {'self': self} + self.locals['n_hgvs_position'] = _locals + self._trace('', (2491, 2496), self.input.position) _G_apply_92, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "n_hgvs_position") - _locals["ac"] = _G_apply_92 - self._trace("", (2500, 2514), self.input.position) + self.considerError(lastError, 'n_hgvs_position') + _locals['ac'] = _G_apply_92 + self._trace('', (2499, 2513), self.input.position) _G_apply_93, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "n_hgvs_position") - _locals["gene"] = _G_apply_93 - self._trace("", (2519, 2523), self.input.position) - _G_exactly_94, lastError = self.exactly(":") - self.considerError(lastError, "n_hgvs_position") - self._trace("", (2523, 2527), self.input.position) - _G_exactly_95, lastError = self.exactly("n") - self.considerError(lastError, "n_hgvs_position") - _locals["type"] = _G_exactly_95 - self._trace("", (2532, 2536), self.input.position) - _G_exactly_96, lastError = self.exactly(".") - self.considerError(lastError, "n_hgvs_position") - self._trace("", (2536, 2547), self.input.position) + self.considerError(lastError, 'n_hgvs_position') + _locals['gene'] = _G_apply_93 + self._trace('', (2518, 2522), self.input.position) + _G_exactly_94, lastError = self.exactly(':') + self.considerError(lastError, 'n_hgvs_position') + self._trace('', (2522, 2526), self.input.position) + _G_exactly_95, lastError = self.exactly('n') + self.considerError(lastError, 'n_hgvs_position') + _locals['type'] = _G_exactly_95 + self._trace('', (2531, 2535), self.input.position) + _G_exactly_96, lastError = self.exactly('.') + self.considerError(lastError, 'n_hgvs_position') + self._trace('', (2535, 2546), self.input.position) _G_apply_97, lastError = self._apply(self.rule_n_interval, "n_interval", []) - self.considerError(lastError, "n_hgvs_position") - _locals["pos"] = _G_apply_97 + self.considerError(lastError, 'n_hgvs_position') + _locals['pos'] = _G_apply_97 _G_python_98, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, "n_hgvs_position") + self.considerError(lastError, 'n_hgvs_position') return (_G_python_98, self.currentError) + def rule_p_hgvs_position(self): - _locals = {"self": self} - self.locals["p_hgvs_position"] = _locals - self._trace("", (2641, 2646), self.input.position) + _locals = {'self': self} + self.locals['p_hgvs_position'] = _locals + self._trace('', (2640, 2645), self.input.position) _G_apply_99, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "p_hgvs_position") - _locals["ac"] = _G_apply_99 - self._trace("", (2649, 2663), self.input.position) + self.considerError(lastError, 'p_hgvs_position') + _locals['ac'] = _G_apply_99 + self._trace('', (2648, 2662), self.input.position) _G_apply_100, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "p_hgvs_position") - _locals["gene"] = _G_apply_100 - self._trace("", (2668, 2672), self.input.position) - _G_exactly_101, lastError = self.exactly(":") - self.considerError(lastError, "p_hgvs_position") - self._trace("", (2672, 2676), self.input.position) - _G_exactly_102, lastError = self.exactly("p") - self.considerError(lastError, "p_hgvs_position") - _locals["type"] = _G_exactly_102 - self._trace("", (2681, 2685), self.input.position) - _G_exactly_103, lastError = self.exactly(".") - self.considerError(lastError, "p_hgvs_position") - self._trace("", (2685, 2696), self.input.position) + self.considerError(lastError, 'p_hgvs_position') + _locals['gene'] = _G_apply_100 + self._trace('', (2667, 2671), self.input.position) + _G_exactly_101, lastError = self.exactly(':') + self.considerError(lastError, 'p_hgvs_position') + self._trace('', (2671, 2675), self.input.position) + _G_exactly_102, lastError = self.exactly('p') + self.considerError(lastError, 'p_hgvs_position') + _locals['type'] = _G_exactly_102 + self._trace('', (2680, 2684), self.input.position) + _G_exactly_103, lastError = self.exactly('.') + self.considerError(lastError, 'p_hgvs_position') + self._trace('', (2684, 2695), self.input.position) _G_apply_104, lastError = self._apply(self.rule_p_interval, "p_interval", []) - self.considerError(lastError, "p_hgvs_position") - _locals["pos"] = _G_apply_104 + self.considerError(lastError, 'p_hgvs_position') + _locals['pos'] = _G_apply_104 _G_python_105, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, "p_hgvs_position") + self.considerError(lastError, 'p_hgvs_position') return (_G_python_105, self.currentError) + def rule_r_hgvs_position(self): - _locals = {"self": self} - self.locals["r_hgvs_position"] = _locals - self._trace("", (2790, 2795), self.input.position) + _locals = {'self': self} + self.locals['r_hgvs_position'] = _locals + self._trace('', (2789, 2794), self.input.position) _G_apply_106, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, "r_hgvs_position") - _locals["ac"] = _G_apply_106 - self._trace("", (2798, 2812), self.input.position) + self.considerError(lastError, 'r_hgvs_position') + _locals['ac'] = _G_apply_106 + self._trace('', (2797, 2811), self.input.position) _G_apply_107, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, "r_hgvs_position") - _locals["gene"] = _G_apply_107 - self._trace("", (2817, 2821), self.input.position) - _G_exactly_108, lastError = self.exactly(":") - self.considerError(lastError, "r_hgvs_position") - self._trace("", (2821, 2825), self.input.position) - _G_exactly_109, lastError = self.exactly("r") - self.considerError(lastError, "r_hgvs_position") - _locals["type"] = _G_exactly_109 - self._trace("", (2830, 2834), self.input.position) - _G_exactly_110, lastError = self.exactly(".") - self.considerError(lastError, "r_hgvs_position") - self._trace("", (2834, 2845), self.input.position) + self.considerError(lastError, 'r_hgvs_position') + _locals['gene'] = _G_apply_107 + self._trace('', (2816, 2820), self.input.position) + _G_exactly_108, lastError = self.exactly(':') + self.considerError(lastError, 'r_hgvs_position') + self._trace('', (2820, 2824), self.input.position) + _G_exactly_109, lastError = self.exactly('r') + self.considerError(lastError, 'r_hgvs_position') + _locals['type'] = _G_exactly_109 + self._trace('', (2829, 2833), self.input.position) + _G_exactly_110, lastError = self.exactly('.') + self.considerError(lastError, 'r_hgvs_position') + self._trace('', (2833, 2844), self.input.position) _G_apply_111, lastError = self._apply(self.rule_r_interval, "r_interval", []) - self.considerError(lastError, "r_hgvs_position") - _locals["pos"] = _G_apply_111 + self.considerError(lastError, 'r_hgvs_position') + _locals['pos'] = _G_apply_111 _G_python_112, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, "r_hgvs_position") + self.considerError(lastError, 'r_hgvs_position') return (_G_python_112, self.currentError) + def rule_c_typed_posedit(self): - _locals = {"self": self} - self.locals["c_typed_posedit"] = _locals - self._trace("", (3249, 3253), self.input.position) - _G_exactly_113, lastError = self.exactly("c") - self.considerError(lastError, "c_typed_posedit") - _locals["type"] = _G_exactly_113 - self._trace("", (3258, 3262), self.input.position) - _G_exactly_114, lastError = self.exactly(".") - self.considerError(lastError, "c_typed_posedit") - self._trace("", (3262, 3272), self.input.position) + _locals = {'self': self} + self.locals['c_typed_posedit'] = _locals + self._trace('', (3248, 3252), self.input.position) + _G_exactly_113, lastError = self.exactly('c') + self.considerError(lastError, 'c_typed_posedit') + _locals['type'] = _G_exactly_113 + self._trace('', (3257, 3261), self.input.position) + _G_exactly_114, lastError = self.exactly('.') + self.considerError(lastError, 'c_typed_posedit') + self._trace('', (3261, 3271), self.input.position) _G_apply_115, lastError = self._apply(self.rule_c_posedit, "c_posedit", []) - self.considerError(lastError, "c_typed_posedit") - _locals["posedit"] = _G_apply_115 + self.considerError(lastError, 'c_typed_posedit') + _locals['posedit'] = _G_apply_115 _G_python_117, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, "c_typed_posedit") + self.considerError(lastError, 'c_typed_posedit') return (_G_python_117, self.currentError) + def rule_g_typed_posedit(self): - _locals = {"self": self} - self.locals["g_typed_posedit"] = _locals - self._trace("", (3357, 3361), self.input.position) - _G_exactly_118, lastError = self.exactly("g") - self.considerError(lastError, "g_typed_posedit") - _locals["type"] = _G_exactly_118 - self._trace("", (3366, 3370), self.input.position) - _G_exactly_119, lastError = self.exactly(".") - self.considerError(lastError, "g_typed_posedit") - self._trace("", (3370, 3380), self.input.position) + _locals = {'self': self} + self.locals['g_typed_posedit'] = _locals + self._trace('', (3356, 3360), self.input.position) + _G_exactly_118, lastError = self.exactly('g') + self.considerError(lastError, 'g_typed_posedit') + _locals['type'] = _G_exactly_118 + self._trace('', (3365, 3369), self.input.position) + _G_exactly_119, lastError = self.exactly('.') + self.considerError(lastError, 'g_typed_posedit') + self._trace('', (3369, 3379), self.input.position) _G_apply_120, lastError = self._apply(self.rule_g_posedit, "g_posedit", []) - self.considerError(lastError, "g_typed_posedit") - _locals["posedit"] = _G_apply_120 + self.considerError(lastError, 'g_typed_posedit') + _locals['posedit'] = _G_apply_120 _G_python_121, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, "g_typed_posedit") + self.considerError(lastError, 'g_typed_posedit') return (_G_python_121, self.currentError) + def rule_m_typed_posedit(self): - _locals = {"self": self} - self.locals["m_typed_posedit"] = _locals - self._trace("", (3465, 3469), self.input.position) - _G_exactly_122, lastError = self.exactly("m") - self.considerError(lastError, "m_typed_posedit") - _locals["type"] = _G_exactly_122 - self._trace("", (3474, 3478), self.input.position) - _G_exactly_123, lastError = self.exactly(".") - self.considerError(lastError, "m_typed_posedit") - self._trace("", (3478, 3488), self.input.position) + _locals = {'self': self} + self.locals['m_typed_posedit'] = _locals + self._trace('', (3464, 3468), self.input.position) + _G_exactly_122, lastError = self.exactly('m') + self.considerError(lastError, 'm_typed_posedit') + _locals['type'] = _G_exactly_122 + self._trace('', (3473, 3477), self.input.position) + _G_exactly_123, lastError = self.exactly('.') + self.considerError(lastError, 'm_typed_posedit') + self._trace('', (3477, 3487), self.input.position) _G_apply_124, lastError = self._apply(self.rule_m_posedit, "m_posedit", []) - self.considerError(lastError, "m_typed_posedit") - _locals["posedit"] = _G_apply_124 + self.considerError(lastError, 'm_typed_posedit') + _locals['posedit'] = _G_apply_124 _G_python_125, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, "m_typed_posedit") + self.considerError(lastError, 'm_typed_posedit') return (_G_python_125, self.currentError) + def rule_n_typed_posedit(self): - _locals = {"self": self} - self.locals["n_typed_posedit"] = _locals - self._trace("", (3573, 3577), self.input.position) - _G_exactly_126, lastError = self.exactly("n") - self.considerError(lastError, "n_typed_posedit") - _locals["type"] = _G_exactly_126 - self._trace("", (3582, 3586), self.input.position) - _G_exactly_127, lastError = self.exactly(".") - self.considerError(lastError, "n_typed_posedit") - self._trace("", (3586, 3596), self.input.position) + _locals = {'self': self} + self.locals['n_typed_posedit'] = _locals + self._trace('', (3572, 3576), self.input.position) + _G_exactly_126, lastError = self.exactly('n') + self.considerError(lastError, 'n_typed_posedit') + _locals['type'] = _G_exactly_126 + self._trace('', (3581, 3585), self.input.position) + _G_exactly_127, lastError = self.exactly('.') + self.considerError(lastError, 'n_typed_posedit') + self._trace('', (3585, 3595), self.input.position) _G_apply_128, lastError = self._apply(self.rule_n_posedit, "n_posedit", []) - self.considerError(lastError, "n_typed_posedit") - _locals["posedit"] = _G_apply_128 + self.considerError(lastError, 'n_typed_posedit') + _locals['posedit'] = _G_apply_128 _G_python_129, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, "n_typed_posedit") + self.considerError(lastError, 'n_typed_posedit') return (_G_python_129, self.currentError) + def rule_p_typed_posedit(self): - _locals = {"self": self} - self.locals["p_typed_posedit"] = _locals - self._trace("", (3681, 3685), self.input.position) - _G_exactly_130, lastError = self.exactly("p") - self.considerError(lastError, "p_typed_posedit") - _locals["type"] = _G_exactly_130 - self._trace("", (3690, 3694), self.input.position) - _G_exactly_131, lastError = self.exactly(".") - self.considerError(lastError, "p_typed_posedit") - self._trace("", (3694, 3704), self.input.position) + _locals = {'self': self} + self.locals['p_typed_posedit'] = _locals + self._trace('', (3680, 3684), self.input.position) + _G_exactly_130, lastError = self.exactly('p') + self.considerError(lastError, 'p_typed_posedit') + _locals['type'] = _G_exactly_130 + self._trace('', (3689, 3693), self.input.position) + _G_exactly_131, lastError = self.exactly('.') + self.considerError(lastError, 'p_typed_posedit') + self._trace('', (3693, 3703), self.input.position) _G_apply_132, lastError = self._apply(self.rule_p_posedit, "p_posedit", []) - self.considerError(lastError, "p_typed_posedit") - _locals["posedit"] = _G_apply_132 + self.considerError(lastError, 'p_typed_posedit') + _locals['posedit'] = _G_apply_132 _G_python_133, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, "p_typed_posedit") + self.considerError(lastError, 'p_typed_posedit') return (_G_python_133, self.currentError) + def rule_r_typed_posedit(self): - _locals = {"self": self} - self.locals["r_typed_posedit"] = _locals - self._trace("", (3789, 3793), self.input.position) - _G_exactly_134, lastError = self.exactly("r") - self.considerError(lastError, "r_typed_posedit") - _locals["type"] = _G_exactly_134 - self._trace("", (3798, 3802), self.input.position) - _G_exactly_135, lastError = self.exactly(".") - self.considerError(lastError, "r_typed_posedit") - self._trace("", (3802, 3812), self.input.position) + _locals = {'self': self} + self.locals['r_typed_posedit'] = _locals + self._trace('', (3788, 3792), self.input.position) + _G_exactly_134, lastError = self.exactly('r') + self.considerError(lastError, 'r_typed_posedit') + _locals['type'] = _G_exactly_134 + self._trace('', (3797, 3801), self.input.position) + _G_exactly_135, lastError = self.exactly('.') + self.considerError(lastError, 'r_typed_posedit') + self._trace('', (3801, 3811), self.input.position) _G_apply_136, lastError = self._apply(self.rule_r_posedit, "r_posedit", []) - self.considerError(lastError, "r_typed_posedit") - _locals["posedit"] = _G_apply_136 + self.considerError(lastError, 'r_typed_posedit') + _locals['posedit'] = _G_apply_136 _G_python_137, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, "r_typed_posedit") + self.considerError(lastError, 'r_typed_posedit') return (_G_python_137, self.currentError) + def rule_c_posedit(self): - _locals = {"self": self} - self.locals["c_posedit"] = _locals - self._trace("", (4010, 4021), self.input.position) + _locals = {'self': self} + self.locals['c_posedit'] = _locals + self._trace('', (4009, 4020), self.input.position) _G_apply_138, lastError = self._apply(self.rule_c_interval, "c_interval", []) - self.considerError(lastError, "c_posedit") - _locals["pos"] = _G_apply_138 - self._trace("", (4025, 4034), self.input.position) + self.considerError(lastError, 'c_posedit') + _locals['pos'] = _G_apply_138 + self._trace('', (4024, 4033), self.input.position) _G_apply_139, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, "c_posedit") - _locals["edit"] = _G_apply_139 + self.considerError(lastError, 'c_posedit') + _locals['edit'] = _G_apply_139 _G_python_141, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, "c_posedit") + self.considerError(lastError, 'c_posedit') return (_G_python_141, self.currentError) + def rule_g_posedit(self): - _locals = {"self": self} - self.locals["g_posedit"] = _locals - self._trace("", (4094, 4105), self.input.position) + _locals = {'self': self} + self.locals['g_posedit'] = _locals + self._trace('', (4093, 4104), self.input.position) _G_apply_142, lastError = self._apply(self.rule_g_interval, "g_interval", []) - self.considerError(lastError, "g_posedit") - _locals["pos"] = _G_apply_142 - self._trace("", (4109, 4118), self.input.position) + self.considerError(lastError, 'g_posedit') + _locals['pos'] = _G_apply_142 + self._trace('', (4108, 4117), self.input.position) _G_apply_143, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, "g_posedit") - _locals["edit"] = _G_apply_143 + self.considerError(lastError, 'g_posedit') + _locals['edit'] = _G_apply_143 _G_python_144, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, "g_posedit") + self.considerError(lastError, 'g_posedit') return (_G_python_144, self.currentError) + def rule_m_posedit(self): - _locals = {"self": self} - self.locals["m_posedit"] = _locals - self._trace("", (4178, 4189), self.input.position) + _locals = {'self': self} + self.locals['m_posedit'] = _locals + self._trace('', (4177, 4188), self.input.position) _G_apply_145, lastError = self._apply(self.rule_m_interval, "m_interval", []) - self.considerError(lastError, "m_posedit") - _locals["pos"] = _G_apply_145 - self._trace("", (4193, 4202), self.input.position) + self.considerError(lastError, 'm_posedit') + _locals['pos'] = _G_apply_145 + self._trace('', (4192, 4201), self.input.position) _G_apply_146, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, "m_posedit") - _locals["edit"] = _G_apply_146 + self.considerError(lastError, 'm_posedit') + _locals['edit'] = _G_apply_146 _G_python_147, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, "m_posedit") + self.considerError(lastError, 'm_posedit') return (_G_python_147, self.currentError) + def rule_n_posedit(self): - _locals = {"self": self} - self.locals["n_posedit"] = _locals - self._trace("", (4262, 4273), self.input.position) + _locals = {'self': self} + self.locals['n_posedit'] = _locals + self._trace('', (4261, 4272), self.input.position) _G_apply_148, lastError = self._apply(self.rule_n_interval, "n_interval", []) - self.considerError(lastError, "n_posedit") - _locals["pos"] = _G_apply_148 - self._trace("", (4277, 4286), self.input.position) + self.considerError(lastError, 'n_posedit') + _locals['pos'] = _G_apply_148 + self._trace('', (4276, 4285), self.input.position) _G_apply_149, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, "n_posedit") - _locals["edit"] = _G_apply_149 + self.considerError(lastError, 'n_posedit') + _locals['edit'] = _G_apply_149 _G_python_150, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, "n_posedit") + self.considerError(lastError, 'n_posedit') return (_G_python_150, self.currentError) - def rule_r_posedit(self): - _locals = {"self": self} - self.locals["r_posedit"] = _locals + def rule_r_posedit(self): + _locals = {'self': self} + self.locals['r_posedit'] = _locals def _G_or_151(): - self._trace("", (4348, 4358), self.input.position) + self._trace('', (4347, 4357), self.input.position) _G_apply_152, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, None) - _locals["pos"] = _G_apply_152 - self._trace("", (4362, 4371), self.input.position) + _locals['pos'] = _G_apply_152 + self._trace('', (4361, 4370), self.input.position) _G_apply_153, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) - _locals["edit"] = _G_apply_153 + _locals['edit'] = _G_apply_153 _G_python_154, lastError = eval(self._G_expr_140, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_154, self.currentError) - def _G_or_155(): - self._trace("", (4427, 4430), self.input.position) - _G_exactly_156, lastError = self.exactly("(") + self._trace('', (4426, 4429), self.input.position) + _G_exactly_156, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (4430, 4441), self.input.position) + self._trace('', (4429, 4440), self.input.position) _G_apply_157, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, None) - _locals["pos"] = _G_apply_157 - self._trace("", (4445, 4454), self.input.position) + _locals['pos'] = _G_apply_157 + self._trace('', (4444, 4453), self.input.position) _G_apply_158, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) - _locals["edit"] = _G_apply_158 - self._trace("", (4459, 4463), self.input.position) - _G_exactly_159, lastError = self.exactly(")") + _locals['edit'] = _G_apply_158 + self._trace('', (4458, 4462), self.input.position) + _G_exactly_159, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_161, lastError = eval(self._G_expr_160, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_161, self.currentError) - _G_or_162, lastError = self._or([_G_or_151, _G_or_155]) - self.considerError(lastError, "r_posedit") + self.considerError(lastError, 'r_posedit') return (_G_or_162, self.currentError) - def rule_p_posedit(self): - _locals = {"self": self} - self.locals["p_posedit"] = _locals + def rule_p_posedit(self): + _locals = {'self': self} + self.locals['p_posedit'] = _locals def _G_or_163(): - self._trace("", (4540, 4550), self.input.position) + self._trace('', (4539, 4549), self.input.position) _G_apply_164, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, None) - _locals["pos"] = _G_apply_164 - self._trace("", (4554, 4563), self.input.position) + _locals['pos'] = _G_apply_164 + self._trace('', (4553, 4562), self.input.position) _G_apply_165, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) - _locals["edit"] = _G_apply_165 + _locals['edit'] = _G_apply_165 _G_python_166, lastError = eval(self._G_expr_140, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_166, self.currentError) - def _G_or_167(): - self._trace("", (4619, 4622), self.input.position) - _G_exactly_168, lastError = self.exactly("(") + self._trace('', (4618, 4621), self.input.position) + _G_exactly_168, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (4622, 4633), self.input.position) + self._trace('', (4621, 4632), self.input.position) _G_apply_169, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, None) - _locals["pos"] = _G_apply_169 - self._trace("", (4637, 4646), self.input.position) + _locals['pos'] = _G_apply_169 + self._trace('', (4636, 4645), self.input.position) _G_apply_170, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) - _locals["edit"] = _G_apply_170 - self._trace("", (4651, 4655), self.input.position) - _G_exactly_171, lastError = self.exactly(")") + _locals['edit'] = _G_apply_170 + self._trace('', (4650, 4654), self.input.position) + _G_exactly_171, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_172, lastError = eval(self._G_expr_160, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_172, self.currentError) - def _G_or_173(): - self._trace("", (4720, 4738), self.input.position) - _G_apply_174, lastError = self._apply( - self.rule_p_posedit_special, "p_posedit_special", [] - ) + self._trace('', (4719, 4737), self.input.position) + _G_apply_174, lastError = self._apply(self.rule_p_posedit_special, "p_posedit_special", []) self.considerError(lastError, None) return (_G_apply_174, self.currentError) - _G_or_175, lastError = self._or([_G_or_163, _G_or_167, _G_or_173]) - self.considerError(lastError, "p_posedit") + self.considerError(lastError, 'p_posedit') return (_G_or_175, self.currentError) - def rule_p_posedit_special(self): - _locals = {"self": self} - self.locals["p_posedit_special"] = _locals + def rule_p_posedit_special(self): + _locals = {'self': self} + self.locals['p_posedit_special'] = _locals def _G_or_176(): - self._trace("", (4758, 4769), self.input.position) - _G_exactly_177, lastError = self.exactly("=") + self._trace('', (4757, 4767), self.input.position) + _G_exactly_177, lastError = self.exactly('=') self.considerError(lastError, None) - _locals["x"] = _G_exactly_177 + _locals['x'] = _G_exactly_177 _G_python_179, lastError = eval(self._G_expr_178, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_179, self.currentError) - def _G_or_180(): - self._trace("", (4831, 4835), self.input.position) - _G_exactly_181, lastError = self.exactly("(") + self._trace('', (4829, 4833), self.input.position) + _G_exactly_181, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (4835, 4839), self.input.position) - _G_exactly_182, lastError = self.exactly("=") + self._trace('', (4833, 4837), self.input.position) + _G_exactly_182, lastError = self.exactly('=') self.considerError(lastError, None) - _locals["x"] = _G_exactly_182 - self._trace("", (4841, 4845), self.input.position) - _G_exactly_183, lastError = self.exactly(")") + _locals['x'] = _G_exactly_182 + self._trace('', (4839, 4843), self.input.position) + _G_exactly_183, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_185, lastError = eval(self._G_expr_184, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_185, self.currentError) - def _G_or_186(): - self._trace("", (4904, 4908), self.input.position) - _G_exactly_187, lastError = self.exactly("0") + self._trace('', (4902, 4906), self.input.position) + _G_exactly_187, lastError = self.exactly('0') self.considerError(lastError, None) - _locals["x"] = _G_exactly_187 - self._trace("", (4910, 4914), self.input.position) - _G_exactly_188, lastError = self.exactly("?") + _locals['x'] = _G_exactly_187 + self._trace('', (4908, 4912), self.input.position) + _G_exactly_188, lastError = self.exactly('?') self.considerError(lastError, None) _G_python_189, lastError = eval(self._G_expr_184, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_189, self.currentError) - def _G_or_190(): - self._trace("", (4973, 4977), self.input.position) - _G_exactly_191, lastError = self.exactly("0") + self._trace('', (4971, 4975), self.input.position) + _G_exactly_191, lastError = self.exactly('0') self.considerError(lastError, None) - _locals["x"] = _G_exactly_191 + _locals['x'] = _G_exactly_191 _G_python_192, lastError = eval(self._G_expr_178, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_192, self.currentError) - def _G_or_193(): - self._trace("", (5039, 5043), self.input.position) - _G_exactly_194, lastError = self.exactly("?") + self._trace('', (5037, 5041), self.input.position) + _G_exactly_194, lastError = self.exactly('?') self.considerError(lastError, None) - _locals["x"] = _G_exactly_194 + _locals['x'] = _G_exactly_194 _G_python_195, lastError = (None), None self.considerError(lastError, None) return (_G_python_195, self.currentError) - _G_or_196, lastError = self._or([_G_or_176, _G_or_180, _G_or_186, _G_or_190, _G_or_193]) - self.considerError(lastError, "p_posedit_special") + self.considerError(lastError, 'p_posedit_special') return (_G_or_196, self.currentError) - def rule_dna_edit_mu(self): - _locals = {"self": self} - self.locals["dna_edit_mu"] = _locals + def rule_dna_edit_mu(self): + _locals = {'self': self} + self.locals['dna_edit_mu'] = _locals def _G_or_197(): - self._trace("", (5394, 5403), self.input.position) + self._trace('', (5392, 5401), self.input.position) _G_apply_198, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, None) return (_G_apply_198, self.currentError) - def _G_or_199(): - self._trace("", (5405, 5409), self.input.position) - _G_exactly_200, lastError = self.exactly("(") + self._trace('', (5403, 5407), self.input.position) + _G_exactly_200, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (5409, 5418), self.input.position) + self._trace('', (5407, 5416), self.input.position) _G_apply_201, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, None) - _locals["edit"] = _G_apply_201 - self._trace("", (5423, 5427), self.input.position) - _G_exactly_202, lastError = self.exactly(")") + _locals['edit'] = _G_apply_201 + self._trace('', (5421, 5425), self.input.position) + _G_exactly_202, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_204, lastError = eval(self._G_expr_203, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_204, self.currentError) - _G_or_205, lastError = self._or([_G_or_197, _G_or_199]) - self.considerError(lastError, "dna_edit_mu") + self.considerError(lastError, 'dna_edit_mu') return (_G_or_205, self.currentError) - def rule_dna_edit(self): - _locals = {"self": self} - self.locals["dna_edit"] = _locals + def rule_dna_edit(self): + _locals = {'self': self} + self.locals['dna_edit'] = _locals def _G_or_206(): - self._trace("", (5465, 5475), self.input.position) + self._trace('', (5463, 5473), self.input.position) _G_apply_207, lastError = self._apply(self.rule_dna_ident, "dna_ident", []) self.considerError(lastError, None) return (_G_apply_207, self.currentError) - def _G_or_208(): - self._trace("", (5477, 5487), self.input.position) + self._trace('', (5475, 5485), self.input.position) _G_apply_209, lastError = self._apply(self.rule_dna_subst, "dna_subst", []) self.considerError(lastError, None) return (_G_apply_209, self.currentError) - def _G_or_210(): - self._trace("", (5489, 5500), self.input.position) + self._trace('', (5487, 5498), self.input.position) _G_apply_211, lastError = self._apply(self.rule_dna_delins, "dna_delins", []) self.considerError(lastError, None) return (_G_apply_211, self.currentError) - def _G_or_212(): - self._trace("", (5502, 5510), self.input.position) + self._trace('', (5500, 5508), self.input.position) _G_apply_213, lastError = self._apply(self.rule_dna_ins, "dna_ins", []) self.considerError(lastError, None) return (_G_apply_213, self.currentError) - def _G_or_214(): - self._trace("", (5512, 5520), self.input.position) + self._trace('', (5510, 5518), self.input.position) _G_apply_215, lastError = self._apply(self.rule_dna_del, "dna_del", []) self.considerError(lastError, None) return (_G_apply_215, self.currentError) - def _G_or_216(): - self._trace("", (5522, 5530), self.input.position) + self._trace('', (5520, 5528), self.input.position) _G_apply_217, lastError = self._apply(self.rule_dna_dup, "dna_dup", []) self.considerError(lastError, None) return (_G_apply_217, self.currentError) - def _G_or_218(): - self._trace("", (5532, 5540), self.input.position) + self._trace('', (5530, 5538), self.input.position) _G_apply_219, lastError = self._apply(self.rule_dna_inv, "dna_inv", []) self.considerError(lastError, None) return (_G_apply_219, self.currentError) - def _G_or_220(): - self._trace("", (5542, 5550), self.input.position) + self._trace('', (5540, 5548), self.input.position) _G_apply_221, lastError = self._apply(self.rule_dna_con, "dna_con", []) self.considerError(lastError, None) return (_G_apply_221, self.currentError) - def _G_or_222(): - self._trace("", (5552, 5561), self.input.position) + self._trace('', (5550, 5559), self.input.position) _G_apply_223, lastError = self._apply(self.rule_dna_copy, "dna_copy", []) self.considerError(lastError, None) return (_G_apply_223, self.currentError) - - _G_or_224, lastError = self._or( - [ - _G_or_206, - _G_or_208, - _G_or_210, - _G_or_212, - _G_or_214, - _G_or_216, - _G_or_218, - _G_or_220, - _G_or_222, - ] - ) - self.considerError(lastError, "dna_edit") + _G_or_224, lastError = self._or([_G_or_206, _G_or_208, _G_or_210, _G_or_212, _G_or_214, _G_or_216, _G_or_218, _G_or_220, _G_or_222]) + self.considerError(lastError, 'dna_edit') return (_G_or_224, self.currentError) - def rule_dna_ident(self): - _locals = {"self": self} - self.locals["dna_ident"] = _locals + def rule_dna_ident(self): + _locals = {'self': self} + self.locals['dna_ident'] = _locals def _G_consumedby_225(): def _G_many_226(): - self._trace("", (5576, 5579), self.input.position) + self._trace('', (5574, 5577), self.input.position) _G_apply_227, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_227, self.currentError) - _G_many_228, lastError = self.many(_G_many_226) self.considerError(lastError, None) return (_G_many_228, self.currentError) - _G_consumedby_229, lastError = self.consumedby(_G_consumedby_225) - self.considerError(lastError, "dna_ident") - _locals["ref"] = _G_consumedby_229 - self._trace("", (5585, 5589), self.input.position) - _G_exactly_230, lastError = self.exactly("=") - self.considerError(lastError, "dna_ident") + self.considerError(lastError, 'dna_ident') + _locals['ref'] = _G_consumedby_229 + self._trace('', (5583, 5587), self.input.position) + _G_exactly_230, lastError = self.exactly('=') + self.considerError(lastError, 'dna_ident') _G_python_232, lastError = eval(self._G_expr_231, self.globals, _locals), None - self.considerError(lastError, "dna_ident") + self.considerError(lastError, 'dna_ident') return (_G_python_232, self.currentError) + def rule_dna_subst(self): - _locals = {"self": self} - self.locals["dna_subst"] = _locals - self._trace("", (5651, 5655), self.input.position) + _locals = {'self': self} + self.locals['dna_subst'] = _locals + self._trace('', (5649, 5653), self.input.position) _G_apply_233, lastError = self._apply(self.rule_dna, "dna", []) - self.considerError(lastError, "dna_subst") - _locals["ref"] = _G_apply_233 - self._trace("", (5659, 5663), self.input.position) - _G_exactly_234, lastError = self.exactly(">") - self.considerError(lastError, "dna_subst") - self._trace("", (5663, 5667), self.input.position) + self.considerError(lastError, 'dna_subst') + _locals['ref'] = _G_apply_233 + self._trace('', (5657, 5661), self.input.position) + _G_exactly_234, lastError = self.exactly('>') + self.considerError(lastError, 'dna_subst') + self._trace('', (5661, 5665), self.input.position) _G_apply_235, lastError = self._apply(self.rule_dna, "dna", []) - self.considerError(lastError, "dna_subst") - _locals["alt"] = _G_apply_235 + self.considerError(lastError, 'dna_subst') + _locals['alt'] = _G_apply_235 _G_python_237, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, "dna_subst") + self.considerError(lastError, 'dna_subst') return (_G_python_237, self.currentError) - def rule_dna_delins(self): - _locals = {"self": self} - self.locals["dna_delins"] = _locals - self._trace("", (5728, 5734), self.input.position) - _G_exactly_238, lastError = self.exactly("del") - self.considerError(lastError, "dna_delins") + def rule_dna_delins(self): + _locals = {'self': self} + self.locals['dna_delins'] = _locals + self._trace('', (5726, 5732), self.input.position) + _G_exactly_238, lastError = self.exactly('del') + self.considerError(lastError, 'dna_delins') def _G_or_239(): def _G_consumedby_240(): - self._trace("", (5737, 5740), self.input.position) + self._trace('', (5735, 5738), self.input.position) _G_apply_241, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_241, self.currentError) - _G_consumedby_242, lastError = self.consumedby(_G_consumedby_240) self.considerError(lastError, None) return (_G_consumedby_242, self.currentError) - def _G_or_243(): def _G_consumedby_244(): def _G_many_245(): - self._trace("", (5743, 5746), self.input.position) + self._trace('', (5741, 5744), self.input.position) _G_apply_246, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_246, self.currentError) - _G_many_247, lastError = self.many(_G_many_245) self.considerError(lastError, None) return (_G_many_247, self.currentError) - _G_consumedby_248, lastError = self.consumedby(_G_consumedby_244) self.considerError(lastError, None) return (_G_consumedby_248, self.currentError) - _G_or_249, lastError = self._or([_G_or_239, _G_or_243]) - self.considerError(lastError, "dna_delins") - _locals["ref"] = _G_or_249 - self._trace("", (5753, 5759), self.input.position) - _G_exactly_250, lastError = self.exactly("ins") - self.considerError(lastError, "dna_delins") - + self.considerError(lastError, 'dna_delins') + _locals['ref'] = _G_or_249 + self._trace('', (5751, 5757), self.input.position) + _G_exactly_250, lastError = self.exactly('ins') + self.considerError(lastError, 'dna_delins') def _G_consumedby_251(): def _G_many1_252(): - self._trace("", (5761, 5764), self.input.position) + self._trace('', (5759, 5762), self.input.position) _G_apply_253, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_253, self.currentError) - _G_many1_254, lastError = self.many(_G_many1_252, _G_many1_252()) self.considerError(lastError, None) return (_G_many1_254, self.currentError) - _G_consumedby_255, lastError = self.consumedby(_G_consumedby_251) - self.considerError(lastError, "dna_delins") - _locals["alt"] = _G_consumedby_255 + self.considerError(lastError, 'dna_delins') + _locals['alt'] = _G_consumedby_255 _G_python_256, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, "dna_delins") + self.considerError(lastError, 'dna_delins') return (_G_python_256, self.currentError) - def rule_dna_del(self): - _locals = {"self": self} - self.locals["dna_del"] = _locals - self._trace("", (5823, 5829), self.input.position) - _G_exactly_257, lastError = self.exactly("del") - self.considerError(lastError, "dna_del") + def rule_dna_del(self): + _locals = {'self': self} + self.locals['dna_del'] = _locals + self._trace('', (5821, 5827), self.input.position) + _G_exactly_257, lastError = self.exactly('del') + self.considerError(lastError, 'dna_del') def _G_or_258(): def _G_consumedby_259(): - self._trace("", (5832, 5835), self.input.position) + self._trace('', (5830, 5833), self.input.position) _G_apply_260, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_260, self.currentError) - _G_consumedby_261, lastError = self.consumedby(_G_consumedby_259) self.considerError(lastError, None) return (_G_consumedby_261, self.currentError) - def _G_or_262(): def _G_consumedby_263(): def _G_many_264(): - self._trace("", (5838, 5841), self.input.position) + self._trace('', (5836, 5839), self.input.position) _G_apply_265, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_265, self.currentError) - _G_many_266, lastError = self.many(_G_many_264) self.considerError(lastError, None) return (_G_many_266, self.currentError) - _G_consumedby_267, lastError = self.consumedby(_G_consumedby_263) self.considerError(lastError, None) return (_G_consumedby_267, self.currentError) - _G_or_268, lastError = self._or([_G_or_258, _G_or_262]) - self.considerError(lastError, "dna_del") - _locals["ref"] = _G_or_268 + self.considerError(lastError, 'dna_del') + _locals['ref'] = _G_or_268 _G_python_270, lastError = eval(self._G_expr_269, self.globals, _locals), None - self.considerError(lastError, "dna_del") + self.considerError(lastError, 'dna_del') return (_G_python_270, self.currentError) - def rule_dna_ins(self): - _locals = {"self": self} - self.locals["dna_ins"] = _locals - self._trace("", (5901, 5907), self.input.position) - _G_exactly_271, lastError = self.exactly("ins") - self.considerError(lastError, "dna_ins") + def rule_dna_ins(self): + _locals = {'self': self} + self.locals['dna_ins'] = _locals + self._trace('', (5899, 5905), self.input.position) + _G_exactly_271, lastError = self.exactly('ins') + self.considerError(lastError, 'dna_ins') def _G_consumedby_272(): def _G_many1_273(): - self._trace("", (5909, 5912), self.input.position) + self._trace('', (5907, 5910), self.input.position) _G_apply_274, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_274, self.currentError) - _G_many1_275, lastError = self.many(_G_many1_273, _G_many1_273()) self.considerError(lastError, None) return (_G_many1_275, self.currentError) - _G_consumedby_276, lastError = self.consumedby(_G_consumedby_272) - self.considerError(lastError, "dna_ins") - _locals["alt"] = _G_consumedby_276 + self.considerError(lastError, 'dna_ins') + _locals['alt'] = _G_consumedby_276 _G_python_278, lastError = eval(self._G_expr_277, self.globals, _locals), None - self.considerError(lastError, "dna_ins") + self.considerError(lastError, 'dna_ins') return (_G_python_278, self.currentError) - def rule_dna_dup(self): - _locals = {"self": self} - self.locals["dna_dup"] = _locals - self._trace("", (5979, 5985), self.input.position) - _G_exactly_279, lastError = self.exactly("dup") - self.considerError(lastError, "dna_dup") + def rule_dna_dup(self): + _locals = {'self': self} + self.locals['dna_dup'] = _locals + self._trace('', (5977, 5983), self.input.position) + _G_exactly_279, lastError = self.exactly('dup') + self.considerError(lastError, 'dna_dup') def _G_consumedby_280(): def _G_many_281(): - self._trace("", (5987, 5990), self.input.position) + self._trace('', (5985, 5988), self.input.position) _G_apply_282, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_282, self.currentError) - _G_many_283, lastError = self.many(_G_many_281) self.considerError(lastError, None) return (_G_many_283, self.currentError) - _G_consumedby_284, lastError = self.consumedby(_G_consumedby_280) - self.considerError(lastError, "dna_dup") - _locals["ref"] = _G_consumedby_284 + self.considerError(lastError, 'dna_dup') + _locals['ref'] = _G_consumedby_284 _G_python_286, lastError = eval(self._G_expr_285, self.globals, _locals), None - self.considerError(lastError, "dna_dup") + self.considerError(lastError, 'dna_dup') return (_G_python_286, self.currentError) - def rule_dna_inv(self): - _locals = {"self": self} - self.locals["dna_inv"] = _locals - self._trace("", (6043, 6049), self.input.position) - _G_exactly_287, lastError = self.exactly("inv") - self.considerError(lastError, "dna_inv") + def rule_dna_inv(self): + _locals = {'self': self} + self.locals['dna_inv'] = _locals + self._trace('', (6041, 6047), self.input.position) + _G_exactly_287, lastError = self.exactly('inv') + self.considerError(lastError, 'dna_inv') def _G_or_288(): def _G_consumedby_289(): - self._trace("", (6052, 6055), self.input.position) + self._trace('', (6050, 6053), self.input.position) _G_apply_290, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_290, self.currentError) - _G_consumedby_291, lastError = self.consumedby(_G_consumedby_289) self.considerError(lastError, None) return (_G_consumedby_291, self.currentError) - def _G_or_292(): def _G_consumedby_293(): def _G_many_294(): - self._trace("", (6058, 6061), self.input.position) + self._trace('', (6056, 6059), self.input.position) _G_apply_295, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_295, self.currentError) - _G_many_296, lastError = self.many(_G_many_294) self.considerError(lastError, None) return (_G_many_296, self.currentError) - _G_consumedby_297, lastError = self.consumedby(_G_consumedby_293) self.considerError(lastError, None) return (_G_consumedby_297, self.currentError) - _G_or_298, lastError = self._or([_G_or_288, _G_or_292]) - self.considerError(lastError, "dna_inv") - _locals["ref"] = _G_or_298 + self.considerError(lastError, 'dna_inv') + _locals['ref'] = _G_or_298 _G_python_300, lastError = eval(self._G_expr_299, self.globals, _locals), None - self.considerError(lastError, "dna_inv") + self.considerError(lastError, 'dna_inv') return (_G_python_300, self.currentError) + def rule_dna_con(self): - _locals = {"self": self} - self.locals["dna_con"] = _locals - self._trace("", (6108, 6114), self.input.position) - _G_exactly_301, lastError = self.exactly("con") - self.considerError(lastError, "dna_con") - self._trace("", (6114, 6128), self.input.position) + _locals = {'self': self} + self.locals['dna_con'] = _locals + self._trace('', (6106, 6112), self.input.position) + _G_exactly_301, lastError = self.exactly('con') + self.considerError(lastError, 'dna_con') + self._trace('', (6112, 6126), self.input.position) _G_apply_302, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) - self.considerError(lastError, "dna_con") - _locals["pos"] = _G_apply_302 + self.considerError(lastError, 'dna_con') + _locals['pos'] = _G_apply_302 _G_python_304, lastError = eval(self._G_expr_303, self.globals, _locals), None - self.considerError(lastError, "dna_con") + self.considerError(lastError, 'dna_con') return (_G_python_304, self.currentError) + def rule_dna_copy(self): - _locals = {"self": self} - self.locals["dna_copy"] = _locals - self._trace("", (6218, 6225), self.input.position) - _G_exactly_305, lastError = self.exactly("copy") - self.considerError(lastError, "dna_copy") - self._trace("", (6225, 6229), self.input.position) + _locals = {'self': self} + self.locals['dna_copy'] = _locals + self._trace('', (6216, 6223), self.input.position) + _G_exactly_305, lastError = self.exactly('copy') + self.considerError(lastError, 'dna_copy') + self._trace('', (6223, 6227), self.input.position) _G_apply_306, lastError = self._apply(self.rule_num, "num", []) - self.considerError(lastError, "dna_copy") - _locals["n"] = _G_apply_306 + self.considerError(lastError, 'dna_copy') + _locals['n'] = _G_apply_306 _G_python_308, lastError = eval(self._G_expr_307, self.globals, _locals), None - self.considerError(lastError, "dna_copy") + self.considerError(lastError, 'dna_copy') return (_G_python_308, self.currentError) - def rule_rna_edit_mu(self): - _locals = {"self": self} - self.locals["rna_edit_mu"] = _locals + def rule_rna_edit_mu(self): + _locals = {'self': self} + self.locals['rna_edit_mu'] = _locals def _G_or_309(): - self._trace("", (6274, 6283), self.input.position) + self._trace('', (6272, 6281), self.input.position) _G_apply_310, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) return (_G_apply_310, self.currentError) - def _G_or_311(): - self._trace("", (6285, 6289), self.input.position) - _G_exactly_312, lastError = self.exactly("(") + self._trace('', (6283, 6287), self.input.position) + _G_exactly_312, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (6289, 6298), self.input.position) + self._trace('', (6287, 6296), self.input.position) _G_apply_313, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) - _locals["edit"] = _G_apply_313 - self._trace("", (6303, 6307), self.input.position) - _G_exactly_314, lastError = self.exactly(")") + _locals['edit'] = _G_apply_313 + self._trace('', (6301, 6305), self.input.position) + _G_exactly_314, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_315, lastError = eval(self._G_expr_203, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_315, self.currentError) - _G_or_316, lastError = self._or([_G_or_309, _G_or_311]) - self.considerError(lastError, "rna_edit_mu") + self.considerError(lastError, 'rna_edit_mu') return (_G_or_316, self.currentError) - def rule_rna_edit(self): - _locals = {"self": self} - self.locals["rna_edit"] = _locals + def rule_rna_edit(self): + _locals = {'self': self} + self.locals['rna_edit'] = _locals def _G_or_317(): - self._trace("", (6345, 6355), self.input.position) + self._trace('', (6343, 6353), self.input.position) _G_apply_318, lastError = self._apply(self.rule_rna_ident, "rna_ident", []) self.considerError(lastError, None) return (_G_apply_318, self.currentError) - def _G_or_319(): - self._trace("", (6357, 6367), self.input.position) + self._trace('', (6355, 6365), self.input.position) _G_apply_320, lastError = self._apply(self.rule_rna_subst, "rna_subst", []) self.considerError(lastError, None) return (_G_apply_320, self.currentError) - def _G_or_321(): - self._trace("", (6369, 6380), self.input.position) + self._trace('', (6367, 6378), self.input.position) _G_apply_322, lastError = self._apply(self.rule_rna_delins, "rna_delins", []) self.considerError(lastError, None) return (_G_apply_322, self.currentError) - def _G_or_323(): - self._trace("", (6382, 6390), self.input.position) + self._trace('', (6380, 6388), self.input.position) _G_apply_324, lastError = self._apply(self.rule_rna_ins, "rna_ins", []) self.considerError(lastError, None) return (_G_apply_324, self.currentError) - def _G_or_325(): - self._trace("", (6392, 6400), self.input.position) + self._trace('', (6390, 6398), self.input.position) _G_apply_326, lastError = self._apply(self.rule_rna_del, "rna_del", []) self.considerError(lastError, None) return (_G_apply_326, self.currentError) - def _G_or_327(): - self._trace("", (6402, 6410), self.input.position) + self._trace('', (6400, 6408), self.input.position) _G_apply_328, lastError = self._apply(self.rule_rna_dup, "rna_dup", []) self.considerError(lastError, None) return (_G_apply_328, self.currentError) - def _G_or_329(): - self._trace("", (6412, 6420), self.input.position) + self._trace('', (6410, 6418), self.input.position) _G_apply_330, lastError = self._apply(self.rule_rna_inv, "rna_inv", []) self.considerError(lastError, None) return (_G_apply_330, self.currentError) - def _G_or_331(): - self._trace("", (6422, 6430), self.input.position) + self._trace('', (6420, 6428), self.input.position) _G_apply_332, lastError = self._apply(self.rule_rna_con, "rna_con", []) self.considerError(lastError, None) return (_G_apply_332, self.currentError) - - _G_or_333, lastError = self._or( - [ - _G_or_317, - _G_or_319, - _G_or_321, - _G_or_323, - _G_or_325, - _G_or_327, - _G_or_329, - _G_or_331, - ] - ) - self.considerError(lastError, "rna_edit") + _G_or_333, lastError = self._or([_G_or_317, _G_or_319, _G_or_321, _G_or_323, _G_or_325, _G_or_327, _G_or_329, _G_or_331]) + self.considerError(lastError, 'rna_edit') return (_G_or_333, self.currentError) - def rule_rna_ident(self): - _locals = {"self": self} - self.locals["rna_ident"] = _locals + def rule_rna_ident(self): + _locals = {'self': self} + self.locals['rna_ident'] = _locals def _G_consumedby_334(): def _G_many_335(): - self._trace("", (6445, 6448), self.input.position) + self._trace('', (6443, 6446), self.input.position) _G_apply_336, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_336, self.currentError) - _G_many_337, lastError = self.many(_G_many_335) self.considerError(lastError, None) return (_G_many_337, self.currentError) - _G_consumedby_338, lastError = self.consumedby(_G_consumedby_334) - self.considerError(lastError, "rna_ident") - _locals["ref"] = _G_consumedby_338 - self._trace("", (6454, 6458), self.input.position) - _G_exactly_339, lastError = self.exactly("=") - self.considerError(lastError, "rna_ident") + self.considerError(lastError, 'rna_ident') + _locals['ref'] = _G_consumedby_338 + self._trace('', (6452, 6456), self.input.position) + _G_exactly_339, lastError = self.exactly('=') + self.considerError(lastError, 'rna_ident') _G_python_340, lastError = eval(self._G_expr_231, self.globals, _locals), None - self.considerError(lastError, "rna_ident") + self.considerError(lastError, 'rna_ident') return (_G_python_340, self.currentError) + def rule_rna_subst(self): - _locals = {"self": self} - self.locals["rna_subst"] = _locals - self._trace("", (6527, 6531), self.input.position) + _locals = {'self': self} + self.locals['rna_subst'] = _locals + self._trace('', (6525, 6529), self.input.position) _G_apply_341, lastError = self._apply(self.rule_rna, "rna", []) - self.considerError(lastError, "rna_subst") - _locals["ref"] = _G_apply_341 - self._trace("", (6535, 6539), self.input.position) - _G_exactly_342, lastError = self.exactly(">") - self.considerError(lastError, "rna_subst") - self._trace("", (6539, 6543), self.input.position) + self.considerError(lastError, 'rna_subst') + _locals['ref'] = _G_apply_341 + self._trace('', (6533, 6537), self.input.position) + _G_exactly_342, lastError = self.exactly('>') + self.considerError(lastError, 'rna_subst') + self._trace('', (6537, 6541), self.input.position) _G_apply_343, lastError = self._apply(self.rule_rna, "rna", []) - self.considerError(lastError, "rna_subst") - _locals["alt"] = _G_apply_343 + self.considerError(lastError, 'rna_subst') + _locals['alt'] = _G_apply_343 _G_python_344, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, "rna_subst") + self.considerError(lastError, 'rna_subst') return (_G_python_344, self.currentError) - def rule_rna_delins(self): - _locals = {"self": self} - self.locals["rna_delins"] = _locals - self._trace("", (6611, 6617), self.input.position) - _G_exactly_345, lastError = self.exactly("del") - self.considerError(lastError, "rna_delins") + def rule_rna_delins(self): + _locals = {'self': self} + self.locals['rna_delins'] = _locals + self._trace('', (6609, 6615), self.input.position) + _G_exactly_345, lastError = self.exactly('del') + self.considerError(lastError, 'rna_delins') def _G_or_346(): def _G_consumedby_347(): - self._trace("", (6620, 6623), self.input.position) + self._trace('', (6618, 6621), self.input.position) _G_apply_348, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_348, self.currentError) - _G_consumedby_349, lastError = self.consumedby(_G_consumedby_347) self.considerError(lastError, None) return (_G_consumedby_349, self.currentError) - def _G_or_350(): def _G_consumedby_351(): def _G_many_352(): - self._trace("", (6626, 6629), self.input.position) + self._trace('', (6624, 6627), self.input.position) _G_apply_353, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_353, self.currentError) - _G_many_354, lastError = self.many(_G_many_352) self.considerError(lastError, None) return (_G_many_354, self.currentError) - _G_consumedby_355, lastError = self.consumedby(_G_consumedby_351) self.considerError(lastError, None) return (_G_consumedby_355, self.currentError) - _G_or_356, lastError = self._or([_G_or_346, _G_or_350]) - self.considerError(lastError, "rna_delins") - _locals["ref"] = _G_or_356 - self._trace("", (6636, 6642), self.input.position) - _G_exactly_357, lastError = self.exactly("ins") - self.considerError(lastError, "rna_delins") - + self.considerError(lastError, 'rna_delins') + _locals['ref'] = _G_or_356 + self._trace('', (6634, 6640), self.input.position) + _G_exactly_357, lastError = self.exactly('ins') + self.considerError(lastError, 'rna_delins') def _G_consumedby_358(): def _G_many1_359(): - self._trace("", (6644, 6647), self.input.position) + self._trace('', (6642, 6645), self.input.position) _G_apply_360, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_360, self.currentError) - _G_many1_361, lastError = self.many(_G_many1_359, _G_many1_359()) self.considerError(lastError, None) return (_G_many1_361, self.currentError) - _G_consumedby_362, lastError = self.consumedby(_G_consumedby_358) - self.considerError(lastError, "rna_delins") - _locals["alt"] = _G_consumedby_362 + self.considerError(lastError, 'rna_delins') + _locals['alt'] = _G_consumedby_362 _G_python_363, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, "rna_delins") + self.considerError(lastError, 'rna_delins') return (_G_python_363, self.currentError) - def rule_rna_del(self): - _locals = {"self": self} - self.locals["rna_del"] = _locals - self._trace("", (6706, 6712), self.input.position) - _G_exactly_364, lastError = self.exactly("del") - self.considerError(lastError, "rna_del") + def rule_rna_del(self): + _locals = {'self': self} + self.locals['rna_del'] = _locals + self._trace('', (6704, 6710), self.input.position) + _G_exactly_364, lastError = self.exactly('del') + self.considerError(lastError, 'rna_del') def _G_or_365(): def _G_consumedby_366(): - self._trace("", (6715, 6718), self.input.position) + self._trace('', (6713, 6716), self.input.position) _G_apply_367, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_367, self.currentError) - _G_consumedby_368, lastError = self.consumedby(_G_consumedby_366) self.considerError(lastError, None) return (_G_consumedby_368, self.currentError) - def _G_or_369(): def _G_consumedby_370(): def _G_many_371(): - self._trace("", (6721, 6724), self.input.position) + self._trace('', (6719, 6722), self.input.position) _G_apply_372, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_372, self.currentError) - _G_many_373, lastError = self.many(_G_many_371) self.considerError(lastError, None) return (_G_many_373, self.currentError) - _G_consumedby_374, lastError = self.consumedby(_G_consumedby_370) self.considerError(lastError, None) return (_G_consumedby_374, self.currentError) - _G_or_375, lastError = self._or([_G_or_365, _G_or_369]) - self.considerError(lastError, "rna_del") - _locals["ref"] = _G_or_375 + self.considerError(lastError, 'rna_del') + _locals['ref'] = _G_or_375 _G_python_376, lastError = eval(self._G_expr_269, self.globals, _locals), None - self.considerError(lastError, "rna_del") + self.considerError(lastError, 'rna_del') return (_G_python_376, self.currentError) - def rule_rna_ins(self): - _locals = {"self": self} - self.locals["rna_ins"] = _locals - self._trace("", (6791, 6797), self.input.position) - _G_exactly_377, lastError = self.exactly("ins") - self.considerError(lastError, "rna_ins") + def rule_rna_ins(self): + _locals = {'self': self} + self.locals['rna_ins'] = _locals + self._trace('', (6789, 6795), self.input.position) + _G_exactly_377, lastError = self.exactly('ins') + self.considerError(lastError, 'rna_ins') def _G_consumedby_378(): def _G_many1_379(): - self._trace("", (6799, 6802), self.input.position) + self._trace('', (6797, 6800), self.input.position) _G_apply_380, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_380, self.currentError) - _G_many1_381, lastError = self.many(_G_many1_379, _G_many1_379()) self.considerError(lastError, None) return (_G_many1_381, self.currentError) - _G_consumedby_382, lastError = self.consumedby(_G_consumedby_378) - self.considerError(lastError, "rna_ins") - _locals["alt"] = _G_consumedby_382 + self.considerError(lastError, 'rna_ins') + _locals['alt'] = _G_consumedby_382 _G_python_383, lastError = eval(self._G_expr_277, self.globals, _locals), None - self.considerError(lastError, "rna_ins") + self.considerError(lastError, 'rna_ins') return (_G_python_383, self.currentError) - def rule_rna_dup(self): - _locals = {"self": self} - self.locals["rna_dup"] = _locals - self._trace("", (6876, 6882), self.input.position) - _G_exactly_384, lastError = self.exactly("dup") - self.considerError(lastError, "rna_dup") + def rule_rna_dup(self): + _locals = {'self': self} + self.locals['rna_dup'] = _locals + self._trace('', (6874, 6880), self.input.position) + _G_exactly_384, lastError = self.exactly('dup') + self.considerError(lastError, 'rna_dup') def _G_consumedby_385(): def _G_many_386(): - self._trace("", (6884, 6887), self.input.position) + self._trace('', (6882, 6885), self.input.position) _G_apply_387, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_387, self.currentError) - _G_many_388, lastError = self.many(_G_many_386) self.considerError(lastError, None) return (_G_many_388, self.currentError) - _G_consumedby_389, lastError = self.consumedby(_G_consumedby_385) - self.considerError(lastError, "rna_dup") - _locals["ref"] = _G_consumedby_389 + self.considerError(lastError, 'rna_dup') + _locals['ref'] = _G_consumedby_389 _G_python_390, lastError = eval(self._G_expr_285, self.globals, _locals), None - self.considerError(lastError, "rna_dup") + self.considerError(lastError, 'rna_dup') return (_G_python_390, self.currentError) - def rule_rna_inv(self): - _locals = {"self": self} - self.locals["rna_inv"] = _locals - self._trace("", (6947, 6953), self.input.position) - _G_exactly_391, lastError = self.exactly("inv") - self.considerError(lastError, "rna_inv") + def rule_rna_inv(self): + _locals = {'self': self} + self.locals['rna_inv'] = _locals + self._trace('', (6945, 6951), self.input.position) + _G_exactly_391, lastError = self.exactly('inv') + self.considerError(lastError, 'rna_inv') def _G_or_392(): def _G_consumedby_393(): - self._trace("", (6956, 6959), self.input.position) + self._trace('', (6954, 6957), self.input.position) _G_apply_394, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_394, self.currentError) - _G_consumedby_395, lastError = self.consumedby(_G_consumedby_393) self.considerError(lastError, None) return (_G_consumedby_395, self.currentError) - def _G_or_396(): def _G_consumedby_397(): def _G_many_398(): - self._trace("", (6962, 6965), self.input.position) + self._trace('', (6960, 6963), self.input.position) _G_apply_399, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_399, self.currentError) - _G_many_400, lastError = self.many(_G_many_398) self.considerError(lastError, None) return (_G_many_400, self.currentError) - _G_consumedby_401, lastError = self.consumedby(_G_consumedby_397) self.considerError(lastError, None) return (_G_consumedby_401, self.currentError) - _G_or_402, lastError = self._or([_G_or_392, _G_or_396]) - self.considerError(lastError, "rna_inv") - _locals["ref"] = _G_or_402 + self.considerError(lastError, 'rna_inv') + _locals['ref'] = _G_or_402 _G_python_403, lastError = eval(self._G_expr_299, self.globals, _locals), None - self.considerError(lastError, "rna_inv") + self.considerError(lastError, 'rna_inv') return (_G_python_403, self.currentError) + def rule_rna_con(self): - _locals = {"self": self} - self.locals["rna_con"] = _locals - self._trace("", (7019, 7025), self.input.position) - _G_exactly_404, lastError = self.exactly("con") - self.considerError(lastError, "rna_con") - self._trace("", (7025, 7039), self.input.position) + _locals = {'self': self} + self.locals['rna_con'] = _locals + self._trace('', (7017, 7023), self.input.position) + _G_exactly_404, lastError = self.exactly('con') + self.considerError(lastError, 'rna_con') + self._trace('', (7023, 7037), self.input.position) _G_apply_405, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) - self.considerError(lastError, "rna_con") - _locals["pos"] = _G_apply_405 + self.considerError(lastError, 'rna_con') + _locals['pos'] = _G_apply_405 _G_python_406, lastError = eval(self._G_expr_303, self.globals, _locals), None - self.considerError(lastError, "rna_con") + self.considerError(lastError, 'rna_con') return (_G_python_406, self.currentError) - def rule_pro_edit_mu(self): - _locals = {"self": self} - self.locals["pro_edit_mu"] = _locals + def rule_pro_edit_mu(self): + _locals = {'self': self} + self.locals['pro_edit_mu'] = _locals def _G_or_407(): - self._trace("", (7138, 7147), self.input.position) + self._trace('', (7136, 7145), self.input.position) _G_apply_408, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) return (_G_apply_408, self.currentError) - def _G_or_409(): - self._trace("", (7149, 7153), self.input.position) - _G_exactly_410, lastError = self.exactly("(") + self._trace('', (7147, 7151), self.input.position) + _G_exactly_410, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (7153, 7162), self.input.position) + self._trace('', (7151, 7160), self.input.position) _G_apply_411, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) - _locals["edit"] = _G_apply_411 - self._trace("", (7167, 7171), self.input.position) - _G_exactly_412, lastError = self.exactly(")") + _locals['edit'] = _G_apply_411 + self._trace('', (7165, 7169), self.input.position) + _G_exactly_412, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_413, lastError = eval(self._G_expr_203, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_413, self.currentError) - _G_or_414, lastError = self._or([_G_or_407, _G_or_409]) - self.considerError(lastError, "pro_edit_mu") + self.considerError(lastError, 'pro_edit_mu') return (_G_or_414, self.currentError) - def rule_pro_edit(self): - _locals = {"self": self} - self.locals["pro_edit"] = _locals + def rule_pro_edit(self): + _locals = {'self': self} + self.locals['pro_edit'] = _locals def _G_or_415(): - self._trace("", (7209, 7216), self.input.position) + self._trace('', (7207, 7214), self.input.position) _G_apply_416, lastError = self._apply(self.rule_pro_fs, "pro_fs", []) self.considerError(lastError, None) return (_G_apply_416, self.currentError) - def _G_or_417(): - self._trace("", (7218, 7226), self.input.position) + self._trace('', (7216, 7224), self.input.position) _G_apply_418, lastError = self._apply(self.rule_pro_ext, "pro_ext", []) self.considerError(lastError, None) return (_G_apply_418, self.currentError) - def _G_or_419(): - self._trace("", (7228, 7238), self.input.position) + self._trace('', (7226, 7236), self.input.position) _G_apply_420, lastError = self._apply(self.rule_pro_subst, "pro_subst", []) self.considerError(lastError, None) return (_G_apply_420, self.currentError) - def _G_or_421(): - self._trace("", (7240, 7251), self.input.position) + self._trace('', (7238, 7249), self.input.position) _G_apply_422, lastError = self._apply(self.rule_pro_delins, "pro_delins", []) self.considerError(lastError, None) return (_G_apply_422, self.currentError) - def _G_or_423(): - self._trace("", (7253, 7261), self.input.position) + self._trace('', (7251, 7259), self.input.position) _G_apply_424, lastError = self._apply(self.rule_pro_ins, "pro_ins", []) self.considerError(lastError, None) return (_G_apply_424, self.currentError) - def _G_or_425(): - self._trace("", (7263, 7271), self.input.position) + self._trace('', (7261, 7269), self.input.position) _G_apply_426, lastError = self._apply(self.rule_pro_del, "pro_del", []) self.considerError(lastError, None) return (_G_apply_426, self.currentError) - def _G_or_427(): - self._trace("", (7273, 7281), self.input.position) + self._trace('', (7271, 7279), self.input.position) _G_apply_428, lastError = self._apply(self.rule_pro_dup, "pro_dup", []) self.considerError(lastError, None) return (_G_apply_428, self.currentError) - def _G_or_429(): - self._trace("", (7283, 7293), self.input.position) + self._trace('', (7281, 7291), self.input.position) _G_apply_430, lastError = self._apply(self.rule_pro_ident, "pro_ident", []) self.considerError(lastError, None) return (_G_apply_430, self.currentError) - - _G_or_431, lastError = self._or( - [ - _G_or_415, - _G_or_417, - _G_or_419, - _G_or_421, - _G_or_423, - _G_or_425, - _G_or_427, - _G_or_429, - ] - ) - self.considerError(lastError, "pro_edit") + _G_or_431, lastError = self._or([_G_or_415, _G_or_417, _G_or_419, _G_or_421, _G_or_423, _G_or_425, _G_or_427, _G_or_429]) + self.considerError(lastError, 'pro_edit') return (_G_or_431, self.currentError) - def rule_pro_subst(self): - _locals = {"self": self} - self.locals["pro_subst"] = _locals + def rule_pro_subst(self): + _locals = {'self': self} + self.locals['pro_subst'] = _locals def _G_or_432(): - self._trace("", (7308, 7313), self.input.position) + self._trace('', (7306, 7311), self.input.position) _G_apply_433, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_433, self.currentError) - def _G_or_434(): - self._trace("", (7314, 7317), self.input.position) - _G_exactly_435, lastError = self.exactly("?") + self._trace('', (7312, 7315), self.input.position) + _G_exactly_435, lastError = self.exactly('?') self.considerError(lastError, None) return (_G_exactly_435, self.currentError) - _G_or_436, lastError = self._or([_G_or_432, _G_or_434]) - self.considerError(lastError, "pro_subst") - _locals["alt"] = _G_or_436 + self.considerError(lastError, 'pro_subst') + _locals['alt'] = _G_or_436 _G_python_438, lastError = eval(self._G_expr_437, self.globals, _locals), None - self.considerError(lastError, "pro_subst") + self.considerError(lastError, 'pro_subst') return (_G_python_438, self.currentError) + def rule_pro_delins(self): - _locals = {"self": self} - self.locals["pro_delins"] = _locals - self._trace("", (7386, 7395), self.input.position) - _G_exactly_439, lastError = self.exactly("delins") - self.considerError(lastError, "pro_delins") - self._trace("", (7395, 7405), self.input.position) + _locals = {'self': self} + self.locals['pro_delins'] = _locals + self._trace('', (7384, 7393), self.input.position) + _G_exactly_439, lastError = self.exactly('delins') + self.considerError(lastError, 'pro_delins') + self._trace('', (7393, 7403), self.input.position) _G_apply_440, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) - self.considerError(lastError, "pro_delins") - _locals["alt"] = _G_apply_440 + self.considerError(lastError, 'pro_delins') + _locals['alt'] = _G_apply_440 _G_python_442, lastError = eval(self._G_expr_441, self.globals, _locals), None - self.considerError(lastError, "pro_delins") + self.considerError(lastError, 'pro_delins') return (_G_python_442, self.currentError) + def rule_pro_del(self): - _locals = {"self": self} - self.locals["pro_del"] = _locals - self._trace("", (7469, 7475), self.input.position) - _G_exactly_443, lastError = self.exactly("del") - self.considerError(lastError, "pro_del") + _locals = {'self': self} + self.locals['pro_del'] = _locals + self._trace('', (7467, 7473), self.input.position) + _G_exactly_443, lastError = self.exactly('del') + self.considerError(lastError, 'pro_del') _G_python_445, lastError = eval(self._G_expr_444, self.globals, _locals), None - self.considerError(lastError, "pro_del") + self.considerError(lastError, 'pro_del') return (_G_python_445, self.currentError) + def rule_pro_ins(self): - _locals = {"self": self} - self.locals["pro_ins"] = _locals - self._trace("", (7553, 7559), self.input.position) - _G_exactly_446, lastError = self.exactly("ins") - self.considerError(lastError, "pro_ins") - self._trace("", (7559, 7569), self.input.position) + _locals = {'self': self} + self.locals['pro_ins'] = _locals + self._trace('', (7551, 7557), self.input.position) + _G_exactly_446, lastError = self.exactly('ins') + self.considerError(lastError, 'pro_ins') + self._trace('', (7557, 7567), self.input.position) _G_apply_447, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) - self.considerError(lastError, "pro_ins") - _locals["alt"] = _G_apply_447 + self.considerError(lastError, 'pro_ins') + _locals['alt'] = _G_apply_447 _G_python_449, lastError = eval(self._G_expr_448, self.globals, _locals), None - self.considerError(lastError, "pro_ins") + self.considerError(lastError, 'pro_ins') return (_G_python_449, self.currentError) + def rule_pro_dup(self): - _locals = {"self": self} - self.locals["pro_dup"] = _locals - self._trace("", (7638, 7644), self.input.position) - _G_exactly_450, lastError = self.exactly("dup") - self.considerError(lastError, "pro_dup") + _locals = {'self': self} + self.locals['pro_dup'] = _locals + self._trace('', (7636, 7642), self.input.position) + _G_exactly_450, lastError = self.exactly('dup') + self.considerError(lastError, 'pro_dup') _G_python_452, lastError = eval(self._G_expr_451, self.globals, _locals), None - self.considerError(lastError, "pro_dup") + self.considerError(lastError, 'pro_dup') return (_G_python_452, self.currentError) - def rule_pro_fs(self): - _locals = {"self": self} - self.locals["pro_fs"] = _locals + def rule_pro_fs(self): + _locals = {'self': self} + self.locals['pro_fs'] = _locals def _G_or_453(): - self._trace("", (7710, 7715), self.input.position) + self._trace('', (7708, 7713), self.input.position) _G_apply_454, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_454, self.currentError) - def _G_or_455(): - _G_python_456, lastError = (""), None + _G_python_456, lastError = (''), None self.considerError(lastError, None) return (_G_python_456, self.currentError) - _G_or_457, lastError = self._or([_G_or_453, _G_or_455]) - self.considerError(lastError, "pro_fs") - _locals["alt"] = _G_or_457 - self._trace("", (7730, 7733), self.input.position) + self.considerError(lastError, 'pro_fs') + _locals['alt'] = _G_or_457 + self._trace('', (7728, 7731), self.input.position) _G_apply_458, lastError = self._apply(self.rule_fs, "fs", []) - self.considerError(lastError, "pro_fs") - _locals["length"] = _G_apply_458 + self.considerError(lastError, 'pro_fs') + _locals['length'] = _G_apply_458 _G_python_460, lastError = eval(self._G_expr_459, self.globals, _locals), None - self.considerError(lastError, "pro_fs") + self.considerError(lastError, 'pro_fs') return (_G_python_460, self.currentError) - def rule_pro_ext(self): - _locals = {"self": self} - self.locals["pro_ext"] = _locals + def rule_pro_ext(self): + _locals = {'self': self} + self.locals['pro_ext'] = _locals def _G_optional_461(): - self._trace("", (7803, 7809), self.input.position) + self._trace('', (7801, 7807), self.input.position) _G_apply_462, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_462, self.currentError) - def _G_optional_463(): return (None, self.input.nullError()) - _G_or_464, lastError = self._or([_G_optional_461, _G_optional_463]) - self.considerError(lastError, "pro_ext") - _locals["alt"] = _G_or_464 - self._trace("", (7814, 7818), self.input.position) + self.considerError(lastError, 'pro_ext') + _locals['alt'] = _G_or_464 + self._trace('', (7812, 7816), self.input.position) _G_apply_465, lastError = self._apply(self.rule_ext, "ext", []) - self.considerError(lastError, "pro_ext") - _locals["aaterm"] = _G_apply_465[0] - _locals["length"] = _G_apply_465[1] + self.considerError(lastError, 'pro_ext') + _locals['aaterm'] = _G_apply_465[0] + _locals['length'] = _G_apply_465[1] _G_python_467, lastError = eval(self._G_expr_466, self.globals, _locals), None - self.considerError(lastError, "pro_ext") + self.considerError(lastError, 'pro_ext') return (_G_python_467, self.currentError) + def rule_pro_ident(self): - _locals = {"self": self} - self.locals["pro_ident"] = _locals - self._trace("", (7914, 7918), self.input.position) - _G_exactly_468, lastError = self.exactly("=") - self.considerError(lastError, "pro_ident") + _locals = {'self': self} + self.locals['pro_ident'] = _locals + self._trace('', (7912, 7916), self.input.position) + _G_exactly_468, lastError = self.exactly('=') + self.considerError(lastError, 'pro_ident') _G_python_470, lastError = eval(self._G_expr_469, self.globals, _locals), None - self.considerError(lastError, "pro_ident") + self.considerError(lastError, 'pro_ident') return (_G_python_470, self.currentError) - def rule_c_interval(self): - _locals = {"self": self} - self.locals["c_interval"] = _locals + def rule_c_interval(self): + _locals = {'self': self} + self.locals['c_interval'] = _locals def _G_or_471(): - self._trace("", (8240, 8255), self.input.position) - _G_apply_472, lastError = self._apply( - self.rule_def_c_interval, "def_c_interval", [] - ) + self._trace('', (8238, 8253), self.input.position) + _G_apply_472, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) self.considerError(lastError, None) return (_G_apply_472, self.currentError) - def _G_or_473(): - self._trace("", (8257, 8261), self.input.position) - _G_exactly_474, lastError = self.exactly("(") + self._trace('', (8255, 8259), self.input.position) + _G_exactly_474, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (8261, 8276), self.input.position) - _G_apply_475, lastError = self._apply( - self.rule_def_c_interval, "def_c_interval", [] - ) + self._trace('', (8259, 8274), self.input.position) + _G_apply_475, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) self.considerError(lastError, None) - _locals["iv"] = _G_apply_475 - self._trace("", (8279, 8283), self.input.position) - _G_exactly_476, lastError = self.exactly(")") + _locals['iv'] = _G_apply_475 + self._trace('', (8277, 8281), self.input.position) + _G_exactly_476, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_478, lastError = eval(self._G_expr_477, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_478, self.currentError) - _G_or_479, lastError = self._or([_G_or_471, _G_or_473]) - self.considerError(lastError, "c_interval") + self.considerError(lastError, 'c_interval') return (_G_or_479, self.currentError) - def rule_g_interval(self): - _locals = {"self": self} - self.locals["g_interval"] = _locals + def rule_g_interval(self): + _locals = {'self': self} + self.locals['g_interval'] = _locals def _G_or_480(): - self._trace("", (8319, 8334), self.input.position) - _G_apply_481, lastError = self._apply( - self.rule_def_g_interval, "def_g_interval", [] - ) + self._trace('', (8317, 8342), self.input.position) + _G_apply_481, lastError = self._apply(self.rule_def_g_uncertain_interval, "def_g_uncertain_interval", []) self.considerError(lastError, None) + _locals['iv'] = _G_apply_481 return (_G_apply_481, self.currentError) - def _G_or_482(): - self._trace("", (8336, 8340), self.input.position) - _G_exactly_483, lastError = self.exactly("(") + self._trace('', (8349, 8352), self.input.position) + _G_exactly_483, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (8340, 8355), self.input.position) - _G_apply_484, lastError = self._apply( - self.rule_def_g_interval, "def_g_interval", [] - ) + self._trace('', (8352, 8367), self.input.position) + _G_apply_484, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) - _locals["iv"] = _G_apply_484 - self._trace("", (8358, 8362), self.input.position) - _G_exactly_485, lastError = self.exactly(")") + _locals['iv'] = _G_apply_484 + self._trace('', (8370, 8374), self.input.position) + _G_exactly_485, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_486, lastError = eval(self._G_expr_477, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_486, self.currentError) + def _G_or_487(): + self._trace('', (8400, 8415), self.input.position) + _G_apply_488, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self.considerError(lastError, None) + return (_G_apply_488, self.currentError) + _G_or_489, lastError = self._or([_G_or_480, _G_or_482, _G_or_487]) + self.considerError(lastError, 'g_interval') + return (_G_or_489, self.currentError) - _G_or_487, lastError = self._or([_G_or_480, _G_or_482]) - self.considerError(lastError, "g_interval") - return (_G_or_487, self.currentError) def rule_m_interval(self): - _locals = {"self": self} - self.locals["m_interval"] = _locals - - def _G_or_488(): - self._trace("", (8398, 8413), self.input.position) - _G_apply_489, lastError = self._apply( - self.rule_def_m_interval, "def_m_interval", [] - ) - self.considerError(lastError, None) - return (_G_apply_489, self.currentError) - + _locals = {'self': self} + self.locals['m_interval'] = _locals def _G_or_490(): - self._trace("", (8415, 8419), self.input.position) - _G_exactly_491, lastError = self.exactly("(") + self._trace('', (8428, 8443), self.input.position) + _G_apply_491, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) + self.considerError(lastError, None) + return (_G_apply_491, self.currentError) + def _G_or_492(): + self._trace('', (8445, 8449), self.input.position) + _G_exactly_493, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (8419, 8434), self.input.position) - _G_apply_492, lastError = self._apply( - self.rule_def_m_interval, "def_m_interval", [] - ) + self._trace('', (8449, 8464), self.input.position) + _G_apply_494, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) self.considerError(lastError, None) - _locals["iv"] = _G_apply_492 - self._trace("", (8437, 8441), self.input.position) - _G_exactly_493, lastError = self.exactly(")") + _locals['iv'] = _G_apply_494 + self._trace('', (8467, 8471), self.input.position) + _G_exactly_495, lastError = self.exactly(')') self.considerError(lastError, None) - _G_python_494, lastError = eval(self._G_expr_477, self.globals, _locals), None + _G_python_496, lastError = eval(self._G_expr_477, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_494, self.currentError) + return (_G_python_496, self.currentError) + _G_or_497, lastError = self._or([_G_or_490, _G_or_492]) + self.considerError(lastError, 'm_interval') + return (_G_or_497, self.currentError) - _G_or_495, lastError = self._or([_G_or_488, _G_or_490]) - self.considerError(lastError, "m_interval") - return (_G_or_495, self.currentError) def rule_n_interval(self): - _locals = {"self": self} - self.locals["n_interval"] = _locals - - def _G_or_496(): - self._trace("", (8477, 8492), self.input.position) - _G_apply_497, lastError = self._apply( - self.rule_def_n_interval, "def_n_interval", [] - ) - self.considerError(lastError, None) - return (_G_apply_497, self.currentError) - + _locals = {'self': self} + self.locals['n_interval'] = _locals def _G_or_498(): - self._trace("", (8494, 8498), self.input.position) - _G_exactly_499, lastError = self.exactly("(") + self._trace('', (8507, 8522), self.input.position) + _G_apply_499, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) + self.considerError(lastError, None) + return (_G_apply_499, self.currentError) + def _G_or_500(): + self._trace('', (8524, 8528), self.input.position) + _G_exactly_501, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace("", (8498, 8513), self.input.position) - _G_apply_500, lastError = self._apply( - self.rule_def_n_interval, "def_n_interval", [] - ) + self._trace('', (8528, 8543), self.input.position) + _G_apply_502, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) self.considerError(lastError, None) - _locals["iv"] = _G_apply_500 - self._trace("", (8516, 8520), self.input.position) - _G_exactly_501, lastError = self.exactly(")") + _locals['iv'] = _G_apply_502 + self._trace('', (8546, 8550), self.input.position) + _G_exactly_503, lastError = self.exactly(')') self.considerError(lastError, None) - _G_python_502, lastError = eval(self._G_expr_477, self.globals, _locals), None + _G_python_504, lastError = eval(self._G_expr_477, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_502, self.currentError) + return (_G_python_504, self.currentError) + _G_or_505, lastError = self._or([_G_or_498, _G_or_500]) + self.considerError(lastError, 'n_interval') + return (_G_or_505, self.currentError) - _G_or_503, lastError = self._or([_G_or_496, _G_or_498]) - self.considerError(lastError, "n_interval") - return (_G_or_503, self.currentError) def rule_p_interval(self): - _locals = {"self": self} - self.locals["p_interval"] = _locals - - def _G_or_504(): - self._trace("", (8556, 8571), self.input.position) - _G_apply_505, lastError = self._apply( - self.rule_def_p_interval, "def_p_interval", [] - ) - self.considerError(lastError, None) - return (_G_apply_505, self.currentError) - + _locals = {'self': self} + self.locals['p_interval'] = _locals def _G_or_506(): - self._trace("", (8573, 8577), self.input.position) - _G_exactly_507, lastError = self.exactly("(") + self._trace('', (8586, 8601), self.input.position) + _G_apply_507, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) - self._trace("", (8577, 8592), self.input.position) - _G_apply_508, lastError = self._apply( - self.rule_def_p_interval, "def_p_interval", [] - ) + return (_G_apply_507, self.currentError) + def _G_or_508(): + self._trace('', (8603, 8607), self.input.position) + _G_exactly_509, lastError = self.exactly('(') self.considerError(lastError, None) - _locals["iv"] = _G_apply_508 - self._trace("", (8595, 8599), self.input.position) - _G_exactly_509, lastError = self.exactly(")") + self._trace('', (8607, 8622), self.input.position) + _G_apply_510, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) - _G_python_510, lastError = eval(self._G_expr_477, self.globals, _locals), None + _locals['iv'] = _G_apply_510 + self._trace('', (8625, 8629), self.input.position) + _G_exactly_511, lastError = self.exactly(')') self.considerError(lastError, None) - return (_G_python_510, self.currentError) + _G_python_512, lastError = eval(self._G_expr_477, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_512, self.currentError) + _G_or_513, lastError = self._or([_G_or_506, _G_or_508]) + self.considerError(lastError, 'p_interval') + return (_G_or_513, self.currentError) - _G_or_511, lastError = self._or([_G_or_504, _G_or_506]) - self.considerError(lastError, "p_interval") - return (_G_or_511, self.currentError) def rule_r_interval(self): - _locals = {"self": self} - self.locals["r_interval"] = _locals - - def _G_or_512(): - self._trace("", (8635, 8650), self.input.position) - _G_apply_513, lastError = self._apply( - self.rule_def_r_interval, "def_r_interval", [] - ) - self.considerError(lastError, None) - return (_G_apply_513, self.currentError) - + _locals = {'self': self} + self.locals['r_interval'] = _locals def _G_or_514(): - self._trace("", (8652, 8656), self.input.position) - _G_exactly_515, lastError = self.exactly("(") + self._trace('', (8665, 8680), self.input.position) + _G_apply_515, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) - self._trace("", (8656, 8671), self.input.position) - _G_apply_516, lastError = self._apply( - self.rule_def_r_interval, "def_r_interval", [] - ) + return (_G_apply_515, self.currentError) + def _G_or_516(): + self._trace('', (8682, 8686), self.input.position) + _G_exactly_517, lastError = self.exactly('(') self.considerError(lastError, None) - _locals["iv"] = _G_apply_516 - self._trace("", (8674, 8678), self.input.position) - _G_exactly_517, lastError = self.exactly(")") + self._trace('', (8686, 8701), self.input.position) + _G_apply_518, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) - _G_python_518, lastError = eval(self._G_expr_477, self.globals, _locals), None + _locals['iv'] = _G_apply_518 + self._trace('', (8704, 8708), self.input.position) + _G_exactly_519, lastError = self.exactly(')') self.considerError(lastError, None) - return (_G_python_518, self.currentError) + _G_python_520, lastError = eval(self._G_expr_477, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_520, self.currentError) + _G_or_521, lastError = self._or([_G_or_514, _G_or_516]) + self.considerError(lastError, 'r_interval') + return (_G_or_521, self.currentError) - _G_or_519, lastError = self._or([_G_or_512, _G_or_514]) - self.considerError(lastError, "r_interval") - return (_G_or_519, self.currentError) def rule_def_g_interval(self): - _locals = {"self": self} - self.locals["def_g_interval"] = _locals - - def _G_or_520(): - self._trace("", (8742, 8747), self.input.position) - _G_apply_521, lastError = self._apply(self.rule_g_pos, "g_pos", []) + _locals = {'self': self} + self.locals['def_g_interval'] = _locals + def _G_or_522(): + self._trace('', (8772, 8777), self.input.position) + _G_apply_523, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_521 - self._trace("", (8753, 8757), self.input.position) - _G_exactly_522, lastError = self.exactly("_") + _locals['start'] = _G_apply_523 + self._trace('', (8783, 8787), self.input.position) + _G_exactly_524, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace("", (8757, 8763), self.input.position) - _G_apply_523, lastError = self._apply(self.rule_g_pos, "g_pos", []) + self._trace('', (8787, 8793), self.input.position) + _G_apply_525, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) - _locals["end"] = _G_apply_523 - _G_python_525, lastError = eval(self._G_expr_524, self.globals, _locals), None + _locals['end'] = _G_apply_525 + _G_python_527, lastError = eval(self._G_expr_526, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_525, self.currentError) - - def _G_or_526(): - self._trace("", (8809, 8814), self.input.position) - _G_apply_527, lastError = self._apply(self.rule_g_pos, "g_pos", []) + return (_G_python_527, self.currentError) + def _G_or_528(): + self._trace('', (8839, 8844), self.input.position) + _G_apply_529, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_527 - _G_python_529, lastError = eval(self._G_expr_528, self.globals, _locals), None + _locals['start'] = _G_apply_529 + _G_python_531, lastError = eval(self._G_expr_530, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_529, self.currentError) + return (_G_python_531, self.currentError) + _G_or_532, lastError = self._or([_G_or_522, _G_or_528]) + self.considerError(lastError, 'def_g_interval') + return (_G_or_532, self.currentError) - _G_or_530, lastError = self._or([_G_or_520, _G_or_526]) - self.considerError(lastError, "def_g_interval") - return (_G_or_530, self.currentError) def rule_def_m_interval(self): - _locals = {"self": self} - self.locals["def_m_interval"] = _locals - - def _G_or_531(): - self._trace("", (8894, 8899), self.input.position) - _G_apply_532, lastError = self._apply(self.rule_m_pos, "m_pos", []) + _locals = {'self': self} + self.locals['def_m_interval'] = _locals + def _G_or_533(): + self._trace('', (8924, 8929), self.input.position) + _G_apply_534, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_532 - self._trace("", (8905, 8909), self.input.position) - _G_exactly_533, lastError = self.exactly("_") + _locals['start'] = _G_apply_534 + self._trace('', (8935, 8939), self.input.position) + _G_exactly_535, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace("", (8909, 8915), self.input.position) - _G_apply_534, lastError = self._apply(self.rule_m_pos, "m_pos", []) + self._trace('', (8939, 8945), self.input.position) + _G_apply_536, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) - _locals["end"] = _G_apply_534 - _G_python_535, lastError = eval(self._G_expr_524, self.globals, _locals), None + _locals['end'] = _G_apply_536 + _G_python_537, lastError = eval(self._G_expr_526, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_535, self.currentError) - - def _G_or_536(): - self._trace("", (8961, 8966), self.input.position) - _G_apply_537, lastError = self._apply(self.rule_m_pos, "m_pos", []) + return (_G_python_537, self.currentError) + def _G_or_538(): + self._trace('', (8991, 8996), self.input.position) + _G_apply_539, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_537 - _G_python_538, lastError = eval(self._G_expr_528, self.globals, _locals), None + _locals['start'] = _G_apply_539 + _G_python_540, lastError = eval(self._G_expr_530, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_538, self.currentError) + return (_G_python_540, self.currentError) + _G_or_541, lastError = self._or([_G_or_533, _G_or_538]) + self.considerError(lastError, 'def_m_interval') + return (_G_or_541, self.currentError) - _G_or_539, lastError = self._or([_G_or_531, _G_or_536]) - self.considerError(lastError, "def_m_interval") - return (_G_or_539, self.currentError) def rule_def_p_interval(self): - _locals = {"self": self} - self.locals["def_p_interval"] = _locals - - def _G_or_540(): - self._trace("", (9046, 9051), self.input.position) - _G_apply_541, lastError = self._apply(self.rule_p_pos, "p_pos", []) + _locals = {'self': self} + self.locals['def_p_interval'] = _locals + def _G_or_542(): + self._trace('', (9076, 9081), self.input.position) + _G_apply_543, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_541 - self._trace("", (9057, 9061), self.input.position) - _G_exactly_542, lastError = self.exactly("_") + _locals['start'] = _G_apply_543 + self._trace('', (9087, 9091), self.input.position) + _G_exactly_544, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace("", (9061, 9067), self.input.position) - _G_apply_543, lastError = self._apply(self.rule_p_pos, "p_pos", []) + self._trace('', (9091, 9097), self.input.position) + _G_apply_545, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) - _locals["end"] = _G_apply_543 - _G_python_544, lastError = eval(self._G_expr_524, self.globals, _locals), None + _locals['end'] = _G_apply_545 + _G_python_546, lastError = eval(self._G_expr_526, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_544, self.currentError) - - def _G_or_545(): - self._trace("", (9113, 9118), self.input.position) - _G_apply_546, lastError = self._apply(self.rule_p_pos, "p_pos", []) + return (_G_python_546, self.currentError) + def _G_or_547(): + self._trace('', (9143, 9148), self.input.position) + _G_apply_548, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_546 - _G_python_547, lastError = eval(self._G_expr_528, self.globals, _locals), None + _locals['start'] = _G_apply_548 + _G_python_549, lastError = eval(self._G_expr_530, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_547, self.currentError) + return (_G_python_549, self.currentError) + _G_or_550, lastError = self._or([_G_or_542, _G_or_547]) + self.considerError(lastError, 'def_p_interval') + return (_G_or_550, self.currentError) - _G_or_548, lastError = self._or([_G_or_540, _G_or_545]) - self.considerError(lastError, "def_p_interval") - return (_G_or_548, self.currentError) def rule_def_r_interval(self): - _locals = {"self": self} - self.locals["def_r_interval"] = _locals - - def _G_or_549(): - self._trace("", (9198, 9203), self.input.position) - _G_apply_550, lastError = self._apply(self.rule_r_pos, "r_pos", []) + _locals = {'self': self} + self.locals['def_r_interval'] = _locals + def _G_or_551(): + self._trace('', (9228, 9233), self.input.position) + _G_apply_552, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_550 - self._trace("", (9209, 9213), self.input.position) - _G_exactly_551, lastError = self.exactly("_") + _locals['start'] = _G_apply_552 + self._trace('', (9239, 9243), self.input.position) + _G_exactly_553, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace("", (9213, 9219), self.input.position) - _G_apply_552, lastError = self._apply(self.rule_r_pos, "r_pos", []) + self._trace('', (9243, 9249), self.input.position) + _G_apply_554, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) - _locals["end"] = _G_apply_552 - _G_python_553, lastError = eval(self._G_expr_524, self.globals, _locals), None + _locals['end'] = _G_apply_554 + _G_python_555, lastError = eval(self._G_expr_526, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_553, self.currentError) - - def _G_or_554(): - self._trace("", (9265, 9270), self.input.position) - _G_apply_555, lastError = self._apply(self.rule_r_pos, "r_pos", []) + return (_G_python_555, self.currentError) + def _G_or_556(): + self._trace('', (9295, 9300), self.input.position) + _G_apply_557, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_555 - _G_python_556, lastError = eval(self._G_expr_528, self.globals, _locals), None + _locals['start'] = _G_apply_557 + _G_python_558, lastError = eval(self._G_expr_530, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_556, self.currentError) + return (_G_python_558, self.currentError) + _G_or_559, lastError = self._or([_G_or_551, _G_or_556]) + self.considerError(lastError, 'def_r_interval') + return (_G_or_559, self.currentError) - _G_or_557, lastError = self._or([_G_or_549, _G_or_554]) - self.considerError(lastError, "def_r_interval") - return (_G_or_557, self.currentError) def rule_def_c_interval(self): - _locals = {"self": self} - self.locals["def_c_interval"] = _locals - - def _G_or_558(): - self._trace("", (9350, 9355), self.input.position) - _G_apply_559, lastError = self._apply(self.rule_c_pos, "c_pos", []) + _locals = {'self': self} + self.locals['def_c_interval'] = _locals + def _G_or_560(): + self._trace('', (9380, 9385), self.input.position) + _G_apply_561, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_559 - self._trace("", (9361, 9365), self.input.position) - _G_exactly_560, lastError = self.exactly("_") + _locals['start'] = _G_apply_561 + self._trace('', (9391, 9395), self.input.position) + _G_exactly_562, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace("", (9365, 9371), self.input.position) - _G_apply_561, lastError = self._apply(self.rule_c_pos, "c_pos", []) + self._trace('', (9395, 9401), self.input.position) + _G_apply_563, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) - _locals["end"] = _G_apply_561 - _G_python_563, lastError = eval(self._G_expr_562, self.globals, _locals), None + _locals['end'] = _G_apply_563 + _G_python_565, lastError = eval(self._G_expr_564, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_563, self.currentError) - - def _G_or_564(): - self._trace("", (9427, 9432), self.input.position) - _G_apply_565, lastError = self._apply(self.rule_c_pos, "c_pos", []) + return (_G_python_565, self.currentError) + def _G_or_566(): + self._trace('', (9457, 9462), self.input.position) + _G_apply_567, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_565 - _G_python_567, lastError = eval(self._G_expr_566, self.globals, _locals), None + _locals['start'] = _G_apply_567 + _G_python_569, lastError = eval(self._G_expr_568, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_567, self.currentError) + return (_G_python_569, self.currentError) + _G_or_570, lastError = self._or([_G_or_560, _G_or_566]) + self.considerError(lastError, 'def_c_interval') + return (_G_or_570, self.currentError) - _G_or_568, lastError = self._or([_G_or_558, _G_or_564]) - self.considerError(lastError, "def_c_interval") - return (_G_or_568, self.currentError) def rule_def_n_interval(self): - _locals = {"self": self} - self.locals["def_n_interval"] = _locals - - def _G_or_569(): - self._trace("", (9522, 9527), self.input.position) - _G_apply_570, lastError = self._apply(self.rule_n_pos, "n_pos", []) + _locals = {'self': self} + self.locals['def_n_interval'] = _locals + def _G_or_571(): + self._trace('', (9552, 9557), self.input.position) + _G_apply_572, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_570 - self._trace("", (9533, 9537), self.input.position) - _G_exactly_571, lastError = self.exactly("_") + _locals['start'] = _G_apply_572 + self._trace('', (9563, 9567), self.input.position) + _G_exactly_573, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace("", (9537, 9543), self.input.position) - _G_apply_572, lastError = self._apply(self.rule_n_pos, "n_pos", []) + self._trace('', (9567, 9573), self.input.position) + _G_apply_574, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) - _locals["end"] = _G_apply_572 - _G_python_573, lastError = eval(self._G_expr_562, self.globals, _locals), None + _locals['end'] = _G_apply_574 + _G_python_575, lastError = eval(self._G_expr_564, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_573, self.currentError) + return (_G_python_575, self.currentError) + def _G_or_576(): + self._trace('', (9629, 9634), self.input.position) + _G_apply_577, lastError = self._apply(self.rule_n_pos, "n_pos", []) + self.considerError(lastError, None) + _locals['start'] = _G_apply_577 + _G_python_578, lastError = eval(self._G_expr_568, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_578, self.currentError) + _G_or_579, lastError = self._or([_G_or_571, _G_or_576]) + self.considerError(lastError, 'def_n_interval') + return (_G_or_579, self.currentError) - def _G_or_574(): - self._trace("", (9599, 9604), self.input.position) - _G_apply_575, lastError = self._apply(self.rule_n_pos, "n_pos", []) + + def rule_def_g_uncertain_interval(self): + _locals = {'self': self} + self.locals['def_g_uncertain_interval'] = _locals + def _G_or_580(): + self._trace('', (9753, 9757), self.input.position) + _G_exactly_581, lastError = self.exactly('(') + self.considerError(lastError, None) + self._trace('', (9757, 9772), self.input.position) + _G_apply_582, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self.considerError(lastError, None) + _locals['ivl_start'] = _G_apply_582 + self._trace('', (9782, 9786), self.input.position) + _G_exactly_583, lastError = self.exactly(')') + self.considerError(lastError, None) + self._trace('', (9786, 9790), self.input.position) + _G_exactly_584, lastError = self.exactly('_') + self.considerError(lastError, None) + self._trace('', (9790, 9794), self.input.position) + _G_exactly_585, lastError = self.exactly('(') + self.considerError(lastError, None) + self._trace('', (9794, 9809), self.input.position) + _G_apply_586, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self.considerError(lastError, None) + _locals['ivl_end'] = _G_apply_586 + self._trace('', (9817, 9821), self.input.position) + _G_exactly_587, lastError = self.exactly(')') + self.considerError(lastError, None) + _G_python_589, lastError = eval(self._G_expr_588, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_589, self.currentError) + def _G_or_590(): + self._trace('', (9937, 9952), self.input.position) + _G_apply_591, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self.considerError(lastError, None) + _locals['ivl_start'] = _G_apply_591 + self._trace('', (9962, 9966), self.input.position) + _G_exactly_592, lastError = self.exactly('_') + self.considerError(lastError, None) + self._trace('', (9966, 9970), self.input.position) + _G_exactly_593, lastError = self.exactly('(') + self.considerError(lastError, None) + self._trace('', (9970, 9985), self.input.position) + _G_apply_594, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) - _locals["start"] = _G_apply_575 - _G_python_576, lastError = eval(self._G_expr_566, self.globals, _locals), None + _locals['ivl_end'] = _G_apply_594 + self._trace('', (9993, 9997), self.input.position) + _G_exactly_595, lastError = self.exactly(')') self.considerError(lastError, None) - return (_G_python_576, self.currentError) + _G_python_596, lastError = eval(self._G_expr_588, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_596, self.currentError) + def _G_or_597(): + self._trace('', (10113, 10117), self.input.position) + _G_exactly_598, lastError = self.exactly('(') + self.considerError(lastError, None) + self._trace('', (10117, 10132), self.input.position) + _G_apply_599, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self.considerError(lastError, None) + _locals['ivl_start'] = _G_apply_599 + self._trace('', (10142, 10146), self.input.position) + _G_exactly_600, lastError = self.exactly(')') + self.considerError(lastError, None) + self._trace('', (10146, 10150), self.input.position) + _G_exactly_601, lastError = self.exactly('_') + self.considerError(lastError, None) + self._trace('', (10150, 10165), self.input.position) + _G_apply_602, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self.considerError(lastError, None) + _locals['ivl_end'] = _G_apply_602 + _G_python_603, lastError = eval(self._G_expr_588, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_603, self.currentError) + _G_or_604, lastError = self._or([_G_or_580, _G_or_590, _G_or_597]) + self.considerError(lastError, 'def_g_uncertain_interval') + return (_G_or_604, self.currentError) - _G_or_577, lastError = self._or([_G_or_569, _G_or_574]) - self.considerError(lastError, "def_n_interval") - return (_G_or_577, self.currentError) def rule_c_pos(self): - _locals = {"self": self} - self.locals["c_pos"] = _locals - self._trace("", (9696, 9706), self.input.position) - _G_apply_578, lastError = self._apply(self.rule_def_c_pos, "def_c_pos", []) - self.considerError(lastError, "c_pos") - return (_G_apply_578, self.currentError) + _locals = {'self': self} + self.locals['c_pos'] = _locals + self._trace('', (10284, 10294), self.input.position) + _G_apply_605, lastError = self._apply(self.rule_def_c_pos, "def_c_pos", []) + self.considerError(lastError, 'c_pos') + return (_G_apply_605, self.currentError) + def rule_g_pos(self): - _locals = {"self": self} - self.locals["g_pos"] = _locals - self._trace("", (9763, 9773), self.input.position) - _G_apply_579, lastError = self._apply(self.rule_def_g_pos, "def_g_pos", []) - self.considerError(lastError, "g_pos") - return (_G_apply_579, self.currentError) + _locals = {'self': self} + self.locals['g_pos'] = _locals + self._trace('', (10351, 10361), self.input.position) + _G_apply_606, lastError = self._apply(self.rule_def_g_pos, "def_g_pos", []) + self.considerError(lastError, 'g_pos') + return (_G_apply_606, self.currentError) + def rule_m_pos(self): - _locals = {"self": self} - self.locals["m_pos"] = _locals - self._trace("", (9830, 9840), self.input.position) - _G_apply_580, lastError = self._apply(self.rule_def_m_pos, "def_m_pos", []) - self.considerError(lastError, "m_pos") - return (_G_apply_580, self.currentError) + _locals = {'self': self} + self.locals['m_pos'] = _locals + self._trace('', (10418, 10428), self.input.position) + _G_apply_607, lastError = self._apply(self.rule_def_m_pos, "def_m_pos", []) + self.considerError(lastError, 'm_pos') + return (_G_apply_607, self.currentError) + def rule_n_pos(self): - _locals = {"self": self} - self.locals["n_pos"] = _locals - self._trace("", (9897, 9907), self.input.position) - _G_apply_581, lastError = self._apply(self.rule_def_n_pos, "def_n_pos", []) - self.considerError(lastError, "n_pos") - return (_G_apply_581, self.currentError) + _locals = {'self': self} + self.locals['n_pos'] = _locals + self._trace('', (10485, 10495), self.input.position) + _G_apply_608, lastError = self._apply(self.rule_def_n_pos, "def_n_pos", []) + self.considerError(lastError, 'n_pos') + return (_G_apply_608, self.currentError) + def rule_p_pos(self): - _locals = {"self": self} - self.locals["p_pos"] = _locals - self._trace("", (9964, 9974), self.input.position) - _G_apply_582, lastError = self._apply(self.rule_def_p_pos, "def_p_pos", []) - self.considerError(lastError, "p_pos") - return (_G_apply_582, self.currentError) + _locals = {'self': self} + self.locals['p_pos'] = _locals + self._trace('', (10552, 10562), self.input.position) + _G_apply_609, lastError = self._apply(self.rule_def_p_pos, "def_p_pos", []) + self.considerError(lastError, 'p_pos') + return (_G_apply_609, self.currentError) + def rule_r_pos(self): - _locals = {"self": self} - self.locals["r_pos"] = _locals - self._trace("", (10031, 10041), self.input.position) - _G_apply_583, lastError = self._apply(self.rule_def_r_pos, "def_r_pos", []) - self.considerError(lastError, "r_pos") - return (_G_apply_583, self.currentError) + _locals = {'self': self} + self.locals['r_pos'] = _locals + self._trace('', (10619, 10629), self.input.position) + _G_apply_610, lastError = self._apply(self.rule_def_r_pos, "def_r_pos", []) + self.considerError(lastError, 'r_pos') + return (_G_apply_610, self.currentError) - def rule_def_c_pos(self): - _locals = {"self": self} - self.locals["def_c_pos"] = _locals - def _G_or_584(): - self._trace("", (10124, 10129), self.input.position) - _G_apply_585, lastError = self._apply(self.rule_base, "base", []) + def rule_def_c_pos(self): + _locals = {'self': self} + self.locals['def_c_pos'] = _locals + def _G_or_611(): + self._trace('', (10712, 10717), self.input.position) + _G_apply_612, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, None) - _locals["b"] = _G_apply_585 - self._trace("", (10131, 10138), self.input.position) - _G_apply_586, lastError = self._apply(self.rule_offset, "offset", []) + _locals['b'] = _G_apply_612 + self._trace('', (10719, 10726), self.input.position) + _G_apply_613, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) - _locals["o"] = _G_apply_586 - _G_python_588, lastError = eval(self._G_expr_587, self.globals, _locals), None + _locals['o'] = _G_apply_613 + _G_python_615, lastError = eval(self._G_expr_614, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_588, self.currentError) - - def _G_or_589(): - self._trace("", (10223, 10227), self.input.position) - _G_exactly_590, lastError = self.exactly("*") + return (_G_python_615, self.currentError) + def _G_or_616(): + self._trace('', (10811, 10815), self.input.position) + _G_exactly_617, lastError = self.exactly('*') self.considerError(lastError, None) - self._trace("", (10227, 10231), self.input.position) - _G_apply_591, lastError = self._apply(self.rule_num, "num", []) + self._trace('', (10815, 10819), self.input.position) + _G_apply_618, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - _locals["b"] = _G_apply_591 - self._trace("", (10233, 10240), self.input.position) - _G_apply_592, lastError = self._apply(self.rule_offset, "offset", []) + _locals['b'] = _G_apply_618 + self._trace('', (10821, 10828), self.input.position) + _G_apply_619, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) - _locals["o"] = _G_apply_592 - _G_python_594, lastError = eval(self._G_expr_593, self.globals, _locals), None + _locals['o'] = _G_apply_619 + _G_python_621, lastError = eval(self._G_expr_620, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_594, self.currentError) + return (_G_python_621, self.currentError) + _G_or_622, lastError = self._or([_G_or_611, _G_or_616]) + self.considerError(lastError, 'def_c_pos') + return (_G_or_622, self.currentError) - _G_or_595, lastError = self._or([_G_or_584, _G_or_589]) - self.considerError(lastError, "def_c_pos") - return (_G_or_595, self.currentError) def rule_def_g_pos(self): - _locals = {"self": self} - self.locals["def_g_pos"] = _locals - - def _G_or_596(): - self._trace("", (10328, 10331), self.input.position) - _G_apply_597, lastError = self._apply(self.rule_num, "num", []) + _locals = {'self': self} + self.locals['def_g_pos'] = _locals + def _G_or_623(): + self._trace('', (10916, 10919), self.input.position) + _G_apply_624, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_apply_597, self.currentError) - - def _G_or_598(): - self._trace("", (10332, 10335), self.input.position) - _G_exactly_599, lastError = self.exactly("?") + return (_G_apply_624, self.currentError) + def _G_or_625(): + self._trace('', (10920, 10923), self.input.position) + _G_exactly_626, lastError = self.exactly('?') self.considerError(lastError, None) - _G_python_600, lastError = (None), None + _G_python_627, lastError = (None), None self.considerError(lastError, None) - return (_G_python_600, self.currentError) + return (_G_python_627, self.currentError) + _G_or_628, lastError = self._or([_G_or_623, _G_or_625]) + self.considerError(lastError, 'def_g_pos') + _locals['pos'] = _G_or_628 + _G_python_630, lastError = eval(self._G_expr_629, self.globals, _locals), None + self.considerError(lastError, 'def_g_pos') + return (_G_python_630, self.currentError) - _G_or_601, lastError = self._or([_G_or_596, _G_or_598]) - self.considerError(lastError, "def_g_pos") - _locals["pos"] = _G_or_601 - _G_python_603, lastError = eval(self._G_expr_602, self.globals, _locals), None - self.considerError(lastError, "def_g_pos") - return (_G_python_603, self.currentError) def rule_def_m_pos(self): - _locals = {"self": self} - self.locals["def_m_pos"] = _locals - - def _G_or_604(): - self._trace("", (10397, 10400), self.input.position) - _G_apply_605, lastError = self._apply(self.rule_num, "num", []) + _locals = {'self': self} + self.locals['def_m_pos'] = _locals + def _G_or_631(): + self._trace('', (10985, 10988), self.input.position) + _G_apply_632, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_apply_605, self.currentError) - - def _G_or_606(): - self._trace("", (10401, 10404), self.input.position) - _G_exactly_607, lastError = self.exactly("?") + return (_G_apply_632, self.currentError) + def _G_or_633(): + self._trace('', (10989, 10992), self.input.position) + _G_exactly_634, lastError = self.exactly('?') self.considerError(lastError, None) - _G_python_608, lastError = (None), None + _G_python_635, lastError = (None), None self.considerError(lastError, None) - return (_G_python_608, self.currentError) + return (_G_python_635, self.currentError) + _G_or_636, lastError = self._or([_G_or_631, _G_or_633]) + self.considerError(lastError, 'def_m_pos') + _locals['pos'] = _G_or_636 + _G_python_637, lastError = eval(self._G_expr_629, self.globals, _locals), None + self.considerError(lastError, 'def_m_pos') + return (_G_python_637, self.currentError) - _G_or_609, lastError = self._or([_G_or_604, _G_or_606]) - self.considerError(lastError, "def_m_pos") - _locals["pos"] = _G_or_609 - _G_python_610, lastError = eval(self._G_expr_602, self.globals, _locals), None - self.considerError(lastError, "def_m_pos") - return (_G_python_610, self.currentError) def rule_def_n_pos(self): - _locals = {"self": self} - self.locals["def_n_pos"] = _locals - self._trace("", (10464, 10469), self.input.position) - _G_apply_611, lastError = self._apply(self.rule_base, "base", []) - self.considerError(lastError, "def_n_pos") - _locals["b"] = _G_apply_611 - self._trace("", (10471, 10478), self.input.position) - _G_apply_612, lastError = self._apply(self.rule_offset, "offset", []) - self.considerError(lastError, "def_n_pos") - _locals["o"] = _G_apply_612 - _G_python_614, lastError = eval(self._G_expr_613, self.globals, _locals), None - self.considerError(lastError, "def_n_pos") - return (_G_python_614, self.currentError) - - def rule_def_p_pos(self): - _locals = {"self": self} - self.locals["def_p_pos"] = _locals + _locals = {'self': self} + self.locals['def_n_pos'] = _locals + self._trace('', (11052, 11057), self.input.position) + _G_apply_638, lastError = self._apply(self.rule_base, "base", []) + self.considerError(lastError, 'def_n_pos') + _locals['b'] = _G_apply_638 + self._trace('', (11059, 11066), self.input.position) + _G_apply_639, lastError = self._apply(self.rule_offset, "offset", []) + self.considerError(lastError, 'def_n_pos') + _locals['o'] = _G_apply_639 + _G_python_641, lastError = eval(self._G_expr_640, self.globals, _locals), None + self.considerError(lastError, 'def_n_pos') + return (_G_python_641, self.currentError) - def _G_or_615(): - self._trace("", (10568, 10574), self.input.position) - _G_apply_616, lastError = self._apply(self.rule_term13, "term13", []) - self.considerError(lastError, None) - return (_G_apply_616, self.currentError) - def _G_or_617(): - self._trace("", (10575, 10579), self.input.position) - _G_apply_618, lastError = self._apply(self.rule_aa13, "aa13", []) - self.considerError(lastError, None) - return (_G_apply_618, self.currentError) + def rule_def_p_pos(self): + _locals = {'self': self} + self.locals['def_p_pos'] = _locals + def _G_or_642(): + self._trace('', (11156, 11162), self.input.position) + _G_apply_643, lastError = self._apply(self.rule_term13, "term13", []) + self.considerError(lastError, None) + return (_G_apply_643, self.currentError) + def _G_or_644(): + self._trace('', (11163, 11167), self.input.position) + _G_apply_645, lastError = self._apply(self.rule_aa13, "aa13", []) + self.considerError(lastError, None) + return (_G_apply_645, self.currentError) + _G_or_646, lastError = self._or([_G_or_642, _G_or_644]) + self.considerError(lastError, 'def_p_pos') + _locals['aa'] = _G_or_646 + self._trace('', (11171, 11175), self.input.position) + _G_apply_647, lastError = self._apply(self.rule_num, "num", []) + self.considerError(lastError, 'def_p_pos') + _locals['pos'] = _G_apply_647 + _G_python_649, lastError = eval(self._G_expr_648, self.globals, _locals), None + self.considerError(lastError, 'def_p_pos') + return (_G_python_649, self.currentError) - _G_or_619, lastError = self._or([_G_or_615, _G_or_617]) - self.considerError(lastError, "def_p_pos") - _locals["aa"] = _G_or_619 - self._trace("", (10583, 10587), self.input.position) - _G_apply_620, lastError = self._apply(self.rule_num, "num", []) - self.considerError(lastError, "def_p_pos") - _locals["pos"] = _G_apply_620 - _G_python_622, lastError = eval(self._G_expr_621, self.globals, _locals), None - self.considerError(lastError, "def_p_pos") - return (_G_python_622, self.currentError) def rule_def_r_pos(self): - _locals = {"self": self} - self.locals["def_r_pos"] = _locals - self._trace("", (10669, 10674), self.input.position) - _G_apply_623, lastError = self._apply(self.rule_base, "base", []) - self.considerError(lastError, "def_r_pos") - _locals["b"] = _G_apply_623 - self._trace("", (10676, 10683), self.input.position) - _G_apply_624, lastError = self._apply(self.rule_offset, "offset", []) - self.considerError(lastError, "def_r_pos") - _locals["o"] = _G_apply_624 - _G_python_625, lastError = eval(self._G_expr_613, self.globals, _locals), None - self.considerError(lastError, "def_r_pos") - return (_G_python_625, self.currentError) - - def rule_fs(self): - _locals = {"self": self} - self.locals["fs"] = _locals - self._trace("", (11087, 11092), self.input.position) - _G_exactly_626, lastError = self.exactly("fs") - self.considerError(lastError, "fs") + _locals = {'self': self} + self.locals['def_r_pos'] = _locals + self._trace('', (11257, 11262), self.input.position) + _G_apply_650, lastError = self._apply(self.rule_base, "base", []) + self.considerError(lastError, 'def_r_pos') + _locals['b'] = _G_apply_650 + self._trace('', (11264, 11271), self.input.position) + _G_apply_651, lastError = self._apply(self.rule_offset, "offset", []) + self.considerError(lastError, 'def_r_pos') + _locals['o'] = _G_apply_651 + _G_python_652, lastError = eval(self._G_expr_640, self.globals, _locals), None + self.considerError(lastError, 'def_r_pos') + return (_G_python_652, self.currentError) - def _G_or_627(): - self._trace("", (11094, 11101), self.input.position) - _G_apply_628, lastError = self._apply(self.rule_aa13_fs, "aa13_fs", []) - self.considerError(lastError, None) - return (_G_apply_628, self.currentError) - def _G_or_629(): - _G_python_630, lastError = (None), None - self.considerError(lastError, None) - return (_G_python_630, self.currentError) + def rule_fs(self): + _locals = {'self': self} + self.locals['fs'] = _locals + self._trace('', (11675, 11680), self.input.position) + _G_exactly_653, lastError = self.exactly('fs') + self.considerError(lastError, 'fs') + def _G_or_654(): + self._trace('', (11682, 11689), self.input.position) + _G_apply_655, lastError = self._apply(self.rule_aa13_fs, "aa13_fs", []) + self.considerError(lastError, None) + return (_G_apply_655, self.currentError) + def _G_or_656(): + _G_python_657, lastError = (None), None + self.considerError(lastError, None) + return (_G_python_657, self.currentError) + _G_or_658, lastError = self._or([_G_or_654, _G_or_656]) + self.considerError(lastError, 'fs') + _locals['n'] = _G_or_658 + _G_python_660, lastError = eval(self._G_expr_659, self.globals, _locals), None + self.considerError(lastError, 'fs') + return (_G_python_660, self.currentError) - _G_or_631, lastError = self._or([_G_or_627, _G_or_629]) - self.considerError(lastError, "fs") - _locals["n"] = _G_or_631 - _G_python_633, lastError = eval(self._G_expr_632, self.globals, _locals), None - self.considerError(lastError, "fs") - return (_G_python_633, self.currentError) def rule_ext(self): - _locals = {"self": self} - self.locals["ext"] = _locals - self._trace("", (11125, 11131), self.input.position) - _G_exactly_634, lastError = self.exactly("ext") - self.considerError(lastError, "ext") - - def _G_or_635(): - self._trace("", (11133, 11141), self.input.position) - _G_apply_636, lastError = self._apply(self.rule_aa13_ext, "aa13_ext", []) + _locals = {'self': self} + self.locals['ext'] = _locals + self._trace('', (11713, 11719), self.input.position) + _G_exactly_661, lastError = self.exactly('ext') + self.considerError(lastError, 'ext') + def _G_or_662(): + self._trace('', (11721, 11729), self.input.position) + _G_apply_663, lastError = self._apply(self.rule_aa13_ext, "aa13_ext", []) self.considerError(lastError, None) - return (_G_apply_636, self.currentError) - - def _G_or_637(): - _G_python_638, lastError = ((None, None)), None + return (_G_apply_663, self.currentError) + def _G_or_664(): + _G_python_665, lastError = ((None, None)), None self.considerError(lastError, None) - return (_G_python_638, self.currentError) + return (_G_python_665, self.currentError) + _G_or_666, lastError = self._or([_G_or_662, _G_or_664]) + self.considerError(lastError, 'ext') + _locals['aat'] = _G_or_666[0] + _locals['n'] = _G_or_666[1] + _G_python_668, lastError = eval(self._G_expr_667, self.globals, _locals), None + self.considerError(lastError, 'ext') + return (_G_python_668, self.currentError) - _G_or_639, lastError = self._or([_G_or_635, _G_or_637]) - self.considerError(lastError, "ext") - _locals["aat"] = _G_or_639[0] - _locals["n"] = _G_or_639[1] - _G_python_641, lastError = eval(self._G_expr_640, self.globals, _locals), None - self.considerError(lastError, "ext") - return (_G_python_641, self.currentError) def rule_aa13_fs(self): - _locals = {"self": self} - self.locals["aa13_fs"] = _locals - self._trace("", (11191, 11198), self.input.position) - _G_apply_642, lastError = self._apply(self.rule_term13, "term13", []) - self.considerError(lastError, "aa13_fs") - self._trace("", (11198, 11211), self.input.position) - _G_apply_643, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) - self.considerError(lastError, "aa13_fs") - _locals["n"] = _G_apply_643 - _G_python_644, lastError = eval(self._G_expr_632, self.globals, _locals), None - self.considerError(lastError, "aa13_fs") - return (_G_python_644, self.currentError) + _locals = {'self': self} + self.locals['aa13_fs'] = _locals + self._trace('', (11779, 11786), self.input.position) + _G_apply_669, lastError = self._apply(self.rule_term13, "term13", []) + self.considerError(lastError, 'aa13_fs') + self._trace('', (11786, 11799), self.input.position) + _G_apply_670, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) + self.considerError(lastError, 'aa13_fs') + _locals['n'] = _G_apply_670 + _G_python_671, lastError = eval(self._G_expr_659, self.globals, _locals), None + self.considerError(lastError, 'aa13_fs') + return (_G_python_671, self.currentError) - def rule_aa13_ext(self): - _locals = {"self": self} - self.locals["aa13_ext"] = _locals - def _G_or_645(): - self._trace("", (11229, 11236), self.input.position) - _G_apply_646, lastError = self._apply(self.rule_term13, "term13", []) - self.considerError(lastError, None) - _locals["aat"] = _G_apply_646 - self._trace("", (11240, 11253), self.input.position) - _G_apply_647, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) - self.considerError(lastError, None) - _locals["n"] = _G_apply_647 - _G_python_648, lastError = eval(self._G_expr_640, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_648, self.currentError) - - def _G_or_649(): - def _G_or_650(): - self._trace("", (11280, 11284), self.input.position) - _G_apply_651, lastError = self._apply(self.rule_aa13, "aa13", []) + def rule_aa13_ext(self): + _locals = {'self': self} + self.locals['aa13_ext'] = _locals + def _G_or_672(): + self._trace('', (11817, 11824), self.input.position) + _G_apply_673, lastError = self._apply(self.rule_term13, "term13", []) + self.considerError(lastError, None) + _locals['aat'] = _G_apply_673 + self._trace('', (11828, 11841), self.input.position) + _G_apply_674, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) + self.considerError(lastError, None) + _locals['n'] = _G_apply_674 + _G_python_675, lastError = eval(self._G_expr_667, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_675, self.currentError) + def _G_or_676(): + def _G_or_677(): + self._trace('', (11868, 11872), self.input.position) + _G_apply_678, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) - return (_G_apply_651, self.currentError) - - def _G_or_652(): - _G_python_653, lastError = (None), None + return (_G_apply_678, self.currentError) + def _G_or_679(): + _G_python_680, lastError = (None), None self.considerError(lastError, None) - return (_G_python_653, self.currentError) - - _G_or_654, lastError = self._or([_G_or_650, _G_or_652]) + return (_G_python_680, self.currentError) + _G_or_681, lastError = self._or([_G_or_677, _G_or_679]) self.considerError(lastError, None) - _locals["aat"] = _G_or_654 - self._trace("", (11301, 11306), self.input.position) - _G_apply_655, lastError = self._apply(self.rule_nnum, "nnum", []) + _locals['aat'] = _G_or_681 + self._trace('', (11889, 11894), self.input.position) + _G_apply_682, lastError = self._apply(self.rule_nnum, "nnum", []) self.considerError(lastError, None) - _locals["n"] = _G_apply_655 - _G_python_656, lastError = eval(self._G_expr_640, self.globals, _locals), None + _locals['n'] = _G_apply_682 + _G_python_683, lastError = eval(self._G_expr_667, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_656, self.currentError) + return (_G_python_683, self.currentError) + _G_or_684, lastError = self._or([_G_or_672, _G_or_676]) + self.considerError(lastError, 'aa13_ext') + return (_G_or_684, self.currentError) - _G_or_657, lastError = self._or([_G_or_645, _G_or_649]) - self.considerError(lastError, "aa13_ext") - return (_G_or_657, self.currentError) def rule_fsext_offset(self): - _locals = {"self": self} - self.locals["fsext_offset"] = _locals - - def _G_or_658(): - self._trace("", (11335, 11339), self.input.position) - _G_apply_659, lastError = self._apply(self.rule_num, "num", []) + _locals = {'self': self} + self.locals['fsext_offset'] = _locals + def _G_or_685(): + self._trace('', (11923, 11927), self.input.position) + _G_apply_686, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_apply_659, self.currentError) - - def _G_or_660(): - self._trace("", (11340, 11343), self.input.position) - _G_exactly_661, lastError = self.exactly("?") + return (_G_apply_686, self.currentError) + def _G_or_687(): + self._trace('', (11928, 11931), self.input.position) + _G_exactly_688, lastError = self.exactly('?') self.considerError(lastError, None) - return (_G_exactly_661, self.currentError) - - def _G_or_662(): - _G_python_663, lastError = (None), None + return (_G_exactly_688, self.currentError) + def _G_or_689(): + _G_python_690, lastError = (None), None self.considerError(lastError, None) - return (_G_python_663, self.currentError) + return (_G_python_690, self.currentError) + _G_or_691, lastError = self._or([_G_or_685, _G_or_687, _G_or_689]) + self.considerError(lastError, 'fsext_offset') + return (_G_or_691, self.currentError) - _G_or_664, lastError = self._or([_G_or_658, _G_or_660, _G_or_662]) - self.considerError(lastError, "fsext_offset") - return (_G_or_664, self.currentError) def rule_dna_seq(self): - _locals = {"self": self} - self.locals["dna_seq"] = _locals - - def _G_consumedby_665(): - def _G_many1_666(): - self._trace("", (11388, 11391), self.input.position) - _G_apply_667, lastError = self._apply(self.rule_dna, "dna", []) + _locals = {'self': self} + self.locals['dna_seq'] = _locals + def _G_consumedby_692(): + def _G_many1_693(): + self._trace('', (11976, 11979), self.input.position) + _G_apply_694, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) - return (_G_apply_667, self.currentError) - - _G_many1_668, lastError = self.many(_G_many1_666, _G_many1_666()) + return (_G_apply_694, self.currentError) + _G_many1_695, lastError = self.many(_G_many1_693, _G_many1_693()) self.considerError(lastError, None) - return (_G_many1_668, self.currentError) + return (_G_many1_695, self.currentError) + _G_consumedby_696, lastError = self.consumedby(_G_consumedby_692) + self.considerError(lastError, 'dna_seq') + return (_G_consumedby_696, self.currentError) - _G_consumedby_669, lastError = self.consumedby(_G_consumedby_665) - self.considerError(lastError, "dna_seq") - return (_G_consumedby_669, self.currentError) def rule_rna_seq(self): - _locals = {"self": self} - self.locals["rna_seq"] = _locals - - def _G_consumedby_670(): - def _G_many1_671(): - self._trace("", (11405, 11408), self.input.position) - _G_apply_672, lastError = self._apply(self.rule_rna, "rna", []) + _locals = {'self': self} + self.locals['rna_seq'] = _locals + def _G_consumedby_697(): + def _G_many1_698(): + self._trace('', (11993, 11996), self.input.position) + _G_apply_699, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) - return (_G_apply_672, self.currentError) - - _G_many1_673, lastError = self.many(_G_many1_671, _G_many1_671()) + return (_G_apply_699, self.currentError) + _G_many1_700, lastError = self.many(_G_many1_698, _G_many1_698()) self.considerError(lastError, None) - return (_G_many1_673, self.currentError) + return (_G_many1_700, self.currentError) + _G_consumedby_701, lastError = self.consumedby(_G_consumedby_697) + self.considerError(lastError, 'rna_seq') + return (_G_consumedby_701, self.currentError) - _G_consumedby_674, lastError = self.consumedby(_G_consumedby_670) - self.considerError(lastError, "rna_seq") - return (_G_consumedby_674, self.currentError) def rule_aat13_seq(self): - _locals = {"self": self} - self.locals["aat13_seq"] = _locals - - def _G_or_675(): - def _G_consumedby_676(): - self._trace("", (11424, 11432), self.input.position) - _G_apply_677, lastError = self._apply(self.rule_aat3_seq, "aat3_seq", []) + _locals = {'self': self} + self.locals['aat13_seq'] = _locals + def _G_or_702(): + def _G_consumedby_703(): + self._trace('', (12012, 12020), self.input.position) + _G_apply_704, lastError = self._apply(self.rule_aat3_seq, "aat3_seq", []) self.considerError(lastError, None) - return (_G_apply_677, self.currentError) - - _G_consumedby_678, lastError = self.consumedby(_G_consumedby_676) - self.considerError(lastError, None) - return (_G_consumedby_678, self.currentError) - - def _G_or_679(): - def _G_consumedby_680(): - self._trace("", (11437, 11445), self.input.position) - _G_apply_681, lastError = self._apply(self.rule_aat1_seq, "aat1_seq", []) + return (_G_apply_704, self.currentError) + _G_consumedby_705, lastError = self.consumedby(_G_consumedby_703) + self.considerError(lastError, None) + return (_G_consumedby_705, self.currentError) + def _G_or_706(): + def _G_consumedby_707(): + self._trace('', (12025, 12033), self.input.position) + _G_apply_708, lastError = self._apply(self.rule_aat1_seq, "aat1_seq", []) self.considerError(lastError, None) - return (_G_apply_681, self.currentError) - - _G_consumedby_682, lastError = self.consumedby(_G_consumedby_680) + return (_G_apply_708, self.currentError) + _G_consumedby_709, lastError = self.consumedby(_G_consumedby_707) self.considerError(lastError, None) - return (_G_consumedby_682, self.currentError) + return (_G_consumedby_709, self.currentError) + _G_or_710, lastError = self._or([_G_or_702, _G_or_706]) + self.considerError(lastError, 'aat13_seq') + return (_G_or_710, self.currentError) - _G_or_683, lastError = self._or([_G_or_675, _G_or_679]) - self.considerError(lastError, "aat13_seq") - return (_G_or_683, self.currentError) def rule_aat1_seq(self): - _locals = {"self": self} - self.locals["aat1_seq"] = _locals - - def _G_or_684(): - def _G_consumedby_685(): - self._trace("", (11459, 11464), self.input.position) - _G_apply_686, lastError = self._apply(self.rule_term1, "term1", []) + _locals = {'self': self} + self.locals['aat1_seq'] = _locals + def _G_or_711(): + def _G_consumedby_712(): + self._trace('', (12047, 12052), self.input.position) + _G_apply_713, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) - return (_G_apply_686, self.currentError) - - _G_consumedby_687, lastError = self.consumedby(_G_consumedby_685) - self.considerError(lastError, None) - return (_G_consumedby_687, self.currentError) - - def _G_or_688(): - def _G_consumedby_689(): - def _G_many1_690(): - self._trace("", (11469, 11472), self.input.position) - _G_apply_691, lastError = self._apply(self.rule_aa1, "aa1", []) + return (_G_apply_713, self.currentError) + _G_consumedby_714, lastError = self.consumedby(_G_consumedby_712) + self.considerError(lastError, None) + return (_G_consumedby_714, self.currentError) + def _G_or_715(): + def _G_consumedby_716(): + def _G_many1_717(): + self._trace('', (12057, 12060), self.input.position) + _G_apply_718, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) - return (_G_apply_691, self.currentError) - - _G_many1_692, lastError = self.many(_G_many1_690, _G_many1_690()) + return (_G_apply_718, self.currentError) + _G_many1_719, lastError = self.many(_G_many1_717, _G_many1_717()) self.considerError(lastError, None) - - def _G_optional_693(): - self._trace("", (11473, 11479), self.input.position) - _G_apply_694, lastError = self._apply(self.rule_term1, "term1", []) + def _G_optional_720(): + self._trace('', (12061, 12067), self.input.position) + _G_apply_721, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) - return (_G_apply_694, self.currentError) - - def _G_optional_695(): + return (_G_apply_721, self.currentError) + def _G_optional_722(): return (None, self.input.nullError()) - - _G_or_696, lastError = self._or([_G_optional_693, _G_optional_695]) + _G_or_723, lastError = self._or([_G_optional_720, _G_optional_722]) self.considerError(lastError, None) - return (_G_or_696, self.currentError) - - _G_consumedby_697, lastError = self.consumedby(_G_consumedby_689) + return (_G_or_723, self.currentError) + _G_consumedby_724, lastError = self.consumedby(_G_consumedby_716) self.considerError(lastError, None) - return (_G_consumedby_697, self.currentError) + return (_G_consumedby_724, self.currentError) + _G_or_725, lastError = self._or([_G_or_711, _G_or_715]) + self.considerError(lastError, 'aat1_seq') + return (_G_or_725, self.currentError) - _G_or_698, lastError = self._or([_G_or_684, _G_or_688]) - self.considerError(lastError, "aat1_seq") - return (_G_or_698, self.currentError) def rule_aat3_seq(self): - _locals = {"self": self} - self.locals["aat3_seq"] = _locals - - def _G_or_699(): - def _G_consumedby_700(): - self._trace("", (11494, 11499), self.input.position) - _G_apply_701, lastError = self._apply(self.rule_term3, "term3", []) + _locals = {'self': self} + self.locals['aat3_seq'] = _locals + def _G_or_726(): + def _G_consumedby_727(): + self._trace('', (12082, 12087), self.input.position) + _G_apply_728, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) - return (_G_apply_701, self.currentError) - - _G_consumedby_702, lastError = self.consumedby(_G_consumedby_700) - self.considerError(lastError, None) - return (_G_consumedby_702, self.currentError) - - def _G_or_703(): - def _G_consumedby_704(): - def _G_many1_705(): - self._trace("", (11504, 11507), self.input.position) - _G_apply_706, lastError = self._apply(self.rule_aa3, "aa3", []) + return (_G_apply_728, self.currentError) + _G_consumedby_729, lastError = self.consumedby(_G_consumedby_727) + self.considerError(lastError, None) + return (_G_consumedby_729, self.currentError) + def _G_or_730(): + def _G_consumedby_731(): + def _G_many1_732(): + self._trace('', (12092, 12095), self.input.position) + _G_apply_733, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) - return (_G_apply_706, self.currentError) - - _G_many1_707, lastError = self.many(_G_many1_705, _G_many1_705()) + return (_G_apply_733, self.currentError) + _G_many1_734, lastError = self.many(_G_many1_732, _G_many1_732()) self.considerError(lastError, None) - - def _G_optional_708(): - self._trace("", (11508, 11514), self.input.position) - _G_apply_709, lastError = self._apply(self.rule_term3, "term3", []) + def _G_optional_735(): + self._trace('', (12096, 12102), self.input.position) + _G_apply_736, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) - return (_G_apply_709, self.currentError) - - def _G_optional_710(): + return (_G_apply_736, self.currentError) + def _G_optional_737(): return (None, self.input.nullError()) - - _G_or_711, lastError = self._or([_G_optional_708, _G_optional_710]) + _G_or_738, lastError = self._or([_G_optional_735, _G_optional_737]) self.considerError(lastError, None) - return (_G_or_711, self.currentError) - - _G_consumedby_712, lastError = self.consumedby(_G_consumedby_704) + return (_G_or_738, self.currentError) + _G_consumedby_739, lastError = self.consumedby(_G_consumedby_731) self.considerError(lastError, None) - return (_G_consumedby_712, self.currentError) + return (_G_consumedby_739, self.currentError) + _G_or_740, lastError = self._or([_G_or_726, _G_or_730]) + self.considerError(lastError, 'aat3_seq') + return (_G_or_740, self.currentError) - _G_or_713, lastError = self._or([_G_or_699, _G_or_703]) - self.considerError(lastError, "aat3_seq") - return (_G_or_713, self.currentError) def rule_aa13_seq(self): - _locals = {"self": self} - self.locals["aa13_seq"] = _locals - - def _G_or_714(): - def _G_consumedby_715(): - self._trace("", (11529, 11536), self.input.position) - _G_apply_716, lastError = self._apply(self.rule_aa3_seq, "aa3_seq", []) + _locals = {'self': self} + self.locals['aa13_seq'] = _locals + def _G_or_741(): + def _G_consumedby_742(): + self._trace('', (12117, 12124), self.input.position) + _G_apply_743, lastError = self._apply(self.rule_aa3_seq, "aa3_seq", []) self.considerError(lastError, None) - return (_G_apply_716, self.currentError) - - _G_consumedby_717, lastError = self.consumedby(_G_consumedby_715) + return (_G_apply_743, self.currentError) + _G_consumedby_744, lastError = self.consumedby(_G_consumedby_742) self.considerError(lastError, None) - return (_G_consumedby_717, self.currentError) - - def _G_or_718(): - def _G_consumedby_719(): - self._trace("", (11541, 11548), self.input.position) - _G_apply_720, lastError = self._apply(self.rule_aa1_seq, "aa1_seq", []) + return (_G_consumedby_744, self.currentError) + def _G_or_745(): + def _G_consumedby_746(): + self._trace('', (12129, 12136), self.input.position) + _G_apply_747, lastError = self._apply(self.rule_aa1_seq, "aa1_seq", []) self.considerError(lastError, None) - return (_G_apply_720, self.currentError) - - _G_consumedby_721, lastError = self.consumedby(_G_consumedby_719) + return (_G_apply_747, self.currentError) + _G_consumedby_748, lastError = self.consumedby(_G_consumedby_746) self.considerError(lastError, None) - return (_G_consumedby_721, self.currentError) + return (_G_consumedby_748, self.currentError) + _G_or_749, lastError = self._or([_G_or_741, _G_or_745]) + self.considerError(lastError, 'aa13_seq') + return (_G_or_749, self.currentError) - _G_or_722, lastError = self._or([_G_or_714, _G_or_718]) - self.considerError(lastError, "aa13_seq") - return (_G_or_722, self.currentError) def rule_aa1_seq(self): - _locals = {"self": self} - self.locals["aa1_seq"] = _locals - - def _G_consumedby_723(): - def _G_many1_724(): - self._trace("", (11561, 11564), self.input.position) - _G_apply_725, lastError = self._apply(self.rule_aa1, "aa1", []) + _locals = {'self': self} + self.locals['aa1_seq'] = _locals + def _G_consumedby_750(): + def _G_many1_751(): + self._trace('', (12149, 12152), self.input.position) + _G_apply_752, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) - return (_G_apply_725, self.currentError) - - _G_many1_726, lastError = self.many(_G_many1_724, _G_many1_724()) + return (_G_apply_752, self.currentError) + _G_many1_753, lastError = self.many(_G_many1_751, _G_many1_751()) self.considerError(lastError, None) - return (_G_many1_726, self.currentError) + return (_G_many1_753, self.currentError) + _G_consumedby_754, lastError = self.consumedby(_G_consumedby_750) + self.considerError(lastError, 'aa1_seq') + return (_G_consumedby_754, self.currentError) - _G_consumedby_727, lastError = self.consumedby(_G_consumedby_723) - self.considerError(lastError, "aa1_seq") - return (_G_consumedby_727, self.currentError) def rule_aa3_seq(self): - _locals = {"self": self} - self.locals["aa3_seq"] = _locals - - def _G_consumedby_728(): - def _G_many1_729(): - self._trace("", (11578, 11581), self.input.position) - _G_apply_730, lastError = self._apply(self.rule_aa3, "aa3", []) + _locals = {'self': self} + self.locals['aa3_seq'] = _locals + def _G_consumedby_755(): + def _G_many1_756(): + self._trace('', (12166, 12169), self.input.position) + _G_apply_757, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) - return (_G_apply_730, self.currentError) - - _G_many1_731, lastError = self.many(_G_many1_729, _G_many1_729()) + return (_G_apply_757, self.currentError) + _G_many1_758, lastError = self.many(_G_many1_756, _G_many1_756()) self.considerError(lastError, None) - return (_G_many1_731, self.currentError) + return (_G_many1_758, self.currentError) + _G_consumedby_759, lastError = self.consumedby(_G_consumedby_755) + self.considerError(lastError, 'aa3_seq') + return (_G_consumedby_759, self.currentError) - _G_consumedby_732, lastError = self.consumedby(_G_consumedby_728) - self.considerError(lastError, "aa3_seq") - return (_G_consumedby_732, self.currentError) def rule_aa1(self): - _locals = {"self": self} - self.locals["aa1"] = _locals - _G_apply_733, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, "aa1") - _locals["x"] = _G_apply_733 + _locals = {'self': self} + self.locals['aa1'] = _locals + _G_apply_760, lastError = self._apply(self.rule_anything, "anything", []) + self.considerError(lastError, 'aa1') + _locals['x'] = _G_apply_760 + def _G_pred_761(): + _G_python_763, lastError = eval(self._G_expr_762, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_763, self.currentError) + _G_pred_764, lastError = self.pred(_G_pred_761) + self.considerError(lastError, 'aa1') + _G_python_766, lastError = eval(self._G_expr_765, self.globals, _locals), None + self.considerError(lastError, 'aa1') + return (_G_python_766, self.currentError) - def _G_pred_734(): - _G_python_736, lastError = eval(self._G_expr_735, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_736, self.currentError) - - _G_pred_737, lastError = self.pred(_G_pred_734) - self.considerError(lastError, "aa1") - _G_python_739, lastError = eval(self._G_expr_738, self.globals, _locals), None - self.considerError(lastError, "aa1") - return (_G_python_739, self.currentError) def rule_aa13(self): - _locals = {"self": self} - self.locals["aa13"] = _locals - - def _G_or_740(): - self._trace("", (11662, 11666), self.input.position) - _G_apply_741, lastError = self._apply(self.rule_aa3, "aa3", []) + _locals = {'self': self} + self.locals['aa13'] = _locals + def _G_or_767(): + self._trace('', (12250, 12254), self.input.position) + _G_apply_768, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) - return (_G_apply_741, self.currentError) - - def _G_or_742(): - self._trace("", (11668, 11672), self.input.position) - _G_apply_743, lastError = self._apply(self.rule_aa1, "aa1", []) + return (_G_apply_768, self.currentError) + def _G_or_769(): + self._trace('', (12256, 12260), self.input.position) + _G_apply_770, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) - return (_G_apply_743, self.currentError) + return (_G_apply_770, self.currentError) + _G_or_771, lastError = self._or([_G_or_767, _G_or_769]) + self.considerError(lastError, 'aa13') + return (_G_or_771, self.currentError) - _G_or_744, lastError = self._or([_G_or_740, _G_or_742]) - self.considerError(lastError, "aa13") - return (_G_or_744, self.currentError) def rule_aa3(self): - _locals = {"self": self} - self.locals["aa3"] = _locals - - def _G_or_745(): - self._trace("", (11678, 11684), self.input.position) - _G_exactly_746, lastError = self.exactly("Ala") - self.considerError(lastError, None) - return (_G_exactly_746, self.currentError) - - def _G_or_747(): - self._trace("", (11685, 11690), self.input.position) - _G_exactly_748, lastError = self.exactly("Cys") - self.considerError(lastError, None) - return (_G_exactly_748, self.currentError) - - def _G_or_749(): - self._trace("", (11691, 11696), self.input.position) - _G_exactly_750, lastError = self.exactly("Asp") - self.considerError(lastError, None) - return (_G_exactly_750, self.currentError) - - def _G_or_751(): - self._trace("", (11697, 11702), self.input.position) - _G_exactly_752, lastError = self.exactly("Glu") - self.considerError(lastError, None) - return (_G_exactly_752, self.currentError) - - def _G_or_753(): - self._trace("", (11703, 11708), self.input.position) - _G_exactly_754, lastError = self.exactly("Phe") - self.considerError(lastError, None) - return (_G_exactly_754, self.currentError) - - def _G_or_755(): - self._trace("", (11709, 11714), self.input.position) - _G_exactly_756, lastError = self.exactly("Gly") - self.considerError(lastError, None) - return (_G_exactly_756, self.currentError) - - def _G_or_757(): - self._trace("", (11715, 11720), self.input.position) - _G_exactly_758, lastError = self.exactly("His") - self.considerError(lastError, None) - return (_G_exactly_758, self.currentError) - - def _G_or_759(): - self._trace("", (11721, 11726), self.input.position) - _G_exactly_760, lastError = self.exactly("Ile") - self.considerError(lastError, None) - return (_G_exactly_760, self.currentError) - - def _G_or_761(): - self._trace("", (11727, 11732), self.input.position) - _G_exactly_762, lastError = self.exactly("Lys") - self.considerError(lastError, None) - return (_G_exactly_762, self.currentError) - - def _G_or_763(): - self._trace("", (11733, 11738), self.input.position) - _G_exactly_764, lastError = self.exactly("Leu") - self.considerError(lastError, None) - return (_G_exactly_764, self.currentError) - - def _G_or_765(): - self._trace("", (11739, 11744), self.input.position) - _G_exactly_766, lastError = self.exactly("Met") - self.considerError(lastError, None) - return (_G_exactly_766, self.currentError) - - def _G_or_767(): - self._trace("", (11745, 11750), self.input.position) - _G_exactly_768, lastError = self.exactly("Asn") + _locals = {'self': self} + self.locals['aa3'] = _locals + def _G_or_772(): + self._trace('', (12266, 12272), self.input.position) + _G_exactly_773, lastError = self.exactly('Ala') + self.considerError(lastError, None) + return (_G_exactly_773, self.currentError) + def _G_or_774(): + self._trace('', (12273, 12278), self.input.position) + _G_exactly_775, lastError = self.exactly('Cys') + self.considerError(lastError, None) + return (_G_exactly_775, self.currentError) + def _G_or_776(): + self._trace('', (12279, 12284), self.input.position) + _G_exactly_777, lastError = self.exactly('Asp') + self.considerError(lastError, None) + return (_G_exactly_777, self.currentError) + def _G_or_778(): + self._trace('', (12285, 12290), self.input.position) + _G_exactly_779, lastError = self.exactly('Glu') + self.considerError(lastError, None) + return (_G_exactly_779, self.currentError) + def _G_or_780(): + self._trace('', (12291, 12296), self.input.position) + _G_exactly_781, lastError = self.exactly('Phe') + self.considerError(lastError, None) + return (_G_exactly_781, self.currentError) + def _G_or_782(): + self._trace('', (12297, 12302), self.input.position) + _G_exactly_783, lastError = self.exactly('Gly') + self.considerError(lastError, None) + return (_G_exactly_783, self.currentError) + def _G_or_784(): + self._trace('', (12303, 12308), self.input.position) + _G_exactly_785, lastError = self.exactly('His') + self.considerError(lastError, None) + return (_G_exactly_785, self.currentError) + def _G_or_786(): + self._trace('', (12309, 12314), self.input.position) + _G_exactly_787, lastError = self.exactly('Ile') + self.considerError(lastError, None) + return (_G_exactly_787, self.currentError) + def _G_or_788(): + self._trace('', (12315, 12320), self.input.position) + _G_exactly_789, lastError = self.exactly('Lys') + self.considerError(lastError, None) + return (_G_exactly_789, self.currentError) + def _G_or_790(): + self._trace('', (12321, 12326), self.input.position) + _G_exactly_791, lastError = self.exactly('Leu') + self.considerError(lastError, None) + return (_G_exactly_791, self.currentError) + def _G_or_792(): + self._trace('', (12327, 12332), self.input.position) + _G_exactly_793, lastError = self.exactly('Met') + self.considerError(lastError, None) + return (_G_exactly_793, self.currentError) + def _G_or_794(): + self._trace('', (12333, 12338), self.input.position) + _G_exactly_795, lastError = self.exactly('Asn') self.considerError(lastError, None) - return (_G_exactly_768, self.currentError) - - def _G_or_769(): - self._trace("", (11751, 11756), self.input.position) - _G_exactly_770, lastError = self.exactly("Pro") + return (_G_exactly_795, self.currentError) + def _G_or_796(): + self._trace('', (12339, 12344), self.input.position) + _G_exactly_797, lastError = self.exactly('Pro') self.considerError(lastError, None) - return (_G_exactly_770, self.currentError) - - def _G_or_771(): - self._trace("", (11757, 11762), self.input.position) - _G_exactly_772, lastError = self.exactly("Gln") + return (_G_exactly_797, self.currentError) + def _G_or_798(): + self._trace('', (12345, 12350), self.input.position) + _G_exactly_799, lastError = self.exactly('Gln') self.considerError(lastError, None) - return (_G_exactly_772, self.currentError) - - def _G_or_773(): - self._trace("", (11763, 11768), self.input.position) - _G_exactly_774, lastError = self.exactly("Arg") + return (_G_exactly_799, self.currentError) + def _G_or_800(): + self._trace('', (12351, 12356), self.input.position) + _G_exactly_801, lastError = self.exactly('Arg') self.considerError(lastError, None) - return (_G_exactly_774, self.currentError) - - def _G_or_775(): - self._trace("", (11769, 11774), self.input.position) - _G_exactly_776, lastError = self.exactly("Ser") + return (_G_exactly_801, self.currentError) + def _G_or_802(): + self._trace('', (12357, 12362), self.input.position) + _G_exactly_803, lastError = self.exactly('Ser') self.considerError(lastError, None) - return (_G_exactly_776, self.currentError) - - def _G_or_777(): - self._trace("", (11775, 11780), self.input.position) - _G_exactly_778, lastError = self.exactly("Thr") + return (_G_exactly_803, self.currentError) + def _G_or_804(): + self._trace('', (12363, 12368), self.input.position) + _G_exactly_805, lastError = self.exactly('Thr') self.considerError(lastError, None) - return (_G_exactly_778, self.currentError) - - def _G_or_779(): - self._trace("", (11781, 11786), self.input.position) - _G_exactly_780, lastError = self.exactly("Val") + return (_G_exactly_805, self.currentError) + def _G_or_806(): + self._trace('', (12369, 12374), self.input.position) + _G_exactly_807, lastError = self.exactly('Val') self.considerError(lastError, None) - return (_G_exactly_780, self.currentError) - - def _G_or_781(): - self._trace("", (11787, 11792), self.input.position) - _G_exactly_782, lastError = self.exactly("Trp") + return (_G_exactly_807, self.currentError) + def _G_or_808(): + self._trace('', (12375, 12380), self.input.position) + _G_exactly_809, lastError = self.exactly('Trp') self.considerError(lastError, None) - return (_G_exactly_782, self.currentError) - - def _G_or_783(): - self._trace("", (11793, 11798), self.input.position) - _G_exactly_784, lastError = self.exactly("Tyr") + return (_G_exactly_809, self.currentError) + def _G_or_810(): + self._trace('', (12381, 12386), self.input.position) + _G_exactly_811, lastError = self.exactly('Tyr') self.considerError(lastError, None) - return (_G_exactly_784, self.currentError) - - def _G_or_785(): - self._trace("", (11800, 11806), self.input.position) - _G_exactly_786, lastError = self.exactly("Asx") + return (_G_exactly_811, self.currentError) + def _G_or_812(): + self._trace('', (12388, 12394), self.input.position) + _G_exactly_813, lastError = self.exactly('Asx') self.considerError(lastError, None) - return (_G_exactly_786, self.currentError) - - def _G_or_787(): - self._trace("", (11808, 11814), self.input.position) - _G_exactly_788, lastError = self.exactly("Glx") + return (_G_exactly_813, self.currentError) + def _G_or_814(): + self._trace('', (12396, 12402), self.input.position) + _G_exactly_815, lastError = self.exactly('Glx') self.considerError(lastError, None) - return (_G_exactly_788, self.currentError) - - def _G_or_789(): - self._trace("", (11816, 11822), self.input.position) - _G_exactly_790, lastError = self.exactly("Xaa") + return (_G_exactly_815, self.currentError) + def _G_or_816(): + self._trace('', (12404, 12410), self.input.position) + _G_exactly_817, lastError = self.exactly('Xaa') self.considerError(lastError, None) - return (_G_exactly_790, self.currentError) - - def _G_or_791(): - self._trace("", (11824, 11830), self.input.position) - _G_exactly_792, lastError = self.exactly("Sec") + return (_G_exactly_817, self.currentError) + def _G_or_818(): + self._trace('', (12412, 12418), self.input.position) + _G_exactly_819, lastError = self.exactly('Sec') self.considerError(lastError, None) - return (_G_exactly_792, self.currentError) + return (_G_exactly_819, self.currentError) + _G_or_820, lastError = self._or([_G_or_772, _G_or_774, _G_or_776, _G_or_778, _G_or_780, _G_or_782, _G_or_784, _G_or_786, _G_or_788, _G_or_790, _G_or_792, _G_or_794, _G_or_796, _G_or_798, _G_or_800, _G_or_802, _G_or_804, _G_or_806, _G_or_808, _G_or_810, _G_or_812, _G_or_814, _G_or_816, _G_or_818]) + self.considerError(lastError, 'aa3') + return (_G_or_820, self.currentError) - _G_or_793, lastError = self._or( - [ - _G_or_745, - _G_or_747, - _G_or_749, - _G_or_751, - _G_or_753, - _G_or_755, - _G_or_757, - _G_or_759, - _G_or_761, - _G_or_763, - _G_or_765, - _G_or_767, - _G_or_769, - _G_or_771, - _G_or_773, - _G_or_775, - _G_or_777, - _G_or_779, - _G_or_781, - _G_or_783, - _G_or_785, - _G_or_787, - _G_or_789, - _G_or_791, - ] - ) - self.considerError(lastError, "aa3") - return (_G_or_793, self.currentError) def rule_aat1(self): - _locals = {"self": self} - self.locals["aat1"] = _locals - - def _G_or_794(): - self._trace("", (11837, 11843), self.input.position) - _G_apply_795, lastError = self._apply(self.rule_term1, "term1", []) + _locals = {'self': self} + self.locals['aat1'] = _locals + def _G_or_821(): + self._trace('', (12425, 12431), self.input.position) + _G_apply_822, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) - return (_G_apply_795, self.currentError) - - def _G_or_796(): - self._trace("", (11845, 11849), self.input.position) - _G_apply_797, lastError = self._apply(self.rule_aa1, "aa1", []) + return (_G_apply_822, self.currentError) + def _G_or_823(): + self._trace('', (12433, 12437), self.input.position) + _G_apply_824, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) - return (_G_apply_797, self.currentError) + return (_G_apply_824, self.currentError) + _G_or_825, lastError = self._or([_G_or_821, _G_or_823]) + self.considerError(lastError, 'aat1') + return (_G_or_825, self.currentError) - _G_or_798, lastError = self._or([_G_or_794, _G_or_796]) - self.considerError(lastError, "aat1") - return (_G_or_798, self.currentError) def rule_aat13(self): - _locals = {"self": self} - self.locals["aat13"] = _locals - - def _G_or_799(): - self._trace("", (11857, 11862), self.input.position) - _G_apply_800, lastError = self._apply(self.rule_aat3, "aat3", []) + _locals = {'self': self} + self.locals['aat13'] = _locals + def _G_or_826(): + self._trace('', (12445, 12450), self.input.position) + _G_apply_827, lastError = self._apply(self.rule_aat3, "aat3", []) self.considerError(lastError, None) - return (_G_apply_800, self.currentError) - - def _G_or_801(): - self._trace("", (11864, 11869), self.input.position) - _G_apply_802, lastError = self._apply(self.rule_aat1, "aat1", []) + return (_G_apply_827, self.currentError) + def _G_or_828(): + self._trace('', (12452, 12457), self.input.position) + _G_apply_829, lastError = self._apply(self.rule_aat1, "aat1", []) self.considerError(lastError, None) - return (_G_apply_802, self.currentError) + return (_G_apply_829, self.currentError) + _G_or_830, lastError = self._or([_G_or_826, _G_or_828]) + self.considerError(lastError, 'aat13') + return (_G_or_830, self.currentError) - _G_or_803, lastError = self._or([_G_or_799, _G_or_801]) - self.considerError(lastError, "aat13") - return (_G_or_803, self.currentError) def rule_aat3(self): - _locals = {"self": self} - self.locals["aat3"] = _locals - - def _G_or_804(): - self._trace("", (11876, 11882), self.input.position) - _G_apply_805, lastError = self._apply(self.rule_term3, "term3", []) + _locals = {'self': self} + self.locals['aat3'] = _locals + def _G_or_831(): + self._trace('', (12464, 12470), self.input.position) + _G_apply_832, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) - return (_G_apply_805, self.currentError) - - def _G_or_806(): - self._trace("", (11884, 11888), self.input.position) - _G_apply_807, lastError = self._apply(self.rule_aa3, "aa3", []) + return (_G_apply_832, self.currentError) + def _G_or_833(): + self._trace('', (12472, 12476), self.input.position) + _G_apply_834, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) - return (_G_apply_807, self.currentError) + return (_G_apply_834, self.currentError) + _G_or_835, lastError = self._or([_G_or_831, _G_or_833]) + self.considerError(lastError, 'aat3') + return (_G_or_835, self.currentError) - _G_or_808, lastError = self._or([_G_or_804, _G_or_806]) - self.considerError(lastError, "aat3") - return (_G_or_808, self.currentError) def rule_dna(self): - _locals = {"self": self} - self.locals["dna"] = _locals - self._trace("", (11894, 11904), self.input.position) - _G_apply_809, lastError = self._apply(self.rule_dna_iupac, "dna_iupac", []) - self.considerError(lastError, "dna") - return (_G_apply_809, self.currentError) + _locals = {'self': self} + self.locals['dna'] = _locals + self._trace('', (12482, 12492), self.input.position) + _G_apply_836, lastError = self._apply(self.rule_dna_iupac, "dna_iupac", []) + self.considerError(lastError, 'dna') + return (_G_apply_836, self.currentError) - def rule_dna_iupac(self): - _locals = {"self": self} - self.locals["dna_iupac"] = _locals - _G_apply_810, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, "dna_iupac") - _locals["x"] = _G_apply_810 - def _G_pred_811(): - _G_python_813, lastError = eval(self._G_expr_812, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_813, self.currentError) + def rule_dna_iupac(self): + _locals = {'self': self} + self.locals['dna_iupac'] = _locals + _G_apply_837, lastError = self._apply(self.rule_anything, "anything", []) + self.considerError(lastError, 'dna_iupac') + _locals['x'] = _G_apply_837 + def _G_pred_838(): + _G_python_840, lastError = eval(self._G_expr_839, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_840, self.currentError) + _G_pred_841, lastError = self.pred(_G_pred_838) + self.considerError(lastError, 'dna_iupac') + _G_python_842, lastError = eval(self._G_expr_765, self.globals, _locals), None + self.considerError(lastError, 'dna_iupac') + return (_G_python_842, self.currentError) - _G_pred_814, lastError = self.pred(_G_pred_811) - self.considerError(lastError, "dna_iupac") - _G_python_815, lastError = eval(self._G_expr_738, self.globals, _locals), None - self.considerError(lastError, "dna_iupac") - return (_G_python_815, self.currentError) def rule_na_iupac(self): - _locals = {"self": self} - self.locals["na_iupac"] = _locals - _G_apply_816, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, "na_iupac") - _locals["x"] = _G_apply_816 - - def _G_pred_817(): - _G_python_819, lastError = eval(self._G_expr_818, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_819, self.currentError) + _locals = {'self': self} + self.locals['na_iupac'] = _locals + _G_apply_843, lastError = self._apply(self.rule_anything, "anything", []) + self.considerError(lastError, 'na_iupac') + _locals['x'] = _G_apply_843 + def _G_pred_844(): + _G_python_846, lastError = eval(self._G_expr_845, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_846, self.currentError) + _G_pred_847, lastError = self.pred(_G_pred_844) + self.considerError(lastError, 'na_iupac') + _G_python_848, lastError = eval(self._G_expr_765, self.globals, _locals), None + self.considerError(lastError, 'na_iupac') + return (_G_python_848, self.currentError) - _G_pred_820, lastError = self.pred(_G_pred_817) - self.considerError(lastError, "na_iupac") - _G_python_821, lastError = eval(self._G_expr_738, self.globals, _locals), None - self.considerError(lastError, "na_iupac") - return (_G_python_821, self.currentError) def rule_rna(self): - _locals = {"self": self} - self.locals["rna"] = _locals - self._trace("", (12033, 12043), self.input.position) - _G_apply_822, lastError = self._apply(self.rule_rna_iupac, "rna_iupac", []) - self.considerError(lastError, "rna") - return (_G_apply_822, self.currentError) + _locals = {'self': self} + self.locals['rna'] = _locals + self._trace('', (12621, 12631), self.input.position) + _G_apply_849, lastError = self._apply(self.rule_rna_iupac, "rna_iupac", []) + self.considerError(lastError, 'rna') + return (_G_apply_849, self.currentError) - def rule_rna_iupac(self): - _locals = {"self": self} - self.locals["rna_iupac"] = _locals - _G_apply_823, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, "rna_iupac") - _locals["x"] = _G_apply_823 - def _G_pred_824(): - _G_python_826, lastError = eval(self._G_expr_825, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_826, self.currentError) + def rule_rna_iupac(self): + _locals = {'self': self} + self.locals['rna_iupac'] = _locals + _G_apply_850, lastError = self._apply(self.rule_anything, "anything", []) + self.considerError(lastError, 'rna_iupac') + _locals['x'] = _G_apply_850 + def _G_pred_851(): + _G_python_853, lastError = eval(self._G_expr_852, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_853, self.currentError) + _G_pred_854, lastError = self.pred(_G_pred_851) + self.considerError(lastError, 'rna_iupac') + _G_python_855, lastError = eval(self._G_expr_765, self.globals, _locals), None + self.considerError(lastError, 'rna_iupac') + return (_G_python_855, self.currentError) - _G_pred_827, lastError = self.pred(_G_pred_824) - self.considerError(lastError, "rna_iupac") - _G_python_828, lastError = eval(self._G_expr_738, self.globals, _locals), None - self.considerError(lastError, "rna_iupac") - return (_G_python_828, self.currentError) def rule_term1(self): - _locals = {"self": self} - self.locals["term1"] = _locals - _G_apply_829, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, "term1") - _locals["x"] = _G_apply_829 + _locals = {'self': self} + self.locals['term1'] = _locals + _G_apply_856, lastError = self._apply(self.rule_anything, "anything", []) + self.considerError(lastError, 'term1') + _locals['x'] = _G_apply_856 + def _G_pred_857(): + _G_python_859, lastError = eval(self._G_expr_858, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_859, self.currentError) + _G_pred_860, lastError = self.pred(_G_pred_857) + self.considerError(lastError, 'term1') + _G_python_861, lastError = eval(self._G_expr_765, self.globals, _locals), None + self.considerError(lastError, 'term1') + return (_G_python_861, self.currentError) - def _G_pred_830(): - _G_python_832, lastError = eval(self._G_expr_831, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_832, self.currentError) - - _G_pred_833, lastError = self.pred(_G_pred_830) - self.considerError(lastError, "term1") - _G_python_834, lastError = eval(self._G_expr_738, self.globals, _locals), None - self.considerError(lastError, "term1") - return (_G_python_834, self.currentError) def rule_term13(self): - _locals = {"self": self} - self.locals["term13"] = _locals - - def _G_or_835(): - self._trace("", (12142, 12148), self.input.position) - _G_apply_836, lastError = self._apply(self.rule_term3, "term3", []) + _locals = {'self': self} + self.locals['term13'] = _locals + def _G_or_862(): + self._trace('', (12730, 12736), self.input.position) + _G_apply_863, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) - return (_G_apply_836, self.currentError) - - def _G_or_837(): - self._trace("", (12150, 12156), self.input.position) - _G_apply_838, lastError = self._apply(self.rule_term1, "term1", []) + return (_G_apply_863, self.currentError) + def _G_or_864(): + self._trace('', (12738, 12744), self.input.position) + _G_apply_865, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) - return (_G_apply_838, self.currentError) + return (_G_apply_865, self.currentError) + _G_or_866, lastError = self._or([_G_or_862, _G_or_864]) + self.considerError(lastError, 'term13') + return (_G_or_866, self.currentError) - _G_or_839, lastError = self._or([_G_or_835, _G_or_837]) - self.considerError(lastError, "term13") - return (_G_or_839, self.currentError) def rule_term3(self): - _locals = {"self": self} - self.locals["term3"] = _locals - self._trace("", (12164, 12170), self.input.position) - _G_exactly_840, lastError = self.exactly("Ter") - self.considerError(lastError, "term3") - return (_G_exactly_840, self.currentError) + _locals = {'self': self} + self.locals['term3'] = _locals + self._trace('', (12752, 12758), self.input.position) + _G_exactly_867, lastError = self.exactly('Ter') + self.considerError(lastError, 'term3') + return (_G_exactly_867, self.currentError) + def rule_base(self): - _locals = {"self": self} - self.locals["base"] = _locals - self._trace("", (12254, 12259), self.input.position) - _G_apply_841, lastError = self._apply(self.rule_snum, "snum", []) - self.considerError(lastError, "base") - return (_G_apply_841, self.currentError) + _locals = {'self': self} + self.locals['base'] = _locals + self._trace('', (12842, 12847), self.input.position) + _G_apply_868, lastError = self._apply(self.rule_snum, "snum", []) + self.considerError(lastError, 'base') + return (_G_apply_868, self.currentError) - def rule_nnum(self): - _locals = {"self": self} - self.locals["nnum"] = _locals - def _G_consumedby_842(): - self._trace("", (12268, 12271), self.input.position) - _G_exactly_843, lastError = self.exactly("-") + def rule_nnum(self): + _locals = {'self': self} + self.locals['nnum'] = _locals + def _G_consumedby_869(): + self._trace('', (12856, 12859), self.input.position) + _G_exactly_870, lastError = self.exactly('-') self.considerError(lastError, None) - self._trace("", (12271, 12275), self.input.position) - _G_apply_844, lastError = self._apply(self.rule_num, "num", []) + self._trace('', (12859, 12863), self.input.position) + _G_apply_871, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_apply_844, self.currentError) + return (_G_apply_871, self.currentError) + _G_consumedby_872, lastError = self.consumedby(_G_consumedby_869) + self.considerError(lastError, 'nnum') + _locals['x'] = _G_consumedby_872 + _G_python_874, lastError = eval(self._G_expr_873, self.globals, _locals), None + self.considerError(lastError, 'nnum') + return (_G_python_874, self.currentError) - _G_consumedby_845, lastError = self.consumedby(_G_consumedby_842) - self.considerError(lastError, "nnum") - _locals["x"] = _G_consumedby_845 - _G_python_847, lastError = eval(self._G_expr_846, self.globals, _locals), None - self.considerError(lastError, "nnum") - return (_G_python_847, self.currentError) def rule_num(self): - _locals = {"self": self} - self.locals["num"] = _locals - - def _G_consumedby_848(): - def _G_many1_849(): - self._trace("", (12296, 12301), self.input.position) - _G_apply_850, lastError = self._apply(self.rule_digit, "digit", []) + _locals = {'self': self} + self.locals['num'] = _locals + def _G_consumedby_875(): + def _G_many1_876(): + self._trace('', (12884, 12889), self.input.position) + _G_apply_877, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) - return (_G_apply_850, self.currentError) - - _G_many1_851, lastError = self.many(_G_many1_849, _G_many1_849()) + return (_G_apply_877, self.currentError) + _G_many1_878, lastError = self.many(_G_many1_876, _G_many1_876()) self.considerError(lastError, None) - return (_G_many1_851, self.currentError) + return (_G_many1_878, self.currentError) + _G_consumedby_879, lastError = self.consumedby(_G_consumedby_875) + self.considerError(lastError, 'num') + _locals['x'] = _G_consumedby_879 + _G_python_880, lastError = eval(self._G_expr_873, self.globals, _locals), None + self.considerError(lastError, 'num') + return (_G_python_880, self.currentError) - _G_consumedby_852, lastError = self.consumedby(_G_consumedby_848) - self.considerError(lastError, "num") - _locals["x"] = _G_consumedby_852 - _G_python_853, lastError = eval(self._G_expr_846, self.globals, _locals), None - self.considerError(lastError, "num") - return (_G_python_853, self.currentError) def rule_offset(self): - _locals = {"self": self} - self.locals["offset"] = _locals - - def _G_or_854(): - self._trace("", (12324, 12329), self.input.position) - _G_apply_855, lastError = self._apply(self.rule_snum, "snum", []) + _locals = {'self': self} + self.locals['offset'] = _locals + def _G_or_881(): + self._trace('', (12912, 12917), self.input.position) + _G_apply_882, lastError = self._apply(self.rule_snum, "snum", []) self.considerError(lastError, None) - return (_G_apply_855, self.currentError) - - def _G_or_856(): - _G_python_857, lastError = (0), None + return (_G_apply_882, self.currentError) + def _G_or_883(): + _G_python_884, lastError = (0), None self.considerError(lastError, None) - return (_G_python_857, self.currentError) + return (_G_python_884, self.currentError) + _G_or_885, lastError = self._or([_G_or_881, _G_or_883]) + self.considerError(lastError, 'offset') + return (_G_or_885, self.currentError) - _G_or_858, lastError = self._or([_G_or_854, _G_or_856]) - self.considerError(lastError, "offset") - return (_G_or_858, self.currentError) def rule_pm(self): - _locals = {"self": self} - self.locals["pm"] = _locals - _G_apply_859, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, "pm") - _locals["x"] = _G_apply_859 + _locals = {'self': self} + self.locals['pm'] = _locals + _G_apply_886, lastError = self._apply(self.rule_anything, "anything", []) + self.considerError(lastError, 'pm') + _locals['x'] = _G_apply_886 + def _G_pred_887(): + _G_python_889, lastError = eval(self._G_expr_888, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_889, self.currentError) + _G_pred_890, lastError = self.pred(_G_pred_887) + self.considerError(lastError, 'pm') + _G_python_891, lastError = eval(self._G_expr_765, self.globals, _locals), None + self.considerError(lastError, 'pm') + return (_G_python_891, self.currentError) - def _G_pred_860(): - _G_python_862, lastError = eval(self._G_expr_861, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_862, self.currentError) - - _G_pred_863, lastError = self.pred(_G_pred_860) - self.considerError(lastError, "pm") - _G_python_864, lastError = eval(self._G_expr_738, self.globals, _locals), None - self.considerError(lastError, "pm") - return (_G_python_864, self.currentError) def rule_snum(self): - _locals = {"self": self} - self.locals["snum"] = _locals - - def _G_consumedby_865(): - def _G_optional_866(): - self._trace("", (12373, 12375), self.input.position) - _G_apply_867, lastError = self._apply(self.rule_pm, "pm", []) + _locals = {'self': self} + self.locals['snum'] = _locals + def _G_consumedby_892(): + def _G_optional_893(): + self._trace('', (12961, 12963), self.input.position) + _G_apply_894, lastError = self._apply(self.rule_pm, "pm", []) self.considerError(lastError, None) - return (_G_apply_867, self.currentError) - - def _G_optional_868(): + return (_G_apply_894, self.currentError) + def _G_optional_895(): return (None, self.input.nullError()) - - _G_or_869, lastError = self._or([_G_optional_866, _G_optional_868]) + _G_or_896, lastError = self._or([_G_optional_893, _G_optional_895]) self.considerError(lastError, None) - self._trace("", (12376, 12380), self.input.position) - _G_apply_870, lastError = self._apply(self.rule_num, "num", []) + self._trace('', (12964, 12968), self.input.position) + _G_apply_897, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_apply_870, self.currentError) + return (_G_apply_897, self.currentError) + _G_consumedby_898, lastError = self.consumedby(_G_consumedby_892) + self.considerError(lastError, 'snum') + _locals['x'] = _G_consumedby_898 + _G_python_899, lastError = eval(self._G_expr_873, self.globals, _locals), None + self.considerError(lastError, 'snum') + return (_G_python_899, self.currentError) - _G_consumedby_871, lastError = self.consumedby(_G_consumedby_865) - self.considerError(lastError, "snum") - _locals["x"] = _G_consumedby_871 - _G_python_872, lastError = eval(self._G_expr_846, self.globals, _locals), None - self.considerError(lastError, "snum") - return (_G_python_872, self.currentError) def rule_accn(self): - _locals = {"self": self} - self.locals["accn"] = _locals - - def _G_consumedby_873(): - self._trace("", (12484, 12490), self.input.position) - _G_apply_874, lastError = self._apply(self.rule_letter, "letter", []) - self.considerError(lastError, None) - - def _G_optional_875(): - def _G_many1_876(): - def _G_or_877(): - self._trace("", (12493, 12506), self.input.position) - _G_apply_878, lastError = self._apply( - self.rule_letterOrDigit, "letterOrDigit", [] - ) + _locals = {'self': self} + self.locals['accn'] = _locals + def _G_consumedby_900(): + self._trace('', (13072, 13078), self.input.position) + _G_apply_901, lastError = self._apply(self.rule_letter, "letter", []) + self.considerError(lastError, None) + def _G_optional_902(): + def _G_many1_903(): + def _G_or_904(): + self._trace('', (13081, 13094), self.input.position) + _G_apply_905, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) - return (_G_apply_878, self.currentError) - - def _G_or_879(): - def _G_or_880(): - self._trace("", (12510, 12513), self.input.position) - _G_exactly_881, lastError = self.exactly("-") + return (_G_apply_905, self.currentError) + def _G_or_906(): + def _G_or_907(): + self._trace('', (13098, 13101), self.input.position) + _G_exactly_908, lastError = self.exactly('-') self.considerError(lastError, None) - return (_G_exactly_881, self.currentError) - - def _G_or_882(): - self._trace("", (12514, 12517), self.input.position) - _G_exactly_883, lastError = self.exactly("_") + return (_G_exactly_908, self.currentError) + def _G_or_909(): + self._trace('', (13102, 13105), self.input.position) + _G_exactly_910, lastError = self.exactly('_') self.considerError(lastError, None) - return (_G_exactly_883, self.currentError) - - _G_or_884, lastError = self._or([_G_or_880, _G_or_882]) + return (_G_exactly_910, self.currentError) + _G_or_911, lastError = self._or([_G_or_907, _G_or_909]) self.considerError(lastError, None) - - def _G_lookahead_885(): - self._trace("", (12521, 12534), self.input.position) - _G_apply_886, lastError = self._apply( - self.rule_letterOrDigit, "letterOrDigit", [] - ) + def _G_lookahead_912(): + self._trace('', (13109, 13122), self.input.position) + _G_apply_913, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) - return (_G_apply_886, self.currentError) - - _G_lookahead_887, lastError = self.lookahead(_G_lookahead_885) + return (_G_apply_913, self.currentError) + _G_lookahead_914, lastError = self.lookahead(_G_lookahead_912) self.considerError(lastError, None) - return (_G_lookahead_887, self.currentError) - - _G_or_888, lastError = self._or([_G_or_877, _G_or_879]) + return (_G_lookahead_914, self.currentError) + _G_or_915, lastError = self._or([_G_or_904, _G_or_906]) self.considerError(lastError, None) - return (_G_or_888, self.currentError) - - _G_many1_889, lastError = self.many(_G_many1_876, _G_many1_876()) + return (_G_or_915, self.currentError) + _G_many1_916, lastError = self.many(_G_many1_903, _G_many1_903()) self.considerError(lastError, None) - return (_G_many1_889, self.currentError) - - def _G_optional_890(): + return (_G_many1_916, self.currentError) + def _G_optional_917(): return (None, self.input.nullError()) - - _G_or_891, lastError = self._or([_G_optional_875, _G_optional_890]) + _G_or_918, lastError = self._or([_G_optional_902, _G_optional_917]) self.considerError(lastError, None) - - def _G_optional_892(): - self._trace("", (12540, 12543), self.input.position) - _G_exactly_893, lastError = self.exactly(".") + def _G_optional_919(): + self._trace('', (13128, 13131), self.input.position) + _G_exactly_920, lastError = self.exactly('.') self.considerError(lastError, None) - - def _G_many1_894(): - self._trace("", (12543, 12549), self.input.position) - _G_apply_895, lastError = self._apply(self.rule_digit, "digit", []) + def _G_many1_921(): + self._trace('', (13131, 13137), self.input.position) + _G_apply_922, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) - return (_G_apply_895, self.currentError) - - _G_many1_896, lastError = self.many(_G_many1_894, _G_many1_894()) + return (_G_apply_922, self.currentError) + _G_many1_923, lastError = self.many(_G_many1_921, _G_many1_921()) self.considerError(lastError, None) - return (_G_many1_896, self.currentError) - - def _G_optional_897(): + return (_G_many1_923, self.currentError) + def _G_optional_924(): return (None, self.input.nullError()) - - _G_or_898, lastError = self._or([_G_optional_892, _G_optional_897]) + _G_or_925, lastError = self._or([_G_optional_919, _G_optional_924]) self.considerError(lastError, None) - return (_G_or_898, self.currentError) + return (_G_or_925, self.currentError) + _G_consumedby_926, lastError = self.consumedby(_G_consumedby_900) + self.considerError(lastError, 'accn') + return (_G_consumedby_926, self.currentError) - _G_consumedby_899, lastError = self.consumedby(_G_consumedby_873) - self.considerError(lastError, "accn") - return (_G_consumedby_899, self.currentError) def rule_opt_gene_expr(self): - _locals = {"self": self} - self.locals["opt_gene_expr"] = _locals - - def _G_or_900(): - self._trace("", (12571, 12581), self.input.position) - _G_apply_901, lastError = self._apply(self.rule_paren_gene, "paren_gene", []) + _locals = {'self': self} + self.locals['opt_gene_expr'] = _locals + def _G_or_927(): + self._trace('', (13159, 13169), self.input.position) + _G_apply_928, lastError = self._apply(self.rule_paren_gene, "paren_gene", []) self.considerError(lastError, None) - return (_G_apply_901, self.currentError) - - def _G_or_902(): - _G_python_903, lastError = (None), None + return (_G_apply_928, self.currentError) + def _G_or_929(): + _G_python_930, lastError = (None), None self.considerError(lastError, None) - return (_G_python_903, self.currentError) + return (_G_python_930, self.currentError) + _G_or_931, lastError = self._or([_G_or_927, _G_or_929]) + self.considerError(lastError, 'opt_gene_expr') + _locals['gene'] = _G_or_931 + _G_python_933, lastError = eval(self._G_expr_932, self.globals, _locals), None + self.considerError(lastError, 'opt_gene_expr') + return (_G_python_933, self.currentError) - _G_or_904, lastError = self._or([_G_or_900, _G_or_902]) - self.considerError(lastError, "opt_gene_expr") - _locals["gene"] = _G_or_904 - _G_python_906, lastError = eval(self._G_expr_905, self.globals, _locals), None - self.considerError(lastError, "opt_gene_expr") - return (_G_python_906, self.currentError) def rule_paren_gene(self): - _locals = {"self": self} - self.locals["paren_gene"] = _locals - self._trace("", (12617, 12621), self.input.position) - _G_exactly_907, lastError = self.exactly("(") - self.considerError(lastError, "paren_gene") - self._trace("", (12621, 12633), self.input.position) - _G_apply_908, lastError = self._apply(self.rule_gene_symbol, "gene_symbol", []) - self.considerError(lastError, "paren_gene") - _locals["symbol"] = _G_apply_908 - self._trace("", (12640, 12644), self.input.position) - _G_exactly_909, lastError = self.exactly(")") - self.considerError(lastError, "paren_gene") - _G_python_911, lastError = eval(self._G_expr_910, self.globals, _locals), None - self.considerError(lastError, "paren_gene") - return (_G_python_911, self.currentError) + _locals = {'self': self} + self.locals['paren_gene'] = _locals + self._trace('', (13205, 13209), self.input.position) + _G_exactly_934, lastError = self.exactly('(') + self.considerError(lastError, 'paren_gene') + self._trace('', (13209, 13221), self.input.position) + _G_apply_935, lastError = self._apply(self.rule_gene_symbol, "gene_symbol", []) + self.considerError(lastError, 'paren_gene') + _locals['symbol'] = _G_apply_935 + self._trace('', (13228, 13232), self.input.position) + _G_exactly_936, lastError = self.exactly(')') + self.considerError(lastError, 'paren_gene') + _G_python_938, lastError = eval(self._G_expr_937, self.globals, _locals), None + self.considerError(lastError, 'paren_gene') + return (_G_python_938, self.currentError) - def rule_gene_symbol(self): - _locals = {"self": self} - self.locals["gene_symbol"] = _locals - def _G_consumedby_912(): - self._trace("", (12670, 12676), self.input.position) - _G_apply_913, lastError = self._apply(self.rule_letter, "letter", []) - self.considerError(lastError, None) - - def _G_many1_914(): - def _G_or_915(): - self._trace("", (12678, 12691), self.input.position) - _G_apply_916, lastError = self._apply( - self.rule_letterOrDigit, "letterOrDigit", [] - ) + def rule_gene_symbol(self): + _locals = {'self': self} + self.locals['gene_symbol'] = _locals + def _G_consumedby_939(): + self._trace('', (13258, 13264), self.input.position) + _G_apply_940, lastError = self._apply(self.rule_letter, "letter", []) + self.considerError(lastError, None) + def _G_many1_941(): + def _G_or_942(): + self._trace('', (13266, 13279), self.input.position) + _G_apply_943, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) - return (_G_apply_916, self.currentError) - - def _G_or_917(): - def _G_or_918(): - self._trace("", (12695, 12698), self.input.position) - _G_exactly_919, lastError = self.exactly("-") + return (_G_apply_943, self.currentError) + def _G_or_944(): + def _G_or_945(): + self._trace('', (13283, 13286), self.input.position) + _G_exactly_946, lastError = self.exactly('-') self.considerError(lastError, None) - return (_G_exactly_919, self.currentError) - - def _G_or_920(): - self._trace("", (12699, 12702), self.input.position) - _G_exactly_921, lastError = self.exactly("_") + return (_G_exactly_946, self.currentError) + def _G_or_947(): + self._trace('', (13287, 13290), self.input.position) + _G_exactly_948, lastError = self.exactly('_') self.considerError(lastError, None) - return (_G_exactly_921, self.currentError) - - _G_or_922, lastError = self._or([_G_or_918, _G_or_920]) + return (_G_exactly_948, self.currentError) + _G_or_949, lastError = self._or([_G_or_945, _G_or_947]) self.considerError(lastError, None) - - def _G_lookahead_923(): - self._trace("", (12706, 12719), self.input.position) - _G_apply_924, lastError = self._apply( - self.rule_letterOrDigit, "letterOrDigit", [] - ) + def _G_lookahead_950(): + self._trace('', (13294, 13307), self.input.position) + _G_apply_951, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) - return (_G_apply_924, self.currentError) - - _G_lookahead_925, lastError = self.lookahead(_G_lookahead_923) + return (_G_apply_951, self.currentError) + _G_lookahead_952, lastError = self.lookahead(_G_lookahead_950) self.considerError(lastError, None) - return (_G_lookahead_925, self.currentError) - - _G_or_926, lastError = self._or([_G_or_915, _G_or_917]) + return (_G_lookahead_952, self.currentError) + _G_or_953, lastError = self._or([_G_or_942, _G_or_944]) self.considerError(lastError, None) - return (_G_or_926, self.currentError) - - _G_many1_927, lastError = self.many(_G_many1_914, _G_many1_914()) - self.considerError(lastError, None) - return (_G_many1_927, self.currentError) - - _G_consumedby_928, lastError = self.consumedby(_G_consumedby_912) - self.considerError(lastError, "gene_symbol") - return (_G_consumedby_928, self.currentError) - - _G_expr_20 = compile( - "hgvs.sequencevariant.SequenceVariant(ac=ac, gene=gene, type=type, posedit=posedit)", - "<string>", - "eval", - ) - _G_expr_76 = compile( - "hgvs.hgvsposition.HGVSPosition(ac=ac, gene=gene, type=type, pos=pos)", - "<string>", - "eval", - ) - _G_expr_116 = compile( - "hgvs.sequencevariant.SequenceVariant(None,type,posedit)", "<string>", "eval" - ) - _G_expr_140 = compile("hgvs.posedit.PosEdit(pos=pos,edit=edit)", "<string>", "eval") - _G_expr_160 = compile( - "hgvs.posedit.PosEdit(pos=pos,edit=edit, uncertain=True)", "<string>", "eval" - ) - _G_expr_178 = compile( - "hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=False)", "<string>", "eval" - ) - _G_expr_184 = compile( - "hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=True)", "<string>", "eval" - ) - _G_expr_203 = compile("edit._set_uncertain()", "<string>", "eval") - _G_expr_231 = compile("hgvs.edit.NARefAlt(ref=ref,alt=ref)", "<string>", "eval") - _G_expr_236 = compile("hgvs.edit.NARefAlt(ref=ref,alt=alt)", "<string>", "eval") - _G_expr_269 = compile("hgvs.edit.NARefAlt(ref=ref,alt=None)", "<string>", "eval") - _G_expr_277 = compile("hgvs.edit.NARefAlt(ref=None,alt=alt)", "<string>", "eval") - _G_expr_285 = compile("hgvs.edit.Dup(ref=ref)", "<string>", "eval") - _G_expr_299 = compile("hgvs.edit.Inv(ref=None)", "<string>", "eval") - _G_expr_303 = compile( - "hgvs.edit.Conv(from_ac=pos.ac, from_type=pos.type, from_pos=pos.pos)", - "<string>", - "eval", - ) - _G_expr_307 = compile("hgvs.edit.NACopy(copy=n)", "<string>", "eval") - _G_expr_437 = compile("hgvs.edit.AASub(ref='',alt=alt)", "<string>", "eval") - _G_expr_441 = compile("hgvs.edit.AARefAlt(ref='',alt=alt)", "<string>", "eval") - _G_expr_444 = compile("hgvs.edit.AARefAlt(ref='',alt=None)", "<string>", "eval") - _G_expr_448 = compile("hgvs.edit.AARefAlt(ref=None,alt=alt)", "<string>", "eval") - _G_expr_451 = compile("hgvs.edit.Dup(ref='')", "<string>", "eval") - _G_expr_459 = compile("hgvs.edit.AAFs(ref='', alt=alt, length=length)", "<string>", "eval") - _G_expr_466 = compile( - "hgvs.edit.AAExt(ref='', alt=alt, aaterm=aaterm, length=length)", "<string>", "eval" - ) - _G_expr_469 = compile("hgvs.edit.AARefAlt(ref='',alt='')", "<string>", "eval") - _G_expr_477 = compile("iv._set_uncertain()", "<string>", "eval") - _G_expr_524 = compile("hgvs.location.Interval(start,end)", "<string>", "eval") - _G_expr_528 = compile( - "hgvs.location.Interval(start,copy.deepcopy(start))", "<string>", "eval" - ) - _G_expr_562 = compile("hgvs.location.BaseOffsetInterval(start,end)", "<string>", "eval") - _G_expr_566 = compile( - "hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))", "<string>", "eval" - ) - _G_expr_587 = compile( - "hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_START)", - "<string>", - "eval", - ) - _G_expr_593 = compile( - "hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_END)", - "<string>", - "eval", - ) - _G_expr_602 = compile("hgvs.location.SimplePosition(pos)", "<string>", "eval") - _G_expr_613 = compile( - "hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.SEQ_START)", - "<string>", - "eval", - ) - _G_expr_621 = compile( - "hgvs.location.AAPosition(pos,bioutils.sequences.aa_to_aa1(aa))", "<string>", "eval" - ) - _G_expr_632 = compile("n", "<string>", "eval") - _G_expr_640 = compile("(aat, n)", "<string>", "eval") - _G_expr_735 = compile("x in 'ACDEFGHIKLMNPQRSTVWYBZXU'", "<string>", "eval") - _G_expr_738 = compile("x", "<string>", "eval") - _G_expr_812 = compile("x in 'ACGTRYMKWSBDHVNacgtrymkwsbdhvn'", "<string>", "eval") - _G_expr_818 = compile("x in 'ACGTURYMKWSBDHVNacgturymkwsbdhvn'", "<string>", "eval") - _G_expr_825 = compile("x in 'ACGURYMKWSBDHVNacgurymkwsbdhvn'", "<string>", "eval") - _G_expr_831 = compile("x in 'X*'", "<string>", "eval") - _G_expr_846 = compile("int(x)", "<string>", "eval") - _G_expr_861 = compile("x in '-+'", "<string>", "eval") - _G_expr_905 = compile("gene", "<string>", "eval") - _G_expr_910 = compile("symbol", "<string>", "eval") - + return (_G_or_953, self.currentError) + _G_many1_954, lastError = self.many(_G_many1_941, _G_many1_941()) + self.considerError(lastError, None) + return (_G_many1_954, self.currentError) + _G_consumedby_955, lastError = self.consumedby(_G_consumedby_939) + self.considerError(lastError, 'gene_symbol') + return (_G_consumedby_955, self.currentError) + + + _G_expr_20 = compile('hgvs.sequencevariant.SequenceVariant(ac=ac, gene=gene, type=type, posedit=posedit)', '<string>', 'eval') + _G_expr_76 = compile('hgvs.hgvsposition.HGVSPosition(ac=ac, gene=gene, type=type, pos=pos)', '<string>', 'eval') + _G_expr_116 = compile('hgvs.sequencevariant.SequenceVariant(None,type,posedit)', '<string>', 'eval') + _G_expr_140 = compile('hgvs.posedit.PosEdit(pos=pos,edit=edit)', '<string>', 'eval') + _G_expr_160 = compile('hgvs.posedit.PosEdit(pos=pos,edit=edit, uncertain=True)', '<string>', 'eval') + _G_expr_178 = compile('hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=False)', '<string>', 'eval') + _G_expr_184 = compile('hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=True)', '<string>', 'eval') + _G_expr_203 = compile('edit._set_uncertain()', '<string>', 'eval') + _G_expr_231 = compile('hgvs.edit.NARefAlt(ref=ref,alt=ref)', '<string>', 'eval') + _G_expr_236 = compile('hgvs.edit.NARefAlt(ref=ref,alt=alt)', '<string>', 'eval') + _G_expr_269 = compile('hgvs.edit.NARefAlt(ref=ref,alt=None)', '<string>', 'eval') + _G_expr_277 = compile('hgvs.edit.NARefAlt(ref=None,alt=alt)', '<string>', 'eval') + _G_expr_285 = compile('hgvs.edit.Dup(ref=ref)', '<string>', 'eval') + _G_expr_299 = compile('hgvs.edit.Inv(ref=None)', '<string>', 'eval') + _G_expr_303 = compile('hgvs.edit.Conv(from_ac=pos.ac, from_type=pos.type, from_pos=pos.pos)', '<string>', 'eval') + _G_expr_307 = compile('hgvs.edit.NACopy(copy=n)', '<string>', 'eval') + _G_expr_437 = compile("hgvs.edit.AASub(ref='',alt=alt)", '<string>', 'eval') + _G_expr_441 = compile("hgvs.edit.AARefAlt(ref='',alt=alt)", '<string>', 'eval') + _G_expr_444 = compile("hgvs.edit.AARefAlt(ref='',alt=None)", '<string>', 'eval') + _G_expr_448 = compile('hgvs.edit.AARefAlt(ref=None,alt=alt)', '<string>', 'eval') + _G_expr_451 = compile("hgvs.edit.Dup(ref='')", '<string>', 'eval') + _G_expr_459 = compile("hgvs.edit.AAFs(ref='', alt=alt, length=length)", '<string>', 'eval') + _G_expr_466 = compile("hgvs.edit.AAExt(ref='', alt=alt, aaterm=aaterm, length=length)", '<string>', 'eval') + _G_expr_469 = compile("hgvs.edit.AARefAlt(ref='',alt='')", '<string>', 'eval') + _G_expr_477 = compile('iv._set_uncertain()', '<string>', 'eval') + _G_expr_526 = compile('hgvs.location.Interval(start,end)', '<string>', 'eval') + _G_expr_530 = compile('hgvs.location.Interval(start,copy.deepcopy(start))', '<string>', 'eval') + _G_expr_564 = compile('hgvs.location.BaseOffsetInterval(start,end)', '<string>', 'eval') + _G_expr_568 = compile('hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))', '<string>', 'eval') + _G_expr_588 = compile('hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain())', '<string>', 'eval') + _G_expr_614 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_START)', '<string>', 'eval') + _G_expr_620 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_END)', '<string>', 'eval') + _G_expr_629 = compile('hgvs.location.SimplePosition(pos)', '<string>', 'eval') + _G_expr_640 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.SEQ_START)', '<string>', 'eval') + _G_expr_648 = compile('hgvs.location.AAPosition(pos,bioutils.sequences.aa_to_aa1(aa))', '<string>', 'eval') + _G_expr_659 = compile('n', '<string>', 'eval') + _G_expr_667 = compile('(aat, n)', '<string>', 'eval') + _G_expr_762 = compile("x in 'ACDEFGHIKLMNPQRSTVWYBZXU'", '<string>', 'eval') + _G_expr_765 = compile('x', '<string>', 'eval') + _G_expr_839 = compile("x in 'ACGTRYMKWSBDHVNacgtrymkwsbdhvn'", '<string>', 'eval') + _G_expr_845 = compile("x in 'ACGTURYMKWSBDHVNacgturymkwsbdhvn'", '<string>', 'eval') + _G_expr_852 = compile("x in 'ACGURYMKWSBDHVNacgurymkwsbdhvn'", '<string>', 'eval') + _G_expr_858 = compile("x in 'X*'", '<string>', 'eval') + _G_expr_873 = compile('int(x)', '<string>', 'eval') + _G_expr_888 = compile("x in '-+'", '<string>', 'eval') + _G_expr_932 = compile('gene', '<string>', 'eval') + _G_expr_937 = compile('symbol', '<string>', 'eval') if Grammar.globals is not None: Grammar.globals = Grammar.globals.copy() Grammar.globals.update(ruleGlobals) else: Grammar.globals = ruleGlobals - return Grammar + return Grammar \ No newline at end of file diff --git a/tests/data/grammar_test.tsv b/tests/data/grammar_test.tsv index c1fb1f70..9bd975ef 100644 --- a/tests/data/grammar_test.tsv +++ b/tests/data/grammar_test.tsv @@ -104,6 +104,14 @@ def_c_interval 1_10|1|1+2_10-2 True list def_c_pos 1|11+1|9-3|-1|*10 True list def_c_pos X|11_12|10* False list def_g_interval 2_10|2 True list +def_g_uncertain_interval (1_10)_(21_30) True one +def_g_uncertain_interval (?_10)_(21_?) True one +def_g_uncertain_interval (1_?)_(?_30) True one +def_g_uncertain_interval 1_(21_30) True one +def_g_uncertain_interval (1_10)_21 True one +def_g_uncertain_interval ?_(21_30) True one +def_g_uncertain_interval (1_10)_? True one +def_g_uncertain_interval (1_10)_(21_30)_(41_50) False one def_g_pos 2 True list def_g_pos ? True one def_g_pos A|2?|*1|-2 False list diff --git a/tests/test_hgvs_location.py b/tests/test_hgvs_location.py index a505651c..2e75f2e8 100644 --- a/tests/test_hgvs_location.py +++ b/tests/test_hgvs_location.py @@ -199,6 +199,31 @@ def test_length(self): ) self.assertEqual(ival._length(), 39) + def test_uncertain(self): + def sp(i): return hgvs.location.SimplePosition(i) + ival = hgvs.location.Interval( + hgvs.location.Interval(sp(10), sp(20), uncertain=True), + hgvs.location.Interval(sp(30), sp(40), uncertain=True) + ) + self.assertEqual("(10_20)_(30_40)", str(ival)) + + with self.assertRaises(AssertionError): + str(hgvs.location.Interval( + sp(10), + hgvs.location.Interval(sp(30), sp(40), uncertain=True) + )) + ival3 = hgvs.location.Interval( + hgvs.location.Interval(sp(10), sp(10), uncertain=True), + hgvs.location.Interval(sp(30), sp(40), uncertain=True) + ) + self.assertEqual("10_(30_40)", str(ival3)) + + ival4 = hgvs.location.Interval( + hgvs.location.Interval(sp(10), sp(20), uncertain=True), + hgvs.location.Interval(sp(30), sp(30), uncertain=True) + ) + self.assertEqual("(10_20)_30", str(ival4)) + if __name__ == "__main__": unittest.main() diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index 12ec5704..00ed8360 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -97,6 +97,30 @@ def test_format(self): self.assertEqual(str(var), "NM_001166478.1:c.31=") self.assertEqual(var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31T=") + def test_uncertain(self): + hp = hgvs.parser.Parser() + + vs = "NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup" + v = hp.parse(vs) + self.assertEqual(vs, str(v)) + self.assertEqual(v.posedit.pos.start.start.base, 90136803) + self.assertEqual(v.posedit.pos.start.end.base, 90144453) + self.assertEqual(v.posedit.pos.end.start.base, 90159675) + self.assertEqual(v.posedit.pos.end.end.base, 90261231) + self.assertEqual(type(v.posedit.edit).__name__, "Dup") + + vs2 = "NC_000009.11:g.(?_108337304)_(108337428_?)del" + v2 = hp.parse(vs2) + self.assertEqual(vs2, str(v2)) + self.assertEqual(v2.posedit.pos.start.start.base, None) + self.assertEqual(v2.posedit.pos.start.uncertain, True) + self.assertEqual(v2.posedit.pos.start.end.base, 108337304) + self.assertEqual(v2.posedit.pos.end.start.base, 108337428) + self.assertEqual(v2.posedit.pos.end.end.base, None) + self.assertEqual(v2.posedit.pos.end.uncertain, True) + self.assertEqual(type(v2.posedit.edit).__name__, "NARefAlt") + + if __name__ == "__main__": unittest.main() From 1f624ad679bd26026bf90a57a290b872a597978d Mon Sep 17 00:00:00 2001 From: Kyle Ferriter <kferrite@broadinstitute.org> Date: Wed, 20 Sep 2023 09:37:22 -0700 Subject: [PATCH 02/25] Rebuild hgvs grammar due to whitespace changes --- src/hgvs/generated/hgvs_grammar.py | 720 ++++++++++++++--------------- 1 file changed, 360 insertions(+), 360 deletions(-) diff --git a/src/hgvs/generated/hgvs_grammar.py b/src/hgvs/generated/hgvs_grammar.py index 26bfc64e..e3c1c258 100644 --- a/src/hgvs/generated/hgvs_grammar.py +++ b/src/hgvs/generated/hgvs_grammar.py @@ -3,7 +3,7 @@ # Changes will be overwritten by the generation script. # Generated by: sbin/generate_parser.py # Grammar file: src/hgvs/_data/hgvs.pymeta -# Grammar hash: 7ea128c4af760e7e198a272b1bc182cb +# Grammar hash: 9391d543da30300646420cd012dbd929 # Parsley version: 1.3 # Python version: 3.11.4 (main, Jul 25 2023, 17:07:07) [Clang 14.0.3 (clang-1403.0.22.14.1)] # -------------------------------------------------- @@ -234,32 +234,32 @@ def rule_hgvs_position(self): _locals = {'self': self} self.locals['hgvs_position'] = _locals def _G_or_57(): - self._trace('', (1919, 1935), self.input.position) + self._trace('', (1920, 1936), self.input.position) _G_apply_58, lastError = self._apply(self.rule_g_hgvs_position, "g_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_58, self.currentError) def _G_or_59(): - self._trace('', (1937, 1953), self.input.position) + self._trace('', (1938, 1954), self.input.position) _G_apply_60, lastError = self._apply(self.rule_m_hgvs_position, "m_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_60, self.currentError) def _G_or_61(): - self._trace('', (1955, 1971), self.input.position) + self._trace('', (1956, 1972), self.input.position) _G_apply_62, lastError = self._apply(self.rule_c_hgvs_position, "c_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_62, self.currentError) def _G_or_63(): - self._trace('', (1973, 1989), self.input.position) + self._trace('', (1974, 1990), self.input.position) _G_apply_64, lastError = self._apply(self.rule_n_hgvs_position, "n_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_64, self.currentError) def _G_or_65(): - self._trace('', (1991, 2007), self.input.position) + self._trace('', (1992, 2008), self.input.position) _G_apply_66, lastError = self._apply(self.rule_r_hgvs_position, "r_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_66, self.currentError) def _G_or_67(): - self._trace('', (2009, 2025), self.input.position) + self._trace('', (2010, 2026), self.input.position) _G_apply_68, lastError = self._apply(self.rule_p_hgvs_position, "p_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_68, self.currentError) @@ -271,25 +271,25 @@ def _G_or_67(): def rule_c_hgvs_position(self): _locals = {'self': self} self.locals['c_hgvs_position'] = _locals - self._trace('', (2044, 2049), self.input.position) + self._trace('', (2045, 2050), self.input.position) _G_apply_70, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'c_hgvs_position') _locals['ac'] = _G_apply_70 - self._trace('', (2052, 2066), self.input.position) + self._trace('', (2053, 2067), self.input.position) _G_apply_71, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'c_hgvs_position') _locals['gene'] = _G_apply_71 - self._trace('', (2071, 2075), self.input.position) + self._trace('', (2072, 2076), self.input.position) _G_exactly_72, lastError = self.exactly(':') self.considerError(lastError, 'c_hgvs_position') - self._trace('', (2075, 2079), self.input.position) + self._trace('', (2076, 2080), self.input.position) _G_exactly_73, lastError = self.exactly('c') self.considerError(lastError, 'c_hgvs_position') _locals['type'] = _G_exactly_73 - self._trace('', (2084, 2088), self.input.position) + self._trace('', (2085, 2089), self.input.position) _G_exactly_74, lastError = self.exactly('.') self.considerError(lastError, 'c_hgvs_position') - self._trace('', (2088, 2099), self.input.position) + self._trace('', (2089, 2100), self.input.position) _G_apply_75, lastError = self._apply(self.rule_c_interval, "c_interval", []) self.considerError(lastError, 'c_hgvs_position') _locals['pos'] = _G_apply_75 @@ -301,25 +301,25 @@ def rule_c_hgvs_position(self): def rule_g_hgvs_position(self): _locals = {'self': self} self.locals['g_hgvs_position'] = _locals - self._trace('', (2193, 2198), self.input.position) + self._trace('', (2194, 2199), self.input.position) _G_apply_78, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'g_hgvs_position') _locals['ac'] = _G_apply_78 - self._trace('', (2201, 2215), self.input.position) + self._trace('', (2202, 2216), self.input.position) _G_apply_79, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'g_hgvs_position') _locals['gene'] = _G_apply_79 - self._trace('', (2220, 2224), self.input.position) + self._trace('', (2221, 2225), self.input.position) _G_exactly_80, lastError = self.exactly(':') self.considerError(lastError, 'g_hgvs_position') - self._trace('', (2224, 2228), self.input.position) + self._trace('', (2225, 2229), self.input.position) _G_exactly_81, lastError = self.exactly('g') self.considerError(lastError, 'g_hgvs_position') _locals['type'] = _G_exactly_81 - self._trace('', (2233, 2237), self.input.position) + self._trace('', (2234, 2238), self.input.position) _G_exactly_82, lastError = self.exactly('.') self.considerError(lastError, 'g_hgvs_position') - self._trace('', (2237, 2248), self.input.position) + self._trace('', (2238, 2249), self.input.position) _G_apply_83, lastError = self._apply(self.rule_g_interval, "g_interval", []) self.considerError(lastError, 'g_hgvs_position') _locals['pos'] = _G_apply_83 @@ -331,25 +331,25 @@ def rule_g_hgvs_position(self): def rule_m_hgvs_position(self): _locals = {'self': self} self.locals['m_hgvs_position'] = _locals - self._trace('', (2342, 2347), self.input.position) + self._trace('', (2343, 2348), self.input.position) _G_apply_85, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'm_hgvs_position') _locals['ac'] = _G_apply_85 - self._trace('', (2350, 2364), self.input.position) + self._trace('', (2351, 2365), self.input.position) _G_apply_86, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'm_hgvs_position') _locals['gene'] = _G_apply_86 - self._trace('', (2369, 2373), self.input.position) + self._trace('', (2370, 2374), self.input.position) _G_exactly_87, lastError = self.exactly(':') self.considerError(lastError, 'm_hgvs_position') - self._trace('', (2373, 2377), self.input.position) + self._trace('', (2374, 2378), self.input.position) _G_exactly_88, lastError = self.exactly('m') self.considerError(lastError, 'm_hgvs_position') _locals['type'] = _G_exactly_88 - self._trace('', (2382, 2386), self.input.position) + self._trace('', (2383, 2387), self.input.position) _G_exactly_89, lastError = self.exactly('.') self.considerError(lastError, 'm_hgvs_position') - self._trace('', (2386, 2397), self.input.position) + self._trace('', (2387, 2398), self.input.position) _G_apply_90, lastError = self._apply(self.rule_m_interval, "m_interval", []) self.considerError(lastError, 'm_hgvs_position') _locals['pos'] = _G_apply_90 @@ -361,25 +361,25 @@ def rule_m_hgvs_position(self): def rule_n_hgvs_position(self): _locals = {'self': self} self.locals['n_hgvs_position'] = _locals - self._trace('', (2491, 2496), self.input.position) + self._trace('', (2492, 2497), self.input.position) _G_apply_92, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'n_hgvs_position') _locals['ac'] = _G_apply_92 - self._trace('', (2499, 2513), self.input.position) + self._trace('', (2500, 2514), self.input.position) _G_apply_93, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'n_hgvs_position') _locals['gene'] = _G_apply_93 - self._trace('', (2518, 2522), self.input.position) + self._trace('', (2519, 2523), self.input.position) _G_exactly_94, lastError = self.exactly(':') self.considerError(lastError, 'n_hgvs_position') - self._trace('', (2522, 2526), self.input.position) + self._trace('', (2523, 2527), self.input.position) _G_exactly_95, lastError = self.exactly('n') self.considerError(lastError, 'n_hgvs_position') _locals['type'] = _G_exactly_95 - self._trace('', (2531, 2535), self.input.position) + self._trace('', (2532, 2536), self.input.position) _G_exactly_96, lastError = self.exactly('.') self.considerError(lastError, 'n_hgvs_position') - self._trace('', (2535, 2546), self.input.position) + self._trace('', (2536, 2547), self.input.position) _G_apply_97, lastError = self._apply(self.rule_n_interval, "n_interval", []) self.considerError(lastError, 'n_hgvs_position') _locals['pos'] = _G_apply_97 @@ -391,25 +391,25 @@ def rule_n_hgvs_position(self): def rule_p_hgvs_position(self): _locals = {'self': self} self.locals['p_hgvs_position'] = _locals - self._trace('', (2640, 2645), self.input.position) + self._trace('', (2641, 2646), self.input.position) _G_apply_99, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'p_hgvs_position') _locals['ac'] = _G_apply_99 - self._trace('', (2648, 2662), self.input.position) + self._trace('', (2649, 2663), self.input.position) _G_apply_100, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'p_hgvs_position') _locals['gene'] = _G_apply_100 - self._trace('', (2667, 2671), self.input.position) + self._trace('', (2668, 2672), self.input.position) _G_exactly_101, lastError = self.exactly(':') self.considerError(lastError, 'p_hgvs_position') - self._trace('', (2671, 2675), self.input.position) + self._trace('', (2672, 2676), self.input.position) _G_exactly_102, lastError = self.exactly('p') self.considerError(lastError, 'p_hgvs_position') _locals['type'] = _G_exactly_102 - self._trace('', (2680, 2684), self.input.position) + self._trace('', (2681, 2685), self.input.position) _G_exactly_103, lastError = self.exactly('.') self.considerError(lastError, 'p_hgvs_position') - self._trace('', (2684, 2695), self.input.position) + self._trace('', (2685, 2696), self.input.position) _G_apply_104, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, 'p_hgvs_position') _locals['pos'] = _G_apply_104 @@ -421,25 +421,25 @@ def rule_p_hgvs_position(self): def rule_r_hgvs_position(self): _locals = {'self': self} self.locals['r_hgvs_position'] = _locals - self._trace('', (2789, 2794), self.input.position) + self._trace('', (2790, 2795), self.input.position) _G_apply_106, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'r_hgvs_position') _locals['ac'] = _G_apply_106 - self._trace('', (2797, 2811), self.input.position) + self._trace('', (2798, 2812), self.input.position) _G_apply_107, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'r_hgvs_position') _locals['gene'] = _G_apply_107 - self._trace('', (2816, 2820), self.input.position) + self._trace('', (2817, 2821), self.input.position) _G_exactly_108, lastError = self.exactly(':') self.considerError(lastError, 'r_hgvs_position') - self._trace('', (2820, 2824), self.input.position) + self._trace('', (2821, 2825), self.input.position) _G_exactly_109, lastError = self.exactly('r') self.considerError(lastError, 'r_hgvs_position') _locals['type'] = _G_exactly_109 - self._trace('', (2829, 2833), self.input.position) + self._trace('', (2830, 2834), self.input.position) _G_exactly_110, lastError = self.exactly('.') self.considerError(lastError, 'r_hgvs_position') - self._trace('', (2833, 2844), self.input.position) + self._trace('', (2834, 2845), self.input.position) _G_apply_111, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, 'r_hgvs_position') _locals['pos'] = _G_apply_111 @@ -451,14 +451,14 @@ def rule_r_hgvs_position(self): def rule_c_typed_posedit(self): _locals = {'self': self} self.locals['c_typed_posedit'] = _locals - self._trace('', (3248, 3252), self.input.position) + self._trace('', (3249, 3253), self.input.position) _G_exactly_113, lastError = self.exactly('c') self.considerError(lastError, 'c_typed_posedit') _locals['type'] = _G_exactly_113 - self._trace('', (3257, 3261), self.input.position) + self._trace('', (3258, 3262), self.input.position) _G_exactly_114, lastError = self.exactly('.') self.considerError(lastError, 'c_typed_posedit') - self._trace('', (3261, 3271), self.input.position) + self._trace('', (3262, 3272), self.input.position) _G_apply_115, lastError = self._apply(self.rule_c_posedit, "c_posedit", []) self.considerError(lastError, 'c_typed_posedit') _locals['posedit'] = _G_apply_115 @@ -470,14 +470,14 @@ def rule_c_typed_posedit(self): def rule_g_typed_posedit(self): _locals = {'self': self} self.locals['g_typed_posedit'] = _locals - self._trace('', (3356, 3360), self.input.position) + self._trace('', (3357, 3361), self.input.position) _G_exactly_118, lastError = self.exactly('g') self.considerError(lastError, 'g_typed_posedit') _locals['type'] = _G_exactly_118 - self._trace('', (3365, 3369), self.input.position) + self._trace('', (3366, 3370), self.input.position) _G_exactly_119, lastError = self.exactly('.') self.considerError(lastError, 'g_typed_posedit') - self._trace('', (3369, 3379), self.input.position) + self._trace('', (3370, 3380), self.input.position) _G_apply_120, lastError = self._apply(self.rule_g_posedit, "g_posedit", []) self.considerError(lastError, 'g_typed_posedit') _locals['posedit'] = _G_apply_120 @@ -489,14 +489,14 @@ def rule_g_typed_posedit(self): def rule_m_typed_posedit(self): _locals = {'self': self} self.locals['m_typed_posedit'] = _locals - self._trace('', (3464, 3468), self.input.position) + self._trace('', (3465, 3469), self.input.position) _G_exactly_122, lastError = self.exactly('m') self.considerError(lastError, 'm_typed_posedit') _locals['type'] = _G_exactly_122 - self._trace('', (3473, 3477), self.input.position) + self._trace('', (3474, 3478), self.input.position) _G_exactly_123, lastError = self.exactly('.') self.considerError(lastError, 'm_typed_posedit') - self._trace('', (3477, 3487), self.input.position) + self._trace('', (3478, 3488), self.input.position) _G_apply_124, lastError = self._apply(self.rule_m_posedit, "m_posedit", []) self.considerError(lastError, 'm_typed_posedit') _locals['posedit'] = _G_apply_124 @@ -508,14 +508,14 @@ def rule_m_typed_posedit(self): def rule_n_typed_posedit(self): _locals = {'self': self} self.locals['n_typed_posedit'] = _locals - self._trace('', (3572, 3576), self.input.position) + self._trace('', (3573, 3577), self.input.position) _G_exactly_126, lastError = self.exactly('n') self.considerError(lastError, 'n_typed_posedit') _locals['type'] = _G_exactly_126 - self._trace('', (3581, 3585), self.input.position) + self._trace('', (3582, 3586), self.input.position) _G_exactly_127, lastError = self.exactly('.') self.considerError(lastError, 'n_typed_posedit') - self._trace('', (3585, 3595), self.input.position) + self._trace('', (3586, 3596), self.input.position) _G_apply_128, lastError = self._apply(self.rule_n_posedit, "n_posedit", []) self.considerError(lastError, 'n_typed_posedit') _locals['posedit'] = _G_apply_128 @@ -527,14 +527,14 @@ def rule_n_typed_posedit(self): def rule_p_typed_posedit(self): _locals = {'self': self} self.locals['p_typed_posedit'] = _locals - self._trace('', (3680, 3684), self.input.position) + self._trace('', (3681, 3685), self.input.position) _G_exactly_130, lastError = self.exactly('p') self.considerError(lastError, 'p_typed_posedit') _locals['type'] = _G_exactly_130 - self._trace('', (3689, 3693), self.input.position) + self._trace('', (3690, 3694), self.input.position) _G_exactly_131, lastError = self.exactly('.') self.considerError(lastError, 'p_typed_posedit') - self._trace('', (3693, 3703), self.input.position) + self._trace('', (3694, 3704), self.input.position) _G_apply_132, lastError = self._apply(self.rule_p_posedit, "p_posedit", []) self.considerError(lastError, 'p_typed_posedit') _locals['posedit'] = _G_apply_132 @@ -546,14 +546,14 @@ def rule_p_typed_posedit(self): def rule_r_typed_posedit(self): _locals = {'self': self} self.locals['r_typed_posedit'] = _locals - self._trace('', (3788, 3792), self.input.position) + self._trace('', (3789, 3793), self.input.position) _G_exactly_134, lastError = self.exactly('r') self.considerError(lastError, 'r_typed_posedit') _locals['type'] = _G_exactly_134 - self._trace('', (3797, 3801), self.input.position) + self._trace('', (3798, 3802), self.input.position) _G_exactly_135, lastError = self.exactly('.') self.considerError(lastError, 'r_typed_posedit') - self._trace('', (3801, 3811), self.input.position) + self._trace('', (3802, 3812), self.input.position) _G_apply_136, lastError = self._apply(self.rule_r_posedit, "r_posedit", []) self.considerError(lastError, 'r_typed_posedit') _locals['posedit'] = _G_apply_136 @@ -565,11 +565,11 @@ def rule_r_typed_posedit(self): def rule_c_posedit(self): _locals = {'self': self} self.locals['c_posedit'] = _locals - self._trace('', (4009, 4020), self.input.position) + self._trace('', (4010, 4021), self.input.position) _G_apply_138, lastError = self._apply(self.rule_c_interval, "c_interval", []) self.considerError(lastError, 'c_posedit') _locals['pos'] = _G_apply_138 - self._trace('', (4024, 4033), self.input.position) + self._trace('', (4025, 4034), self.input.position) _G_apply_139, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'c_posedit') _locals['edit'] = _G_apply_139 @@ -581,11 +581,11 @@ def rule_c_posedit(self): def rule_g_posedit(self): _locals = {'self': self} self.locals['g_posedit'] = _locals - self._trace('', (4093, 4104), self.input.position) + self._trace('', (4094, 4105), self.input.position) _G_apply_142, lastError = self._apply(self.rule_g_interval, "g_interval", []) self.considerError(lastError, 'g_posedit') _locals['pos'] = _G_apply_142 - self._trace('', (4108, 4117), self.input.position) + self._trace('', (4109, 4118), self.input.position) _G_apply_143, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'g_posedit') _locals['edit'] = _G_apply_143 @@ -597,11 +597,11 @@ def rule_g_posedit(self): def rule_m_posedit(self): _locals = {'self': self} self.locals['m_posedit'] = _locals - self._trace('', (4177, 4188), self.input.position) + self._trace('', (4178, 4189), self.input.position) _G_apply_145, lastError = self._apply(self.rule_m_interval, "m_interval", []) self.considerError(lastError, 'm_posedit') _locals['pos'] = _G_apply_145 - self._trace('', (4192, 4201), self.input.position) + self._trace('', (4193, 4202), self.input.position) _G_apply_146, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'm_posedit') _locals['edit'] = _G_apply_146 @@ -613,11 +613,11 @@ def rule_m_posedit(self): def rule_n_posedit(self): _locals = {'self': self} self.locals['n_posedit'] = _locals - self._trace('', (4261, 4272), self.input.position) + self._trace('', (4262, 4273), self.input.position) _G_apply_148, lastError = self._apply(self.rule_n_interval, "n_interval", []) self.considerError(lastError, 'n_posedit') _locals['pos'] = _G_apply_148 - self._trace('', (4276, 4285), self.input.position) + self._trace('', (4277, 4286), self.input.position) _G_apply_149, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'n_posedit') _locals['edit'] = _G_apply_149 @@ -630,11 +630,11 @@ def rule_r_posedit(self): _locals = {'self': self} self.locals['r_posedit'] = _locals def _G_or_151(): - self._trace('', (4347, 4357), self.input.position) + self._trace('', (4348, 4358), self.input.position) _G_apply_152, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_152 - self._trace('', (4361, 4370), self.input.position) + self._trace('', (4362, 4371), self.input.position) _G_apply_153, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_153 @@ -642,18 +642,18 @@ def _G_or_151(): self.considerError(lastError, None) return (_G_python_154, self.currentError) def _G_or_155(): - self._trace('', (4426, 4429), self.input.position) + self._trace('', (4427, 4430), self.input.position) _G_exactly_156, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (4429, 4440), self.input.position) + self._trace('', (4430, 4441), self.input.position) _G_apply_157, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_157 - self._trace('', (4444, 4453), self.input.position) + self._trace('', (4445, 4454), self.input.position) _G_apply_158, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_158 - self._trace('', (4458, 4462), self.input.position) + self._trace('', (4459, 4463), self.input.position) _G_exactly_159, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_161, lastError = eval(self._G_expr_160, self.globals, _locals), None @@ -668,11 +668,11 @@ def rule_p_posedit(self): _locals = {'self': self} self.locals['p_posedit'] = _locals def _G_or_163(): - self._trace('', (4539, 4549), self.input.position) + self._trace('', (4540, 4550), self.input.position) _G_apply_164, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_164 - self._trace('', (4553, 4562), self.input.position) + self._trace('', (4554, 4563), self.input.position) _G_apply_165, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_165 @@ -680,25 +680,25 @@ def _G_or_163(): self.considerError(lastError, None) return (_G_python_166, self.currentError) def _G_or_167(): - self._trace('', (4618, 4621), self.input.position) + self._trace('', (4619, 4622), self.input.position) _G_exactly_168, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (4621, 4632), self.input.position) + self._trace('', (4622, 4633), self.input.position) _G_apply_169, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_169 - self._trace('', (4636, 4645), self.input.position) + self._trace('', (4637, 4646), self.input.position) _G_apply_170, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_170 - self._trace('', (4650, 4654), self.input.position) + self._trace('', (4651, 4655), self.input.position) _G_exactly_171, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_172, lastError = eval(self._G_expr_160, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_172, self.currentError) def _G_or_173(): - self._trace('', (4719, 4737), self.input.position) + self._trace('', (4720, 4738), self.input.position) _G_apply_174, lastError = self._apply(self.rule_p_posedit_special, "p_posedit_special", []) self.considerError(lastError, None) return (_G_apply_174, self.currentError) @@ -711,7 +711,7 @@ def rule_p_posedit_special(self): _locals = {'self': self} self.locals['p_posedit_special'] = _locals def _G_or_176(): - self._trace('', (4757, 4767), self.input.position) + self._trace('', (4758, 4769), self.input.position) _G_exactly_177, lastError = self.exactly('=') self.considerError(lastError, None) _locals['x'] = _G_exactly_177 @@ -719,32 +719,32 @@ def _G_or_176(): self.considerError(lastError, None) return (_G_python_179, self.currentError) def _G_or_180(): - self._trace('', (4829, 4833), self.input.position) + self._trace('', (4831, 4835), self.input.position) _G_exactly_181, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (4833, 4837), self.input.position) + self._trace('', (4835, 4839), self.input.position) _G_exactly_182, lastError = self.exactly('=') self.considerError(lastError, None) _locals['x'] = _G_exactly_182 - self._trace('', (4839, 4843), self.input.position) + self._trace('', (4841, 4845), self.input.position) _G_exactly_183, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_185, lastError = eval(self._G_expr_184, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_185, self.currentError) def _G_or_186(): - self._trace('', (4902, 4906), self.input.position) + self._trace('', (4904, 4908), self.input.position) _G_exactly_187, lastError = self.exactly('0') self.considerError(lastError, None) _locals['x'] = _G_exactly_187 - self._trace('', (4908, 4912), self.input.position) + self._trace('', (4910, 4914), self.input.position) _G_exactly_188, lastError = self.exactly('?') self.considerError(lastError, None) _G_python_189, lastError = eval(self._G_expr_184, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_189, self.currentError) def _G_or_190(): - self._trace('', (4971, 4975), self.input.position) + self._trace('', (4973, 4977), self.input.position) _G_exactly_191, lastError = self.exactly('0') self.considerError(lastError, None) _locals['x'] = _G_exactly_191 @@ -752,7 +752,7 @@ def _G_or_190(): self.considerError(lastError, None) return (_G_python_192, self.currentError) def _G_or_193(): - self._trace('', (5037, 5041), self.input.position) + self._trace('', (5039, 5043), self.input.position) _G_exactly_194, lastError = self.exactly('?') self.considerError(lastError, None) _locals['x'] = _G_exactly_194 @@ -768,19 +768,19 @@ def rule_dna_edit_mu(self): _locals = {'self': self} self.locals['dna_edit_mu'] = _locals def _G_or_197(): - self._trace('', (5392, 5401), self.input.position) + self._trace('', (5394, 5403), self.input.position) _G_apply_198, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, None) return (_G_apply_198, self.currentError) def _G_or_199(): - self._trace('', (5403, 5407), self.input.position) + self._trace('', (5405, 5409), self.input.position) _G_exactly_200, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (5407, 5416), self.input.position) + self._trace('', (5409, 5418), self.input.position) _G_apply_201, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_201 - self._trace('', (5421, 5425), self.input.position) + self._trace('', (5423, 5427), self.input.position) _G_exactly_202, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_204, lastError = eval(self._G_expr_203, self.globals, _locals), None @@ -795,47 +795,47 @@ def rule_dna_edit(self): _locals = {'self': self} self.locals['dna_edit'] = _locals def _G_or_206(): - self._trace('', (5463, 5473), self.input.position) + self._trace('', (5465, 5475), self.input.position) _G_apply_207, lastError = self._apply(self.rule_dna_ident, "dna_ident", []) self.considerError(lastError, None) return (_G_apply_207, self.currentError) def _G_or_208(): - self._trace('', (5475, 5485), self.input.position) + self._trace('', (5477, 5487), self.input.position) _G_apply_209, lastError = self._apply(self.rule_dna_subst, "dna_subst", []) self.considerError(lastError, None) return (_G_apply_209, self.currentError) def _G_or_210(): - self._trace('', (5487, 5498), self.input.position) + self._trace('', (5489, 5500), self.input.position) _G_apply_211, lastError = self._apply(self.rule_dna_delins, "dna_delins", []) self.considerError(lastError, None) return (_G_apply_211, self.currentError) def _G_or_212(): - self._trace('', (5500, 5508), self.input.position) + self._trace('', (5502, 5510), self.input.position) _G_apply_213, lastError = self._apply(self.rule_dna_ins, "dna_ins", []) self.considerError(lastError, None) return (_G_apply_213, self.currentError) def _G_or_214(): - self._trace('', (5510, 5518), self.input.position) + self._trace('', (5512, 5520), self.input.position) _G_apply_215, lastError = self._apply(self.rule_dna_del, "dna_del", []) self.considerError(lastError, None) return (_G_apply_215, self.currentError) def _G_or_216(): - self._trace('', (5520, 5528), self.input.position) + self._trace('', (5522, 5530), self.input.position) _G_apply_217, lastError = self._apply(self.rule_dna_dup, "dna_dup", []) self.considerError(lastError, None) return (_G_apply_217, self.currentError) def _G_or_218(): - self._trace('', (5530, 5538), self.input.position) + self._trace('', (5532, 5540), self.input.position) _G_apply_219, lastError = self._apply(self.rule_dna_inv, "dna_inv", []) self.considerError(lastError, None) return (_G_apply_219, self.currentError) def _G_or_220(): - self._trace('', (5540, 5548), self.input.position) + self._trace('', (5542, 5550), self.input.position) _G_apply_221, lastError = self._apply(self.rule_dna_con, "dna_con", []) self.considerError(lastError, None) return (_G_apply_221, self.currentError) def _G_or_222(): - self._trace('', (5550, 5559), self.input.position) + self._trace('', (5552, 5561), self.input.position) _G_apply_223, lastError = self._apply(self.rule_dna_copy, "dna_copy", []) self.considerError(lastError, None) return (_G_apply_223, self.currentError) @@ -849,7 +849,7 @@ def rule_dna_ident(self): self.locals['dna_ident'] = _locals def _G_consumedby_225(): def _G_many_226(): - self._trace('', (5574, 5577), self.input.position) + self._trace('', (5576, 5579), self.input.position) _G_apply_227, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_227, self.currentError) @@ -859,7 +859,7 @@ def _G_many_226(): _G_consumedby_229, lastError = self.consumedby(_G_consumedby_225) self.considerError(lastError, 'dna_ident') _locals['ref'] = _G_consumedby_229 - self._trace('', (5583, 5587), self.input.position) + self._trace('', (5585, 5589), self.input.position) _G_exactly_230, lastError = self.exactly('=') self.considerError(lastError, 'dna_ident') _G_python_232, lastError = eval(self._G_expr_231, self.globals, _locals), None @@ -870,14 +870,14 @@ def _G_many_226(): def rule_dna_subst(self): _locals = {'self': self} self.locals['dna_subst'] = _locals - self._trace('', (5649, 5653), self.input.position) + self._trace('', (5651, 5655), self.input.position) _G_apply_233, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, 'dna_subst') _locals['ref'] = _G_apply_233 - self._trace('', (5657, 5661), self.input.position) + self._trace('', (5659, 5663), self.input.position) _G_exactly_234, lastError = self.exactly('>') self.considerError(lastError, 'dna_subst') - self._trace('', (5661, 5665), self.input.position) + self._trace('', (5663, 5667), self.input.position) _G_apply_235, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, 'dna_subst') _locals['alt'] = _G_apply_235 @@ -889,12 +889,12 @@ def rule_dna_subst(self): def rule_dna_delins(self): _locals = {'self': self} self.locals['dna_delins'] = _locals - self._trace('', (5726, 5732), self.input.position) + self._trace('', (5728, 5734), self.input.position) _G_exactly_238, lastError = self.exactly('del') self.considerError(lastError, 'dna_delins') def _G_or_239(): def _G_consumedby_240(): - self._trace('', (5735, 5738), self.input.position) + self._trace('', (5737, 5740), self.input.position) _G_apply_241, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_241, self.currentError) @@ -904,7 +904,7 @@ def _G_consumedby_240(): def _G_or_243(): def _G_consumedby_244(): def _G_many_245(): - self._trace('', (5741, 5744), self.input.position) + self._trace('', (5743, 5746), self.input.position) _G_apply_246, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_246, self.currentError) @@ -917,12 +917,12 @@ def _G_many_245(): _G_or_249, lastError = self._or([_G_or_239, _G_or_243]) self.considerError(lastError, 'dna_delins') _locals['ref'] = _G_or_249 - self._trace('', (5751, 5757), self.input.position) + self._trace('', (5753, 5759), self.input.position) _G_exactly_250, lastError = self.exactly('ins') self.considerError(lastError, 'dna_delins') def _G_consumedby_251(): def _G_many1_252(): - self._trace('', (5759, 5762), self.input.position) + self._trace('', (5761, 5764), self.input.position) _G_apply_253, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_253, self.currentError) @@ -940,12 +940,12 @@ def _G_many1_252(): def rule_dna_del(self): _locals = {'self': self} self.locals['dna_del'] = _locals - self._trace('', (5821, 5827), self.input.position) + self._trace('', (5823, 5829), self.input.position) _G_exactly_257, lastError = self.exactly('del') self.considerError(lastError, 'dna_del') def _G_or_258(): def _G_consumedby_259(): - self._trace('', (5830, 5833), self.input.position) + self._trace('', (5832, 5835), self.input.position) _G_apply_260, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_260, self.currentError) @@ -955,7 +955,7 @@ def _G_consumedby_259(): def _G_or_262(): def _G_consumedby_263(): def _G_many_264(): - self._trace('', (5836, 5839), self.input.position) + self._trace('', (5838, 5841), self.input.position) _G_apply_265, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_265, self.currentError) @@ -976,12 +976,12 @@ def _G_many_264(): def rule_dna_ins(self): _locals = {'self': self} self.locals['dna_ins'] = _locals - self._trace('', (5899, 5905), self.input.position) + self._trace('', (5901, 5907), self.input.position) _G_exactly_271, lastError = self.exactly('ins') self.considerError(lastError, 'dna_ins') def _G_consumedby_272(): def _G_many1_273(): - self._trace('', (5907, 5910), self.input.position) + self._trace('', (5909, 5912), self.input.position) _G_apply_274, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_274, self.currentError) @@ -999,12 +999,12 @@ def _G_many1_273(): def rule_dna_dup(self): _locals = {'self': self} self.locals['dna_dup'] = _locals - self._trace('', (5977, 5983), self.input.position) + self._trace('', (5979, 5985), self.input.position) _G_exactly_279, lastError = self.exactly('dup') self.considerError(lastError, 'dna_dup') def _G_consumedby_280(): def _G_many_281(): - self._trace('', (5985, 5988), self.input.position) + self._trace('', (5987, 5990), self.input.position) _G_apply_282, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_282, self.currentError) @@ -1022,12 +1022,12 @@ def _G_many_281(): def rule_dna_inv(self): _locals = {'self': self} self.locals['dna_inv'] = _locals - self._trace('', (6041, 6047), self.input.position) + self._trace('', (6043, 6049), self.input.position) _G_exactly_287, lastError = self.exactly('inv') self.considerError(lastError, 'dna_inv') def _G_or_288(): def _G_consumedby_289(): - self._trace('', (6050, 6053), self.input.position) + self._trace('', (6052, 6055), self.input.position) _G_apply_290, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_290, self.currentError) @@ -1037,7 +1037,7 @@ def _G_consumedby_289(): def _G_or_292(): def _G_consumedby_293(): def _G_many_294(): - self._trace('', (6056, 6059), self.input.position) + self._trace('', (6058, 6061), self.input.position) _G_apply_295, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_295, self.currentError) @@ -1058,10 +1058,10 @@ def _G_many_294(): def rule_dna_con(self): _locals = {'self': self} self.locals['dna_con'] = _locals - self._trace('', (6106, 6112), self.input.position) + self._trace('', (6108, 6114), self.input.position) _G_exactly_301, lastError = self.exactly('con') self.considerError(lastError, 'dna_con') - self._trace('', (6112, 6126), self.input.position) + self._trace('', (6114, 6128), self.input.position) _G_apply_302, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) self.considerError(lastError, 'dna_con') _locals['pos'] = _G_apply_302 @@ -1073,10 +1073,10 @@ def rule_dna_con(self): def rule_dna_copy(self): _locals = {'self': self} self.locals['dna_copy'] = _locals - self._trace('', (6216, 6223), self.input.position) + self._trace('', (6218, 6225), self.input.position) _G_exactly_305, lastError = self.exactly('copy') self.considerError(lastError, 'dna_copy') - self._trace('', (6223, 6227), self.input.position) + self._trace('', (6225, 6229), self.input.position) _G_apply_306, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, 'dna_copy') _locals['n'] = _G_apply_306 @@ -1089,19 +1089,19 @@ def rule_rna_edit_mu(self): _locals = {'self': self} self.locals['rna_edit_mu'] = _locals def _G_or_309(): - self._trace('', (6272, 6281), self.input.position) + self._trace('', (6274, 6283), self.input.position) _G_apply_310, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) return (_G_apply_310, self.currentError) def _G_or_311(): - self._trace('', (6283, 6287), self.input.position) + self._trace('', (6285, 6289), self.input.position) _G_exactly_312, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (6287, 6296), self.input.position) + self._trace('', (6289, 6298), self.input.position) _G_apply_313, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_313 - self._trace('', (6301, 6305), self.input.position) + self._trace('', (6303, 6307), self.input.position) _G_exactly_314, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_315, lastError = eval(self._G_expr_203, self.globals, _locals), None @@ -1116,42 +1116,42 @@ def rule_rna_edit(self): _locals = {'self': self} self.locals['rna_edit'] = _locals def _G_or_317(): - self._trace('', (6343, 6353), self.input.position) + self._trace('', (6345, 6355), self.input.position) _G_apply_318, lastError = self._apply(self.rule_rna_ident, "rna_ident", []) self.considerError(lastError, None) return (_G_apply_318, self.currentError) def _G_or_319(): - self._trace('', (6355, 6365), self.input.position) + self._trace('', (6357, 6367), self.input.position) _G_apply_320, lastError = self._apply(self.rule_rna_subst, "rna_subst", []) self.considerError(lastError, None) return (_G_apply_320, self.currentError) def _G_or_321(): - self._trace('', (6367, 6378), self.input.position) + self._trace('', (6369, 6380), self.input.position) _G_apply_322, lastError = self._apply(self.rule_rna_delins, "rna_delins", []) self.considerError(lastError, None) return (_G_apply_322, self.currentError) def _G_or_323(): - self._trace('', (6380, 6388), self.input.position) + self._trace('', (6382, 6390), self.input.position) _G_apply_324, lastError = self._apply(self.rule_rna_ins, "rna_ins", []) self.considerError(lastError, None) return (_G_apply_324, self.currentError) def _G_or_325(): - self._trace('', (6390, 6398), self.input.position) + self._trace('', (6392, 6400), self.input.position) _G_apply_326, lastError = self._apply(self.rule_rna_del, "rna_del", []) self.considerError(lastError, None) return (_G_apply_326, self.currentError) def _G_or_327(): - self._trace('', (6400, 6408), self.input.position) + self._trace('', (6402, 6410), self.input.position) _G_apply_328, lastError = self._apply(self.rule_rna_dup, "rna_dup", []) self.considerError(lastError, None) return (_G_apply_328, self.currentError) def _G_or_329(): - self._trace('', (6410, 6418), self.input.position) + self._trace('', (6412, 6420), self.input.position) _G_apply_330, lastError = self._apply(self.rule_rna_inv, "rna_inv", []) self.considerError(lastError, None) return (_G_apply_330, self.currentError) def _G_or_331(): - self._trace('', (6420, 6428), self.input.position) + self._trace('', (6422, 6430), self.input.position) _G_apply_332, lastError = self._apply(self.rule_rna_con, "rna_con", []) self.considerError(lastError, None) return (_G_apply_332, self.currentError) @@ -1165,7 +1165,7 @@ def rule_rna_ident(self): self.locals['rna_ident'] = _locals def _G_consumedby_334(): def _G_many_335(): - self._trace('', (6443, 6446), self.input.position) + self._trace('', (6445, 6448), self.input.position) _G_apply_336, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_336, self.currentError) @@ -1175,7 +1175,7 @@ def _G_many_335(): _G_consumedby_338, lastError = self.consumedby(_G_consumedby_334) self.considerError(lastError, 'rna_ident') _locals['ref'] = _G_consumedby_338 - self._trace('', (6452, 6456), self.input.position) + self._trace('', (6454, 6458), self.input.position) _G_exactly_339, lastError = self.exactly('=') self.considerError(lastError, 'rna_ident') _G_python_340, lastError = eval(self._G_expr_231, self.globals, _locals), None @@ -1186,14 +1186,14 @@ def _G_many_335(): def rule_rna_subst(self): _locals = {'self': self} self.locals['rna_subst'] = _locals - self._trace('', (6525, 6529), self.input.position) + self._trace('', (6527, 6531), self.input.position) _G_apply_341, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, 'rna_subst') _locals['ref'] = _G_apply_341 - self._trace('', (6533, 6537), self.input.position) + self._trace('', (6535, 6539), self.input.position) _G_exactly_342, lastError = self.exactly('>') self.considerError(lastError, 'rna_subst') - self._trace('', (6537, 6541), self.input.position) + self._trace('', (6539, 6543), self.input.position) _G_apply_343, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, 'rna_subst') _locals['alt'] = _G_apply_343 @@ -1205,12 +1205,12 @@ def rule_rna_subst(self): def rule_rna_delins(self): _locals = {'self': self} self.locals['rna_delins'] = _locals - self._trace('', (6609, 6615), self.input.position) + self._trace('', (6611, 6617), self.input.position) _G_exactly_345, lastError = self.exactly('del') self.considerError(lastError, 'rna_delins') def _G_or_346(): def _G_consumedby_347(): - self._trace('', (6618, 6621), self.input.position) + self._trace('', (6620, 6623), self.input.position) _G_apply_348, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_348, self.currentError) @@ -1220,7 +1220,7 @@ def _G_consumedby_347(): def _G_or_350(): def _G_consumedby_351(): def _G_many_352(): - self._trace('', (6624, 6627), self.input.position) + self._trace('', (6626, 6629), self.input.position) _G_apply_353, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_353, self.currentError) @@ -1233,12 +1233,12 @@ def _G_many_352(): _G_or_356, lastError = self._or([_G_or_346, _G_or_350]) self.considerError(lastError, 'rna_delins') _locals['ref'] = _G_or_356 - self._trace('', (6634, 6640), self.input.position) + self._trace('', (6636, 6642), self.input.position) _G_exactly_357, lastError = self.exactly('ins') self.considerError(lastError, 'rna_delins') def _G_consumedby_358(): def _G_many1_359(): - self._trace('', (6642, 6645), self.input.position) + self._trace('', (6644, 6647), self.input.position) _G_apply_360, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_360, self.currentError) @@ -1256,12 +1256,12 @@ def _G_many1_359(): def rule_rna_del(self): _locals = {'self': self} self.locals['rna_del'] = _locals - self._trace('', (6704, 6710), self.input.position) + self._trace('', (6706, 6712), self.input.position) _G_exactly_364, lastError = self.exactly('del') self.considerError(lastError, 'rna_del') def _G_or_365(): def _G_consumedby_366(): - self._trace('', (6713, 6716), self.input.position) + self._trace('', (6715, 6718), self.input.position) _G_apply_367, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_367, self.currentError) @@ -1271,7 +1271,7 @@ def _G_consumedby_366(): def _G_or_369(): def _G_consumedby_370(): def _G_many_371(): - self._trace('', (6719, 6722), self.input.position) + self._trace('', (6721, 6724), self.input.position) _G_apply_372, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_372, self.currentError) @@ -1292,12 +1292,12 @@ def _G_many_371(): def rule_rna_ins(self): _locals = {'self': self} self.locals['rna_ins'] = _locals - self._trace('', (6789, 6795), self.input.position) + self._trace('', (6791, 6797), self.input.position) _G_exactly_377, lastError = self.exactly('ins') self.considerError(lastError, 'rna_ins') def _G_consumedby_378(): def _G_many1_379(): - self._trace('', (6797, 6800), self.input.position) + self._trace('', (6799, 6802), self.input.position) _G_apply_380, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_380, self.currentError) @@ -1315,12 +1315,12 @@ def _G_many1_379(): def rule_rna_dup(self): _locals = {'self': self} self.locals['rna_dup'] = _locals - self._trace('', (6874, 6880), self.input.position) + self._trace('', (6876, 6882), self.input.position) _G_exactly_384, lastError = self.exactly('dup') self.considerError(lastError, 'rna_dup') def _G_consumedby_385(): def _G_many_386(): - self._trace('', (6882, 6885), self.input.position) + self._trace('', (6884, 6887), self.input.position) _G_apply_387, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_387, self.currentError) @@ -1338,12 +1338,12 @@ def _G_many_386(): def rule_rna_inv(self): _locals = {'self': self} self.locals['rna_inv'] = _locals - self._trace('', (6945, 6951), self.input.position) + self._trace('', (6947, 6953), self.input.position) _G_exactly_391, lastError = self.exactly('inv') self.considerError(lastError, 'rna_inv') def _G_or_392(): def _G_consumedby_393(): - self._trace('', (6954, 6957), self.input.position) + self._trace('', (6956, 6959), self.input.position) _G_apply_394, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_394, self.currentError) @@ -1353,7 +1353,7 @@ def _G_consumedby_393(): def _G_or_396(): def _G_consumedby_397(): def _G_many_398(): - self._trace('', (6960, 6963), self.input.position) + self._trace('', (6962, 6965), self.input.position) _G_apply_399, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_399, self.currentError) @@ -1374,10 +1374,10 @@ def _G_many_398(): def rule_rna_con(self): _locals = {'self': self} self.locals['rna_con'] = _locals - self._trace('', (7017, 7023), self.input.position) + self._trace('', (7019, 7025), self.input.position) _G_exactly_404, lastError = self.exactly('con') self.considerError(lastError, 'rna_con') - self._trace('', (7023, 7037), self.input.position) + self._trace('', (7025, 7039), self.input.position) _G_apply_405, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) self.considerError(lastError, 'rna_con') _locals['pos'] = _G_apply_405 @@ -1390,19 +1390,19 @@ def rule_pro_edit_mu(self): _locals = {'self': self} self.locals['pro_edit_mu'] = _locals def _G_or_407(): - self._trace('', (7136, 7145), self.input.position) + self._trace('', (7138, 7147), self.input.position) _G_apply_408, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) return (_G_apply_408, self.currentError) def _G_or_409(): - self._trace('', (7147, 7151), self.input.position) + self._trace('', (7149, 7153), self.input.position) _G_exactly_410, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (7151, 7160), self.input.position) + self._trace('', (7153, 7162), self.input.position) _G_apply_411, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_411 - self._trace('', (7165, 7169), self.input.position) + self._trace('', (7167, 7171), self.input.position) _G_exactly_412, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_413, lastError = eval(self._G_expr_203, self.globals, _locals), None @@ -1417,42 +1417,42 @@ def rule_pro_edit(self): _locals = {'self': self} self.locals['pro_edit'] = _locals def _G_or_415(): - self._trace('', (7207, 7214), self.input.position) + self._trace('', (7209, 7216), self.input.position) _G_apply_416, lastError = self._apply(self.rule_pro_fs, "pro_fs", []) self.considerError(lastError, None) return (_G_apply_416, self.currentError) def _G_or_417(): - self._trace('', (7216, 7224), self.input.position) + self._trace('', (7218, 7226), self.input.position) _G_apply_418, lastError = self._apply(self.rule_pro_ext, "pro_ext", []) self.considerError(lastError, None) return (_G_apply_418, self.currentError) def _G_or_419(): - self._trace('', (7226, 7236), self.input.position) + self._trace('', (7228, 7238), self.input.position) _G_apply_420, lastError = self._apply(self.rule_pro_subst, "pro_subst", []) self.considerError(lastError, None) return (_G_apply_420, self.currentError) def _G_or_421(): - self._trace('', (7238, 7249), self.input.position) + self._trace('', (7240, 7251), self.input.position) _G_apply_422, lastError = self._apply(self.rule_pro_delins, "pro_delins", []) self.considerError(lastError, None) return (_G_apply_422, self.currentError) def _G_or_423(): - self._trace('', (7251, 7259), self.input.position) + self._trace('', (7253, 7261), self.input.position) _G_apply_424, lastError = self._apply(self.rule_pro_ins, "pro_ins", []) self.considerError(lastError, None) return (_G_apply_424, self.currentError) def _G_or_425(): - self._trace('', (7261, 7269), self.input.position) + self._trace('', (7263, 7271), self.input.position) _G_apply_426, lastError = self._apply(self.rule_pro_del, "pro_del", []) self.considerError(lastError, None) return (_G_apply_426, self.currentError) def _G_or_427(): - self._trace('', (7271, 7279), self.input.position) + self._trace('', (7273, 7281), self.input.position) _G_apply_428, lastError = self._apply(self.rule_pro_dup, "pro_dup", []) self.considerError(lastError, None) return (_G_apply_428, self.currentError) def _G_or_429(): - self._trace('', (7281, 7291), self.input.position) + self._trace('', (7283, 7293), self.input.position) _G_apply_430, lastError = self._apply(self.rule_pro_ident, "pro_ident", []) self.considerError(lastError, None) return (_G_apply_430, self.currentError) @@ -1465,12 +1465,12 @@ def rule_pro_subst(self): _locals = {'self': self} self.locals['pro_subst'] = _locals def _G_or_432(): - self._trace('', (7306, 7311), self.input.position) + self._trace('', (7308, 7313), self.input.position) _G_apply_433, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_433, self.currentError) def _G_or_434(): - self._trace('', (7312, 7315), self.input.position) + self._trace('', (7314, 7317), self.input.position) _G_exactly_435, lastError = self.exactly('?') self.considerError(lastError, None) return (_G_exactly_435, self.currentError) @@ -1485,10 +1485,10 @@ def _G_or_434(): def rule_pro_delins(self): _locals = {'self': self} self.locals['pro_delins'] = _locals - self._trace('', (7384, 7393), self.input.position) + self._trace('', (7386, 7395), self.input.position) _G_exactly_439, lastError = self.exactly('delins') self.considerError(lastError, 'pro_delins') - self._trace('', (7393, 7403), self.input.position) + self._trace('', (7395, 7405), self.input.position) _G_apply_440, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) self.considerError(lastError, 'pro_delins') _locals['alt'] = _G_apply_440 @@ -1500,7 +1500,7 @@ def rule_pro_delins(self): def rule_pro_del(self): _locals = {'self': self} self.locals['pro_del'] = _locals - self._trace('', (7467, 7473), self.input.position) + self._trace('', (7469, 7475), self.input.position) _G_exactly_443, lastError = self.exactly('del') self.considerError(lastError, 'pro_del') _G_python_445, lastError = eval(self._G_expr_444, self.globals, _locals), None @@ -1511,10 +1511,10 @@ def rule_pro_del(self): def rule_pro_ins(self): _locals = {'self': self} self.locals['pro_ins'] = _locals - self._trace('', (7551, 7557), self.input.position) + self._trace('', (7553, 7559), self.input.position) _G_exactly_446, lastError = self.exactly('ins') self.considerError(lastError, 'pro_ins') - self._trace('', (7557, 7567), self.input.position) + self._trace('', (7559, 7569), self.input.position) _G_apply_447, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) self.considerError(lastError, 'pro_ins') _locals['alt'] = _G_apply_447 @@ -1526,7 +1526,7 @@ def rule_pro_ins(self): def rule_pro_dup(self): _locals = {'self': self} self.locals['pro_dup'] = _locals - self._trace('', (7636, 7642), self.input.position) + self._trace('', (7638, 7644), self.input.position) _G_exactly_450, lastError = self.exactly('dup') self.considerError(lastError, 'pro_dup') _G_python_452, lastError = eval(self._G_expr_451, self.globals, _locals), None @@ -1538,7 +1538,7 @@ def rule_pro_fs(self): _locals = {'self': self} self.locals['pro_fs'] = _locals def _G_or_453(): - self._trace('', (7708, 7713), self.input.position) + self._trace('', (7710, 7715), self.input.position) _G_apply_454, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_454, self.currentError) @@ -1549,7 +1549,7 @@ def _G_or_455(): _G_or_457, lastError = self._or([_G_or_453, _G_or_455]) self.considerError(lastError, 'pro_fs') _locals['alt'] = _G_or_457 - self._trace('', (7728, 7731), self.input.position) + self._trace('', (7730, 7733), self.input.position) _G_apply_458, lastError = self._apply(self.rule_fs, "fs", []) self.considerError(lastError, 'pro_fs') _locals['length'] = _G_apply_458 @@ -1562,7 +1562,7 @@ def rule_pro_ext(self): _locals = {'self': self} self.locals['pro_ext'] = _locals def _G_optional_461(): - self._trace('', (7801, 7807), self.input.position) + self._trace('', (7803, 7809), self.input.position) _G_apply_462, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_462, self.currentError) @@ -1571,7 +1571,7 @@ def _G_optional_463(): _G_or_464, lastError = self._or([_G_optional_461, _G_optional_463]) self.considerError(lastError, 'pro_ext') _locals['alt'] = _G_or_464 - self._trace('', (7812, 7816), self.input.position) + self._trace('', (7814, 7818), self.input.position) _G_apply_465, lastError = self._apply(self.rule_ext, "ext", []) self.considerError(lastError, 'pro_ext') _locals['aaterm'] = _G_apply_465[0] @@ -1584,7 +1584,7 @@ def _G_optional_463(): def rule_pro_ident(self): _locals = {'self': self} self.locals['pro_ident'] = _locals - self._trace('', (7912, 7916), self.input.position) + self._trace('', (7914, 7918), self.input.position) _G_exactly_468, lastError = self.exactly('=') self.considerError(lastError, 'pro_ident') _G_python_470, lastError = eval(self._G_expr_469, self.globals, _locals), None @@ -1596,19 +1596,19 @@ def rule_c_interval(self): _locals = {'self': self} self.locals['c_interval'] = _locals def _G_or_471(): - self._trace('', (8238, 8253), self.input.position) + self._trace('', (8240, 8255), self.input.position) _G_apply_472, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) self.considerError(lastError, None) return (_G_apply_472, self.currentError) def _G_or_473(): - self._trace('', (8255, 8259), self.input.position) + self._trace('', (8257, 8261), self.input.position) _G_exactly_474, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8259, 8274), self.input.position) + self._trace('', (8261, 8276), self.input.position) _G_apply_475, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_475 - self._trace('', (8277, 8281), self.input.position) + self._trace('', (8279, 8283), self.input.position) _G_exactly_476, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_478, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1623,27 +1623,27 @@ def rule_g_interval(self): _locals = {'self': self} self.locals['g_interval'] = _locals def _G_or_480(): - self._trace('', (8317, 8342), self.input.position) + self._trace('', (8319, 8344), self.input.position) _G_apply_481, lastError = self._apply(self.rule_def_g_uncertain_interval, "def_g_uncertain_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_481 return (_G_apply_481, self.currentError) def _G_or_482(): - self._trace('', (8349, 8352), self.input.position) + self._trace('', (8351, 8354), self.input.position) _G_exactly_483, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8352, 8367), self.input.position) + self._trace('', (8354, 8369), self.input.position) _G_apply_484, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_484 - self._trace('', (8370, 8374), self.input.position) + self._trace('', (8372, 8376), self.input.position) _G_exactly_485, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_486, lastError = eval(self._G_expr_477, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_486, self.currentError) def _G_or_487(): - self._trace('', (8400, 8415), self.input.position) + self._trace('', (8402, 8417), self.input.position) _G_apply_488, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) return (_G_apply_488, self.currentError) @@ -1656,19 +1656,19 @@ def rule_m_interval(self): _locals = {'self': self} self.locals['m_interval'] = _locals def _G_or_490(): - self._trace('', (8428, 8443), self.input.position) + self._trace('', (8430, 8445), self.input.position) _G_apply_491, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) self.considerError(lastError, None) return (_G_apply_491, self.currentError) def _G_or_492(): - self._trace('', (8445, 8449), self.input.position) + self._trace('', (8447, 8451), self.input.position) _G_exactly_493, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8449, 8464), self.input.position) + self._trace('', (8451, 8466), self.input.position) _G_apply_494, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_494 - self._trace('', (8467, 8471), self.input.position) + self._trace('', (8469, 8473), self.input.position) _G_exactly_495, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_496, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1683,19 +1683,19 @@ def rule_n_interval(self): _locals = {'self': self} self.locals['n_interval'] = _locals def _G_or_498(): - self._trace('', (8507, 8522), self.input.position) + self._trace('', (8509, 8524), self.input.position) _G_apply_499, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) self.considerError(lastError, None) return (_G_apply_499, self.currentError) def _G_or_500(): - self._trace('', (8524, 8528), self.input.position) + self._trace('', (8526, 8530), self.input.position) _G_exactly_501, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8528, 8543), self.input.position) + self._trace('', (8530, 8545), self.input.position) _G_apply_502, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_502 - self._trace('', (8546, 8550), self.input.position) + self._trace('', (8548, 8552), self.input.position) _G_exactly_503, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_504, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1710,19 +1710,19 @@ def rule_p_interval(self): _locals = {'self': self} self.locals['p_interval'] = _locals def _G_or_506(): - self._trace('', (8586, 8601), self.input.position) + self._trace('', (8588, 8603), self.input.position) _G_apply_507, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) return (_G_apply_507, self.currentError) def _G_or_508(): - self._trace('', (8603, 8607), self.input.position) + self._trace('', (8605, 8609), self.input.position) _G_exactly_509, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8607, 8622), self.input.position) + self._trace('', (8609, 8624), self.input.position) _G_apply_510, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_510 - self._trace('', (8625, 8629), self.input.position) + self._trace('', (8627, 8631), self.input.position) _G_exactly_511, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_512, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1737,19 +1737,19 @@ def rule_r_interval(self): _locals = {'self': self} self.locals['r_interval'] = _locals def _G_or_514(): - self._trace('', (8665, 8680), self.input.position) + self._trace('', (8667, 8682), self.input.position) _G_apply_515, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) return (_G_apply_515, self.currentError) def _G_or_516(): - self._trace('', (8682, 8686), self.input.position) + self._trace('', (8684, 8688), self.input.position) _G_exactly_517, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8686, 8701), self.input.position) + self._trace('', (8688, 8703), self.input.position) _G_apply_518, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_518 - self._trace('', (8704, 8708), self.input.position) + self._trace('', (8706, 8710), self.input.position) _G_exactly_519, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_520, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1764,14 +1764,14 @@ def rule_def_g_interval(self): _locals = {'self': self} self.locals['def_g_interval'] = _locals def _G_or_522(): - self._trace('', (8772, 8777), self.input.position) + self._trace('', (8774, 8779), self.input.position) _G_apply_523, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_523 - self._trace('', (8783, 8787), self.input.position) + self._trace('', (8785, 8789), self.input.position) _G_exactly_524, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (8787, 8793), self.input.position) + self._trace('', (8789, 8795), self.input.position) _G_apply_525, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_525 @@ -1779,7 +1779,7 @@ def _G_or_522(): self.considerError(lastError, None) return (_G_python_527, self.currentError) def _G_or_528(): - self._trace('', (8839, 8844), self.input.position) + self._trace('', (8841, 8846), self.input.position) _G_apply_529, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_529 @@ -1795,14 +1795,14 @@ def rule_def_m_interval(self): _locals = {'self': self} self.locals['def_m_interval'] = _locals def _G_or_533(): - self._trace('', (8924, 8929), self.input.position) + self._trace('', (8926, 8931), self.input.position) _G_apply_534, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_534 - self._trace('', (8935, 8939), self.input.position) + self._trace('', (8937, 8941), self.input.position) _G_exactly_535, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (8939, 8945), self.input.position) + self._trace('', (8941, 8947), self.input.position) _G_apply_536, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_536 @@ -1810,7 +1810,7 @@ def _G_or_533(): self.considerError(lastError, None) return (_G_python_537, self.currentError) def _G_or_538(): - self._trace('', (8991, 8996), self.input.position) + self._trace('', (8993, 8998), self.input.position) _G_apply_539, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_539 @@ -1826,14 +1826,14 @@ def rule_def_p_interval(self): _locals = {'self': self} self.locals['def_p_interval'] = _locals def _G_or_542(): - self._trace('', (9076, 9081), self.input.position) + self._trace('', (9078, 9083), self.input.position) _G_apply_543, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_543 - self._trace('', (9087, 9091), self.input.position) + self._trace('', (9089, 9093), self.input.position) _G_exactly_544, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9091, 9097), self.input.position) + self._trace('', (9093, 9099), self.input.position) _G_apply_545, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_545 @@ -1841,7 +1841,7 @@ def _G_or_542(): self.considerError(lastError, None) return (_G_python_546, self.currentError) def _G_or_547(): - self._trace('', (9143, 9148), self.input.position) + self._trace('', (9145, 9150), self.input.position) _G_apply_548, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_548 @@ -1857,14 +1857,14 @@ def rule_def_r_interval(self): _locals = {'self': self} self.locals['def_r_interval'] = _locals def _G_or_551(): - self._trace('', (9228, 9233), self.input.position) + self._trace('', (9230, 9235), self.input.position) _G_apply_552, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_552 - self._trace('', (9239, 9243), self.input.position) + self._trace('', (9241, 9245), self.input.position) _G_exactly_553, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9243, 9249), self.input.position) + self._trace('', (9245, 9251), self.input.position) _G_apply_554, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_554 @@ -1872,7 +1872,7 @@ def _G_or_551(): self.considerError(lastError, None) return (_G_python_555, self.currentError) def _G_or_556(): - self._trace('', (9295, 9300), self.input.position) + self._trace('', (9297, 9302), self.input.position) _G_apply_557, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_557 @@ -1888,14 +1888,14 @@ def rule_def_c_interval(self): _locals = {'self': self} self.locals['def_c_interval'] = _locals def _G_or_560(): - self._trace('', (9380, 9385), self.input.position) + self._trace('', (9382, 9387), self.input.position) _G_apply_561, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_561 - self._trace('', (9391, 9395), self.input.position) + self._trace('', (9393, 9397), self.input.position) _G_exactly_562, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9395, 9401), self.input.position) + self._trace('', (9397, 9403), self.input.position) _G_apply_563, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_563 @@ -1903,7 +1903,7 @@ def _G_or_560(): self.considerError(lastError, None) return (_G_python_565, self.currentError) def _G_or_566(): - self._trace('', (9457, 9462), self.input.position) + self._trace('', (9459, 9464), self.input.position) _G_apply_567, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_567 @@ -1919,14 +1919,14 @@ def rule_def_n_interval(self): _locals = {'self': self} self.locals['def_n_interval'] = _locals def _G_or_571(): - self._trace('', (9552, 9557), self.input.position) + self._trace('', (9554, 9559), self.input.position) _G_apply_572, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_572 - self._trace('', (9563, 9567), self.input.position) + self._trace('', (9565, 9569), self.input.position) _G_exactly_573, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9567, 9573), self.input.position) + self._trace('', (9569, 9575), self.input.position) _G_apply_574, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_574 @@ -1934,7 +1934,7 @@ def _G_or_571(): self.considerError(lastError, None) return (_G_python_575, self.currentError) def _G_or_576(): - self._trace('', (9629, 9634), self.input.position) + self._trace('', (9631, 9636), self.input.position) _G_apply_577, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_577 @@ -1950,68 +1950,68 @@ def rule_def_g_uncertain_interval(self): _locals = {'self': self} self.locals['def_g_uncertain_interval'] = _locals def _G_or_580(): - self._trace('', (9753, 9757), self.input.position) + self._trace('', (9755, 9759), self.input.position) _G_exactly_581, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9757, 9772), self.input.position) + self._trace('', (9759, 9774), self.input.position) _G_apply_582, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_582 - self._trace('', (9782, 9786), self.input.position) + self._trace('', (9784, 9788), self.input.position) _G_exactly_583, lastError = self.exactly(')') self.considerError(lastError, None) - self._trace('', (9786, 9790), self.input.position) + self._trace('', (9788, 9792), self.input.position) _G_exactly_584, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9790, 9794), self.input.position) + self._trace('', (9792, 9796), self.input.position) _G_exactly_585, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9794, 9809), self.input.position) + self._trace('', (9796, 9811), self.input.position) _G_apply_586, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_586 - self._trace('', (9817, 9821), self.input.position) + self._trace('', (9819, 9823), self.input.position) _G_exactly_587, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_589, lastError = eval(self._G_expr_588, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_589, self.currentError) def _G_or_590(): - self._trace('', (9937, 9952), self.input.position) + self._trace('', (9939, 9954), self.input.position) _G_apply_591, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_591 - self._trace('', (9962, 9966), self.input.position) + self._trace('', (9964, 9968), self.input.position) _G_exactly_592, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9966, 9970), self.input.position) + self._trace('', (9968, 9972), self.input.position) _G_exactly_593, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9970, 9985), self.input.position) + self._trace('', (9972, 9987), self.input.position) _G_apply_594, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_594 - self._trace('', (9993, 9997), self.input.position) + self._trace('', (9995, 9999), self.input.position) _G_exactly_595, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_596, lastError = eval(self._G_expr_588, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_596, self.currentError) def _G_or_597(): - self._trace('', (10113, 10117), self.input.position) + self._trace('', (10115, 10119), self.input.position) _G_exactly_598, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (10117, 10132), self.input.position) + self._trace('', (10119, 10134), self.input.position) _G_apply_599, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_599 - self._trace('', (10142, 10146), self.input.position) + self._trace('', (10144, 10148), self.input.position) _G_exactly_600, lastError = self.exactly(')') self.considerError(lastError, None) - self._trace('', (10146, 10150), self.input.position) + self._trace('', (10148, 10152), self.input.position) _G_exactly_601, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (10150, 10165), self.input.position) + self._trace('', (10152, 10167), self.input.position) _G_apply_602, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_602 @@ -2026,7 +2026,7 @@ def _G_or_597(): def rule_c_pos(self): _locals = {'self': self} self.locals['c_pos'] = _locals - self._trace('', (10284, 10294), self.input.position) + self._trace('', (10286, 10296), self.input.position) _G_apply_605, lastError = self._apply(self.rule_def_c_pos, "def_c_pos", []) self.considerError(lastError, 'c_pos') return (_G_apply_605, self.currentError) @@ -2035,7 +2035,7 @@ def rule_c_pos(self): def rule_g_pos(self): _locals = {'self': self} self.locals['g_pos'] = _locals - self._trace('', (10351, 10361), self.input.position) + self._trace('', (10353, 10363), self.input.position) _G_apply_606, lastError = self._apply(self.rule_def_g_pos, "def_g_pos", []) self.considerError(lastError, 'g_pos') return (_G_apply_606, self.currentError) @@ -2044,7 +2044,7 @@ def rule_g_pos(self): def rule_m_pos(self): _locals = {'self': self} self.locals['m_pos'] = _locals - self._trace('', (10418, 10428), self.input.position) + self._trace('', (10420, 10430), self.input.position) _G_apply_607, lastError = self._apply(self.rule_def_m_pos, "def_m_pos", []) self.considerError(lastError, 'm_pos') return (_G_apply_607, self.currentError) @@ -2053,7 +2053,7 @@ def rule_m_pos(self): def rule_n_pos(self): _locals = {'self': self} self.locals['n_pos'] = _locals - self._trace('', (10485, 10495), self.input.position) + self._trace('', (10487, 10497), self.input.position) _G_apply_608, lastError = self._apply(self.rule_def_n_pos, "def_n_pos", []) self.considerError(lastError, 'n_pos') return (_G_apply_608, self.currentError) @@ -2062,7 +2062,7 @@ def rule_n_pos(self): def rule_p_pos(self): _locals = {'self': self} self.locals['p_pos'] = _locals - self._trace('', (10552, 10562), self.input.position) + self._trace('', (10554, 10564), self.input.position) _G_apply_609, lastError = self._apply(self.rule_def_p_pos, "def_p_pos", []) self.considerError(lastError, 'p_pos') return (_G_apply_609, self.currentError) @@ -2071,7 +2071,7 @@ def rule_p_pos(self): def rule_r_pos(self): _locals = {'self': self} self.locals['r_pos'] = _locals - self._trace('', (10619, 10629), self.input.position) + self._trace('', (10621, 10631), self.input.position) _G_apply_610, lastError = self._apply(self.rule_def_r_pos, "def_r_pos", []) self.considerError(lastError, 'r_pos') return (_G_apply_610, self.currentError) @@ -2081,11 +2081,11 @@ def rule_def_c_pos(self): _locals = {'self': self} self.locals['def_c_pos'] = _locals def _G_or_611(): - self._trace('', (10712, 10717), self.input.position) + self._trace('', (10714, 10719), self.input.position) _G_apply_612, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, None) _locals['b'] = _G_apply_612 - self._trace('', (10719, 10726), self.input.position) + self._trace('', (10721, 10728), self.input.position) _G_apply_613, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) _locals['o'] = _G_apply_613 @@ -2093,14 +2093,14 @@ def _G_or_611(): self.considerError(lastError, None) return (_G_python_615, self.currentError) def _G_or_616(): - self._trace('', (10811, 10815), self.input.position) + self._trace('', (10813, 10817), self.input.position) _G_exactly_617, lastError = self.exactly('*') self.considerError(lastError, None) - self._trace('', (10815, 10819), self.input.position) + self._trace('', (10817, 10821), self.input.position) _G_apply_618, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) _locals['b'] = _G_apply_618 - self._trace('', (10821, 10828), self.input.position) + self._trace('', (10823, 10830), self.input.position) _G_apply_619, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) _locals['o'] = _G_apply_619 @@ -2116,12 +2116,12 @@ def rule_def_g_pos(self): _locals = {'self': self} self.locals['def_g_pos'] = _locals def _G_or_623(): - self._trace('', (10916, 10919), self.input.position) + self._trace('', (10918, 10921), self.input.position) _G_apply_624, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_624, self.currentError) def _G_or_625(): - self._trace('', (10920, 10923), self.input.position) + self._trace('', (10922, 10925), self.input.position) _G_exactly_626, lastError = self.exactly('?') self.considerError(lastError, None) _G_python_627, lastError = (None), None @@ -2139,12 +2139,12 @@ def rule_def_m_pos(self): _locals = {'self': self} self.locals['def_m_pos'] = _locals def _G_or_631(): - self._trace('', (10985, 10988), self.input.position) + self._trace('', (10987, 10990), self.input.position) _G_apply_632, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_632, self.currentError) def _G_or_633(): - self._trace('', (10989, 10992), self.input.position) + self._trace('', (10991, 10994), self.input.position) _G_exactly_634, lastError = self.exactly('?') self.considerError(lastError, None) _G_python_635, lastError = (None), None @@ -2161,11 +2161,11 @@ def _G_or_633(): def rule_def_n_pos(self): _locals = {'self': self} self.locals['def_n_pos'] = _locals - self._trace('', (11052, 11057), self.input.position) + self._trace('', (11054, 11059), self.input.position) _G_apply_638, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, 'def_n_pos') _locals['b'] = _G_apply_638 - self._trace('', (11059, 11066), self.input.position) + self._trace('', (11061, 11068), self.input.position) _G_apply_639, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, 'def_n_pos') _locals['o'] = _G_apply_639 @@ -2178,19 +2178,19 @@ def rule_def_p_pos(self): _locals = {'self': self} self.locals['def_p_pos'] = _locals def _G_or_642(): - self._trace('', (11156, 11162), self.input.position) + self._trace('', (11158, 11164), self.input.position) _G_apply_643, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, None) return (_G_apply_643, self.currentError) def _G_or_644(): - self._trace('', (11163, 11167), self.input.position) + self._trace('', (11165, 11169), self.input.position) _G_apply_645, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) return (_G_apply_645, self.currentError) _G_or_646, lastError = self._or([_G_or_642, _G_or_644]) self.considerError(lastError, 'def_p_pos') _locals['aa'] = _G_or_646 - self._trace('', (11171, 11175), self.input.position) + self._trace('', (11173, 11177), self.input.position) _G_apply_647, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, 'def_p_pos') _locals['pos'] = _G_apply_647 @@ -2202,11 +2202,11 @@ def _G_or_644(): def rule_def_r_pos(self): _locals = {'self': self} self.locals['def_r_pos'] = _locals - self._trace('', (11257, 11262), self.input.position) + self._trace('', (11259, 11264), self.input.position) _G_apply_650, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, 'def_r_pos') _locals['b'] = _G_apply_650 - self._trace('', (11264, 11271), self.input.position) + self._trace('', (11266, 11273), self.input.position) _G_apply_651, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, 'def_r_pos') _locals['o'] = _G_apply_651 @@ -2218,11 +2218,11 @@ def rule_def_r_pos(self): def rule_fs(self): _locals = {'self': self} self.locals['fs'] = _locals - self._trace('', (11675, 11680), self.input.position) + self._trace('', (11677, 11682), self.input.position) _G_exactly_653, lastError = self.exactly('fs') self.considerError(lastError, 'fs') def _G_or_654(): - self._trace('', (11682, 11689), self.input.position) + self._trace('', (11684, 11691), self.input.position) _G_apply_655, lastError = self._apply(self.rule_aa13_fs, "aa13_fs", []) self.considerError(lastError, None) return (_G_apply_655, self.currentError) @@ -2241,11 +2241,11 @@ def _G_or_656(): def rule_ext(self): _locals = {'self': self} self.locals['ext'] = _locals - self._trace('', (11713, 11719), self.input.position) + self._trace('', (11715, 11721), self.input.position) _G_exactly_661, lastError = self.exactly('ext') self.considerError(lastError, 'ext') def _G_or_662(): - self._trace('', (11721, 11729), self.input.position) + self._trace('', (11723, 11731), self.input.position) _G_apply_663, lastError = self._apply(self.rule_aa13_ext, "aa13_ext", []) self.considerError(lastError, None) return (_G_apply_663, self.currentError) @@ -2265,10 +2265,10 @@ def _G_or_664(): def rule_aa13_fs(self): _locals = {'self': self} self.locals['aa13_fs'] = _locals - self._trace('', (11779, 11786), self.input.position) + self._trace('', (11781, 11788), self.input.position) _G_apply_669, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, 'aa13_fs') - self._trace('', (11786, 11799), self.input.position) + self._trace('', (11788, 11801), self.input.position) _G_apply_670, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) self.considerError(lastError, 'aa13_fs') _locals['n'] = _G_apply_670 @@ -2281,11 +2281,11 @@ def rule_aa13_ext(self): _locals = {'self': self} self.locals['aa13_ext'] = _locals def _G_or_672(): - self._trace('', (11817, 11824), self.input.position) + self._trace('', (11819, 11826), self.input.position) _G_apply_673, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, None) _locals['aat'] = _G_apply_673 - self._trace('', (11828, 11841), self.input.position) + self._trace('', (11830, 11843), self.input.position) _G_apply_674, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) self.considerError(lastError, None) _locals['n'] = _G_apply_674 @@ -2294,7 +2294,7 @@ def _G_or_672(): return (_G_python_675, self.currentError) def _G_or_676(): def _G_or_677(): - self._trace('', (11868, 11872), self.input.position) + self._trace('', (11870, 11874), self.input.position) _G_apply_678, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) return (_G_apply_678, self.currentError) @@ -2305,7 +2305,7 @@ def _G_or_679(): _G_or_681, lastError = self._or([_G_or_677, _G_or_679]) self.considerError(lastError, None) _locals['aat'] = _G_or_681 - self._trace('', (11889, 11894), self.input.position) + self._trace('', (11891, 11896), self.input.position) _G_apply_682, lastError = self._apply(self.rule_nnum, "nnum", []) self.considerError(lastError, None) _locals['n'] = _G_apply_682 @@ -2321,12 +2321,12 @@ def rule_fsext_offset(self): _locals = {'self': self} self.locals['fsext_offset'] = _locals def _G_or_685(): - self._trace('', (11923, 11927), self.input.position) + self._trace('', (11925, 11929), self.input.position) _G_apply_686, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_686, self.currentError) def _G_or_687(): - self._trace('', (11928, 11931), self.input.position) + self._trace('', (11930, 11933), self.input.position) _G_exactly_688, lastError = self.exactly('?') self.considerError(lastError, None) return (_G_exactly_688, self.currentError) @@ -2344,7 +2344,7 @@ def rule_dna_seq(self): self.locals['dna_seq'] = _locals def _G_consumedby_692(): def _G_many1_693(): - self._trace('', (11976, 11979), self.input.position) + self._trace('', (11978, 11981), self.input.position) _G_apply_694, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_694, self.currentError) @@ -2361,7 +2361,7 @@ def rule_rna_seq(self): self.locals['rna_seq'] = _locals def _G_consumedby_697(): def _G_many1_698(): - self._trace('', (11993, 11996), self.input.position) + self._trace('', (11995, 11998), self.input.position) _G_apply_699, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_699, self.currentError) @@ -2378,7 +2378,7 @@ def rule_aat13_seq(self): self.locals['aat13_seq'] = _locals def _G_or_702(): def _G_consumedby_703(): - self._trace('', (12012, 12020), self.input.position) + self._trace('', (12014, 12022), self.input.position) _G_apply_704, lastError = self._apply(self.rule_aat3_seq, "aat3_seq", []) self.considerError(lastError, None) return (_G_apply_704, self.currentError) @@ -2387,7 +2387,7 @@ def _G_consumedby_703(): return (_G_consumedby_705, self.currentError) def _G_or_706(): def _G_consumedby_707(): - self._trace('', (12025, 12033), self.input.position) + self._trace('', (12027, 12035), self.input.position) _G_apply_708, lastError = self._apply(self.rule_aat1_seq, "aat1_seq", []) self.considerError(lastError, None) return (_G_apply_708, self.currentError) @@ -2404,7 +2404,7 @@ def rule_aat1_seq(self): self.locals['aat1_seq'] = _locals def _G_or_711(): def _G_consumedby_712(): - self._trace('', (12047, 12052), self.input.position) + self._trace('', (12049, 12054), self.input.position) _G_apply_713, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_713, self.currentError) @@ -2414,14 +2414,14 @@ def _G_consumedby_712(): def _G_or_715(): def _G_consumedby_716(): def _G_many1_717(): - self._trace('', (12057, 12060), self.input.position) + self._trace('', (12059, 12062), self.input.position) _G_apply_718, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_718, self.currentError) _G_many1_719, lastError = self.many(_G_many1_717, _G_many1_717()) self.considerError(lastError, None) def _G_optional_720(): - self._trace('', (12061, 12067), self.input.position) + self._trace('', (12063, 12069), self.input.position) _G_apply_721, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_721, self.currentError) @@ -2443,7 +2443,7 @@ def rule_aat3_seq(self): self.locals['aat3_seq'] = _locals def _G_or_726(): def _G_consumedby_727(): - self._trace('', (12082, 12087), self.input.position) + self._trace('', (12084, 12089), self.input.position) _G_apply_728, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_728, self.currentError) @@ -2453,14 +2453,14 @@ def _G_consumedby_727(): def _G_or_730(): def _G_consumedby_731(): def _G_many1_732(): - self._trace('', (12092, 12095), self.input.position) + self._trace('', (12094, 12097), self.input.position) _G_apply_733, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_733, self.currentError) _G_many1_734, lastError = self.many(_G_many1_732, _G_many1_732()) self.considerError(lastError, None) def _G_optional_735(): - self._trace('', (12096, 12102), self.input.position) + self._trace('', (12098, 12104), self.input.position) _G_apply_736, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_736, self.currentError) @@ -2482,7 +2482,7 @@ def rule_aa13_seq(self): self.locals['aa13_seq'] = _locals def _G_or_741(): def _G_consumedby_742(): - self._trace('', (12117, 12124), self.input.position) + self._trace('', (12119, 12126), self.input.position) _G_apply_743, lastError = self._apply(self.rule_aa3_seq, "aa3_seq", []) self.considerError(lastError, None) return (_G_apply_743, self.currentError) @@ -2491,7 +2491,7 @@ def _G_consumedby_742(): return (_G_consumedby_744, self.currentError) def _G_or_745(): def _G_consumedby_746(): - self._trace('', (12129, 12136), self.input.position) + self._trace('', (12131, 12138), self.input.position) _G_apply_747, lastError = self._apply(self.rule_aa1_seq, "aa1_seq", []) self.considerError(lastError, None) return (_G_apply_747, self.currentError) @@ -2508,7 +2508,7 @@ def rule_aa1_seq(self): self.locals['aa1_seq'] = _locals def _G_consumedby_750(): def _G_many1_751(): - self._trace('', (12149, 12152), self.input.position) + self._trace('', (12151, 12154), self.input.position) _G_apply_752, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_752, self.currentError) @@ -2525,7 +2525,7 @@ def rule_aa3_seq(self): self.locals['aa3_seq'] = _locals def _G_consumedby_755(): def _G_many1_756(): - self._trace('', (12166, 12169), self.input.position) + self._trace('', (12168, 12171), self.input.position) _G_apply_757, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_757, self.currentError) @@ -2558,12 +2558,12 @@ def rule_aa13(self): _locals = {'self': self} self.locals['aa13'] = _locals def _G_or_767(): - self._trace('', (12250, 12254), self.input.position) + self._trace('', (12252, 12256), self.input.position) _G_apply_768, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_768, self.currentError) def _G_or_769(): - self._trace('', (12256, 12260), self.input.position) + self._trace('', (12258, 12262), self.input.position) _G_apply_770, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_770, self.currentError) @@ -2576,122 +2576,122 @@ def rule_aa3(self): _locals = {'self': self} self.locals['aa3'] = _locals def _G_or_772(): - self._trace('', (12266, 12272), self.input.position) + self._trace('', (12268, 12274), self.input.position) _G_exactly_773, lastError = self.exactly('Ala') self.considerError(lastError, None) return (_G_exactly_773, self.currentError) def _G_or_774(): - self._trace('', (12273, 12278), self.input.position) + self._trace('', (12275, 12280), self.input.position) _G_exactly_775, lastError = self.exactly('Cys') self.considerError(lastError, None) return (_G_exactly_775, self.currentError) def _G_or_776(): - self._trace('', (12279, 12284), self.input.position) + self._trace('', (12281, 12286), self.input.position) _G_exactly_777, lastError = self.exactly('Asp') self.considerError(lastError, None) return (_G_exactly_777, self.currentError) def _G_or_778(): - self._trace('', (12285, 12290), self.input.position) + self._trace('', (12287, 12292), self.input.position) _G_exactly_779, lastError = self.exactly('Glu') self.considerError(lastError, None) return (_G_exactly_779, self.currentError) def _G_or_780(): - self._trace('', (12291, 12296), self.input.position) + self._trace('', (12293, 12298), self.input.position) _G_exactly_781, lastError = self.exactly('Phe') self.considerError(lastError, None) return (_G_exactly_781, self.currentError) def _G_or_782(): - self._trace('', (12297, 12302), self.input.position) + self._trace('', (12299, 12304), self.input.position) _G_exactly_783, lastError = self.exactly('Gly') self.considerError(lastError, None) return (_G_exactly_783, self.currentError) def _G_or_784(): - self._trace('', (12303, 12308), self.input.position) + self._trace('', (12305, 12310), self.input.position) _G_exactly_785, lastError = self.exactly('His') self.considerError(lastError, None) return (_G_exactly_785, self.currentError) def _G_or_786(): - self._trace('', (12309, 12314), self.input.position) + self._trace('', (12311, 12316), self.input.position) _G_exactly_787, lastError = self.exactly('Ile') self.considerError(lastError, None) return (_G_exactly_787, self.currentError) def _G_or_788(): - self._trace('', (12315, 12320), self.input.position) + self._trace('', (12317, 12322), self.input.position) _G_exactly_789, lastError = self.exactly('Lys') self.considerError(lastError, None) return (_G_exactly_789, self.currentError) def _G_or_790(): - self._trace('', (12321, 12326), self.input.position) + self._trace('', (12323, 12328), self.input.position) _G_exactly_791, lastError = self.exactly('Leu') self.considerError(lastError, None) return (_G_exactly_791, self.currentError) def _G_or_792(): - self._trace('', (12327, 12332), self.input.position) + self._trace('', (12329, 12334), self.input.position) _G_exactly_793, lastError = self.exactly('Met') self.considerError(lastError, None) return (_G_exactly_793, self.currentError) def _G_or_794(): - self._trace('', (12333, 12338), self.input.position) + self._trace('', (12335, 12340), self.input.position) _G_exactly_795, lastError = self.exactly('Asn') self.considerError(lastError, None) return (_G_exactly_795, self.currentError) def _G_or_796(): - self._trace('', (12339, 12344), self.input.position) + self._trace('', (12341, 12346), self.input.position) _G_exactly_797, lastError = self.exactly('Pro') self.considerError(lastError, None) return (_G_exactly_797, self.currentError) def _G_or_798(): - self._trace('', (12345, 12350), self.input.position) + self._trace('', (12347, 12352), self.input.position) _G_exactly_799, lastError = self.exactly('Gln') self.considerError(lastError, None) return (_G_exactly_799, self.currentError) def _G_or_800(): - self._trace('', (12351, 12356), self.input.position) + self._trace('', (12353, 12358), self.input.position) _G_exactly_801, lastError = self.exactly('Arg') self.considerError(lastError, None) return (_G_exactly_801, self.currentError) def _G_or_802(): - self._trace('', (12357, 12362), self.input.position) + self._trace('', (12359, 12364), self.input.position) _G_exactly_803, lastError = self.exactly('Ser') self.considerError(lastError, None) return (_G_exactly_803, self.currentError) def _G_or_804(): - self._trace('', (12363, 12368), self.input.position) + self._trace('', (12365, 12370), self.input.position) _G_exactly_805, lastError = self.exactly('Thr') self.considerError(lastError, None) return (_G_exactly_805, self.currentError) def _G_or_806(): - self._trace('', (12369, 12374), self.input.position) + self._trace('', (12371, 12376), self.input.position) _G_exactly_807, lastError = self.exactly('Val') self.considerError(lastError, None) return (_G_exactly_807, self.currentError) def _G_or_808(): - self._trace('', (12375, 12380), self.input.position) + self._trace('', (12377, 12382), self.input.position) _G_exactly_809, lastError = self.exactly('Trp') self.considerError(lastError, None) return (_G_exactly_809, self.currentError) def _G_or_810(): - self._trace('', (12381, 12386), self.input.position) + self._trace('', (12383, 12388), self.input.position) _G_exactly_811, lastError = self.exactly('Tyr') self.considerError(lastError, None) return (_G_exactly_811, self.currentError) def _G_or_812(): - self._trace('', (12388, 12394), self.input.position) + self._trace('', (12390, 12396), self.input.position) _G_exactly_813, lastError = self.exactly('Asx') self.considerError(lastError, None) return (_G_exactly_813, self.currentError) def _G_or_814(): - self._trace('', (12396, 12402), self.input.position) + self._trace('', (12398, 12404), self.input.position) _G_exactly_815, lastError = self.exactly('Glx') self.considerError(lastError, None) return (_G_exactly_815, self.currentError) def _G_or_816(): - self._trace('', (12404, 12410), self.input.position) + self._trace('', (12406, 12412), self.input.position) _G_exactly_817, lastError = self.exactly('Xaa') self.considerError(lastError, None) return (_G_exactly_817, self.currentError) def _G_or_818(): - self._trace('', (12412, 12418), self.input.position) + self._trace('', (12414, 12420), self.input.position) _G_exactly_819, lastError = self.exactly('Sec') self.considerError(lastError, None) return (_G_exactly_819, self.currentError) @@ -2704,12 +2704,12 @@ def rule_aat1(self): _locals = {'self': self} self.locals['aat1'] = _locals def _G_or_821(): - self._trace('', (12425, 12431), self.input.position) + self._trace('', (12427, 12433), self.input.position) _G_apply_822, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_822, self.currentError) def _G_or_823(): - self._trace('', (12433, 12437), self.input.position) + self._trace('', (12435, 12439), self.input.position) _G_apply_824, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_824, self.currentError) @@ -2722,12 +2722,12 @@ def rule_aat13(self): _locals = {'self': self} self.locals['aat13'] = _locals def _G_or_826(): - self._trace('', (12445, 12450), self.input.position) + self._trace('', (12447, 12452), self.input.position) _G_apply_827, lastError = self._apply(self.rule_aat3, "aat3", []) self.considerError(lastError, None) return (_G_apply_827, self.currentError) def _G_or_828(): - self._trace('', (12452, 12457), self.input.position) + self._trace('', (12454, 12459), self.input.position) _G_apply_829, lastError = self._apply(self.rule_aat1, "aat1", []) self.considerError(lastError, None) return (_G_apply_829, self.currentError) @@ -2740,12 +2740,12 @@ def rule_aat3(self): _locals = {'self': self} self.locals['aat3'] = _locals def _G_or_831(): - self._trace('', (12464, 12470), self.input.position) + self._trace('', (12466, 12472), self.input.position) _G_apply_832, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_832, self.currentError) def _G_or_833(): - self._trace('', (12472, 12476), self.input.position) + self._trace('', (12474, 12478), self.input.position) _G_apply_834, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_834, self.currentError) @@ -2757,7 +2757,7 @@ def _G_or_833(): def rule_dna(self): _locals = {'self': self} self.locals['dna'] = _locals - self._trace('', (12482, 12492), self.input.position) + self._trace('', (12484, 12494), self.input.position) _G_apply_836, lastError = self._apply(self.rule_dna_iupac, "dna_iupac", []) self.considerError(lastError, 'dna') return (_G_apply_836, self.currentError) @@ -2800,7 +2800,7 @@ def _G_pred_844(): def rule_rna(self): _locals = {'self': self} self.locals['rna'] = _locals - self._trace('', (12621, 12631), self.input.position) + self._trace('', (12623, 12633), self.input.position) _G_apply_849, lastError = self._apply(self.rule_rna_iupac, "rna_iupac", []) self.considerError(lastError, 'rna') return (_G_apply_849, self.currentError) @@ -2844,12 +2844,12 @@ def rule_term13(self): _locals = {'self': self} self.locals['term13'] = _locals def _G_or_862(): - self._trace('', (12730, 12736), self.input.position) + self._trace('', (12732, 12738), self.input.position) _G_apply_863, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_863, self.currentError) def _G_or_864(): - self._trace('', (12738, 12744), self.input.position) + self._trace('', (12740, 12746), self.input.position) _G_apply_865, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_865, self.currentError) @@ -2861,7 +2861,7 @@ def _G_or_864(): def rule_term3(self): _locals = {'self': self} self.locals['term3'] = _locals - self._trace('', (12752, 12758), self.input.position) + self._trace('', (12754, 12760), self.input.position) _G_exactly_867, lastError = self.exactly('Ter') self.considerError(lastError, 'term3') return (_G_exactly_867, self.currentError) @@ -2870,7 +2870,7 @@ def rule_term3(self): def rule_base(self): _locals = {'self': self} self.locals['base'] = _locals - self._trace('', (12842, 12847), self.input.position) + self._trace('', (12844, 12849), self.input.position) _G_apply_868, lastError = self._apply(self.rule_snum, "snum", []) self.considerError(lastError, 'base') return (_G_apply_868, self.currentError) @@ -2880,10 +2880,10 @@ def rule_nnum(self): _locals = {'self': self} self.locals['nnum'] = _locals def _G_consumedby_869(): - self._trace('', (12856, 12859), self.input.position) + self._trace('', (12858, 12861), self.input.position) _G_exactly_870, lastError = self.exactly('-') self.considerError(lastError, None) - self._trace('', (12859, 12863), self.input.position) + self._trace('', (12861, 12865), self.input.position) _G_apply_871, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_871, self.currentError) @@ -2900,7 +2900,7 @@ def rule_num(self): self.locals['num'] = _locals def _G_consumedby_875(): def _G_many1_876(): - self._trace('', (12884, 12889), self.input.position) + self._trace('', (12886, 12891), self.input.position) _G_apply_877, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) return (_G_apply_877, self.currentError) @@ -2919,7 +2919,7 @@ def rule_offset(self): _locals = {'self': self} self.locals['offset'] = _locals def _G_or_881(): - self._trace('', (12912, 12917), self.input.position) + self._trace('', (12914, 12919), self.input.position) _G_apply_882, lastError = self._apply(self.rule_snum, "snum", []) self.considerError(lastError, None) return (_G_apply_882, self.currentError) @@ -2954,7 +2954,7 @@ def rule_snum(self): self.locals['snum'] = _locals def _G_consumedby_892(): def _G_optional_893(): - self._trace('', (12961, 12963), self.input.position) + self._trace('', (12963, 12965), self.input.position) _G_apply_894, lastError = self._apply(self.rule_pm, "pm", []) self.considerError(lastError, None) return (_G_apply_894, self.currentError) @@ -2962,7 +2962,7 @@ def _G_optional_895(): return (None, self.input.nullError()) _G_or_896, lastError = self._or([_G_optional_893, _G_optional_895]) self.considerError(lastError, None) - self._trace('', (12964, 12968), self.input.position) + self._trace('', (12966, 12970), self.input.position) _G_apply_897, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_897, self.currentError) @@ -2978,31 +2978,31 @@ def rule_accn(self): _locals = {'self': self} self.locals['accn'] = _locals def _G_consumedby_900(): - self._trace('', (13072, 13078), self.input.position) + self._trace('', (13074, 13080), self.input.position) _G_apply_901, lastError = self._apply(self.rule_letter, "letter", []) self.considerError(lastError, None) def _G_optional_902(): def _G_many1_903(): def _G_or_904(): - self._trace('', (13081, 13094), self.input.position) + self._trace('', (13083, 13096), self.input.position) _G_apply_905, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_905, self.currentError) def _G_or_906(): def _G_or_907(): - self._trace('', (13098, 13101), self.input.position) + self._trace('', (13100, 13103), self.input.position) _G_exactly_908, lastError = self.exactly('-') self.considerError(lastError, None) return (_G_exactly_908, self.currentError) def _G_or_909(): - self._trace('', (13102, 13105), self.input.position) + self._trace('', (13104, 13107), self.input.position) _G_exactly_910, lastError = self.exactly('_') self.considerError(lastError, None) return (_G_exactly_910, self.currentError) _G_or_911, lastError = self._or([_G_or_907, _G_or_909]) self.considerError(lastError, None) def _G_lookahead_912(): - self._trace('', (13109, 13122), self.input.position) + self._trace('', (13111, 13124), self.input.position) _G_apply_913, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_913, self.currentError) @@ -3020,11 +3020,11 @@ def _G_optional_917(): _G_or_918, lastError = self._or([_G_optional_902, _G_optional_917]) self.considerError(lastError, None) def _G_optional_919(): - self._trace('', (13128, 13131), self.input.position) + self._trace('', (13130, 13133), self.input.position) _G_exactly_920, lastError = self.exactly('.') self.considerError(lastError, None) def _G_many1_921(): - self._trace('', (13131, 13137), self.input.position) + self._trace('', (13133, 13139), self.input.position) _G_apply_922, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) return (_G_apply_922, self.currentError) @@ -3045,7 +3045,7 @@ def rule_opt_gene_expr(self): _locals = {'self': self} self.locals['opt_gene_expr'] = _locals def _G_or_927(): - self._trace('', (13159, 13169), self.input.position) + self._trace('', (13161, 13171), self.input.position) _G_apply_928, lastError = self._apply(self.rule_paren_gene, "paren_gene", []) self.considerError(lastError, None) return (_G_apply_928, self.currentError) @@ -3064,14 +3064,14 @@ def _G_or_929(): def rule_paren_gene(self): _locals = {'self': self} self.locals['paren_gene'] = _locals - self._trace('', (13205, 13209), self.input.position) + self._trace('', (13207, 13211), self.input.position) _G_exactly_934, lastError = self.exactly('(') self.considerError(lastError, 'paren_gene') - self._trace('', (13209, 13221), self.input.position) + self._trace('', (13211, 13223), self.input.position) _G_apply_935, lastError = self._apply(self.rule_gene_symbol, "gene_symbol", []) self.considerError(lastError, 'paren_gene') _locals['symbol'] = _G_apply_935 - self._trace('', (13228, 13232), self.input.position) + self._trace('', (13230, 13234), self.input.position) _G_exactly_936, lastError = self.exactly(')') self.considerError(lastError, 'paren_gene') _G_python_938, lastError = eval(self._G_expr_937, self.globals, _locals), None @@ -3083,30 +3083,30 @@ def rule_gene_symbol(self): _locals = {'self': self} self.locals['gene_symbol'] = _locals def _G_consumedby_939(): - self._trace('', (13258, 13264), self.input.position) + self._trace('', (13260, 13266), self.input.position) _G_apply_940, lastError = self._apply(self.rule_letter, "letter", []) self.considerError(lastError, None) def _G_many1_941(): def _G_or_942(): - self._trace('', (13266, 13279), self.input.position) + self._trace('', (13268, 13281), self.input.position) _G_apply_943, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_943, self.currentError) def _G_or_944(): def _G_or_945(): - self._trace('', (13283, 13286), self.input.position) + self._trace('', (13285, 13288), self.input.position) _G_exactly_946, lastError = self.exactly('-') self.considerError(lastError, None) return (_G_exactly_946, self.currentError) def _G_or_947(): - self._trace('', (13287, 13290), self.input.position) + self._trace('', (13289, 13292), self.input.position) _G_exactly_948, lastError = self.exactly('_') self.considerError(lastError, None) return (_G_exactly_948, self.currentError) _G_or_949, lastError = self._or([_G_or_945, _G_or_947]) self.considerError(lastError, None) def _G_lookahead_950(): - self._trace('', (13294, 13307), self.input.position) + self._trace('', (13296, 13309), self.input.position) _G_apply_951, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_951, self.currentError) From c15c552cdb538d08021b0ecc5b6a00f13b3f9dfe Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas.prlic@invitae.com> Date: Mon, 11 Dec 2023 15:50:53 -0800 Subject: [PATCH 03/25] feat(test): minor addition to test to make sure the breakpoints are uncertain --- tests/test_hgvs_sequencevariant.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index 00ed8360..fa4ef705 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -105,8 +105,10 @@ def test_uncertain(self): self.assertEqual(vs, str(v)) self.assertEqual(v.posedit.pos.start.start.base, 90136803) self.assertEqual(v.posedit.pos.start.end.base, 90144453) + self.assertEqual(v.posedit.pos.start.uncertain, True) self.assertEqual(v.posedit.pos.end.start.base, 90159675) self.assertEqual(v.posedit.pos.end.end.base, 90261231) + self.assertEqual(v.posedit.pos.end.uncertain, True) self.assertEqual(type(v.posedit.edit).__name__, "Dup") vs2 = "NC_000009.11:g.(?_108337304)_(108337428_?)del" From 8a4341aa7e62324f23e829fcfa37ab9679eb259a Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas.prlic@invitae.com> Date: Mon, 11 Dec 2023 23:45:39 -0800 Subject: [PATCH 04/25] feat(g_to_c): this adds support for g_to_c of uncertain coordinates. Since the behavior is a bit unspecified, we fall back to the inner (confident) interval of the uncertain range for this projection. --- src/hgvs/alignmentmapper.py | 15 +++++-- src/hgvs/location.py | 12 ++++++ src/hgvs/validator.py | 11 +++-- src/hgvs/variantmapper.py | 11 ++++- tests/data/cache-py3.hdp | Bin 921577 -> 1112736 bytes tests/test_hgvs_sequencevariant.py | 63 +++++++++++++++++++---------- 6 files changed, 82 insertions(+), 30 deletions(-) diff --git a/src/hgvs/alignmentmapper.py b/src/hgvs/alignmentmapper.py index ac3e2b45..ccf9b8fc 100644 --- a/src/hgvs/alignmentmapper.py +++ b/src/hgvs/alignmentmapper.py @@ -159,10 +159,17 @@ def g_to_n(self, g_interval, strict_bounds=None): if strict_bounds is None: strict_bounds = global_config.mapping.strict_bounds - grs, gre = ( - g_interval.start.base - 1 - self.gc_offset, - g_interval.end.base - 1 - self.gc_offset, - ) + # in case of uncertain ranges, we fall back to the inner (more confident) interval + if g_interval.start.uncertain: + grs = g_interval.start.end.base - 1 - self.gc_offset + else: + grs = g_interval.start.base - 1 - self.gc_offset + + if g_interval.end.uncertain: + gre = g_interval.end.start.base - 1 - self.gc_offset + else: + gre = g_interval.end.base - 1 - self.gc_offset + # frs, fre = (f)orward (r)na (s)tart & (e)nd; forward w.r.t. genome frs, frs_offset, frs_cigar = self.cigarmapper.map_ref_to_tgt( pos=grs, end="start", strict_bounds=strict_bounds diff --git a/src/hgvs/location.py b/src/hgvs/location.py index b6e88e1e..1b3295c7 100644 --- a/src/hgvs/location.py +++ b/src/hgvs/location.py @@ -76,6 +76,16 @@ def __lt__(lhs, rhs): assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" if lhs.uncertain or rhs.uncertain: raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + + if lhs.base is None and rhs.base is None: + raise HGVSUnsupportedOperationError("Cannot compare two positions without bases") + + # imprecise positions can be on both sides of an interval + # This is weird, but because an unknown breakpoint can be expressed on both sides + # with a ? character we need to support that both options are true + if lhs.base is None or rhs.base is None: + return True + return lhs.base < rhs.base @@ -326,9 +336,11 @@ def validate(self): (res, msg) = self.end.validate() if res != ValidationLevel.VALID: return (res, msg) + # Check start less than or equal to end if not self.start or not self.end: return (ValidationLevel.VALID, None) + try: if self.start <= self.end: return (ValidationLevel.VALID, None) diff --git a/src/hgvs/validator.py b/src/hgvs/validator.py index ae1baace..67b78d90 100644 --- a/src/hgvs/validator.py +++ b/src/hgvs/validator.py @@ -148,9 +148,14 @@ def _ref_is_valid(self, var): else: var_ref_seq = getattr(var.posedit.edit, "ref", None) or None var_n = self.vm.c_to_n(var) if var.type == "c" else var - ref_checks.append( - (var_n.ac, var_n.posedit.pos.start.base, var_n.posedit.pos.end.base, var_ref_seq) - ) + if var_n.posedit.pos.start.uncertain or var_n.posedit.pos.end.uncertain: + ref_checks.append( + (var_n.ac, None, None, var_ref_seq) + ) + else: + ref_checks.append( + (var_n.ac, var_n.posedit.pos.start.base, var_n.posedit.pos.end.base, var_ref_seq) + ) for ac, var_ref_start, var_ref_end, var_ref_seq in ref_checks: if var_ref_start is None or var_ref_end is None or not var_ref_seq: diff --git a/src/hgvs/variantmapper.py b/src/hgvs/variantmapper.py index 17d6b145..45e5da0c 100644 --- a/src/hgvs/variantmapper.py +++ b/src/hgvs/variantmapper.py @@ -483,8 +483,15 @@ def _replace_reference(self, var): else: pos = var.posedit.pos - seq_start = pos.start.base - 1 - seq_end = pos.end.base + if pos.start.uncertain: + seq_start = pos.start.end.base - 1 + else: + seq_start = pos.start.base - 1 + + if pos.end.uncertain: + seq_end = pos.end.start.base + else: + seq_end = pos.end.base # When strict_bounds is False and an error occurs, return # variant as-is diff --git a/tests/data/cache-py3.hdp b/tests/data/cache-py3.hdp index e7ed304c4ce67c901eece222d8d9475b312ba12f..0229a8e1e8345cea26d66bd16681a076868fe820 100644 GIT binary patch delta 184760 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 delta 50 zcmZ4R)%oRoi-s1)7N!>F7M2#)7Pc1l7LFFq7OocV7M?A<55yT6w?7o;W%|L^!{|Px GR1W~ty%87y diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index fa4ef705..a6ea6bd2 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -5,6 +5,8 @@ import unittest import pytest + +from hgvs.exceptions import HGVSParseError from support import CACHE import hgvs @@ -22,42 +24,47 @@ def test_gene_formatting(parser): @pytest.mark.quick @pytest.mark.models class Test_SequenceVariant(unittest.TestCase): + + @classmethod + def setUpClass(cls): + cls.hdp = hgvs.dataproviders.uta.connect( + mode=os.environ.get("HGVS_CACHE_MODE", "run"), cache=CACHE + ) + cls.vm = hgvs.variantmapper.VariantMapper(cls.hdp) + cls.hp = hgvs.parser.Parser() + + def test_SequenceVariant(self): var = hgvs.sequencevariant.SequenceVariant(ac="AC", type="B", posedit="1234DE>FG") self.assertEqual(str(var), "AC:B.1234DE>FG") def test_fill_ref(self): - hp = hgvs.parser.Parser() - hdp = hgvs.dataproviders.uta.connect( - mode=os.environ.get("HGVS_CACHE_MODE", "run"), cache=CACHE - ) # fill reference for sequence variants - var = hp.parse_hgvs_variant("NM_001166478.1:c.31_32del").fill_ref(hdp) + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32del").fill_ref(self.hdp) self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.31_32delTT") - var = hp.parse_hgvs_variant("NM_001166478.1:c.31_32del2").fill_ref(hdp) + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32del2").fill_ref(self.hdp) self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.31_32delTT") - var = hp.parse_hgvs_variant("NM_001166478.1:c.2_7delinsTTTAGA").fill_ref(hdp) + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.2_7delinsTTTAGA").fill_ref(self.hdp) self.assertEqual( var.format({"max_ref_length": None}), "NM_001166478.1:c.2_7delTGAAGAinsTTTAGA" ) - var = hp.parse_hgvs_variant("NM_001166478.1:c.35_36dup").fill_ref(hdp) + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.35_36dup").fill_ref(self.hdp) self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.35_36dupTC") - var = hp.parse_hgvs_variant("NM_001166478.1:c.18_19insACT").fill_ref(hdp) + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.18_19insACT").fill_ref(self.hdp) self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.18_19insACT") - var = hp.parse_hgvs_variant("NM_001166478.1:c.31=").fill_ref(hdp) + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31=").fill_ref(self.hdp) self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.31T=") def test_format(self): - hp = hgvs.parser.Parser() # Global default settings - var = hp.parse_hgvs_variant("NP_001628.1:p.Gly528Arg") + var = self.hp.parse_hgvs_variant("NP_001628.1:p.Gly528Arg") self.assertEqual(str(var), "NP_001628.1:p.Gly528Arg") self.assertEqual(var.format(), "NP_001628.1:p.Gly528Arg") @@ -70,7 +77,7 @@ def test_format(self): conf = {"p_3_letter": False} self.assertEqual(var.format(conf), "NP_001628.1:p.G528R") - var = hp.parse_hgvs_variant("NP_001628.1:p.Gly528Ter") + var = self.hp.parse_hgvs_variant("NP_001628.1:p.Gly528Ter") conf = {"p_term_asterisk": True} self.assertEqual(var.format(conf), "NP_001628.1:p.Gly528*") self.assertEqual(var.format(), "NP_001628.1:p.Gly528Ter") @@ -79,29 +86,28 @@ def test_format(self): self.assertEqual(var.format(), "NP_001628.1:p.Gly528Ter") # Remove reference sequence - var = hp.parse_hgvs_variant("NM_001166478.1:c.31_32delTT") + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32delTT") self.assertEqual(str(var), "NM_001166478.1:c.31_32del") self.assertEqual(var.format(conf={"max_ref_length": 1}), "NM_001166478.1:c.31_32del") self.assertEqual(var.format(conf={"max_ref_length": 2}), "NM_001166478.1:c.31_32delTT") self.assertEqual(var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31_32delTT") - var = hp.parse_hgvs_variant("NM_001166478.1:c.31_32del2") + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32del2") self.assertEqual(str(var), "NM_001166478.1:c.31_32del") self.assertEqual(var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31_32del2") - var = hp.parse_hgvs_variant("NM_001166478.1:c.31_32delTTinsAA") + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32delTTinsAA") self.assertEqual(str(var), "NM_001166478.1:c.31_32delinsAA") - var = hp.parse_hgvs_variant("NM_001166478.1:c.35_36dupTC") + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.35_36dupTC") self.assertEqual(str(var), "NM_001166478.1:c.35_36dup") - var = hp.parse_hgvs_variant("NM_001166478.1:c.31T=") + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31T=") self.assertEqual(str(var), "NM_001166478.1:c.31=") self.assertEqual(var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31T=") def test_uncertain(self): - hp = hgvs.parser.Parser() vs = "NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup" - v = hp.parse(vs) + v = self.hp.parse(vs) self.assertEqual(vs, str(v)) self.assertEqual(v.posedit.pos.start.start.base, 90136803) self.assertEqual(v.posedit.pos.start.end.base, 90144453) @@ -112,7 +118,7 @@ def test_uncertain(self): self.assertEqual(type(v.posedit.edit).__name__, "Dup") vs2 = "NC_000009.11:g.(?_108337304)_(108337428_?)del" - v2 = hp.parse(vs2) + v2 = self.hp.parse(vs2) self.assertEqual(vs2, str(v2)) self.assertEqual(v2.posedit.pos.start.start.base, None) self.assertEqual(v2.posedit.pos.start.uncertain, True) @@ -122,6 +128,21 @@ def test_uncertain(self): self.assertEqual(v2.posedit.pos.end.uncertain, True) self.assertEqual(type(v2.posedit.edit).__name__, "NARefAlt") + def test_uncertain_projection_confidence(self): + + data = [ + ("NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", "NM_032119.3:c.17020-1_17856+1dup"), + ("NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", "NM_000527.5:c.191-1_817+1dup"), + ("NC_000009.11:g.(?_108337304)_(108337428_?)del", "NM_001079802.1:c.-10_105+10del") + ] + + for hgvs_g, hgvs_c in data: + var_g = self.hp.parse(hgvs_g) + self.assertEqual(hgvs_g, str(var_g)) + + acc = hgvs_c.split(":")[0] + var_c = self.vm.g_to_c(var_g, acc) + self.assertEqual(hgvs_c, str(var_c)) if __name__ == "__main__": From 2e4ae22606ef1e5e07927ab14fefb60372edbd7a Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocommons.org> Date: Thu, 18 Jan 2024 20:38:29 -0800 Subject: [PATCH 05/25] update CODEOWNERS to @biocommons/maintainers --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a923afcf..5a8e735e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @reece +* @biocommons/maintainers From 82d7331f8770aa8b07ace0cff96c633e997837b1 Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocommons.org> Date: Tue, 30 Jan 2024 21:22:36 -0800 Subject: [PATCH 06/25] use shared stale action configuration --- .github/workflows/stale.yml | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 17bac5d3..0829446d 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -2,29 +2,10 @@ name: 'Close stale issues and PRs' on: + workflow_dispatch: schedule: - cron: '1 1 * * *' jobs: stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v8 - with: - exempt-all-milestones: true - exempt-issue-labels: bug,keep-alive - exempt-pr-labels: bug,keep-alive - - days-before-issue-close: 7 - days-before-issue-stale: 90 - stale-issue-label: stale - stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days.' - close-issue-label: closed-by-stale - close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.' - - days-before-pr-close: 7 - days-before-pr-stale: 30 - stale-pr-label: stale - stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.' - close-pr-label: closed-by-stale - close-pr-message: 'This PR was closed because it has been stalled for 7 days with no activity.' + uses: biocommons/actions/.github/workflows/stale.yml@main From a045165f4845c2805f8c3e7ea8d85127ec7775ad Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocmmons.org> Date: Tue, 30 Jan 2024 21:44:03 -0800 Subject: [PATCH 07/25] import and standardize issue templates from biocommons.example --- .../{bug_report.md => bug-report.md} | 0 ...{feature_request.md => feature-request.md} | 0 .github/ISSUE_TEMPLATE/project-proposal.md | 34 +++++++++++++++++++ 3 files changed, 34 insertions(+) rename .github/ISSUE_TEMPLATE/{bug_report.md => bug-report.md} (100%) rename .github/ISSUE_TEMPLATE/{feature_request.md => feature-request.md} (100%) create mode 100644 .github/ISSUE_TEMPLATE/project-proposal.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug-report.md similarity index 100% rename from .github/ISSUE_TEMPLATE/bug_report.md rename to .github/ISSUE_TEMPLATE/bug-report.md diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature-request.md similarity index 100% rename from .github/ISSUE_TEMPLATE/feature_request.md rename to .github/ISSUE_TEMPLATE/feature-request.md diff --git a/.github/ISSUE_TEMPLATE/project-proposal.md b/.github/ISSUE_TEMPLATE/project-proposal.md new file mode 100644 index 00000000..01cb99d9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/project-proposal.md @@ -0,0 +1,34 @@ +--- +name: Project Proposal +about: Create a proposal for an intern or GSoC project +title: 'Project: ...' +labels: 'project' +assignees: '' + +--- + +### Summary + +1-3 sentence summary of project. + +See <a href="#background">Background</a>. + +## Value + +Why is this project meaningful? + +## Required and Desired Skills + +- Python +- Relational database design, SQL + +## Expected Outcomes + +- **Headline**. Description... +- **Headline**. Description... + +## Potential Mentors + +- @reece + +## Background From 43a556c07f613c4ea8d3dfb745e4416a25eadff8 Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocmmons.org> Date: Tue, 30 Jan 2024 21:53:41 -0800 Subject: [PATCH 08/25] add standardized github labels and update action --- .github/labels.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/labels.yml b/.github/labels.yml index f67e6aeb..5d145048 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -31,6 +31,10 @@ description: "exempt issue from staleness checks" from_name: "keep alive" +- name: "project proposal" + color: "d876e3" + description: "project proposal for interns and GSoC students" + - name: "question" color: "d876e3" description: "Further information is requested" From 3ea0c5c9bd0f1c50f7ea225e324b15bbb4c3228d Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocmmons.org> Date: Tue, 30 Jan 2024 22:02:21 -0800 Subject: [PATCH 09/25] expose clearer name for label sync action --- .github/workflows/labels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 40d0f447..8bdad116 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -1,4 +1,4 @@ -name: github +name: Synchronize labels on: push: From 1e2a433508c5b049bd60414c55c7744ee3e4f124 Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocmmons.org> Date: Wed, 31 Jan 2024 17:58:00 -0800 Subject: [PATCH 10/25] remove .github/ISSUE_TEMPLATE (in order to use templates in .github repo instead) --- .github/ISSUE_TEMPLATE/bug-report.md | 24 --------------- .github/ISSUE_TEMPLATE/feature-request.md | 20 ------------- .github/ISSUE_TEMPLATE/project-proposal.md | 34 ---------------------- 3 files changed, 78 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug-report.md delete mode 100644 .github/ISSUE_TEMPLATE/feature-request.md delete mode 100644 .github/ISSUE_TEMPLATE/project-proposal.md diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md deleted file mode 100644 index 74514987..00000000 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md deleted file mode 100644 index bbcbbe7d..00000000 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/project-proposal.md b/.github/ISSUE_TEMPLATE/project-proposal.md deleted file mode 100644 index 01cb99d9..00000000 --- a/.github/ISSUE_TEMPLATE/project-proposal.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -name: Project Proposal -about: Create a proposal for an intern or GSoC project -title: 'Project: ...' -labels: 'project' -assignees: '' - ---- - -### Summary - -1-3 sentence summary of project. - -See <a href="#background">Background</a>. - -## Value - -Why is this project meaningful? - -## Required and Desired Skills - -- Python -- Relational database design, SQL - -## Expected Outcomes - -- **Headline**. Description... -- **Headline**. Description... - -## Potential Mentors - -- @reece - -## Background From 0c4c5d7311691e194e402a7200a71af25917fb6c Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocmmons.org> Date: Wed, 31 Jan 2024 20:27:22 -0800 Subject: [PATCH 11/25] migrate to endbug/label-sync with biocommons-wide label config --- .github/labels.yml | 60 ++---------------------------------- .github/workflows/labels.yml | 28 ++++++++++------- 2 files changed, 19 insertions(+), 69 deletions(-) diff --git a/.github/labels.yml b/.github/labels.yml index 5d145048..070fda80 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -1,59 +1,3 @@ -- name: "bug" - color: "d73a4a" - description: "Something isn't working" +# file must contain an array, which may be empty -- name: "documentation" - color: "0075ca" - description: "Improvements or additions to documentation" - -- name: "duplicate" - color: "cfd3d7" - description: "This issue or pull request already exists" - -- name: "enhancement" - color: "a2eeef" - description: "New feature or request" - -- name: "good first issue" - color: "7057ff" - description: "Good for newcomers" - -- name: "help wanted" - color: "008672" - description: "Extra attention is needed" - -- name: "invalid" - color: "e4e669" - description: "This doesn't seem right" - -- name: "keep alive" - color: "666666" - description: "exempt issue from staleness checks" - from_name: "keep alive" - -- name: "project proposal" - color: "d876e3" - description: "project proposal for interns and GSoC students" - -- name: "question" - color: "d876e3" - description: "Further information is requested" - -- name: "rfc" - color: "d876e3" - description: "Request for comments" - -- name: "stale" - color: "777777" - description: "Issue is stale and subject to automatic closing" - from_name: "Stale" - -- name: "stale closed" - color: "444444" - description: "Issue was closed automatically due to inactivity" - from_name: "stale-closed" - -- name: "won't fix" - color: "ffffff" - description: "This will not be worked on" - from_name: wontfix \ No newline at end of file +[] diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 8bdad116..52c578c3 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -1,6 +1,6 @@ -name: Synchronize labels - +name: Sync labels on: + workflow_dispatch: push: branches: - 'main' @@ -8,16 +8,22 @@ on: - '.github/labels.yml' - '.github/workflows/labels.yml' +permissions: + issues: write + jobs: - labeler: + labels: runs-on: ubuntu-latest + steps: - - - name: Checkout - uses: actions/checkout@v3 - - - name: Run Labeler - uses: crazy-max/ghaction-github-labeler@v4 + - uses: actions/checkout@v4 with: - github-token: ${{ secrets.GITHUB_TOKEN }} - yaml-file: .github/labels.yml + sparse-checkout: .github/labels.yml + + - uses: EndBug/label-sync@v2 + with: + config-file: | + https://raw.githubusercontent.com/biocommons/.github/main/etc/labels.yml + .github/labels.yml + + delete-other-labels: false \ No newline at end of file From 4a44582ca430bf5175dfb7b97774badedd221411 Mon Sep 17 00:00:00 2001 From: Dave Lawrence <davmlaw@gmail.com> Date: Wed, 7 Feb 2024 17:00:34 +1030 Subject: [PATCH 12/25] #688 - remove __future__ usage --- sbin/conf-to-vars | 2 -- src/hgvs/__init__.py | 2 -- src/hgvs/alignmentmapper.py | 2 -- src/hgvs/assemblymapper.py | 2 -- src/hgvs/config.py | 2 -- src/hgvs/dataproviders/interface.py | 2 -- src/hgvs/dataproviders/seqfetcher.py | 2 -- src/hgvs/dataproviders/uta.py | 2 -- src/hgvs/decorators/deprecated.py | 2 -- src/hgvs/decorators/lru_cache.py | 2 -- src/hgvs/edit.py | 2 -- src/hgvs/exceptions.py | 2 -- src/hgvs/hgvsposition.py | 2 -- src/hgvs/intervalmapper.py | 2 -- src/hgvs/location.py | 2 -- src/hgvs/normalizer.py | 2 -- src/hgvs/parser.py | 2 -- src/hgvs/posedit.py | 2 -- src/hgvs/projector.py | 2 -- src/hgvs/sequencevariant.py | 2 -- src/hgvs/shell.py | 2 -- src/hgvs/transcriptmapper.py | 2 -- src/hgvs/utils/__init__.py | 2 -- src/hgvs/utils/altseq_to_hgvsp.py | 2 -- src/hgvs/utils/altseqbuilder.py | 2 -- src/hgvs/utils/context.py | 2 -- src/hgvs/utils/norm.py | 2 -- src/hgvs/utils/orderedenum.py | 2 -- src/hgvs/validator.py | 2 -- src/hgvs/variantmapper.py | 2 -- tests/bin/build-ref-repl | 2 -- tests/bin/connpool-stress-test | 2 -- tests/fx-test/test_variant_length.py | 2 -- tests/issues/test_02xx.py | 2 -- tests/issues/test_03xx.py | 2 -- tests/issues/test_04xx.py | 2 -- tests/issues/test_05xx.py | 2 -- tests/support/crosschecker.py | 2 -- tests/support/mock_input_source.py | 2 -- tests/test_clinvar.py | 2 -- tests/test_hgvs_alignmentmapper.py | 2 -- tests/test_hgvs_assemblymapper.py | 2 -- tests/test_hgvs_dataproviders_uta.py | 2 -- tests/test_hgvs_edit.py | 2 -- tests/test_hgvs_grammar.py | 2 -- tests/test_hgvs_grammar_full.py | 2 -- tests/test_hgvs_hgvsposition.py | 2 -- tests/test_hgvs_location.py | 2 -- tests/test_hgvs_normalizer.py | 2 -- tests/test_hgvs_parser.py | 2 -- tests/test_hgvs_posedit.py | 2 -- tests/test_hgvs_projector.py | 2 -- tests/test_hgvs_sequencevariant.py | 2 -- tests/test_hgvs_validator.py | 2 -- tests/test_hgvs_variantmapper.py | 2 -- tests/test_hgvs_variantmapper_cp_altseqbuilder.py | 2 -- tests/test_hgvs_variantmapper_cp_real.py | 2 -- tests/test_hgvs_variantmapper_cp_sanity.py | 2 -- tests/test_hgvs_variantmapper_gcp.py | 2 -- tests/test_hgvs_variantmapper_near_discrepancies.py | 2 -- 60 files changed, 120 deletions(-) diff --git a/sbin/conf-to-vars b/sbin/conf-to-vars index e5e045bd..d0128a47 100755 --- a/sbin/conf-to-vars +++ b/sbin/conf-to-vars @@ -1,7 +1,5 @@ #!/usr/bin/env python -from __future__ import print_function - __doc__ = """ Print conf file as variable assignments. diff --git a/src/hgvs/__init__.py b/src/hgvs/__init__.py index 81704bd6..5b821237 100644 --- a/src/hgvs/__init__.py +++ b/src/hgvs/__init__.py @@ -49,8 +49,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import re import sys diff --git a/src/hgvs/alignmentmapper.py b/src/hgvs/alignmentmapper.py index ccf9b8fc..badedef3 100644 --- a/src/hgvs/alignmentmapper.py +++ b/src/hgvs/alignmentmapper.py @@ -27,8 +27,6 @@ # -from __future__ import absolute_import, division, print_function, unicode_literals - from bioutils.coordinates import strand_int_to_pm from six.moves import range diff --git a/src/hgvs/assemblymapper.py b/src/hgvs/assemblymapper.py index dcc5e0a6..e14e07ba 100644 --- a/src/hgvs/assemblymapper.py +++ b/src/hgvs/assemblymapper.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import hgvs diff --git a/src/hgvs/config.py b/src/hgvs/config.py index 75790992..175043d7 100644 --- a/src/hgvs/config.py +++ b/src/hgvs/config.py @@ -27,8 +27,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import re from configparser import ConfigParser, ExtendedInterpolation diff --git a/src/hgvs/dataproviders/interface.py b/src/hgvs/dataproviders/interface.py index fcdbd563..838ba080 100644 --- a/src/hgvs/dataproviders/interface.py +++ b/src/hgvs/dataproviders/interface.py @@ -3,8 +3,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import abc import os diff --git a/src/hgvs/dataproviders/seqfetcher.py b/src/hgvs/dataproviders/seqfetcher.py index f9d1870e..56a8823c 100644 --- a/src/hgvs/dataproviders/seqfetcher.py +++ b/src/hgvs/dataproviders/seqfetcher.py @@ -3,8 +3,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import os diff --git a/src/hgvs/dataproviders/uta.py b/src/hgvs/dataproviders/uta.py index 2a9c1342..609ed88a 100644 --- a/src/hgvs/dataproviders/uta.py +++ b/src/hgvs/dataproviders/uta.py @@ -4,8 +4,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import contextlib import inspect import logging diff --git a/src/hgvs/decorators/deprecated.py b/src/hgvs/decorators/deprecated.py index a7f375d1..cc64f2b4 100644 --- a/src/hgvs/decorators/deprecated.py +++ b/src/hgvs/decorators/deprecated.py @@ -4,8 +4,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import collections import warnings diff --git a/src/hgvs/decorators/lru_cache.py b/src/hgvs/decorators/lru_cache.py index fe752604..6f3e50c3 100644 --- a/src/hgvs/decorators/lru_cache.py +++ b/src/hgvs/decorators/lru_cache.py @@ -11,8 +11,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - from collections import namedtuple from functools import update_wrapper from threading import RLock diff --git a/src/hgvs/edit.py b/src/hgvs/edit.py index a6b95f7a..694dc99c 100644 --- a/src/hgvs/edit.py +++ b/src/hgvs/edit.py @@ -9,8 +9,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import attr import six from bioutils.sequences import aa1_to_aa3, aa_to_aa1 diff --git a/src/hgvs/exceptions.py b/src/hgvs/exceptions.py index a9e5fc47..c5d21040 100644 --- a/src/hgvs/exceptions.py +++ b/src/hgvs/exceptions.py @@ -3,8 +3,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - class HGVSError(Exception): pass diff --git a/src/hgvs/hgvsposition.py b/src/hgvs/hgvsposition.py index eb9a16ca..14e3c25a 100644 --- a/src/hgvs/hgvsposition.py +++ b/src/hgvs/hgvsposition.py @@ -3,8 +3,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import attr diff --git a/src/hgvs/intervalmapper.py b/src/hgvs/intervalmapper.py index 3669fca6..ea15aba3 100644 --- a/src/hgvs/intervalmapper.py +++ b/src/hgvs/intervalmapper.py @@ -42,8 +42,6 @@ start_i and minimal end_i. """ -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import re diff --git a/src/hgvs/location.py b/src/hgvs/location.py index 1b3295c7..0c21dd94 100644 --- a/src/hgvs/location.py +++ b/src/hgvs/location.py @@ -15,8 +15,6 @@ * :class:`Interval` -- an interval of Positions """ -from __future__ import absolute_import, division, print_function, unicode_literals - from functools import total_ordering import attr diff --git a/src/hgvs/normalizer.py b/src/hgvs/normalizer.py index b8c3c09a..ebe731ba 100644 --- a/src/hgvs/normalizer.py +++ b/src/hgvs/normalizer.py @@ -2,8 +2,6 @@ """hgvs.normalizer """ -from __future__ import absolute_import, division, print_function, unicode_literals - import copy import logging diff --git a/src/hgvs/parser.py b/src/hgvs/parser.py index 9e26220a..101927e8 100644 --- a/src/hgvs/parser.py +++ b/src/hgvs/parser.py @@ -4,8 +4,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import copy import logging import re diff --git a/src/hgvs/posedit.py b/src/hgvs/posedit.py index 07cc981e..b841da2f 100644 --- a/src/hgvs/posedit.py +++ b/src/hgvs/posedit.py @@ -3,8 +3,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import attr from hgvs.enums import ValidationLevel diff --git a/src/hgvs/projector.py b/src/hgvs/projector.py index ac827689..74679087 100644 --- a/src/hgvs/projector.py +++ b/src/hgvs/projector.py @@ -4,8 +4,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import copy import hgvs diff --git a/src/hgvs/sequencevariant.py b/src/hgvs/sequencevariant.py index c49e29ea..698ab373 100644 --- a/src/hgvs/sequencevariant.py +++ b/src/hgvs/sequencevariant.py @@ -1,8 +1,6 @@ # -*- coding: utf-8 -*- """ represents simple sequence-based variants """ -from __future__ import absolute_import, division, print_function, unicode_literals - import attr import hgvs.variantmapper diff --git a/src/hgvs/shell.py b/src/hgvs/shell.py index 2d4da673..234219f4 100755 --- a/src/hgvs/shell.py +++ b/src/hgvs/shell.py @@ -2,8 +2,6 @@ """start IPython shell with hgvs initialized. Intended to be used for experimenting, debugging, and generating bug reports.""" -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import os diff --git a/src/hgvs/transcriptmapper.py b/src/hgvs/transcriptmapper.py index 6e622305..09210e0f 100644 --- a/src/hgvs/transcriptmapper.py +++ b/src/hgvs/transcriptmapper.py @@ -4,8 +4,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import logging from bioutils.coordinates import strand_int_to_pm diff --git a/src/hgvs/utils/__init__.py b/src/hgvs/utils/__init__.py index 58a9730e..c1a9b5a6 100644 --- a/src/hgvs/utils/__init__.py +++ b/src/hgvs/utils/__init__.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import re diff --git a/src/hgvs/utils/altseq_to_hgvsp.py b/src/hgvs/utils/altseq_to_hgvsp.py index 699fe9cf..99cd141b 100644 --- a/src/hgvs/utils/altseq_to_hgvsp.py +++ b/src/hgvs/utils/altseq_to_hgvsp.py @@ -5,8 +5,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - from six.moves import range import hgvs diff --git a/src/hgvs/utils/altseqbuilder.py b/src/hgvs/utils/altseqbuilder.py index ccf6f518..9c00dc98 100644 --- a/src/hgvs/utils/altseqbuilder.py +++ b/src/hgvs/utils/altseqbuilder.py @@ -6,8 +6,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import math diff --git a/src/hgvs/utils/context.py b/src/hgvs/utils/context.py index 5a8a7dfa..a29fe3eb 100644 --- a/src/hgvs/utils/context.py +++ b/src/hgvs/utils/context.py @@ -23,8 +23,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import re from bioutils.sequences import complement diff --git a/src/hgvs/utils/norm.py b/src/hgvs/utils/norm.py index c67a807b..8f8497f3 100644 --- a/src/hgvs/utils/norm.py +++ b/src/hgvs/utils/norm.py @@ -5,8 +5,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - from collections import namedtuple from six.moves import range diff --git a/src/hgvs/utils/orderedenum.py b/src/hgvs/utils/orderedenum.py index e78b14dd..2ce7db93 100644 --- a/src/hgvs/utils/orderedenum.py +++ b/src/hgvs/utils/orderedenum.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - from enum import Enum diff --git a/src/hgvs/validator.py b/src/hgvs/validator.py index 67b78d90..bc0ca8ed 100644 --- a/src/hgvs/validator.py +++ b/src/hgvs/validator.py @@ -3,8 +3,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import logging import hgvs diff --git a/src/hgvs/variantmapper.py b/src/hgvs/variantmapper.py index 45e5da0c..63bdfd3d 100644 --- a/src/hgvs/variantmapper.py +++ b/src/hgvs/variantmapper.py @@ -3,8 +3,6 @@ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import copy import logging diff --git a/tests/bin/build-ref-repl b/tests/bin/build-ref-repl index 16927532..0e902b31 100755 --- a/tests/bin/build-ref-repl +++ b/tests/bin/build-ref-repl @@ -1,8 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - """Builds reference replacement test sets""" import logging diff --git a/tests/bin/connpool-stress-test b/tests/bin/connpool-stress-test index 516a71c6..0f04e094 100755 --- a/tests/bin/connpool-stress-test +++ b/tests/bin/connpool-stress-test @@ -10,8 +10,6 @@ With 0.4.5a4.post0, it runs until terminated (several runs of at least two minut https://github.com/biocommons/hgvs/issues/321/ """ -from __future__ import absolute_import, division, print_function, unicode_literals - import gzip import logging import random diff --git a/tests/fx-test/test_variant_length.py b/tests/fx-test/test_variant_length.py index 54d641d1..5b42e9a1 100644 --- a/tests/fx-test/test_variant_length.py +++ b/tests/fx-test/test_variant_length.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/issues/test_02xx.py b/tests/issues/test_02xx.py index b804dbb3..3a631ee6 100644 --- a/tests/issues/test_02xx.py +++ b/tests/issues/test_02xx.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/issues/test_03xx.py b/tests/issues/test_03xx.py index 349584af..e030ced8 100644 --- a/tests/issues/test_03xx.py +++ b/tests/issues/test_03xx.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/issues/test_04xx.py b/tests/issues/test_04xx.py index 221be5d3..47e165ba 100644 --- a/tests/issues/test_04xx.py +++ b/tests/issues/test_04xx.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/issues/test_05xx.py b/tests/issues/test_05xx.py index 0679b81c..962d75b8 100644 --- a/tests/issues/test_05xx.py +++ b/tests/issues/test_05xx.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/support/crosschecker.py b/tests/support/crosschecker.py index cd428eea..68d1510e 100644 --- a/tests/support/crosschecker.py +++ b/tests/support/crosschecker.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function, unicode_literals - import itertools from six.moves import map diff --git a/tests/support/mock_input_source.py b/tests/support/mock_input_source.py index 184fbb49..5378aded 100644 --- a/tests/support/mock_input_source.py +++ b/tests/support/mock_input_source.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import csv # Mock test input source diff --git a/tests/test_clinvar.py b/tests/test_clinvar.py index 64d6b621..942d931f 100644 --- a/tests/test_clinvar.py +++ b/tests/test_clinvar.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import csv import gzip import io diff --git a/tests/test_hgvs_alignmentmapper.py b/tests/test_hgvs_alignmentmapper.py index bdff4e81..341cc2ef 100644 --- a/tests/test_hgvs_alignmentmapper.py +++ b/tests/test_hgvs_alignmentmapper.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_assemblymapper.py b/tests/test_hgvs_assemblymapper.py index d2730104..460ea299 100644 --- a/tests/test_hgvs_assemblymapper.py +++ b/tests/test_hgvs_assemblymapper.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_dataproviders_uta.py b/tests/test_hgvs_dataproviders_uta.py index bf7ec847..f6e785cf 100644 --- a/tests/test_hgvs_dataproviders_uta.py +++ b/tests/test_hgvs_dataproviders_uta.py @@ -1,8 +1,6 @@ # -*- coding: utf-8 -*- """Tests uta postgresql client""" -from __future__ import absolute_import, division, print_function, unicode_literals - import os import re import unittest diff --git a/tests/test_hgvs_edit.py b/tests/test_hgvs_edit.py index 105be9b4..a5e49d5b 100644 --- a/tests/test_hgvs_edit.py +++ b/tests/test_hgvs_edit.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import unittest import pytest diff --git a/tests/test_hgvs_grammar.py b/tests/test_hgvs_grammar.py index 7c904a71..7492fe2c 100644 --- a/tests/test_hgvs_grammar.py +++ b/tests/test_hgvs_grammar.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import unittest import pytest diff --git a/tests/test_hgvs_grammar_full.py b/tests/test_hgvs_grammar_full.py index 5a0cd78c..d515325c 100644 --- a/tests/test_hgvs_grammar_full.py +++ b/tests/test_hgvs_grammar_full.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import pprint import re diff --git a/tests/test_hgvs_hgvsposition.py b/tests/test_hgvs_hgvsposition.py index 10ba0380..6883ffdb 100644 --- a/tests/test_hgvs_hgvsposition.py +++ b/tests/test_hgvs_hgvsposition.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import unittest import pytest diff --git a/tests/test_hgvs_location.py b/tests/test_hgvs_location.py index 2e75f2e8..3bc4e2db 100644 --- a/tests/test_hgvs_location.py +++ b/tests/test_hgvs_location.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import unittest import pytest diff --git a/tests/test_hgvs_normalizer.py b/tests/test_hgvs_normalizer.py index 65d9ab91..fbae6e99 100644 --- a/tests/test_hgvs_normalizer.py +++ b/tests/test_hgvs_normalizer.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_parser.py b/tests/test_hgvs_parser.py index 5e296c43..a8b83046 100644 --- a/tests/test_hgvs_parser.py +++ b/tests/test_hgvs_parser.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import hashlib import os import pprint diff --git a/tests/test_hgvs_posedit.py b/tests/test_hgvs_posedit.py index a119f4f6..8f50060b 100644 --- a/tests/test_hgvs_posedit.py +++ b/tests/test_hgvs_posedit.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import unittest import pytest diff --git a/tests/test_hgvs_projector.py b/tests/test_hgvs_projector.py index 1c22357b..a7701d6a 100644 --- a/tests/test_hgvs_projector.py +++ b/tests/test_hgvs_projector.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index a6ea6bd2..40d4bbbc 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_validator.py b/tests/test_hgvs_validator.py index 59dc6f7a..0726b013 100644 --- a/tests/test_hgvs_validator.py +++ b/tests/test_hgvs_validator.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_variantmapper.py b/tests/test_hgvs_variantmapper.py index 63a61ce6..795770bb 100644 --- a/tests/test_hgvs_variantmapper.py +++ b/tests/test_hgvs_variantmapper.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_variantmapper_cp_altseqbuilder.py b/tests/test_hgvs_variantmapper_cp_altseqbuilder.py index 7c4ade40..21f16cb0 100644 --- a/tests/test_hgvs_variantmapper_cp_altseqbuilder.py +++ b/tests/test_hgvs_variantmapper_cp_altseqbuilder.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import unittest diff --git a/tests/test_hgvs_variantmapper_cp_real.py b/tests/test_hgvs_variantmapper_cp_real.py index 5bd4c601..64419e43 100644 --- a/tests/test_hgvs_variantmapper_cp_real.py +++ b/tests/test_hgvs_variantmapper_cp_real.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import re import unittest diff --git a/tests/test_hgvs_variantmapper_cp_sanity.py b/tests/test_hgvs_variantmapper_cp_sanity.py index 02a01c73..6367d6c5 100644 --- a/tests/test_hgvs_variantmapper_cp_sanity.py +++ b/tests/test_hgvs_variantmapper_cp_sanity.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - # # Tests for conversion of hgvs tags # diff --git a/tests/test_hgvs_variantmapper_gcp.py b/tests/test_hgvs_variantmapper_gcp.py index 368d8f42..d59eb588 100644 --- a/tests/test_hgvs_variantmapper_gcp.py +++ b/tests/test_hgvs_variantmapper_gcp.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import re import sys diff --git a/tests/test_hgvs_variantmapper_near_discrepancies.py b/tests/test_hgvs_variantmapper_near_discrepancies.py index 84bed3d8..7a663222 100644 --- a/tests/test_hgvs_variantmapper_near_discrepancies.py +++ b/tests/test_hgvs_variantmapper_near_discrepancies.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, division, print_function, unicode_literals - import os import pytest From 6056847b165235c02042c68ae72aad46cd7df255 Mon Sep 17 00:00:00 2001 From: Dave Lawrence <davmlaw@gmail.com> Date: Fri, 9 Feb 2024 10:39:58 +1030 Subject: [PATCH 13/25] #695 - Remove top level code environment scripts from modules --- src/hgvs/extras/babelfish.py | 48 ------------------------------ src/hgvs/utils/cigarmapper.py | 6 ---- tests/support/mock_input_source.py | 8 ----- 3 files changed, 62 deletions(-) diff --git a/src/hgvs/extras/babelfish.py b/src/hgvs/extras/babelfish.py index b1a7b49d..c1b387d3 100644 --- a/src/hgvs/extras/babelfish.py +++ b/src/hgvs/extras/babelfish.py @@ -106,51 +106,3 @@ def vcf_to_g_hgvs(self, chrom, position, ref, alt): ) n = Normalizer(self.hdp) return n.normalize(var_g) - - -if __name__ == "__main__": - """ - 49949___ 400 410 420 - |123456789|123456789| - NC_000006.12 GACCAGAAAGAAAAATAAAAC - - """ - - import hgvs.easy - import hgvs.normalizer - - babelfish38 = Babelfish(hgvs.easy.hdp, assembly_name="GRCh38") - hnl = hgvs.normalizer.Normalizer( - hgvs.easy.hdp, cross_boundaries=False, shuffle_direction=5, validate=False - ) - - def _h2v(h): - return babelfish38.hgvs_to_vcf(hgvs.easy.parser.parse(h)) - - def _vp(h): - v = hgvs.easy.parser.parse(h) - vl = hnl.normalize(v) - return (v, vl) - - for h in ( - # Non-variation - "NC_000006.12:g.49949407=", - # SNV - "NC_000006.12:g.49949407A>T", - # delins - "NC_000006.12:g.49949413_49949414delinsCC", - # del - "NC_000006.12:g.49949415del", - "NC_000006.12:g.49949413del", - "NC_000006.12:g.49949414del", - "NC_000006.12:g.49949413_49949414del", - # ins - "NC_000006.12:g.49949413_49949414insC", - "NC_000006.12:g.49949414_49949415insC", - "NC_000006.12:g.49949414_49949415insCC", - # ins (dup) - "NC_000006.12:g.49949413_49949414insA", - "NC_000006.12:g.49949414_49949415insA", - "NC_000006.12:g.49949414_49949415insAA", - ): - print('assert _h2v("{h}") == {res}'.format(res=str(_h2v(h)), h=h)) diff --git a/src/hgvs/utils/cigarmapper.py b/src/hgvs/utils/cigarmapper.py index 454f3131..4708a377 100644 --- a/src/hgvs/utils/cigarmapper.py +++ b/src/hgvs/utils/cigarmapper.py @@ -139,9 +139,3 @@ def _parse_cigar(cigar): ref_pos.append(ref_cur) tgt_pos.append(tgt_cur) return ref_pos, tgt_pos, cigar_op - - -if __name__ == "__main__": - # cigar = "2=2N=X=2N=I=2N=D=" - cigar = "3=2N=X=3N=I=D=" - cm = CIGARMapper(cigar) diff --git a/tests/support/mock_input_source.py b/tests/support/mock_input_source.py index 5378aded..90a2dd6a 100644 --- a/tests/support/mock_input_source.py +++ b/tests/support/mock_input_source.py @@ -76,14 +76,6 @@ def _read_input(self, in_file): return result - -def main(): - pass - - -if __name__ == "__main__": - main() - # <LICENSE> # Copyright 2018 HGVS Contributors (https://github.com/biocommons/hgvs) # From cce1c6f6a38332354906886590ff1fca4bd0a624 Mon Sep 17 00:00:00 2001 From: Reece Hart <reece@biocmmons.org> Date: Mon, 12 Feb 2024 21:04:13 -0800 Subject: [PATCH 14/25] update stale action to use stale.yml from worfklow-template --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 0829446d..d7a6cd4e 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -8,4 +8,4 @@ on: jobs: stale: - uses: biocommons/actions/.github/workflows/stale.yml@main + uses: biocommons/.github/.github/workflows/stale.yml@main From 261245a140a38947c35c5579b1672852f9ad0a24 Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas.prlic@invitae.com> Date: Mon, 19 Feb 2024 23:19:27 -0800 Subject: [PATCH 15/25] feat(imprecise hgvs_c): adding support to create imprecise hgvs_c s. --- src/hgvs/alignmentmapper.py | 27 +++++++++++++++++++++------ src/hgvs/location.py | 10 ++++++---- src/hgvs/posedit.py | 7 ++++++- tests/test_hgvs_sequencevariant.py | 19 ++++++++++++++----- 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/hgvs/alignmentmapper.py b/src/hgvs/alignmentmapper.py index badedef3..8c31041d 100644 --- a/src/hgvs/alignmentmapper.py +++ b/src/hgvs/alignmentmapper.py @@ -27,6 +27,10 @@ # +from __future__ import absolute_import, division, print_function, unicode_literals + +from typing import Optional + from bioutils.coordinates import strand_int_to_pm from six.moves import range @@ -39,6 +43,7 @@ HGVSInvalidIntervalError, HGVSUsageError, ) +from hgvs.location import Interval, BaseOffsetInterval from hgvs.utils import build_tx_cigar from hgvs.utils.cigarmapper import CIGARMapper @@ -151,7 +156,7 @@ def __str__(self): ) ) - def g_to_n(self, g_interval, strict_bounds=None): + def g_to_n(self, g_interval: Interval, strict_bounds:Optional[bool]=None)->BaseOffsetInterval: """convert a genomic (g.) interval to a transcript cDNA (n.) interval""" if strict_bounds is None: @@ -181,17 +186,24 @@ def g_to_n(self, g_interval, strict_bounds=None): frs_offset, fre_offset = -fre_offset, -frs_offset # The returned interval would be uncertain when locating at alignment gaps + # of if the initial interval was uncertain return hgvs.location.BaseOffsetInterval( start=hgvs.location.BaseOffsetPosition( - base=_zbc_to_hgvs(frs), offset=frs_offset, datum=Datum.SEQ_START + base=_zbc_to_hgvs(frs), + offset=frs_offset, + datum=Datum.SEQ_START, + uncertain=g_interval.start.uncertain ), end=hgvs.location.BaseOffsetPosition( - base=_zbc_to_hgvs(fre), offset=fre_offset, datum=Datum.SEQ_START + base=_zbc_to_hgvs(fre), + offset=fre_offset, + datum=Datum.SEQ_START, + uncertain=g_interval.end.uncertain ), uncertain=frs_cigar in "DI" or fre_cigar in "DI", ) - def n_to_g(self, n_interval, strict_bounds=None): + def n_to_g(self, n_interval, strict_bounds=None) ->Interval: """convert a transcript (n.) interval to a genomic (g.) interval""" if strict_bounds is None: @@ -223,7 +235,7 @@ def n_to_g(self, n_interval, strict_bounds=None): uncertain=grs_cigar in "DI" or gre_cigar in "DI", ) - def n_to_c(self, n_interval, strict_bounds=None): + def n_to_c(self, n_interval:Interval, strict_bounds:Optional[bool]=None): """convert a transcript cDNA (n.) interval to a transcript CDS (c.) interval""" if strict_bounds is None: @@ -253,7 +265,10 @@ def pos_n_to_c(pos): else: c = pos.base - self.cds_end_i c_datum = Datum.CDS_END - return hgvs.location.BaseOffsetPosition(base=c, offset=pos.offset, datum=c_datum) + return hgvs.location.BaseOffsetPosition(base=c, + offset=pos.offset, + datum=c_datum, + uncertain=pos.uncertain) c_interval = hgvs.location.BaseOffsetInterval( start=pos_n_to_c(n_interval.start), diff --git a/src/hgvs/location.py b/src/hgvs/location.py index 0c21dd94..4c82d3f7 100644 --- a/src/hgvs/location.py +++ b/src/hgvs/location.py @@ -77,7 +77,7 @@ def __lt__(lhs, rhs): if lhs.base is None and rhs.base is None: raise HGVSUnsupportedOperationError("Cannot compare two positions without bases") - + # imprecise positions can be on both sides of an interval # This is weird, but because an unknown breakpoint can be expressed on both sides # with a ? character we need to support that both options are true @@ -199,9 +199,11 @@ def __sub__(lhs, rhs): def __eq__(lhs, rhs): assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" - if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") - return lhs.datum == rhs.datum and lhs.base == rhs.base and lhs.offset == rhs.offset + + return (lhs.datum == rhs.datum and + lhs.base == rhs.base and + lhs.offset == rhs.offset and + lhs.uncertain == rhs.uncertain) def __lt__(lhs, rhs): assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" diff --git a/src/hgvs/posedit.py b/src/hgvs/posedit.py index b841da2f..43403f26 100644 --- a/src/hgvs/posedit.py +++ b/src/hgvs/posedit.py @@ -7,6 +7,7 @@ from hgvs.enums import ValidationLevel from hgvs.exceptions import HGVSUnsupportedOperationError +from hgvs.location import Interval @attr.s(slots=True, repr=False) @@ -98,7 +99,11 @@ def validate(self): # Check del length if self.edit.type in ["del", "delins"]: ref_len = self.edit.ref_n - if ref_len is not None and ref_len != self.pos.end - self.pos.start + 1: + if (ref_len is not None and + not ( isinstance(self.pos.start, Interval) or + isinstance(self.pos.end, Interval) + ) and + ref_len != self.pos.end - self.pos.start + 1): return ( ValidationLevel.ERROR, "Length implied by coordinates must equal sequence deletion length", diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index 40d4bbbc..19a8c587 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -129,16 +129,25 @@ def test_uncertain(self): def test_uncertain_projection_confidence(self): data = [ - ("NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", "NM_032119.3:c.17020-1_17856+1dup"), - ("NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", "NM_000527.5:c.191-1_817+1dup"), - ("NC_000009.11:g.(?_108337304)_(108337428_?)del", "NM_001079802.1:c.-10_105+10del") + ("NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", + "NM_032119.3:n.(17116-1)_(17952+1)dup", + "NM_032119.3:c.(17020-1)_(17856+1)dup"), + + ("NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", + "NM_000527.5:n.(277-1)_(903+1)dup", + "NM_000527.5:c.(191-1)_(817+1)dup"), + + ("NC_000009.11:g.(?_108337304)_(108337428_?)del", + "NM_001079802.1:n.(207)_(321+10)del", + "NM_001079802.1:c.(-10)_(105+10)del"), ] - for hgvs_g, hgvs_c in data: + for hgvs_g, hgvs_n, hgvs_c in data: var_g = self.hp.parse(hgvs_g) self.assertEqual(hgvs_g, str(var_g)) - acc = hgvs_c.split(":")[0] + var_n = self.vm.g_to_n(var_g, acc) + self.assertEqual(hgvs_n, str(var_n)) var_c = self.vm.g_to_c(var_g, acc) self.assertEqual(hgvs_c, str(var_c)) From 609244adcf0f55efd3d8985523dc73c876b4ec7b Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas.prlic@invitae.com> Date: Wed, 21 Feb 2024 08:08:32 -0800 Subject: [PATCH 16/25] feat(imprecise g_to_c): g_to_c now works. c_to_g not working yet. Requires parser modifications still. This PR contains unit tests that are still broken, but should parse once we got the c. parsing figured out. (plus some more potential modifications in the alignment mapper). --- src/hgvs/_data/hgvs.pymeta | 9 +- src/hgvs/alignmentmapper.py | 10 +- src/hgvs/generated/hgvs_grammar.py | 1380 ++++++++++++++-------------- src/hgvs/location.py | 29 +- src/hgvs/variantmapper.py | 11 +- tests/data/grammar_test.tsv | 17 +- tests/test_hgvs_sequencevariant.py | 58 +- 7 files changed, 800 insertions(+), 714 deletions(-) diff --git a/src/hgvs/_data/hgvs.pymeta b/src/hgvs/_data/hgvs.pymeta index 0c84c3e6..ee8e393d 100644 --- a/src/hgvs/_data/hgvs.pymeta +++ b/src/hgvs/_data/hgvs.pymeta @@ -122,7 +122,7 @@ pro_ident = '=' -> hgvs.edit.AARefAlt(ref='',alt='' # potentially indefinite/uncertain intervals c_interval = def_c_interval | '(' def_c_interval:iv ')' -> iv._set_uncertain() -g_interval = def_g_uncertain_interval:iv | ('(' def_g_interval:iv ')' -> iv._set_uncertain()) | def_g_interval +g_interval = uncertain_g_interval:iv | ('(' def_g_interval:iv ')' -> iv._set_uncertain()) | def_g_interval m_interval = def_m_interval | '(' def_m_interval:iv ')' -> iv._set_uncertain() n_interval = def_n_interval | '(' def_n_interval:iv ')' -> iv._set_uncertain() p_interval = def_p_interval | '(' def_p_interval:iv ')' -> iv._set_uncertain() @@ -137,9 +137,10 @@ def_c_interval = (c_pos:start '_' c_pos:end -> hgvs.location.BaseOffsetInterval( def_n_interval = (n_pos:start '_' n_pos:end -> hgvs.location.BaseOffsetInterval(start,end)) | (n_pos:start -> hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))) # indefinite ranges -def_g_uncertain_interval = '(' def_g_interval:ivl_start ')' '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) - | def_g_interval:ivl_start '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) - | '(' def_g_interval:ivl_start ')' '_' def_g_interval:ivl_end -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) +uncertain_g_interval = '(' def_g_interval:ivl_start ')' '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) + | def_g_interval:ivl_start '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start, end=ivl_end._set_uncertain()) + | '(' def_g_interval:ivl_start ')' '_' def_g_interval:ivl_end -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end) + # positions c_pos = def_c_pos #| '(' def_c_pos:pos ')' -> pos._set_uncertain() diff --git a/src/hgvs/alignmentmapper.py b/src/hgvs/alignmentmapper.py index 8c31041d..f2af1509 100644 --- a/src/hgvs/alignmentmapper.py +++ b/src/hgvs/alignmentmapper.py @@ -166,12 +166,18 @@ def g_to_n(self, g_interval: Interval, strict_bounds:Optional[bool]=None)->BaseO if g_interval.start.uncertain: grs = g_interval.start.end.base - 1 - self.gc_offset else: - grs = g_interval.start.base - 1 - self.gc_offset + if isinstance(g_interval.start, Interval): + grs = g_interval.start.start.base - 1 - self.gc_offset + else: + grs = g_interval.start.base - 1 - self.gc_offset if g_interval.end.uncertain: gre = g_interval.end.start.base - 1 - self.gc_offset else: - gre = g_interval.end.base - 1 - self.gc_offset + if isinstance(g_interval.end, Interval): + gre = g_interval.end.end.base - 1 - self.gc_offset + else: + gre = g_interval.end.base - 1 - self.gc_offset # frs, fre = (f)orward (r)na (s)tart & (e)nd; forward w.r.t. genome frs, frs_offset, frs_cigar = self.cigarmapper.map_ref_to_tgt( diff --git a/src/hgvs/generated/hgvs_grammar.py b/src/hgvs/generated/hgvs_grammar.py index e3c1c258..dcc89812 100644 --- a/src/hgvs/generated/hgvs_grammar.py +++ b/src/hgvs/generated/hgvs_grammar.py @@ -3,9 +3,9 @@ # Changes will be overwritten by the generation script. # Generated by: sbin/generate_parser.py # Grammar file: src/hgvs/_data/hgvs.pymeta -# Grammar hash: 9391d543da30300646420cd012dbd929 +# Grammar hash: 8d20020e49d946797f6dc49429fef938 # Parsley version: 1.3 -# Python version: 3.11.4 (main, Jul 25 2023, 17:07:07) [Clang 14.0.3 (clang-1403.0.22.14.1)] +# Python version: 3.8.7 (default, Sep 30 2022, 13:36:26) # -------------------------------------------------- def createParserClass(GrammarBase, ruleGlobals): @@ -1623,27 +1623,27 @@ def rule_g_interval(self): _locals = {'self': self} self.locals['g_interval'] = _locals def _G_or_480(): - self._trace('', (8319, 8344), self.input.position) - _G_apply_481, lastError = self._apply(self.rule_def_g_uncertain_interval, "def_g_uncertain_interval", []) + self._trace('', (8319, 8340), self.input.position) + _G_apply_481, lastError = self._apply(self.rule_uncertain_g_interval, "uncertain_g_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_481 return (_G_apply_481, self.currentError) def _G_or_482(): - self._trace('', (8351, 8354), self.input.position) + self._trace('', (8347, 8350), self.input.position) _G_exactly_483, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8354, 8369), self.input.position) + self._trace('', (8350, 8365), self.input.position) _G_apply_484, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_484 - self._trace('', (8372, 8376), self.input.position) + self._trace('', (8368, 8372), self.input.position) _G_exactly_485, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_486, lastError = eval(self._G_expr_477, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_486, self.currentError) def _G_or_487(): - self._trace('', (8402, 8417), self.input.position) + self._trace('', (8398, 8413), self.input.position) _G_apply_488, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) return (_G_apply_488, self.currentError) @@ -1656,19 +1656,19 @@ def rule_m_interval(self): _locals = {'self': self} self.locals['m_interval'] = _locals def _G_or_490(): - self._trace('', (8430, 8445), self.input.position) + self._trace('', (8426, 8441), self.input.position) _G_apply_491, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) self.considerError(lastError, None) return (_G_apply_491, self.currentError) def _G_or_492(): - self._trace('', (8447, 8451), self.input.position) + self._trace('', (8443, 8447), self.input.position) _G_exactly_493, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8451, 8466), self.input.position) + self._trace('', (8447, 8462), self.input.position) _G_apply_494, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_494 - self._trace('', (8469, 8473), self.input.position) + self._trace('', (8465, 8469), self.input.position) _G_exactly_495, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_496, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1683,19 +1683,19 @@ def rule_n_interval(self): _locals = {'self': self} self.locals['n_interval'] = _locals def _G_or_498(): - self._trace('', (8509, 8524), self.input.position) + self._trace('', (8505, 8520), self.input.position) _G_apply_499, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) self.considerError(lastError, None) return (_G_apply_499, self.currentError) def _G_or_500(): - self._trace('', (8526, 8530), self.input.position) + self._trace('', (8522, 8526), self.input.position) _G_exactly_501, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8530, 8545), self.input.position) + self._trace('', (8526, 8541), self.input.position) _G_apply_502, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_502 - self._trace('', (8548, 8552), self.input.position) + self._trace('', (8544, 8548), self.input.position) _G_exactly_503, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_504, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1710,19 +1710,19 @@ def rule_p_interval(self): _locals = {'self': self} self.locals['p_interval'] = _locals def _G_or_506(): - self._trace('', (8588, 8603), self.input.position) + self._trace('', (8584, 8599), self.input.position) _G_apply_507, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) return (_G_apply_507, self.currentError) def _G_or_508(): - self._trace('', (8605, 8609), self.input.position) + self._trace('', (8601, 8605), self.input.position) _G_exactly_509, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8609, 8624), self.input.position) + self._trace('', (8605, 8620), self.input.position) _G_apply_510, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_510 - self._trace('', (8627, 8631), self.input.position) + self._trace('', (8623, 8627), self.input.position) _G_exactly_511, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_512, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1737,19 +1737,19 @@ def rule_r_interval(self): _locals = {'self': self} self.locals['r_interval'] = _locals def _G_or_514(): - self._trace('', (8667, 8682), self.input.position) + self._trace('', (8663, 8678), self.input.position) _G_apply_515, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) return (_G_apply_515, self.currentError) def _G_or_516(): - self._trace('', (8684, 8688), self.input.position) + self._trace('', (8680, 8684), self.input.position) _G_exactly_517, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8688, 8703), self.input.position) + self._trace('', (8684, 8699), self.input.position) _G_apply_518, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_518 - self._trace('', (8706, 8710), self.input.position) + self._trace('', (8702, 8706), self.input.position) _G_exactly_519, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_520, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1764,14 +1764,14 @@ def rule_def_g_interval(self): _locals = {'self': self} self.locals['def_g_interval'] = _locals def _G_or_522(): - self._trace('', (8774, 8779), self.input.position) + self._trace('', (8770, 8775), self.input.position) _G_apply_523, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_523 - self._trace('', (8785, 8789), self.input.position) + self._trace('', (8781, 8785), self.input.position) _G_exactly_524, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (8789, 8795), self.input.position) + self._trace('', (8785, 8791), self.input.position) _G_apply_525, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_525 @@ -1779,7 +1779,7 @@ def _G_or_522(): self.considerError(lastError, None) return (_G_python_527, self.currentError) def _G_or_528(): - self._trace('', (8841, 8846), self.input.position) + self._trace('', (8837, 8842), self.input.position) _G_apply_529, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_529 @@ -1795,14 +1795,14 @@ def rule_def_m_interval(self): _locals = {'self': self} self.locals['def_m_interval'] = _locals def _G_or_533(): - self._trace('', (8926, 8931), self.input.position) + self._trace('', (8922, 8927), self.input.position) _G_apply_534, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_534 - self._trace('', (8937, 8941), self.input.position) + self._trace('', (8933, 8937), self.input.position) _G_exactly_535, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (8941, 8947), self.input.position) + self._trace('', (8937, 8943), self.input.position) _G_apply_536, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_536 @@ -1810,7 +1810,7 @@ def _G_or_533(): self.considerError(lastError, None) return (_G_python_537, self.currentError) def _G_or_538(): - self._trace('', (8993, 8998), self.input.position) + self._trace('', (8989, 8994), self.input.position) _G_apply_539, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_539 @@ -1826,14 +1826,14 @@ def rule_def_p_interval(self): _locals = {'self': self} self.locals['def_p_interval'] = _locals def _G_or_542(): - self._trace('', (9078, 9083), self.input.position) + self._trace('', (9074, 9079), self.input.position) _G_apply_543, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_543 - self._trace('', (9089, 9093), self.input.position) + self._trace('', (9085, 9089), self.input.position) _G_exactly_544, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9093, 9099), self.input.position) + self._trace('', (9089, 9095), self.input.position) _G_apply_545, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_545 @@ -1841,7 +1841,7 @@ def _G_or_542(): self.considerError(lastError, None) return (_G_python_546, self.currentError) def _G_or_547(): - self._trace('', (9145, 9150), self.input.position) + self._trace('', (9141, 9146), self.input.position) _G_apply_548, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_548 @@ -1857,14 +1857,14 @@ def rule_def_r_interval(self): _locals = {'self': self} self.locals['def_r_interval'] = _locals def _G_or_551(): - self._trace('', (9230, 9235), self.input.position) + self._trace('', (9226, 9231), self.input.position) _G_apply_552, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_552 - self._trace('', (9241, 9245), self.input.position) + self._trace('', (9237, 9241), self.input.position) _G_exactly_553, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9245, 9251), self.input.position) + self._trace('', (9241, 9247), self.input.position) _G_apply_554, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_554 @@ -1872,7 +1872,7 @@ def _G_or_551(): self.considerError(lastError, None) return (_G_python_555, self.currentError) def _G_or_556(): - self._trace('', (9297, 9302), self.input.position) + self._trace('', (9293, 9298), self.input.position) _G_apply_557, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_557 @@ -1888,14 +1888,14 @@ def rule_def_c_interval(self): _locals = {'self': self} self.locals['def_c_interval'] = _locals def _G_or_560(): - self._trace('', (9382, 9387), self.input.position) + self._trace('', (9378, 9383), self.input.position) _G_apply_561, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_561 - self._trace('', (9393, 9397), self.input.position) + self._trace('', (9389, 9393), self.input.position) _G_exactly_562, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9397, 9403), self.input.position) + self._trace('', (9393, 9399), self.input.position) _G_apply_563, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_563 @@ -1903,7 +1903,7 @@ def _G_or_560(): self.considerError(lastError, None) return (_G_python_565, self.currentError) def _G_or_566(): - self._trace('', (9459, 9464), self.input.position) + self._trace('', (9455, 9460), self.input.position) _G_apply_567, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_567 @@ -1919,14 +1919,14 @@ def rule_def_n_interval(self): _locals = {'self': self} self.locals['def_n_interval'] = _locals def _G_or_571(): - self._trace('', (9554, 9559), self.input.position) + self._trace('', (9550, 9555), self.input.position) _G_apply_572, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_572 - self._trace('', (9565, 9569), self.input.position) + self._trace('', (9561, 9565), self.input.position) _G_exactly_573, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9569, 9575), self.input.position) + self._trace('', (9565, 9571), self.input.position) _G_apply_574, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_574 @@ -1934,7 +1934,7 @@ def _G_or_571(): self.considerError(lastError, None) return (_G_python_575, self.currentError) def _G_or_576(): - self._trace('', (9631, 9636), self.input.position) + self._trace('', (9627, 9632), self.input.position) _G_apply_577, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_577 @@ -1946,1182 +1946,1182 @@ def _G_or_576(): return (_G_or_579, self.currentError) - def rule_def_g_uncertain_interval(self): + def rule_uncertain_g_interval(self): _locals = {'self': self} - self.locals['def_g_uncertain_interval'] = _locals + self.locals['uncertain_g_interval'] = _locals def _G_or_580(): - self._trace('', (9755, 9759), self.input.position) + self._trace('', (9747, 9751), self.input.position) _G_exactly_581, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9759, 9774), self.input.position) + self._trace('', (9751, 9766), self.input.position) _G_apply_582, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_582 - self._trace('', (9784, 9788), self.input.position) + self._trace('', (9776, 9780), self.input.position) _G_exactly_583, lastError = self.exactly(')') self.considerError(lastError, None) - self._trace('', (9788, 9792), self.input.position) + self._trace('', (9780, 9784), self.input.position) _G_exactly_584, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9792, 9796), self.input.position) + self._trace('', (9784, 9788), self.input.position) _G_exactly_585, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9796, 9811), self.input.position) + self._trace('', (9788, 9803), self.input.position) _G_apply_586, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_586 - self._trace('', (9819, 9823), self.input.position) + self._trace('', (9811, 9815), self.input.position) _G_exactly_587, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_589, lastError = eval(self._G_expr_588, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_589, self.currentError) def _G_or_590(): - self._trace('', (9939, 9954), self.input.position) + self._trace('', (9931, 9946), self.input.position) _G_apply_591, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_591 - self._trace('', (9964, 9968), self.input.position) + self._trace('', (9956, 9960), self.input.position) _G_exactly_592, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9968, 9972), self.input.position) + self._trace('', (9960, 9964), self.input.position) _G_exactly_593, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9972, 9987), self.input.position) + self._trace('', (9964, 9979), self.input.position) _G_apply_594, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_594 - self._trace('', (9995, 9999), self.input.position) + self._trace('', (9987, 9991), self.input.position) _G_exactly_595, lastError = self.exactly(')') self.considerError(lastError, None) - _G_python_596, lastError = eval(self._G_expr_588, self.globals, _locals), None + _G_python_597, lastError = eval(self._G_expr_596, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_596, self.currentError) - def _G_or_597(): - self._trace('', (10115, 10119), self.input.position) - _G_exactly_598, lastError = self.exactly('(') + return (_G_python_597, self.currentError) + def _G_or_598(): + self._trace('', (10090, 10094), self.input.position) + _G_exactly_599, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (10119, 10134), self.input.position) - _G_apply_599, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self._trace('', (10094, 10109), self.input.position) + _G_apply_600, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) - _locals['ivl_start'] = _G_apply_599 - self._trace('', (10144, 10148), self.input.position) - _G_exactly_600, lastError = self.exactly(')') + _locals['ivl_start'] = _G_apply_600 + self._trace('', (10119, 10123), self.input.position) + _G_exactly_601, lastError = self.exactly(')') self.considerError(lastError, None) - self._trace('', (10148, 10152), self.input.position) - _G_exactly_601, lastError = self.exactly('_') + self._trace('', (10123, 10127), self.input.position) + _G_exactly_602, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (10152, 10167), self.input.position) - _G_apply_602, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self._trace('', (10127, 10142), self.input.position) + _G_apply_603, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) - _locals['ivl_end'] = _G_apply_602 - _G_python_603, lastError = eval(self._G_expr_588, self.globals, _locals), None + _locals['ivl_end'] = _G_apply_603 + _G_python_605, lastError = eval(self._G_expr_604, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_603, self.currentError) - _G_or_604, lastError = self._or([_G_or_580, _G_or_590, _G_or_597]) - self.considerError(lastError, 'def_g_uncertain_interval') - return (_G_or_604, self.currentError) + return (_G_python_605, self.currentError) + _G_or_606, lastError = self._or([_G_or_580, _G_or_590, _G_or_598]) + self.considerError(lastError, 'uncertain_g_interval') + return (_G_or_606, self.currentError) def rule_c_pos(self): _locals = {'self': self} self.locals['c_pos'] = _locals - self._trace('', (10286, 10296), self.input.position) - _G_apply_605, lastError = self._apply(self.rule_def_c_pos, "def_c_pos", []) + self._trace('', (10245, 10255), self.input.position) + _G_apply_607, lastError = self._apply(self.rule_def_c_pos, "def_c_pos", []) self.considerError(lastError, 'c_pos') - return (_G_apply_605, self.currentError) + return (_G_apply_607, self.currentError) def rule_g_pos(self): _locals = {'self': self} self.locals['g_pos'] = _locals - self._trace('', (10353, 10363), self.input.position) - _G_apply_606, lastError = self._apply(self.rule_def_g_pos, "def_g_pos", []) + self._trace('', (10312, 10322), self.input.position) + _G_apply_608, lastError = self._apply(self.rule_def_g_pos, "def_g_pos", []) self.considerError(lastError, 'g_pos') - return (_G_apply_606, self.currentError) + return (_G_apply_608, self.currentError) def rule_m_pos(self): _locals = {'self': self} self.locals['m_pos'] = _locals - self._trace('', (10420, 10430), self.input.position) - _G_apply_607, lastError = self._apply(self.rule_def_m_pos, "def_m_pos", []) + self._trace('', (10379, 10389), self.input.position) + _G_apply_609, lastError = self._apply(self.rule_def_m_pos, "def_m_pos", []) self.considerError(lastError, 'm_pos') - return (_G_apply_607, self.currentError) + return (_G_apply_609, self.currentError) def rule_n_pos(self): _locals = {'self': self} self.locals['n_pos'] = _locals - self._trace('', (10487, 10497), self.input.position) - _G_apply_608, lastError = self._apply(self.rule_def_n_pos, "def_n_pos", []) + self._trace('', (10446, 10456), self.input.position) + _G_apply_610, lastError = self._apply(self.rule_def_n_pos, "def_n_pos", []) self.considerError(lastError, 'n_pos') - return (_G_apply_608, self.currentError) + return (_G_apply_610, self.currentError) def rule_p_pos(self): _locals = {'self': self} self.locals['p_pos'] = _locals - self._trace('', (10554, 10564), self.input.position) - _G_apply_609, lastError = self._apply(self.rule_def_p_pos, "def_p_pos", []) + self._trace('', (10513, 10523), self.input.position) + _G_apply_611, lastError = self._apply(self.rule_def_p_pos, "def_p_pos", []) self.considerError(lastError, 'p_pos') - return (_G_apply_609, self.currentError) + return (_G_apply_611, self.currentError) def rule_r_pos(self): _locals = {'self': self} self.locals['r_pos'] = _locals - self._trace('', (10621, 10631), self.input.position) - _G_apply_610, lastError = self._apply(self.rule_def_r_pos, "def_r_pos", []) + self._trace('', (10580, 10590), self.input.position) + _G_apply_612, lastError = self._apply(self.rule_def_r_pos, "def_r_pos", []) self.considerError(lastError, 'r_pos') - return (_G_apply_610, self.currentError) + return (_G_apply_612, self.currentError) def rule_def_c_pos(self): _locals = {'self': self} self.locals['def_c_pos'] = _locals - def _G_or_611(): - self._trace('', (10714, 10719), self.input.position) - _G_apply_612, lastError = self._apply(self.rule_base, "base", []) + def _G_or_613(): + self._trace('', (10673, 10678), self.input.position) + _G_apply_614, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, None) - _locals['b'] = _G_apply_612 - self._trace('', (10721, 10728), self.input.position) - _G_apply_613, lastError = self._apply(self.rule_offset, "offset", []) + _locals['b'] = _G_apply_614 + self._trace('', (10680, 10687), self.input.position) + _G_apply_615, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) - _locals['o'] = _G_apply_613 - _G_python_615, lastError = eval(self._G_expr_614, self.globals, _locals), None + _locals['o'] = _G_apply_615 + _G_python_617, lastError = eval(self._G_expr_616, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_615, self.currentError) - def _G_or_616(): - self._trace('', (10813, 10817), self.input.position) - _G_exactly_617, lastError = self.exactly('*') + return (_G_python_617, self.currentError) + def _G_or_618(): + self._trace('', (10772, 10776), self.input.position) + _G_exactly_619, lastError = self.exactly('*') self.considerError(lastError, None) - self._trace('', (10817, 10821), self.input.position) - _G_apply_618, lastError = self._apply(self.rule_num, "num", []) + self._trace('', (10776, 10780), self.input.position) + _G_apply_620, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - _locals['b'] = _G_apply_618 - self._trace('', (10823, 10830), self.input.position) - _G_apply_619, lastError = self._apply(self.rule_offset, "offset", []) + _locals['b'] = _G_apply_620 + self._trace('', (10782, 10789), self.input.position) + _G_apply_621, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) - _locals['o'] = _G_apply_619 - _G_python_621, lastError = eval(self._G_expr_620, self.globals, _locals), None + _locals['o'] = _G_apply_621 + _G_python_623, lastError = eval(self._G_expr_622, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_621, self.currentError) - _G_or_622, lastError = self._or([_G_or_611, _G_or_616]) + return (_G_python_623, self.currentError) + _G_or_624, lastError = self._or([_G_or_613, _G_or_618]) self.considerError(lastError, 'def_c_pos') - return (_G_or_622, self.currentError) + return (_G_or_624, self.currentError) def rule_def_g_pos(self): _locals = {'self': self} self.locals['def_g_pos'] = _locals - def _G_or_623(): - self._trace('', (10918, 10921), self.input.position) - _G_apply_624, lastError = self._apply(self.rule_num, "num", []) - self.considerError(lastError, None) - return (_G_apply_624, self.currentError) def _G_or_625(): - self._trace('', (10922, 10925), self.input.position) - _G_exactly_626, lastError = self.exactly('?') + self._trace('', (10877, 10880), self.input.position) + _G_apply_626, lastError = self._apply(self.rule_num, "num", []) + self.considerError(lastError, None) + return (_G_apply_626, self.currentError) + def _G_or_627(): + self._trace('', (10881, 10884), self.input.position) + _G_exactly_628, lastError = self.exactly('?') self.considerError(lastError, None) - _G_python_627, lastError = (None), None + _G_python_629, lastError = (None), None self.considerError(lastError, None) - return (_G_python_627, self.currentError) - _G_or_628, lastError = self._or([_G_or_623, _G_or_625]) + return (_G_python_629, self.currentError) + _G_or_630, lastError = self._or([_G_or_625, _G_or_627]) self.considerError(lastError, 'def_g_pos') - _locals['pos'] = _G_or_628 - _G_python_630, lastError = eval(self._G_expr_629, self.globals, _locals), None + _locals['pos'] = _G_or_630 + _G_python_632, lastError = eval(self._G_expr_631, self.globals, _locals), None self.considerError(lastError, 'def_g_pos') - return (_G_python_630, self.currentError) + return (_G_python_632, self.currentError) def rule_def_m_pos(self): _locals = {'self': self} self.locals['def_m_pos'] = _locals - def _G_or_631(): - self._trace('', (10987, 10990), self.input.position) - _G_apply_632, lastError = self._apply(self.rule_num, "num", []) - self.considerError(lastError, None) - return (_G_apply_632, self.currentError) def _G_or_633(): - self._trace('', (10991, 10994), self.input.position) - _G_exactly_634, lastError = self.exactly('?') + self._trace('', (10946, 10949), self.input.position) + _G_apply_634, lastError = self._apply(self.rule_num, "num", []) + self.considerError(lastError, None) + return (_G_apply_634, self.currentError) + def _G_or_635(): + self._trace('', (10950, 10953), self.input.position) + _G_exactly_636, lastError = self.exactly('?') self.considerError(lastError, None) - _G_python_635, lastError = (None), None + _G_python_637, lastError = (None), None self.considerError(lastError, None) - return (_G_python_635, self.currentError) - _G_or_636, lastError = self._or([_G_or_631, _G_or_633]) + return (_G_python_637, self.currentError) + _G_or_638, lastError = self._or([_G_or_633, _G_or_635]) self.considerError(lastError, 'def_m_pos') - _locals['pos'] = _G_or_636 - _G_python_637, lastError = eval(self._G_expr_629, self.globals, _locals), None + _locals['pos'] = _G_or_638 + _G_python_639, lastError = eval(self._G_expr_631, self.globals, _locals), None self.considerError(lastError, 'def_m_pos') - return (_G_python_637, self.currentError) + return (_G_python_639, self.currentError) def rule_def_n_pos(self): _locals = {'self': self} self.locals['def_n_pos'] = _locals - self._trace('', (11054, 11059), self.input.position) - _G_apply_638, lastError = self._apply(self.rule_base, "base", []) + self._trace('', (11013, 11018), self.input.position) + _G_apply_640, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, 'def_n_pos') - _locals['b'] = _G_apply_638 - self._trace('', (11061, 11068), self.input.position) - _G_apply_639, lastError = self._apply(self.rule_offset, "offset", []) + _locals['b'] = _G_apply_640 + self._trace('', (11020, 11027), self.input.position) + _G_apply_641, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, 'def_n_pos') - _locals['o'] = _G_apply_639 - _G_python_641, lastError = eval(self._G_expr_640, self.globals, _locals), None + _locals['o'] = _G_apply_641 + _G_python_643, lastError = eval(self._G_expr_642, self.globals, _locals), None self.considerError(lastError, 'def_n_pos') - return (_G_python_641, self.currentError) + return (_G_python_643, self.currentError) def rule_def_p_pos(self): _locals = {'self': self} self.locals['def_p_pos'] = _locals - def _G_or_642(): - self._trace('', (11158, 11164), self.input.position) - _G_apply_643, lastError = self._apply(self.rule_term13, "term13", []) - self.considerError(lastError, None) - return (_G_apply_643, self.currentError) def _G_or_644(): - self._trace('', (11165, 11169), self.input.position) - _G_apply_645, lastError = self._apply(self.rule_aa13, "aa13", []) + self._trace('', (11117, 11123), self.input.position) + _G_apply_645, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, None) return (_G_apply_645, self.currentError) - _G_or_646, lastError = self._or([_G_or_642, _G_or_644]) + def _G_or_646(): + self._trace('', (11124, 11128), self.input.position) + _G_apply_647, lastError = self._apply(self.rule_aa13, "aa13", []) + self.considerError(lastError, None) + return (_G_apply_647, self.currentError) + _G_or_648, lastError = self._or([_G_or_644, _G_or_646]) self.considerError(lastError, 'def_p_pos') - _locals['aa'] = _G_or_646 - self._trace('', (11173, 11177), self.input.position) - _G_apply_647, lastError = self._apply(self.rule_num, "num", []) + _locals['aa'] = _G_or_648 + self._trace('', (11132, 11136), self.input.position) + _G_apply_649, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, 'def_p_pos') - _locals['pos'] = _G_apply_647 - _G_python_649, lastError = eval(self._G_expr_648, self.globals, _locals), None + _locals['pos'] = _G_apply_649 + _G_python_651, lastError = eval(self._G_expr_650, self.globals, _locals), None self.considerError(lastError, 'def_p_pos') - return (_G_python_649, self.currentError) + return (_G_python_651, self.currentError) def rule_def_r_pos(self): _locals = {'self': self} self.locals['def_r_pos'] = _locals - self._trace('', (11259, 11264), self.input.position) - _G_apply_650, lastError = self._apply(self.rule_base, "base", []) + self._trace('', (11218, 11223), self.input.position) + _G_apply_652, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, 'def_r_pos') - _locals['b'] = _G_apply_650 - self._trace('', (11266, 11273), self.input.position) - _G_apply_651, lastError = self._apply(self.rule_offset, "offset", []) + _locals['b'] = _G_apply_652 + self._trace('', (11225, 11232), self.input.position) + _G_apply_653, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, 'def_r_pos') - _locals['o'] = _G_apply_651 - _G_python_652, lastError = eval(self._G_expr_640, self.globals, _locals), None + _locals['o'] = _G_apply_653 + _G_python_654, lastError = eval(self._G_expr_642, self.globals, _locals), None self.considerError(lastError, 'def_r_pos') - return (_G_python_652, self.currentError) + return (_G_python_654, self.currentError) def rule_fs(self): _locals = {'self': self} self.locals['fs'] = _locals - self._trace('', (11677, 11682), self.input.position) - _G_exactly_653, lastError = self.exactly('fs') + self._trace('', (11636, 11641), self.input.position) + _G_exactly_655, lastError = self.exactly('fs') self.considerError(lastError, 'fs') - def _G_or_654(): - self._trace('', (11684, 11691), self.input.position) - _G_apply_655, lastError = self._apply(self.rule_aa13_fs, "aa13_fs", []) - self.considerError(lastError, None) - return (_G_apply_655, self.currentError) def _G_or_656(): - _G_python_657, lastError = (None), None + self._trace('', (11643, 11650), self.input.position) + _G_apply_657, lastError = self._apply(self.rule_aa13_fs, "aa13_fs", []) + self.considerError(lastError, None) + return (_G_apply_657, self.currentError) + def _G_or_658(): + _G_python_659, lastError = (None), None self.considerError(lastError, None) - return (_G_python_657, self.currentError) - _G_or_658, lastError = self._or([_G_or_654, _G_or_656]) + return (_G_python_659, self.currentError) + _G_or_660, lastError = self._or([_G_or_656, _G_or_658]) self.considerError(lastError, 'fs') - _locals['n'] = _G_or_658 - _G_python_660, lastError = eval(self._G_expr_659, self.globals, _locals), None + _locals['n'] = _G_or_660 + _G_python_662, lastError = eval(self._G_expr_661, self.globals, _locals), None self.considerError(lastError, 'fs') - return (_G_python_660, self.currentError) + return (_G_python_662, self.currentError) def rule_ext(self): _locals = {'self': self} self.locals['ext'] = _locals - self._trace('', (11715, 11721), self.input.position) - _G_exactly_661, lastError = self.exactly('ext') + self._trace('', (11674, 11680), self.input.position) + _G_exactly_663, lastError = self.exactly('ext') self.considerError(lastError, 'ext') - def _G_or_662(): - self._trace('', (11723, 11731), self.input.position) - _G_apply_663, lastError = self._apply(self.rule_aa13_ext, "aa13_ext", []) - self.considerError(lastError, None) - return (_G_apply_663, self.currentError) def _G_or_664(): - _G_python_665, lastError = ((None, None)), None + self._trace('', (11682, 11690), self.input.position) + _G_apply_665, lastError = self._apply(self.rule_aa13_ext, "aa13_ext", []) + self.considerError(lastError, None) + return (_G_apply_665, self.currentError) + def _G_or_666(): + _G_python_667, lastError = ((None, None)), None self.considerError(lastError, None) - return (_G_python_665, self.currentError) - _G_or_666, lastError = self._or([_G_or_662, _G_or_664]) + return (_G_python_667, self.currentError) + _G_or_668, lastError = self._or([_G_or_664, _G_or_666]) self.considerError(lastError, 'ext') - _locals['aat'] = _G_or_666[0] - _locals['n'] = _G_or_666[1] - _G_python_668, lastError = eval(self._G_expr_667, self.globals, _locals), None + _locals['aat'] = _G_or_668[0] + _locals['n'] = _G_or_668[1] + _G_python_670, lastError = eval(self._G_expr_669, self.globals, _locals), None self.considerError(lastError, 'ext') - return (_G_python_668, self.currentError) + return (_G_python_670, self.currentError) def rule_aa13_fs(self): _locals = {'self': self} self.locals['aa13_fs'] = _locals - self._trace('', (11781, 11788), self.input.position) - _G_apply_669, lastError = self._apply(self.rule_term13, "term13", []) + self._trace('', (11740, 11747), self.input.position) + _G_apply_671, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, 'aa13_fs') - self._trace('', (11788, 11801), self.input.position) - _G_apply_670, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) + self._trace('', (11747, 11760), self.input.position) + _G_apply_672, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) self.considerError(lastError, 'aa13_fs') - _locals['n'] = _G_apply_670 - _G_python_671, lastError = eval(self._G_expr_659, self.globals, _locals), None + _locals['n'] = _G_apply_672 + _G_python_673, lastError = eval(self._G_expr_661, self.globals, _locals), None self.considerError(lastError, 'aa13_fs') - return (_G_python_671, self.currentError) + return (_G_python_673, self.currentError) def rule_aa13_ext(self): _locals = {'self': self} self.locals['aa13_ext'] = _locals - def _G_or_672(): - self._trace('', (11819, 11826), self.input.position) - _G_apply_673, lastError = self._apply(self.rule_term13, "term13", []) - self.considerError(lastError, None) - _locals['aat'] = _G_apply_673 - self._trace('', (11830, 11843), self.input.position) - _G_apply_674, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) - self.considerError(lastError, None) - _locals['n'] = _G_apply_674 - _G_python_675, lastError = eval(self._G_expr_667, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_675, self.currentError) - def _G_or_676(): - def _G_or_677(): - self._trace('', (11870, 11874), self.input.position) - _G_apply_678, lastError = self._apply(self.rule_aa13, "aa13", []) - self.considerError(lastError, None) - return (_G_apply_678, self.currentError) + def _G_or_674(): + self._trace('', (11778, 11785), self.input.position) + _G_apply_675, lastError = self._apply(self.rule_term13, "term13", []) + self.considerError(lastError, None) + _locals['aat'] = _G_apply_675 + self._trace('', (11789, 11802), self.input.position) + _G_apply_676, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) + self.considerError(lastError, None) + _locals['n'] = _G_apply_676 + _G_python_677, lastError = eval(self._G_expr_669, self.globals, _locals), None + self.considerError(lastError, None) + return (_G_python_677, self.currentError) + def _G_or_678(): def _G_or_679(): - _G_python_680, lastError = (None), None + self._trace('', (11829, 11833), self.input.position) + _G_apply_680, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) - return (_G_python_680, self.currentError) - _G_or_681, lastError = self._or([_G_or_677, _G_or_679]) + return (_G_apply_680, self.currentError) + def _G_or_681(): + _G_python_682, lastError = (None), None + self.considerError(lastError, None) + return (_G_python_682, self.currentError) + _G_or_683, lastError = self._or([_G_or_679, _G_or_681]) self.considerError(lastError, None) - _locals['aat'] = _G_or_681 - self._trace('', (11891, 11896), self.input.position) - _G_apply_682, lastError = self._apply(self.rule_nnum, "nnum", []) + _locals['aat'] = _G_or_683 + self._trace('', (11850, 11855), self.input.position) + _G_apply_684, lastError = self._apply(self.rule_nnum, "nnum", []) self.considerError(lastError, None) - _locals['n'] = _G_apply_682 - _G_python_683, lastError = eval(self._G_expr_667, self.globals, _locals), None + _locals['n'] = _G_apply_684 + _G_python_685, lastError = eval(self._G_expr_669, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_683, self.currentError) - _G_or_684, lastError = self._or([_G_or_672, _G_or_676]) + return (_G_python_685, self.currentError) + _G_or_686, lastError = self._or([_G_or_674, _G_or_678]) self.considerError(lastError, 'aa13_ext') - return (_G_or_684, self.currentError) + return (_G_or_686, self.currentError) def rule_fsext_offset(self): _locals = {'self': self} self.locals['fsext_offset'] = _locals - def _G_or_685(): - self._trace('', (11925, 11929), self.input.position) - _G_apply_686, lastError = self._apply(self.rule_num, "num", []) - self.considerError(lastError, None) - return (_G_apply_686, self.currentError) def _G_or_687(): - self._trace('', (11930, 11933), self.input.position) - _G_exactly_688, lastError = self.exactly('?') + self._trace('', (11884, 11888), self.input.position) + _G_apply_688, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_exactly_688, self.currentError) + return (_G_apply_688, self.currentError) def _G_or_689(): - _G_python_690, lastError = (None), None + self._trace('', (11889, 11892), self.input.position) + _G_exactly_690, lastError = self.exactly('?') self.considerError(lastError, None) - return (_G_python_690, self.currentError) - _G_or_691, lastError = self._or([_G_or_685, _G_or_687, _G_or_689]) + return (_G_exactly_690, self.currentError) + def _G_or_691(): + _G_python_692, lastError = (None), None + self.considerError(lastError, None) + return (_G_python_692, self.currentError) + _G_or_693, lastError = self._or([_G_or_687, _G_or_689, _G_or_691]) self.considerError(lastError, 'fsext_offset') - return (_G_or_691, self.currentError) + return (_G_or_693, self.currentError) def rule_dna_seq(self): _locals = {'self': self} self.locals['dna_seq'] = _locals - def _G_consumedby_692(): - def _G_many1_693(): - self._trace('', (11978, 11981), self.input.position) - _G_apply_694, lastError = self._apply(self.rule_dna, "dna", []) + def _G_consumedby_694(): + def _G_many1_695(): + self._trace('', (11937, 11940), self.input.position) + _G_apply_696, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) - return (_G_apply_694, self.currentError) - _G_many1_695, lastError = self.many(_G_many1_693, _G_many1_693()) + return (_G_apply_696, self.currentError) + _G_many1_697, lastError = self.many(_G_many1_695, _G_many1_695()) self.considerError(lastError, None) - return (_G_many1_695, self.currentError) - _G_consumedby_696, lastError = self.consumedby(_G_consumedby_692) + return (_G_many1_697, self.currentError) + _G_consumedby_698, lastError = self.consumedby(_G_consumedby_694) self.considerError(lastError, 'dna_seq') - return (_G_consumedby_696, self.currentError) + return (_G_consumedby_698, self.currentError) def rule_rna_seq(self): _locals = {'self': self} self.locals['rna_seq'] = _locals - def _G_consumedby_697(): - def _G_many1_698(): - self._trace('', (11995, 11998), self.input.position) - _G_apply_699, lastError = self._apply(self.rule_rna, "rna", []) + def _G_consumedby_699(): + def _G_many1_700(): + self._trace('', (11954, 11957), self.input.position) + _G_apply_701, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) - return (_G_apply_699, self.currentError) - _G_many1_700, lastError = self.many(_G_many1_698, _G_many1_698()) + return (_G_apply_701, self.currentError) + _G_many1_702, lastError = self.many(_G_many1_700, _G_many1_700()) self.considerError(lastError, None) - return (_G_many1_700, self.currentError) - _G_consumedby_701, lastError = self.consumedby(_G_consumedby_697) + return (_G_many1_702, self.currentError) + _G_consumedby_703, lastError = self.consumedby(_G_consumedby_699) self.considerError(lastError, 'rna_seq') - return (_G_consumedby_701, self.currentError) + return (_G_consumedby_703, self.currentError) def rule_aat13_seq(self): _locals = {'self': self} self.locals['aat13_seq'] = _locals - def _G_or_702(): - def _G_consumedby_703(): - self._trace('', (12014, 12022), self.input.position) - _G_apply_704, lastError = self._apply(self.rule_aat3_seq, "aat3_seq", []) + def _G_or_704(): + def _G_consumedby_705(): + self._trace('', (11973, 11981), self.input.position) + _G_apply_706, lastError = self._apply(self.rule_aat3_seq, "aat3_seq", []) self.considerError(lastError, None) - return (_G_apply_704, self.currentError) - _G_consumedby_705, lastError = self.consumedby(_G_consumedby_703) - self.considerError(lastError, None) - return (_G_consumedby_705, self.currentError) - def _G_or_706(): - def _G_consumedby_707(): - self._trace('', (12027, 12035), self.input.position) - _G_apply_708, lastError = self._apply(self.rule_aat1_seq, "aat1_seq", []) + return (_G_apply_706, self.currentError) + _G_consumedby_707, lastError = self.consumedby(_G_consumedby_705) + self.considerError(lastError, None) + return (_G_consumedby_707, self.currentError) + def _G_or_708(): + def _G_consumedby_709(): + self._trace('', (11986, 11994), self.input.position) + _G_apply_710, lastError = self._apply(self.rule_aat1_seq, "aat1_seq", []) self.considerError(lastError, None) - return (_G_apply_708, self.currentError) - _G_consumedby_709, lastError = self.consumedby(_G_consumedby_707) + return (_G_apply_710, self.currentError) + _G_consumedby_711, lastError = self.consumedby(_G_consumedby_709) self.considerError(lastError, None) - return (_G_consumedby_709, self.currentError) - _G_or_710, lastError = self._or([_G_or_702, _G_or_706]) + return (_G_consumedby_711, self.currentError) + _G_or_712, lastError = self._or([_G_or_704, _G_or_708]) self.considerError(lastError, 'aat13_seq') - return (_G_or_710, self.currentError) + return (_G_or_712, self.currentError) def rule_aat1_seq(self): _locals = {'self': self} self.locals['aat1_seq'] = _locals - def _G_or_711(): - def _G_consumedby_712(): - self._trace('', (12049, 12054), self.input.position) - _G_apply_713, lastError = self._apply(self.rule_term1, "term1", []) + def _G_or_713(): + def _G_consumedby_714(): + self._trace('', (12008, 12013), self.input.position) + _G_apply_715, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) - return (_G_apply_713, self.currentError) - _G_consumedby_714, lastError = self.consumedby(_G_consumedby_712) - self.considerError(lastError, None) - return (_G_consumedby_714, self.currentError) - def _G_or_715(): - def _G_consumedby_716(): - def _G_many1_717(): - self._trace('', (12059, 12062), self.input.position) - _G_apply_718, lastError = self._apply(self.rule_aa1, "aa1", []) + return (_G_apply_715, self.currentError) + _G_consumedby_716, lastError = self.consumedby(_G_consumedby_714) + self.considerError(lastError, None) + return (_G_consumedby_716, self.currentError) + def _G_or_717(): + def _G_consumedby_718(): + def _G_many1_719(): + self._trace('', (12018, 12021), self.input.position) + _G_apply_720, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) - return (_G_apply_718, self.currentError) - _G_many1_719, lastError = self.many(_G_many1_717, _G_many1_717()) + return (_G_apply_720, self.currentError) + _G_many1_721, lastError = self.many(_G_many1_719, _G_many1_719()) self.considerError(lastError, None) - def _G_optional_720(): - self._trace('', (12063, 12069), self.input.position) - _G_apply_721, lastError = self._apply(self.rule_term1, "term1", []) - self.considerError(lastError, None) - return (_G_apply_721, self.currentError) def _G_optional_722(): + self._trace('', (12022, 12028), self.input.position) + _G_apply_723, lastError = self._apply(self.rule_term1, "term1", []) + self.considerError(lastError, None) + return (_G_apply_723, self.currentError) + def _G_optional_724(): return (None, self.input.nullError()) - _G_or_723, lastError = self._or([_G_optional_720, _G_optional_722]) + _G_or_725, lastError = self._or([_G_optional_722, _G_optional_724]) self.considerError(lastError, None) - return (_G_or_723, self.currentError) - _G_consumedby_724, lastError = self.consumedby(_G_consumedby_716) + return (_G_or_725, self.currentError) + _G_consumedby_726, lastError = self.consumedby(_G_consumedby_718) self.considerError(lastError, None) - return (_G_consumedby_724, self.currentError) - _G_or_725, lastError = self._or([_G_or_711, _G_or_715]) + return (_G_consumedby_726, self.currentError) + _G_or_727, lastError = self._or([_G_or_713, _G_or_717]) self.considerError(lastError, 'aat1_seq') - return (_G_or_725, self.currentError) + return (_G_or_727, self.currentError) def rule_aat3_seq(self): _locals = {'self': self} self.locals['aat3_seq'] = _locals - def _G_or_726(): - def _G_consumedby_727(): - self._trace('', (12084, 12089), self.input.position) - _G_apply_728, lastError = self._apply(self.rule_term3, "term3", []) + def _G_or_728(): + def _G_consumedby_729(): + self._trace('', (12043, 12048), self.input.position) + _G_apply_730, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) - return (_G_apply_728, self.currentError) - _G_consumedby_729, lastError = self.consumedby(_G_consumedby_727) - self.considerError(lastError, None) - return (_G_consumedby_729, self.currentError) - def _G_or_730(): - def _G_consumedby_731(): - def _G_many1_732(): - self._trace('', (12094, 12097), self.input.position) - _G_apply_733, lastError = self._apply(self.rule_aa3, "aa3", []) + return (_G_apply_730, self.currentError) + _G_consumedby_731, lastError = self.consumedby(_G_consumedby_729) + self.considerError(lastError, None) + return (_G_consumedby_731, self.currentError) + def _G_or_732(): + def _G_consumedby_733(): + def _G_many1_734(): + self._trace('', (12053, 12056), self.input.position) + _G_apply_735, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) - return (_G_apply_733, self.currentError) - _G_many1_734, lastError = self.many(_G_many1_732, _G_many1_732()) + return (_G_apply_735, self.currentError) + _G_many1_736, lastError = self.many(_G_many1_734, _G_many1_734()) self.considerError(lastError, None) - def _G_optional_735(): - self._trace('', (12098, 12104), self.input.position) - _G_apply_736, lastError = self._apply(self.rule_term3, "term3", []) - self.considerError(lastError, None) - return (_G_apply_736, self.currentError) def _G_optional_737(): + self._trace('', (12057, 12063), self.input.position) + _G_apply_738, lastError = self._apply(self.rule_term3, "term3", []) + self.considerError(lastError, None) + return (_G_apply_738, self.currentError) + def _G_optional_739(): return (None, self.input.nullError()) - _G_or_738, lastError = self._or([_G_optional_735, _G_optional_737]) + _G_or_740, lastError = self._or([_G_optional_737, _G_optional_739]) self.considerError(lastError, None) - return (_G_or_738, self.currentError) - _G_consumedby_739, lastError = self.consumedby(_G_consumedby_731) + return (_G_or_740, self.currentError) + _G_consumedby_741, lastError = self.consumedby(_G_consumedby_733) self.considerError(lastError, None) - return (_G_consumedby_739, self.currentError) - _G_or_740, lastError = self._or([_G_or_726, _G_or_730]) + return (_G_consumedby_741, self.currentError) + _G_or_742, lastError = self._or([_G_or_728, _G_or_732]) self.considerError(lastError, 'aat3_seq') - return (_G_or_740, self.currentError) + return (_G_or_742, self.currentError) def rule_aa13_seq(self): _locals = {'self': self} self.locals['aa13_seq'] = _locals - def _G_or_741(): - def _G_consumedby_742(): - self._trace('', (12119, 12126), self.input.position) - _G_apply_743, lastError = self._apply(self.rule_aa3_seq, "aa3_seq", []) + def _G_or_743(): + def _G_consumedby_744(): + self._trace('', (12078, 12085), self.input.position) + _G_apply_745, lastError = self._apply(self.rule_aa3_seq, "aa3_seq", []) self.considerError(lastError, None) - return (_G_apply_743, self.currentError) - _G_consumedby_744, lastError = self.consumedby(_G_consumedby_742) - self.considerError(lastError, None) - return (_G_consumedby_744, self.currentError) - def _G_or_745(): - def _G_consumedby_746(): - self._trace('', (12131, 12138), self.input.position) - _G_apply_747, lastError = self._apply(self.rule_aa1_seq, "aa1_seq", []) + return (_G_apply_745, self.currentError) + _G_consumedby_746, lastError = self.consumedby(_G_consumedby_744) + self.considerError(lastError, None) + return (_G_consumedby_746, self.currentError) + def _G_or_747(): + def _G_consumedby_748(): + self._trace('', (12090, 12097), self.input.position) + _G_apply_749, lastError = self._apply(self.rule_aa1_seq, "aa1_seq", []) self.considerError(lastError, None) - return (_G_apply_747, self.currentError) - _G_consumedby_748, lastError = self.consumedby(_G_consumedby_746) + return (_G_apply_749, self.currentError) + _G_consumedby_750, lastError = self.consumedby(_G_consumedby_748) self.considerError(lastError, None) - return (_G_consumedby_748, self.currentError) - _G_or_749, lastError = self._or([_G_or_741, _G_or_745]) + return (_G_consumedby_750, self.currentError) + _G_or_751, lastError = self._or([_G_or_743, _G_or_747]) self.considerError(lastError, 'aa13_seq') - return (_G_or_749, self.currentError) + return (_G_or_751, self.currentError) def rule_aa1_seq(self): _locals = {'self': self} self.locals['aa1_seq'] = _locals - def _G_consumedby_750(): - def _G_many1_751(): - self._trace('', (12151, 12154), self.input.position) - _G_apply_752, lastError = self._apply(self.rule_aa1, "aa1", []) + def _G_consumedby_752(): + def _G_many1_753(): + self._trace('', (12110, 12113), self.input.position) + _G_apply_754, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) - return (_G_apply_752, self.currentError) - _G_many1_753, lastError = self.many(_G_many1_751, _G_many1_751()) + return (_G_apply_754, self.currentError) + _G_many1_755, lastError = self.many(_G_many1_753, _G_many1_753()) self.considerError(lastError, None) - return (_G_many1_753, self.currentError) - _G_consumedby_754, lastError = self.consumedby(_G_consumedby_750) + return (_G_many1_755, self.currentError) + _G_consumedby_756, lastError = self.consumedby(_G_consumedby_752) self.considerError(lastError, 'aa1_seq') - return (_G_consumedby_754, self.currentError) + return (_G_consumedby_756, self.currentError) def rule_aa3_seq(self): _locals = {'self': self} self.locals['aa3_seq'] = _locals - def _G_consumedby_755(): - def _G_many1_756(): - self._trace('', (12168, 12171), self.input.position) - _G_apply_757, lastError = self._apply(self.rule_aa3, "aa3", []) + def _G_consumedby_757(): + def _G_many1_758(): + self._trace('', (12127, 12130), self.input.position) + _G_apply_759, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) - return (_G_apply_757, self.currentError) - _G_many1_758, lastError = self.many(_G_many1_756, _G_many1_756()) + return (_G_apply_759, self.currentError) + _G_many1_760, lastError = self.many(_G_many1_758, _G_many1_758()) self.considerError(lastError, None) - return (_G_many1_758, self.currentError) - _G_consumedby_759, lastError = self.consumedby(_G_consumedby_755) + return (_G_many1_760, self.currentError) + _G_consumedby_761, lastError = self.consumedby(_G_consumedby_757) self.considerError(lastError, 'aa3_seq') - return (_G_consumedby_759, self.currentError) + return (_G_consumedby_761, self.currentError) def rule_aa1(self): _locals = {'self': self} self.locals['aa1'] = _locals - _G_apply_760, lastError = self._apply(self.rule_anything, "anything", []) + _G_apply_762, lastError = self._apply(self.rule_anything, "anything", []) self.considerError(lastError, 'aa1') - _locals['x'] = _G_apply_760 - def _G_pred_761(): - _G_python_763, lastError = eval(self._G_expr_762, self.globals, _locals), None + _locals['x'] = _G_apply_762 + def _G_pred_763(): + _G_python_765, lastError = eval(self._G_expr_764, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_763, self.currentError) - _G_pred_764, lastError = self.pred(_G_pred_761) + return (_G_python_765, self.currentError) + _G_pred_766, lastError = self.pred(_G_pred_763) self.considerError(lastError, 'aa1') - _G_python_766, lastError = eval(self._G_expr_765, self.globals, _locals), None + _G_python_768, lastError = eval(self._G_expr_767, self.globals, _locals), None self.considerError(lastError, 'aa1') - return (_G_python_766, self.currentError) + return (_G_python_768, self.currentError) def rule_aa13(self): _locals = {'self': self} self.locals['aa13'] = _locals - def _G_or_767(): - self._trace('', (12252, 12256), self.input.position) - _G_apply_768, lastError = self._apply(self.rule_aa3, "aa3", []) - self.considerError(lastError, None) - return (_G_apply_768, self.currentError) def _G_or_769(): - self._trace('', (12258, 12262), self.input.position) - _G_apply_770, lastError = self._apply(self.rule_aa1, "aa1", []) + self._trace('', (12211, 12215), self.input.position) + _G_apply_770, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_770, self.currentError) - _G_or_771, lastError = self._or([_G_or_767, _G_or_769]) + def _G_or_771(): + self._trace('', (12217, 12221), self.input.position) + _G_apply_772, lastError = self._apply(self.rule_aa1, "aa1", []) + self.considerError(lastError, None) + return (_G_apply_772, self.currentError) + _G_or_773, lastError = self._or([_G_or_769, _G_or_771]) self.considerError(lastError, 'aa13') - return (_G_or_771, self.currentError) + return (_G_or_773, self.currentError) def rule_aa3(self): _locals = {'self': self} self.locals['aa3'] = _locals - def _G_or_772(): - self._trace('', (12268, 12274), self.input.position) - _G_exactly_773, lastError = self.exactly('Ala') - self.considerError(lastError, None) - return (_G_exactly_773, self.currentError) def _G_or_774(): - self._trace('', (12275, 12280), self.input.position) - _G_exactly_775, lastError = self.exactly('Cys') + self._trace('', (12227, 12233), self.input.position) + _G_exactly_775, lastError = self.exactly('Ala') self.considerError(lastError, None) return (_G_exactly_775, self.currentError) def _G_or_776(): - self._trace('', (12281, 12286), self.input.position) - _G_exactly_777, lastError = self.exactly('Asp') + self._trace('', (12234, 12239), self.input.position) + _G_exactly_777, lastError = self.exactly('Cys') self.considerError(lastError, None) return (_G_exactly_777, self.currentError) def _G_or_778(): - self._trace('', (12287, 12292), self.input.position) - _G_exactly_779, lastError = self.exactly('Glu') + self._trace('', (12240, 12245), self.input.position) + _G_exactly_779, lastError = self.exactly('Asp') self.considerError(lastError, None) return (_G_exactly_779, self.currentError) def _G_or_780(): - self._trace('', (12293, 12298), self.input.position) - _G_exactly_781, lastError = self.exactly('Phe') + self._trace('', (12246, 12251), self.input.position) + _G_exactly_781, lastError = self.exactly('Glu') self.considerError(lastError, None) return (_G_exactly_781, self.currentError) def _G_or_782(): - self._trace('', (12299, 12304), self.input.position) - _G_exactly_783, lastError = self.exactly('Gly') + self._trace('', (12252, 12257), self.input.position) + _G_exactly_783, lastError = self.exactly('Phe') self.considerError(lastError, None) return (_G_exactly_783, self.currentError) def _G_or_784(): - self._trace('', (12305, 12310), self.input.position) - _G_exactly_785, lastError = self.exactly('His') + self._trace('', (12258, 12263), self.input.position) + _G_exactly_785, lastError = self.exactly('Gly') self.considerError(lastError, None) return (_G_exactly_785, self.currentError) def _G_or_786(): - self._trace('', (12311, 12316), self.input.position) - _G_exactly_787, lastError = self.exactly('Ile') + self._trace('', (12264, 12269), self.input.position) + _G_exactly_787, lastError = self.exactly('His') self.considerError(lastError, None) return (_G_exactly_787, self.currentError) def _G_or_788(): - self._trace('', (12317, 12322), self.input.position) - _G_exactly_789, lastError = self.exactly('Lys') + self._trace('', (12270, 12275), self.input.position) + _G_exactly_789, lastError = self.exactly('Ile') self.considerError(lastError, None) return (_G_exactly_789, self.currentError) def _G_or_790(): - self._trace('', (12323, 12328), self.input.position) - _G_exactly_791, lastError = self.exactly('Leu') + self._trace('', (12276, 12281), self.input.position) + _G_exactly_791, lastError = self.exactly('Lys') self.considerError(lastError, None) return (_G_exactly_791, self.currentError) def _G_or_792(): - self._trace('', (12329, 12334), self.input.position) - _G_exactly_793, lastError = self.exactly('Met') + self._trace('', (12282, 12287), self.input.position) + _G_exactly_793, lastError = self.exactly('Leu') self.considerError(lastError, None) return (_G_exactly_793, self.currentError) def _G_or_794(): - self._trace('', (12335, 12340), self.input.position) - _G_exactly_795, lastError = self.exactly('Asn') + self._trace('', (12288, 12293), self.input.position) + _G_exactly_795, lastError = self.exactly('Met') self.considerError(lastError, None) return (_G_exactly_795, self.currentError) def _G_or_796(): - self._trace('', (12341, 12346), self.input.position) - _G_exactly_797, lastError = self.exactly('Pro') + self._trace('', (12294, 12299), self.input.position) + _G_exactly_797, lastError = self.exactly('Asn') self.considerError(lastError, None) return (_G_exactly_797, self.currentError) def _G_or_798(): - self._trace('', (12347, 12352), self.input.position) - _G_exactly_799, lastError = self.exactly('Gln') + self._trace('', (12300, 12305), self.input.position) + _G_exactly_799, lastError = self.exactly('Pro') self.considerError(lastError, None) return (_G_exactly_799, self.currentError) def _G_or_800(): - self._trace('', (12353, 12358), self.input.position) - _G_exactly_801, lastError = self.exactly('Arg') + self._trace('', (12306, 12311), self.input.position) + _G_exactly_801, lastError = self.exactly('Gln') self.considerError(lastError, None) return (_G_exactly_801, self.currentError) def _G_or_802(): - self._trace('', (12359, 12364), self.input.position) - _G_exactly_803, lastError = self.exactly('Ser') + self._trace('', (12312, 12317), self.input.position) + _G_exactly_803, lastError = self.exactly('Arg') self.considerError(lastError, None) return (_G_exactly_803, self.currentError) def _G_or_804(): - self._trace('', (12365, 12370), self.input.position) - _G_exactly_805, lastError = self.exactly('Thr') + self._trace('', (12318, 12323), self.input.position) + _G_exactly_805, lastError = self.exactly('Ser') self.considerError(lastError, None) return (_G_exactly_805, self.currentError) def _G_or_806(): - self._trace('', (12371, 12376), self.input.position) - _G_exactly_807, lastError = self.exactly('Val') + self._trace('', (12324, 12329), self.input.position) + _G_exactly_807, lastError = self.exactly('Thr') self.considerError(lastError, None) return (_G_exactly_807, self.currentError) def _G_or_808(): - self._trace('', (12377, 12382), self.input.position) - _G_exactly_809, lastError = self.exactly('Trp') + self._trace('', (12330, 12335), self.input.position) + _G_exactly_809, lastError = self.exactly('Val') self.considerError(lastError, None) return (_G_exactly_809, self.currentError) def _G_or_810(): - self._trace('', (12383, 12388), self.input.position) - _G_exactly_811, lastError = self.exactly('Tyr') + self._trace('', (12336, 12341), self.input.position) + _G_exactly_811, lastError = self.exactly('Trp') self.considerError(lastError, None) return (_G_exactly_811, self.currentError) def _G_or_812(): - self._trace('', (12390, 12396), self.input.position) - _G_exactly_813, lastError = self.exactly('Asx') + self._trace('', (12342, 12347), self.input.position) + _G_exactly_813, lastError = self.exactly('Tyr') self.considerError(lastError, None) return (_G_exactly_813, self.currentError) def _G_or_814(): - self._trace('', (12398, 12404), self.input.position) - _G_exactly_815, lastError = self.exactly('Glx') + self._trace('', (12349, 12355), self.input.position) + _G_exactly_815, lastError = self.exactly('Asx') self.considerError(lastError, None) return (_G_exactly_815, self.currentError) def _G_or_816(): - self._trace('', (12406, 12412), self.input.position) - _G_exactly_817, lastError = self.exactly('Xaa') + self._trace('', (12357, 12363), self.input.position) + _G_exactly_817, lastError = self.exactly('Glx') self.considerError(lastError, None) return (_G_exactly_817, self.currentError) def _G_or_818(): - self._trace('', (12414, 12420), self.input.position) - _G_exactly_819, lastError = self.exactly('Sec') + self._trace('', (12365, 12371), self.input.position) + _G_exactly_819, lastError = self.exactly('Xaa') self.considerError(lastError, None) return (_G_exactly_819, self.currentError) - _G_or_820, lastError = self._or([_G_or_772, _G_or_774, _G_or_776, _G_or_778, _G_or_780, _G_or_782, _G_or_784, _G_or_786, _G_or_788, _G_or_790, _G_or_792, _G_or_794, _G_or_796, _G_or_798, _G_or_800, _G_or_802, _G_or_804, _G_or_806, _G_or_808, _G_or_810, _G_or_812, _G_or_814, _G_or_816, _G_or_818]) + def _G_or_820(): + self._trace('', (12373, 12379), self.input.position) + _G_exactly_821, lastError = self.exactly('Sec') + self.considerError(lastError, None) + return (_G_exactly_821, self.currentError) + _G_or_822, lastError = self._or([_G_or_774, _G_or_776, _G_or_778, _G_or_780, _G_or_782, _G_or_784, _G_or_786, _G_or_788, _G_or_790, _G_or_792, _G_or_794, _G_or_796, _G_or_798, _G_or_800, _G_or_802, _G_or_804, _G_or_806, _G_or_808, _G_or_810, _G_or_812, _G_or_814, _G_or_816, _G_or_818, _G_or_820]) self.considerError(lastError, 'aa3') - return (_G_or_820, self.currentError) + return (_G_or_822, self.currentError) def rule_aat1(self): _locals = {'self': self} self.locals['aat1'] = _locals - def _G_or_821(): - self._trace('', (12427, 12433), self.input.position) - _G_apply_822, lastError = self._apply(self.rule_term1, "term1", []) - self.considerError(lastError, None) - return (_G_apply_822, self.currentError) def _G_or_823(): - self._trace('', (12435, 12439), self.input.position) - _G_apply_824, lastError = self._apply(self.rule_aa1, "aa1", []) + self._trace('', (12386, 12392), self.input.position) + _G_apply_824, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_824, self.currentError) - _G_or_825, lastError = self._or([_G_or_821, _G_or_823]) + def _G_or_825(): + self._trace('', (12394, 12398), self.input.position) + _G_apply_826, lastError = self._apply(self.rule_aa1, "aa1", []) + self.considerError(lastError, None) + return (_G_apply_826, self.currentError) + _G_or_827, lastError = self._or([_G_or_823, _G_or_825]) self.considerError(lastError, 'aat1') - return (_G_or_825, self.currentError) + return (_G_or_827, self.currentError) def rule_aat13(self): _locals = {'self': self} self.locals['aat13'] = _locals - def _G_or_826(): - self._trace('', (12447, 12452), self.input.position) - _G_apply_827, lastError = self._apply(self.rule_aat3, "aat3", []) - self.considerError(lastError, None) - return (_G_apply_827, self.currentError) def _G_or_828(): - self._trace('', (12454, 12459), self.input.position) - _G_apply_829, lastError = self._apply(self.rule_aat1, "aat1", []) + self._trace('', (12406, 12411), self.input.position) + _G_apply_829, lastError = self._apply(self.rule_aat3, "aat3", []) self.considerError(lastError, None) return (_G_apply_829, self.currentError) - _G_or_830, lastError = self._or([_G_or_826, _G_or_828]) + def _G_or_830(): + self._trace('', (12413, 12418), self.input.position) + _G_apply_831, lastError = self._apply(self.rule_aat1, "aat1", []) + self.considerError(lastError, None) + return (_G_apply_831, self.currentError) + _G_or_832, lastError = self._or([_G_or_828, _G_or_830]) self.considerError(lastError, 'aat13') - return (_G_or_830, self.currentError) + return (_G_or_832, self.currentError) def rule_aat3(self): _locals = {'self': self} self.locals['aat3'] = _locals - def _G_or_831(): - self._trace('', (12466, 12472), self.input.position) - _G_apply_832, lastError = self._apply(self.rule_term3, "term3", []) - self.considerError(lastError, None) - return (_G_apply_832, self.currentError) def _G_or_833(): - self._trace('', (12474, 12478), self.input.position) - _G_apply_834, lastError = self._apply(self.rule_aa3, "aa3", []) + self._trace('', (12425, 12431), self.input.position) + _G_apply_834, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_834, self.currentError) - _G_or_835, lastError = self._or([_G_or_831, _G_or_833]) + def _G_or_835(): + self._trace('', (12433, 12437), self.input.position) + _G_apply_836, lastError = self._apply(self.rule_aa3, "aa3", []) + self.considerError(lastError, None) + return (_G_apply_836, self.currentError) + _G_or_837, lastError = self._or([_G_or_833, _G_or_835]) self.considerError(lastError, 'aat3') - return (_G_or_835, self.currentError) + return (_G_or_837, self.currentError) def rule_dna(self): _locals = {'self': self} self.locals['dna'] = _locals - self._trace('', (12484, 12494), self.input.position) - _G_apply_836, lastError = self._apply(self.rule_dna_iupac, "dna_iupac", []) + self._trace('', (12443, 12453), self.input.position) + _G_apply_838, lastError = self._apply(self.rule_dna_iupac, "dna_iupac", []) self.considerError(lastError, 'dna') - return (_G_apply_836, self.currentError) + return (_G_apply_838, self.currentError) def rule_dna_iupac(self): _locals = {'self': self} self.locals['dna_iupac'] = _locals - _G_apply_837, lastError = self._apply(self.rule_anything, "anything", []) + _G_apply_839, lastError = self._apply(self.rule_anything, "anything", []) self.considerError(lastError, 'dna_iupac') - _locals['x'] = _G_apply_837 - def _G_pred_838(): - _G_python_840, lastError = eval(self._G_expr_839, self.globals, _locals), None + _locals['x'] = _G_apply_839 + def _G_pred_840(): + _G_python_842, lastError = eval(self._G_expr_841, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_840, self.currentError) - _G_pred_841, lastError = self.pred(_G_pred_838) + return (_G_python_842, self.currentError) + _G_pred_843, lastError = self.pred(_G_pred_840) self.considerError(lastError, 'dna_iupac') - _G_python_842, lastError = eval(self._G_expr_765, self.globals, _locals), None + _G_python_844, lastError = eval(self._G_expr_767, self.globals, _locals), None self.considerError(lastError, 'dna_iupac') - return (_G_python_842, self.currentError) + return (_G_python_844, self.currentError) def rule_na_iupac(self): _locals = {'self': self} self.locals['na_iupac'] = _locals - _G_apply_843, lastError = self._apply(self.rule_anything, "anything", []) + _G_apply_845, lastError = self._apply(self.rule_anything, "anything", []) self.considerError(lastError, 'na_iupac') - _locals['x'] = _G_apply_843 - def _G_pred_844(): - _G_python_846, lastError = eval(self._G_expr_845, self.globals, _locals), None + _locals['x'] = _G_apply_845 + def _G_pred_846(): + _G_python_848, lastError = eval(self._G_expr_847, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_846, self.currentError) - _G_pred_847, lastError = self.pred(_G_pred_844) + return (_G_python_848, self.currentError) + _G_pred_849, lastError = self.pred(_G_pred_846) self.considerError(lastError, 'na_iupac') - _G_python_848, lastError = eval(self._G_expr_765, self.globals, _locals), None + _G_python_850, lastError = eval(self._G_expr_767, self.globals, _locals), None self.considerError(lastError, 'na_iupac') - return (_G_python_848, self.currentError) + return (_G_python_850, self.currentError) def rule_rna(self): _locals = {'self': self} self.locals['rna'] = _locals - self._trace('', (12623, 12633), self.input.position) - _G_apply_849, lastError = self._apply(self.rule_rna_iupac, "rna_iupac", []) + self._trace('', (12582, 12592), self.input.position) + _G_apply_851, lastError = self._apply(self.rule_rna_iupac, "rna_iupac", []) self.considerError(lastError, 'rna') - return (_G_apply_849, self.currentError) + return (_G_apply_851, self.currentError) def rule_rna_iupac(self): _locals = {'self': self} self.locals['rna_iupac'] = _locals - _G_apply_850, lastError = self._apply(self.rule_anything, "anything", []) + _G_apply_852, lastError = self._apply(self.rule_anything, "anything", []) self.considerError(lastError, 'rna_iupac') - _locals['x'] = _G_apply_850 - def _G_pred_851(): - _G_python_853, lastError = eval(self._G_expr_852, self.globals, _locals), None + _locals['x'] = _G_apply_852 + def _G_pred_853(): + _G_python_855, lastError = eval(self._G_expr_854, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_853, self.currentError) - _G_pred_854, lastError = self.pred(_G_pred_851) + return (_G_python_855, self.currentError) + _G_pred_856, lastError = self.pred(_G_pred_853) self.considerError(lastError, 'rna_iupac') - _G_python_855, lastError = eval(self._G_expr_765, self.globals, _locals), None + _G_python_857, lastError = eval(self._G_expr_767, self.globals, _locals), None self.considerError(lastError, 'rna_iupac') - return (_G_python_855, self.currentError) + return (_G_python_857, self.currentError) def rule_term1(self): _locals = {'self': self} self.locals['term1'] = _locals - _G_apply_856, lastError = self._apply(self.rule_anything, "anything", []) + _G_apply_858, lastError = self._apply(self.rule_anything, "anything", []) self.considerError(lastError, 'term1') - _locals['x'] = _G_apply_856 - def _G_pred_857(): - _G_python_859, lastError = eval(self._G_expr_858, self.globals, _locals), None + _locals['x'] = _G_apply_858 + def _G_pred_859(): + _G_python_861, lastError = eval(self._G_expr_860, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_859, self.currentError) - _G_pred_860, lastError = self.pred(_G_pred_857) + return (_G_python_861, self.currentError) + _G_pred_862, lastError = self.pred(_G_pred_859) self.considerError(lastError, 'term1') - _G_python_861, lastError = eval(self._G_expr_765, self.globals, _locals), None + _G_python_863, lastError = eval(self._G_expr_767, self.globals, _locals), None self.considerError(lastError, 'term1') - return (_G_python_861, self.currentError) + return (_G_python_863, self.currentError) def rule_term13(self): _locals = {'self': self} self.locals['term13'] = _locals - def _G_or_862(): - self._trace('', (12732, 12738), self.input.position) - _G_apply_863, lastError = self._apply(self.rule_term3, "term3", []) - self.considerError(lastError, None) - return (_G_apply_863, self.currentError) def _G_or_864(): - self._trace('', (12740, 12746), self.input.position) - _G_apply_865, lastError = self._apply(self.rule_term1, "term1", []) + self._trace('', (12691, 12697), self.input.position) + _G_apply_865, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_865, self.currentError) - _G_or_866, lastError = self._or([_G_or_862, _G_or_864]) + def _G_or_866(): + self._trace('', (12699, 12705), self.input.position) + _G_apply_867, lastError = self._apply(self.rule_term1, "term1", []) + self.considerError(lastError, None) + return (_G_apply_867, self.currentError) + _G_or_868, lastError = self._or([_G_or_864, _G_or_866]) self.considerError(lastError, 'term13') - return (_G_or_866, self.currentError) + return (_G_or_868, self.currentError) def rule_term3(self): _locals = {'self': self} self.locals['term3'] = _locals - self._trace('', (12754, 12760), self.input.position) - _G_exactly_867, lastError = self.exactly('Ter') + self._trace('', (12713, 12719), self.input.position) + _G_exactly_869, lastError = self.exactly('Ter') self.considerError(lastError, 'term3') - return (_G_exactly_867, self.currentError) + return (_G_exactly_869, self.currentError) def rule_base(self): _locals = {'self': self} self.locals['base'] = _locals - self._trace('', (12844, 12849), self.input.position) - _G_apply_868, lastError = self._apply(self.rule_snum, "snum", []) + self._trace('', (12803, 12808), self.input.position) + _G_apply_870, lastError = self._apply(self.rule_snum, "snum", []) self.considerError(lastError, 'base') - return (_G_apply_868, self.currentError) + return (_G_apply_870, self.currentError) def rule_nnum(self): _locals = {'self': self} self.locals['nnum'] = _locals - def _G_consumedby_869(): - self._trace('', (12858, 12861), self.input.position) - _G_exactly_870, lastError = self.exactly('-') + def _G_consumedby_871(): + self._trace('', (12817, 12820), self.input.position) + _G_exactly_872, lastError = self.exactly('-') self.considerError(lastError, None) - self._trace('', (12861, 12865), self.input.position) - _G_apply_871, lastError = self._apply(self.rule_num, "num", []) + self._trace('', (12820, 12824), self.input.position) + _G_apply_873, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_apply_871, self.currentError) - _G_consumedby_872, lastError = self.consumedby(_G_consumedby_869) + return (_G_apply_873, self.currentError) + _G_consumedby_874, lastError = self.consumedby(_G_consumedby_871) self.considerError(lastError, 'nnum') - _locals['x'] = _G_consumedby_872 - _G_python_874, lastError = eval(self._G_expr_873, self.globals, _locals), None + _locals['x'] = _G_consumedby_874 + _G_python_876, lastError = eval(self._G_expr_875, self.globals, _locals), None self.considerError(lastError, 'nnum') - return (_G_python_874, self.currentError) + return (_G_python_876, self.currentError) def rule_num(self): _locals = {'self': self} self.locals['num'] = _locals - def _G_consumedby_875(): - def _G_many1_876(): - self._trace('', (12886, 12891), self.input.position) - _G_apply_877, lastError = self._apply(self.rule_digit, "digit", []) + def _G_consumedby_877(): + def _G_many1_878(): + self._trace('', (12845, 12850), self.input.position) + _G_apply_879, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) - return (_G_apply_877, self.currentError) - _G_many1_878, lastError = self.many(_G_many1_876, _G_many1_876()) + return (_G_apply_879, self.currentError) + _G_many1_880, lastError = self.many(_G_many1_878, _G_many1_878()) self.considerError(lastError, None) - return (_G_many1_878, self.currentError) - _G_consumedby_879, lastError = self.consumedby(_G_consumedby_875) + return (_G_many1_880, self.currentError) + _G_consumedby_881, lastError = self.consumedby(_G_consumedby_877) self.considerError(lastError, 'num') - _locals['x'] = _G_consumedby_879 - _G_python_880, lastError = eval(self._G_expr_873, self.globals, _locals), None + _locals['x'] = _G_consumedby_881 + _G_python_882, lastError = eval(self._G_expr_875, self.globals, _locals), None self.considerError(lastError, 'num') - return (_G_python_880, self.currentError) + return (_G_python_882, self.currentError) def rule_offset(self): _locals = {'self': self} self.locals['offset'] = _locals - def _G_or_881(): - self._trace('', (12914, 12919), self.input.position) - _G_apply_882, lastError = self._apply(self.rule_snum, "snum", []) - self.considerError(lastError, None) - return (_G_apply_882, self.currentError) def _G_or_883(): - _G_python_884, lastError = (0), None + self._trace('', (12873, 12878), self.input.position) + _G_apply_884, lastError = self._apply(self.rule_snum, "snum", []) + self.considerError(lastError, None) + return (_G_apply_884, self.currentError) + def _G_or_885(): + _G_python_886, lastError = (0), None self.considerError(lastError, None) - return (_G_python_884, self.currentError) - _G_or_885, lastError = self._or([_G_or_881, _G_or_883]) + return (_G_python_886, self.currentError) + _G_or_887, lastError = self._or([_G_or_883, _G_or_885]) self.considerError(lastError, 'offset') - return (_G_or_885, self.currentError) + return (_G_or_887, self.currentError) def rule_pm(self): _locals = {'self': self} self.locals['pm'] = _locals - _G_apply_886, lastError = self._apply(self.rule_anything, "anything", []) + _G_apply_888, lastError = self._apply(self.rule_anything, "anything", []) self.considerError(lastError, 'pm') - _locals['x'] = _G_apply_886 - def _G_pred_887(): - _G_python_889, lastError = eval(self._G_expr_888, self.globals, _locals), None + _locals['x'] = _G_apply_888 + def _G_pred_889(): + _G_python_891, lastError = eval(self._G_expr_890, self.globals, _locals), None self.considerError(lastError, None) - return (_G_python_889, self.currentError) - _G_pred_890, lastError = self.pred(_G_pred_887) + return (_G_python_891, self.currentError) + _G_pred_892, lastError = self.pred(_G_pred_889) self.considerError(lastError, 'pm') - _G_python_891, lastError = eval(self._G_expr_765, self.globals, _locals), None + _G_python_893, lastError = eval(self._G_expr_767, self.globals, _locals), None self.considerError(lastError, 'pm') - return (_G_python_891, self.currentError) + return (_G_python_893, self.currentError) def rule_snum(self): _locals = {'self': self} self.locals['snum'] = _locals - def _G_consumedby_892(): - def _G_optional_893(): - self._trace('', (12963, 12965), self.input.position) - _G_apply_894, lastError = self._apply(self.rule_pm, "pm", []) - self.considerError(lastError, None) - return (_G_apply_894, self.currentError) + def _G_consumedby_894(): def _G_optional_895(): + self._trace('', (12922, 12924), self.input.position) + _G_apply_896, lastError = self._apply(self.rule_pm, "pm", []) + self.considerError(lastError, None) + return (_G_apply_896, self.currentError) + def _G_optional_897(): return (None, self.input.nullError()) - _G_or_896, lastError = self._or([_G_optional_893, _G_optional_895]) + _G_or_898, lastError = self._or([_G_optional_895, _G_optional_897]) self.considerError(lastError, None) - self._trace('', (12966, 12970), self.input.position) - _G_apply_897, lastError = self._apply(self.rule_num, "num", []) + self._trace('', (12925, 12929), self.input.position) + _G_apply_899, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - return (_G_apply_897, self.currentError) - _G_consumedby_898, lastError = self.consumedby(_G_consumedby_892) + return (_G_apply_899, self.currentError) + _G_consumedby_900, lastError = self.consumedby(_G_consumedby_894) self.considerError(lastError, 'snum') - _locals['x'] = _G_consumedby_898 - _G_python_899, lastError = eval(self._G_expr_873, self.globals, _locals), None + _locals['x'] = _G_consumedby_900 + _G_python_901, lastError = eval(self._G_expr_875, self.globals, _locals), None self.considerError(lastError, 'snum') - return (_G_python_899, self.currentError) + return (_G_python_901, self.currentError) def rule_accn(self): _locals = {'self': self} self.locals['accn'] = _locals - def _G_consumedby_900(): - self._trace('', (13074, 13080), self.input.position) - _G_apply_901, lastError = self._apply(self.rule_letter, "letter", []) - self.considerError(lastError, None) - def _G_optional_902(): - def _G_many1_903(): - def _G_or_904(): - self._trace('', (13083, 13096), self.input.position) - _G_apply_905, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) - self.considerError(lastError, None) - return (_G_apply_905, self.currentError) + def _G_consumedby_902(): + self._trace('', (13033, 13039), self.input.position) + _G_apply_903, lastError = self._apply(self.rule_letter, "letter", []) + self.considerError(lastError, None) + def _G_optional_904(): + def _G_many1_905(): def _G_or_906(): - def _G_or_907(): - self._trace('', (13100, 13103), self.input.position) - _G_exactly_908, lastError = self.exactly('-') - self.considerError(lastError, None) - return (_G_exactly_908, self.currentError) + self._trace('', (13042, 13055), self.input.position) + _G_apply_907, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + self.considerError(lastError, None) + return (_G_apply_907, self.currentError) + def _G_or_908(): def _G_or_909(): - self._trace('', (13104, 13107), self.input.position) - _G_exactly_910, lastError = self.exactly('_') + self._trace('', (13059, 13062), self.input.position) + _G_exactly_910, lastError = self.exactly('-') self.considerError(lastError, None) return (_G_exactly_910, self.currentError) - _G_or_911, lastError = self._or([_G_or_907, _G_or_909]) + def _G_or_911(): + self._trace('', (13063, 13066), self.input.position) + _G_exactly_912, lastError = self.exactly('_') + self.considerError(lastError, None) + return (_G_exactly_912, self.currentError) + _G_or_913, lastError = self._or([_G_or_909, _G_or_911]) self.considerError(lastError, None) - def _G_lookahead_912(): - self._trace('', (13111, 13124), self.input.position) - _G_apply_913, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + def _G_lookahead_914(): + self._trace('', (13070, 13083), self.input.position) + _G_apply_915, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) - return (_G_apply_913, self.currentError) - _G_lookahead_914, lastError = self.lookahead(_G_lookahead_912) + return (_G_apply_915, self.currentError) + _G_lookahead_916, lastError = self.lookahead(_G_lookahead_914) self.considerError(lastError, None) - return (_G_lookahead_914, self.currentError) - _G_or_915, lastError = self._or([_G_or_904, _G_or_906]) + return (_G_lookahead_916, self.currentError) + _G_or_917, lastError = self._or([_G_or_906, _G_or_908]) self.considerError(lastError, None) - return (_G_or_915, self.currentError) - _G_many1_916, lastError = self.many(_G_many1_903, _G_many1_903()) + return (_G_or_917, self.currentError) + _G_many1_918, lastError = self.many(_G_many1_905, _G_many1_905()) self.considerError(lastError, None) - return (_G_many1_916, self.currentError) - def _G_optional_917(): + return (_G_many1_918, self.currentError) + def _G_optional_919(): return (None, self.input.nullError()) - _G_or_918, lastError = self._or([_G_optional_902, _G_optional_917]) + _G_or_920, lastError = self._or([_G_optional_904, _G_optional_919]) self.considerError(lastError, None) - def _G_optional_919(): - self._trace('', (13130, 13133), self.input.position) - _G_exactly_920, lastError = self.exactly('.') + def _G_optional_921(): + self._trace('', (13089, 13092), self.input.position) + _G_exactly_922, lastError = self.exactly('.') self.considerError(lastError, None) - def _G_many1_921(): - self._trace('', (13133, 13139), self.input.position) - _G_apply_922, lastError = self._apply(self.rule_digit, "digit", []) + def _G_many1_923(): + self._trace('', (13092, 13098), self.input.position) + _G_apply_924, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) - return (_G_apply_922, self.currentError) - _G_many1_923, lastError = self.many(_G_many1_921, _G_many1_921()) + return (_G_apply_924, self.currentError) + _G_many1_925, lastError = self.many(_G_many1_923, _G_many1_923()) self.considerError(lastError, None) - return (_G_many1_923, self.currentError) - def _G_optional_924(): + return (_G_many1_925, self.currentError) + def _G_optional_926(): return (None, self.input.nullError()) - _G_or_925, lastError = self._or([_G_optional_919, _G_optional_924]) + _G_or_927, lastError = self._or([_G_optional_921, _G_optional_926]) self.considerError(lastError, None) - return (_G_or_925, self.currentError) - _G_consumedby_926, lastError = self.consumedby(_G_consumedby_900) + return (_G_or_927, self.currentError) + _G_consumedby_928, lastError = self.consumedby(_G_consumedby_902) self.considerError(lastError, 'accn') - return (_G_consumedby_926, self.currentError) + return (_G_consumedby_928, self.currentError) def rule_opt_gene_expr(self): _locals = {'self': self} self.locals['opt_gene_expr'] = _locals - def _G_or_927(): - self._trace('', (13161, 13171), self.input.position) - _G_apply_928, lastError = self._apply(self.rule_paren_gene, "paren_gene", []) - self.considerError(lastError, None) - return (_G_apply_928, self.currentError) def _G_or_929(): - _G_python_930, lastError = (None), None + self._trace('', (13120, 13130), self.input.position) + _G_apply_930, lastError = self._apply(self.rule_paren_gene, "paren_gene", []) + self.considerError(lastError, None) + return (_G_apply_930, self.currentError) + def _G_or_931(): + _G_python_932, lastError = (None), None self.considerError(lastError, None) - return (_G_python_930, self.currentError) - _G_or_931, lastError = self._or([_G_or_927, _G_or_929]) + return (_G_python_932, self.currentError) + _G_or_933, lastError = self._or([_G_or_929, _G_or_931]) self.considerError(lastError, 'opt_gene_expr') - _locals['gene'] = _G_or_931 - _G_python_933, lastError = eval(self._G_expr_932, self.globals, _locals), None + _locals['gene'] = _G_or_933 + _G_python_935, lastError = eval(self._G_expr_934, self.globals, _locals), None self.considerError(lastError, 'opt_gene_expr') - return (_G_python_933, self.currentError) + return (_G_python_935, self.currentError) def rule_paren_gene(self): _locals = {'self': self} self.locals['paren_gene'] = _locals - self._trace('', (13207, 13211), self.input.position) - _G_exactly_934, lastError = self.exactly('(') + self._trace('', (13166, 13170), self.input.position) + _G_exactly_936, lastError = self.exactly('(') self.considerError(lastError, 'paren_gene') - self._trace('', (13211, 13223), self.input.position) - _G_apply_935, lastError = self._apply(self.rule_gene_symbol, "gene_symbol", []) + self._trace('', (13170, 13182), self.input.position) + _G_apply_937, lastError = self._apply(self.rule_gene_symbol, "gene_symbol", []) self.considerError(lastError, 'paren_gene') - _locals['symbol'] = _G_apply_935 - self._trace('', (13230, 13234), self.input.position) - _G_exactly_936, lastError = self.exactly(')') + _locals['symbol'] = _G_apply_937 + self._trace('', (13189, 13193), self.input.position) + _G_exactly_938, lastError = self.exactly(')') self.considerError(lastError, 'paren_gene') - _G_python_938, lastError = eval(self._G_expr_937, self.globals, _locals), None + _G_python_940, lastError = eval(self._G_expr_939, self.globals, _locals), None self.considerError(lastError, 'paren_gene') - return (_G_python_938, self.currentError) + return (_G_python_940, self.currentError) def rule_gene_symbol(self): _locals = {'self': self} self.locals['gene_symbol'] = _locals - def _G_consumedby_939(): - self._trace('', (13260, 13266), self.input.position) - _G_apply_940, lastError = self._apply(self.rule_letter, "letter", []) - self.considerError(lastError, None) - def _G_many1_941(): - def _G_or_942(): - self._trace('', (13268, 13281), self.input.position) - _G_apply_943, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) - self.considerError(lastError, None) - return (_G_apply_943, self.currentError) + def _G_consumedby_941(): + self._trace('', (13219, 13225), self.input.position) + _G_apply_942, lastError = self._apply(self.rule_letter, "letter", []) + self.considerError(lastError, None) + def _G_many1_943(): def _G_or_944(): - def _G_or_945(): - self._trace('', (13285, 13288), self.input.position) - _G_exactly_946, lastError = self.exactly('-') - self.considerError(lastError, None) - return (_G_exactly_946, self.currentError) + self._trace('', (13227, 13240), self.input.position) + _G_apply_945, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + self.considerError(lastError, None) + return (_G_apply_945, self.currentError) + def _G_or_946(): def _G_or_947(): - self._trace('', (13289, 13292), self.input.position) - _G_exactly_948, lastError = self.exactly('_') + self._trace('', (13244, 13247), self.input.position) + _G_exactly_948, lastError = self.exactly('-') self.considerError(lastError, None) return (_G_exactly_948, self.currentError) - _G_or_949, lastError = self._or([_G_or_945, _G_or_947]) + def _G_or_949(): + self._trace('', (13248, 13251), self.input.position) + _G_exactly_950, lastError = self.exactly('_') + self.considerError(lastError, None) + return (_G_exactly_950, self.currentError) + _G_or_951, lastError = self._or([_G_or_947, _G_or_949]) self.considerError(lastError, None) - def _G_lookahead_950(): - self._trace('', (13296, 13309), self.input.position) - _G_apply_951, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + def _G_lookahead_952(): + self._trace('', (13255, 13268), self.input.position) + _G_apply_953, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) - return (_G_apply_951, self.currentError) - _G_lookahead_952, lastError = self.lookahead(_G_lookahead_950) + return (_G_apply_953, self.currentError) + _G_lookahead_954, lastError = self.lookahead(_G_lookahead_952) self.considerError(lastError, None) - return (_G_lookahead_952, self.currentError) - _G_or_953, lastError = self._or([_G_or_942, _G_or_944]) + return (_G_lookahead_954, self.currentError) + _G_or_955, lastError = self._or([_G_or_944, _G_or_946]) self.considerError(lastError, None) - return (_G_or_953, self.currentError) - _G_many1_954, lastError = self.many(_G_many1_941, _G_many1_941()) + return (_G_or_955, self.currentError) + _G_many1_956, lastError = self.many(_G_many1_943, _G_many1_943()) self.considerError(lastError, None) - return (_G_many1_954, self.currentError) - _G_consumedby_955, lastError = self.consumedby(_G_consumedby_939) + return (_G_many1_956, self.currentError) + _G_consumedby_957, lastError = self.consumedby(_G_consumedby_941) self.considerError(lastError, 'gene_symbol') - return (_G_consumedby_955, self.currentError) + return (_G_consumedby_957, self.currentError) _G_expr_20 = compile('hgvs.sequencevariant.SequenceVariant(ac=ac, gene=gene, type=type, posedit=posedit)', '<string>', 'eval') @@ -3154,23 +3154,25 @@ def _G_lookahead_950(): _G_expr_564 = compile('hgvs.location.BaseOffsetInterval(start,end)', '<string>', 'eval') _G_expr_568 = compile('hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))', '<string>', 'eval') _G_expr_588 = compile('hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain())', '<string>', 'eval') - _G_expr_614 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_START)', '<string>', 'eval') - _G_expr_620 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_END)', '<string>', 'eval') - _G_expr_629 = compile('hgvs.location.SimplePosition(pos)', '<string>', 'eval') - _G_expr_640 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.SEQ_START)', '<string>', 'eval') - _G_expr_648 = compile('hgvs.location.AAPosition(pos,bioutils.sequences.aa_to_aa1(aa))', '<string>', 'eval') - _G_expr_659 = compile('n', '<string>', 'eval') - _G_expr_667 = compile('(aat, n)', '<string>', 'eval') - _G_expr_762 = compile("x in 'ACDEFGHIKLMNPQRSTVWYBZXU'", '<string>', 'eval') - _G_expr_765 = compile('x', '<string>', 'eval') - _G_expr_839 = compile("x in 'ACGTRYMKWSBDHVNacgtrymkwsbdhvn'", '<string>', 'eval') - _G_expr_845 = compile("x in 'ACGTURYMKWSBDHVNacgturymkwsbdhvn'", '<string>', 'eval') - _G_expr_852 = compile("x in 'ACGURYMKWSBDHVNacgurymkwsbdhvn'", '<string>', 'eval') - _G_expr_858 = compile("x in 'X*'", '<string>', 'eval') - _G_expr_873 = compile('int(x)', '<string>', 'eval') - _G_expr_888 = compile("x in '-+'", '<string>', 'eval') - _G_expr_932 = compile('gene', '<string>', 'eval') - _G_expr_937 = compile('symbol', '<string>', 'eval') + _G_expr_596 = compile('hgvs.location.Interval(start=ivl_start, end=ivl_end._set_uncertain())', '<string>', 'eval') + _G_expr_604 = compile('hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end)', '<string>', 'eval') + _G_expr_616 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_START)', '<string>', 'eval') + _G_expr_622 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_END)', '<string>', 'eval') + _G_expr_631 = compile('hgvs.location.SimplePosition(pos)', '<string>', 'eval') + _G_expr_642 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.SEQ_START)', '<string>', 'eval') + _G_expr_650 = compile('hgvs.location.AAPosition(pos,bioutils.sequences.aa_to_aa1(aa))', '<string>', 'eval') + _G_expr_661 = compile('n', '<string>', 'eval') + _G_expr_669 = compile('(aat, n)', '<string>', 'eval') + _G_expr_764 = compile("x in 'ACDEFGHIKLMNPQRSTVWYBZXU'", '<string>', 'eval') + _G_expr_767 = compile('x', '<string>', 'eval') + _G_expr_841 = compile("x in 'ACGTRYMKWSBDHVNacgtrymkwsbdhvn'", '<string>', 'eval') + _G_expr_847 = compile("x in 'ACGTURYMKWSBDHVNacgturymkwsbdhvn'", '<string>', 'eval') + _G_expr_854 = compile("x in 'ACGURYMKWSBDHVNacgurymkwsbdhvn'", '<string>', 'eval') + _G_expr_860 = compile("x in 'X*'", '<string>', 'eval') + _G_expr_875 = compile('int(x)', '<string>', 'eval') + _G_expr_890 = compile("x in '-+'", '<string>', 'eval') + _G_expr_934 = compile('gene', '<string>', 'eval') + _G_expr_939 = compile('symbol', '<string>', 'eval') if Grammar.globals is not None: Grammar.globals = Grammar.globals.copy() Grammar.globals.update(ruleGlobals) diff --git a/src/hgvs/location.py b/src/hgvs/location.py index 4c82d3f7..25e88d75 100644 --- a/src/hgvs/location.py +++ b/src/hgvs/location.py @@ -143,7 +143,7 @@ def validate(self): ) return (ValidationLevel.VALID, None) - def __str__(self): + def _format_pos(self)->str: self.validate() base_str = ( "?" @@ -156,6 +156,10 @@ def __str__(self): "+?" if self.offset is None else "" if self.offset == 0 else "%+d" % self.offset ) pos = base_str + offset_str + return pos + + def __str__(self): + pos = self._format_pos() return "(" + pos + ")" if self.uncertain else pos def format(self, conf): @@ -382,11 +386,32 @@ def is_uncertain(self): @attr.s(slots=True, repr=False) class BaseOffsetInterval(Interval): """BaseOffsetInterval isa Interval of BaseOffsetPositions. The only - additional functionality over Interval is to ensure that the dutum + additional functionality over Interval is to ensure that the datum of end and start are compatible. """ + def format(self, conf=None): + if self.start is None: + return "" + if self.end is None or self.start == self.end: + return self.start.format(conf) + + s = self.start._format_pos() + if self.start.is_uncertain: + s_str = f'(?_{s})' + else: + s_str = s + e = self.end._format_pos() + if self.end.is_uncertain: + e_str = f'({e}_?)' + else: + e_str = e + iv = s_str + "_" + e_str + return "(" + iv + ")" if self.uncertain else iv + + __str__ = format + def __attrs_post_init__(self): # #330: In a post-ter interval like *87_91, the * binds only # to the start. This means that the start.datum is CDS_END, diff --git a/src/hgvs/variantmapper.py b/src/hgvs/variantmapper.py index 63bdfd3d..8dc03a3f 100644 --- a/src/hgvs/variantmapper.py +++ b/src/hgvs/variantmapper.py @@ -21,6 +21,7 @@ from hgvs.decorators.lru_cache import lru_cache from hgvs.enums import PrevalidationLevel from hgvs.exceptions import HGVSInvalidVariantError, HGVSUnsupportedOperationError +from hgvs.location import Interval from hgvs.utils.reftranscriptdata import RefTranscriptData _logger = logging.getLogger(__name__) @@ -484,12 +485,18 @@ def _replace_reference(self, var): if pos.start.uncertain: seq_start = pos.start.end.base - 1 else: - seq_start = pos.start.base - 1 + if isinstance(pos.start, Interval): + seq_start = pos.start.start.base -1 + else: + seq_start = pos.start.base - 1 if pos.end.uncertain: seq_end = pos.end.start.base else: - seq_end = pos.end.base + if isinstance(pos.end, Interval): + seq_end = pos.end.end.base + else: + seq_end = pos.end.base # When strict_bounds is False and an error occurs, return # variant as-is diff --git a/tests/data/grammar_test.tsv b/tests/data/grammar_test.tsv index 9bd975ef..ea73614b 100644 --- a/tests/data/grammar_test.tsv +++ b/tests/data/grammar_test.tsv @@ -104,14 +104,15 @@ def_c_interval 1_10|1|1+2_10-2 True list def_c_pos 1|11+1|9-3|-1|*10 True list def_c_pos X|11_12|10* False list def_g_interval 2_10|2 True list -def_g_uncertain_interval (1_10)_(21_30) True one -def_g_uncertain_interval (?_10)_(21_?) True one -def_g_uncertain_interval (1_?)_(?_30) True one -def_g_uncertain_interval 1_(21_30) True one -def_g_uncertain_interval (1_10)_21 True one -def_g_uncertain_interval ?_(21_30) True one -def_g_uncertain_interval (1_10)_? True one -def_g_uncertain_interval (1_10)_(21_30)_(41_50) False one +uncertain_g_interval (1_10)_(21_30) True one +uncertain_g_interval (?_10)_(21_?) True one +uncertain_g_interval (1_?)_(?_30) True one +uncertain_g_interval 1_(21_30) True one +uncertain_g_interval (1_10)_21 True one +uncertain_g_interval ?_(21_30) True one +uncertain_g_interval (1_10)_? True one +uncertain_g_interval 10_(21_?) True one +uncertain_g_interval (1_10)_(21_30)_(41_50) False one def_g_pos 2 True list def_g_pos ? True one def_g_pos A|2?|*1|-2 False list diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index 19a8c587..d87b4d50 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -126,20 +126,42 @@ def test_uncertain(self): self.assertEqual(v2.posedit.pos.end.uncertain, True) self.assertEqual(type(v2.posedit.edit).__name__, "NARefAlt") - def test_uncertain_projection_confidence(self): + def test_partial_uncertain_projection(self): + data = [ + ("NC_000009.11:g.108337304_(108337428_?)del", False, True, + "NM_001079802.1:n.207_(321+10_?)del", + "NM_001079802.1:c.-10_(105+10_?)del"), + + ("NC_000009.11:g.(?_108337304)_108337428del", True, False, + "NM_001079802.1:n.(?_207)_321+10del", + "NM_001079802.1:c.(?_-10)_105+10del"), + ] + + for hgvs_g, start_uncertain, stop_uncertain, hgvs_n, hgvs_c in data: + var_g = self.hp.parse(hgvs_g) + self.assertEqual(var_g.posedit.pos.start.uncertain, start_uncertain) + self.assertEqual(var_g.posedit.pos.end.uncertain, stop_uncertain) + self.assertEqual(hgvs_g, str(var_g)) + acc = hgvs_c.split(":")[0] + var_n = self.vm.g_to_n(var_g, acc) + self.assertEqual(hgvs_n, str(var_n)) + var_c = self.vm.g_to_c(var_g, acc) + self.assertEqual(hgvs_c, str(var_c)) + + def test_uncertain_projection_g_to_c_confidence(self): data = [ ("NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", - "NM_032119.3:n.(17116-1)_(17952+1)dup", - "NM_032119.3:c.(17020-1)_(17856+1)dup"), + "NM_032119.3:n.(?_17116-1)_(17952+1_?)dup", + "NM_032119.3:c.(?_17020-1)_(17856+1_?)dup"), ("NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", - "NM_000527.5:n.(277-1)_(903+1)dup", - "NM_000527.5:c.(191-1)_(817+1)dup"), + "NM_000527.5:n.(?_277-1)_(903+1_?)dup", + "NM_000527.5:c.(?_191-1)_(817+1_?)dup"), ("NC_000009.11:g.(?_108337304)_(108337428_?)del", - "NM_001079802.1:n.(207)_(321+10)del", - "NM_001079802.1:c.(-10)_(105+10)del"), + "NM_001079802.1:n.(?_207)_(321+10_?)del", + "NM_001079802.1:c.(?_-10)_(105+10_?)del"), ] for hgvs_g, hgvs_n, hgvs_c in data: @@ -151,6 +173,28 @@ def test_uncertain_projection_confidence(self): var_c = self.vm.g_to_c(var_g, acc) self.assertEqual(hgvs_c, str(var_c)) + def test_uncertain_projection_c_to_g_confidence(self): + data = [ + ("NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", + "NM_032119.3:n.(?_17116-1)_(17952+1_?)dup", + "NM_032119.3:c.(?_17020-1)_(17856+1_?)dup"), + + ("NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", + "NM_000527.5:n.(?_277-1)_(903+1_?)dup", + "NM_000527.5:c.(?_191-1)_(817+1_?)dup"), + + ("NC_000009.11:g.(?_108337304)_(108337428_?)del", + "NM_001079802.1:n.(?_207)_(321+10_?)del", + "NM_001079802.1:c.(?_-10)_(105+10_?)del"), + ] + for hgvs_g, hgvs_n, hgvs_c in data: + var_c = self.hp.parse(hgvs_c) + self.assertEqual(hgvs_c, str(var_c)) + var_n = self.vm.c_to_n(var_c) + self.assertEqual(hgvs_n, str(var_n)) + var_g = self.vm.n_to_g(var_n) + self.assertEqual(hgvs_c, str(var_c)) + if __name__ == "__main__": unittest.main() From 0364f37f43b8ae808a2699ae464fe1ced4e6038a Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas.prlic@invitae.com> Date: Fri, 23 Feb 2024 23:15:33 -0800 Subject: [PATCH 17/25] feat(cleanup): removing broken c_to_g unit test for imprecise events. --- tests/test_hgvs_sequencevariant.py | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index d87b4d50..7dabc149 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -4,7 +4,6 @@ import pytest -from hgvs.exceptions import HGVSParseError from support import CACHE import hgvs @@ -173,28 +172,6 @@ def test_uncertain_projection_g_to_c_confidence(self): var_c = self.vm.g_to_c(var_g, acc) self.assertEqual(hgvs_c, str(var_c)) - def test_uncertain_projection_c_to_g_confidence(self): - data = [ - ("NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", - "NM_032119.3:n.(?_17116-1)_(17952+1_?)dup", - "NM_032119.3:c.(?_17020-1)_(17856+1_?)dup"), - - ("NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", - "NM_000527.5:n.(?_277-1)_(903+1_?)dup", - "NM_000527.5:c.(?_191-1)_(817+1_?)dup"), - - ("NC_000009.11:g.(?_108337304)_(108337428_?)del", - "NM_001079802.1:n.(?_207)_(321+10_?)del", - "NM_001079802.1:c.(?_-10)_(105+10_?)del"), - ] - for hgvs_g, hgvs_n, hgvs_c in data: - var_c = self.hp.parse(hgvs_c) - self.assertEqual(hgvs_c, str(var_c)) - var_n = self.vm.c_to_n(var_c) - self.assertEqual(hgvs_n, str(var_n)) - var_g = self.vm.n_to_g(var_n) - self.assertEqual(hgvs_c, str(var_c)) - if __name__ == "__main__": unittest.main() From 4c7ecbf7d7f5cafab276966764c273a2c76b8f13 Mon Sep 17 00:00:00 2001 From: Kyle Ferriter <kferrite@broadinstitute.org> Date: Mon, 11 Mar 2024 13:35:46 -0400 Subject: [PATCH 18/25] Simplify parser to use None for single-digit intervals. Fixed format for uncertain intervals. Add test cases. --- src/hgvs/_data/hgvs.pymeta | 14 +- src/hgvs/generated/hgvs_grammar.py | 724 ++++++++++++++--------------- src/hgvs/location.py | 13 +- tests/test_hgvs_location.py | 16 +- tests/test_hgvs_sequencevariant.py | 34 ++ 5 files changed, 427 insertions(+), 374 deletions(-) diff --git a/src/hgvs/_data/hgvs.pymeta b/src/hgvs/_data/hgvs.pymeta index ee8e393d..7ba04ce6 100644 --- a/src/hgvs/_data/hgvs.pymeta +++ b/src/hgvs/_data/hgvs.pymeta @@ -2,7 +2,7 @@ # variant specification. The subset is limited to is limited to those # rules that define sequence variants precisely. It does not current # cover rules for translocations or conversions. - + # The basic structure of a HGVS sequence variant is: # <ac>:<type>.<posedit> # where <ac> is a sequence accession, <type> determines the sequence @@ -26,7 +26,7 @@ r_variant = accn:ac opt_gene_expr:gene ':' 'r':type '.' r_posedit:posedit -> hgv ############################################################################ ## HGVS Position -- e.g., NM_01234.5:c.22+6 (without an edit) -# This is unofficial syntax +# This is unofficial syntax hgvs_position = g_hgvs_position | m_hgvs_position | c_hgvs_position | n_hgvs_position | r_hgvs_position | p_hgvs_position @@ -65,7 +65,7 @@ r_posedit = (r_interval:pos rna_edit:edit -> hgvs.posedit.PosEdit(pos=pos,edit=e p_posedit = (p_interval:pos pro_edit:edit -> hgvs.posedit.PosEdit(pos=pos,edit=edit)) | ('(' p_interval:pos pro_edit:edit ')' -> hgvs.posedit.PosEdit(pos=pos,edit=edit, uncertain=True)) | p_posedit_special -p_posedit_special = +p_posedit_special = '=':x -> hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=False) | '(' '=':x ')' -> hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=True) | '0':x '?' -> hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=True) @@ -129,10 +129,10 @@ p_interval = def_p_interval | '(' def_p_interval:iv ')' -> iv._set_uncertain() r_interval = def_r_interval | '(' def_r_interval:iv ')' -> iv._set_uncertain() # definite intervals -def_g_interval = (g_pos:start '_' g_pos:end -> hgvs.location.Interval(start,end)) | (g_pos:start -> hgvs.location.Interval(start,copy.deepcopy(start))) -def_m_interval = (m_pos:start '_' m_pos:end -> hgvs.location.Interval(start,end)) | (m_pos:start -> hgvs.location.Interval(start,copy.deepcopy(start))) -def_p_interval = (p_pos:start '_' p_pos:end -> hgvs.location.Interval(start,end)) | (p_pos:start -> hgvs.location.Interval(start,copy.deepcopy(start))) -def_r_interval = (r_pos:start '_' r_pos:end -> hgvs.location.Interval(start,end)) | (r_pos:start -> hgvs.location.Interval(start,copy.deepcopy(start))) +def_g_interval = (g_pos:start '_' g_pos:end -> hgvs.location.Interval(start,end)) | (g_pos:start -> hgvs.location.Interval(start,None)) +def_m_interval = (m_pos:start '_' m_pos:end -> hgvs.location.Interval(start,end)) | (m_pos:start -> hgvs.location.Interval(start,None)) +def_p_interval = (p_pos:start '_' p_pos:end -> hgvs.location.Interval(start,end)) | (p_pos:start -> hgvs.location.Interval(start,None)) +def_r_interval = (r_pos:start '_' r_pos:end -> hgvs.location.Interval(start,end)) | (r_pos:start -> hgvs.location.Interval(start,None)) def_c_interval = (c_pos:start '_' c_pos:end -> hgvs.location.BaseOffsetInterval(start,end)) | (c_pos:start -> hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))) def_n_interval = (n_pos:start '_' n_pos:end -> hgvs.location.BaseOffsetInterval(start,end)) | (n_pos:start -> hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))) diff --git a/src/hgvs/generated/hgvs_grammar.py b/src/hgvs/generated/hgvs_grammar.py index dcc89812..838606c0 100644 --- a/src/hgvs/generated/hgvs_grammar.py +++ b/src/hgvs/generated/hgvs_grammar.py @@ -3,9 +3,9 @@ # Changes will be overwritten by the generation script. # Generated by: sbin/generate_parser.py # Grammar file: src/hgvs/_data/hgvs.pymeta -# Grammar hash: 8d20020e49d946797f6dc49429fef938 +# Grammar hash: 29e5254696dc8673e47771941d6a8e3e # Parsley version: 1.3 -# Python version: 3.8.7 (default, Sep 30 2022, 13:36:26) +# Python version: 3.11.7 (main, Dec 4 2023, 18:10:11) [Clang 15.0.0 (clang-1500.1.0.2.5)] # -------------------------------------------------- def createParserClass(GrammarBase, ruleGlobals): @@ -234,32 +234,32 @@ def rule_hgvs_position(self): _locals = {'self': self} self.locals['hgvs_position'] = _locals def _G_or_57(): - self._trace('', (1920, 1936), self.input.position) + self._trace('', (1919, 1935), self.input.position) _G_apply_58, lastError = self._apply(self.rule_g_hgvs_position, "g_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_58, self.currentError) def _G_or_59(): - self._trace('', (1938, 1954), self.input.position) + self._trace('', (1937, 1953), self.input.position) _G_apply_60, lastError = self._apply(self.rule_m_hgvs_position, "m_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_60, self.currentError) def _G_or_61(): - self._trace('', (1956, 1972), self.input.position) + self._trace('', (1955, 1971), self.input.position) _G_apply_62, lastError = self._apply(self.rule_c_hgvs_position, "c_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_62, self.currentError) def _G_or_63(): - self._trace('', (1974, 1990), self.input.position) + self._trace('', (1973, 1989), self.input.position) _G_apply_64, lastError = self._apply(self.rule_n_hgvs_position, "n_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_64, self.currentError) def _G_or_65(): - self._trace('', (1992, 2008), self.input.position) + self._trace('', (1991, 2007), self.input.position) _G_apply_66, lastError = self._apply(self.rule_r_hgvs_position, "r_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_66, self.currentError) def _G_or_67(): - self._trace('', (2010, 2026), self.input.position) + self._trace('', (2009, 2025), self.input.position) _G_apply_68, lastError = self._apply(self.rule_p_hgvs_position, "p_hgvs_position", []) self.considerError(lastError, None) return (_G_apply_68, self.currentError) @@ -271,25 +271,25 @@ def _G_or_67(): def rule_c_hgvs_position(self): _locals = {'self': self} self.locals['c_hgvs_position'] = _locals - self._trace('', (2045, 2050), self.input.position) + self._trace('', (2044, 2049), self.input.position) _G_apply_70, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'c_hgvs_position') _locals['ac'] = _G_apply_70 - self._trace('', (2053, 2067), self.input.position) + self._trace('', (2052, 2066), self.input.position) _G_apply_71, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'c_hgvs_position') _locals['gene'] = _G_apply_71 - self._trace('', (2072, 2076), self.input.position) + self._trace('', (2071, 2075), self.input.position) _G_exactly_72, lastError = self.exactly(':') self.considerError(lastError, 'c_hgvs_position') - self._trace('', (2076, 2080), self.input.position) + self._trace('', (2075, 2079), self.input.position) _G_exactly_73, lastError = self.exactly('c') self.considerError(lastError, 'c_hgvs_position') _locals['type'] = _G_exactly_73 - self._trace('', (2085, 2089), self.input.position) + self._trace('', (2084, 2088), self.input.position) _G_exactly_74, lastError = self.exactly('.') self.considerError(lastError, 'c_hgvs_position') - self._trace('', (2089, 2100), self.input.position) + self._trace('', (2088, 2099), self.input.position) _G_apply_75, lastError = self._apply(self.rule_c_interval, "c_interval", []) self.considerError(lastError, 'c_hgvs_position') _locals['pos'] = _G_apply_75 @@ -301,25 +301,25 @@ def rule_c_hgvs_position(self): def rule_g_hgvs_position(self): _locals = {'self': self} self.locals['g_hgvs_position'] = _locals - self._trace('', (2194, 2199), self.input.position) + self._trace('', (2193, 2198), self.input.position) _G_apply_78, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'g_hgvs_position') _locals['ac'] = _G_apply_78 - self._trace('', (2202, 2216), self.input.position) + self._trace('', (2201, 2215), self.input.position) _G_apply_79, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'g_hgvs_position') _locals['gene'] = _G_apply_79 - self._trace('', (2221, 2225), self.input.position) + self._trace('', (2220, 2224), self.input.position) _G_exactly_80, lastError = self.exactly(':') self.considerError(lastError, 'g_hgvs_position') - self._trace('', (2225, 2229), self.input.position) + self._trace('', (2224, 2228), self.input.position) _G_exactly_81, lastError = self.exactly('g') self.considerError(lastError, 'g_hgvs_position') _locals['type'] = _G_exactly_81 - self._trace('', (2234, 2238), self.input.position) + self._trace('', (2233, 2237), self.input.position) _G_exactly_82, lastError = self.exactly('.') self.considerError(lastError, 'g_hgvs_position') - self._trace('', (2238, 2249), self.input.position) + self._trace('', (2237, 2248), self.input.position) _G_apply_83, lastError = self._apply(self.rule_g_interval, "g_interval", []) self.considerError(lastError, 'g_hgvs_position') _locals['pos'] = _G_apply_83 @@ -331,25 +331,25 @@ def rule_g_hgvs_position(self): def rule_m_hgvs_position(self): _locals = {'self': self} self.locals['m_hgvs_position'] = _locals - self._trace('', (2343, 2348), self.input.position) + self._trace('', (2342, 2347), self.input.position) _G_apply_85, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'm_hgvs_position') _locals['ac'] = _G_apply_85 - self._trace('', (2351, 2365), self.input.position) + self._trace('', (2350, 2364), self.input.position) _G_apply_86, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'm_hgvs_position') _locals['gene'] = _G_apply_86 - self._trace('', (2370, 2374), self.input.position) + self._trace('', (2369, 2373), self.input.position) _G_exactly_87, lastError = self.exactly(':') self.considerError(lastError, 'm_hgvs_position') - self._trace('', (2374, 2378), self.input.position) + self._trace('', (2373, 2377), self.input.position) _G_exactly_88, lastError = self.exactly('m') self.considerError(lastError, 'm_hgvs_position') _locals['type'] = _G_exactly_88 - self._trace('', (2383, 2387), self.input.position) + self._trace('', (2382, 2386), self.input.position) _G_exactly_89, lastError = self.exactly('.') self.considerError(lastError, 'm_hgvs_position') - self._trace('', (2387, 2398), self.input.position) + self._trace('', (2386, 2397), self.input.position) _G_apply_90, lastError = self._apply(self.rule_m_interval, "m_interval", []) self.considerError(lastError, 'm_hgvs_position') _locals['pos'] = _G_apply_90 @@ -361,25 +361,25 @@ def rule_m_hgvs_position(self): def rule_n_hgvs_position(self): _locals = {'self': self} self.locals['n_hgvs_position'] = _locals - self._trace('', (2492, 2497), self.input.position) + self._trace('', (2491, 2496), self.input.position) _G_apply_92, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'n_hgvs_position') _locals['ac'] = _G_apply_92 - self._trace('', (2500, 2514), self.input.position) + self._trace('', (2499, 2513), self.input.position) _G_apply_93, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'n_hgvs_position') _locals['gene'] = _G_apply_93 - self._trace('', (2519, 2523), self.input.position) + self._trace('', (2518, 2522), self.input.position) _G_exactly_94, lastError = self.exactly(':') self.considerError(lastError, 'n_hgvs_position') - self._trace('', (2523, 2527), self.input.position) + self._trace('', (2522, 2526), self.input.position) _G_exactly_95, lastError = self.exactly('n') self.considerError(lastError, 'n_hgvs_position') _locals['type'] = _G_exactly_95 - self._trace('', (2532, 2536), self.input.position) + self._trace('', (2531, 2535), self.input.position) _G_exactly_96, lastError = self.exactly('.') self.considerError(lastError, 'n_hgvs_position') - self._trace('', (2536, 2547), self.input.position) + self._trace('', (2535, 2546), self.input.position) _G_apply_97, lastError = self._apply(self.rule_n_interval, "n_interval", []) self.considerError(lastError, 'n_hgvs_position') _locals['pos'] = _G_apply_97 @@ -391,25 +391,25 @@ def rule_n_hgvs_position(self): def rule_p_hgvs_position(self): _locals = {'self': self} self.locals['p_hgvs_position'] = _locals - self._trace('', (2641, 2646), self.input.position) + self._trace('', (2640, 2645), self.input.position) _G_apply_99, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'p_hgvs_position') _locals['ac'] = _G_apply_99 - self._trace('', (2649, 2663), self.input.position) + self._trace('', (2648, 2662), self.input.position) _G_apply_100, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'p_hgvs_position') _locals['gene'] = _G_apply_100 - self._trace('', (2668, 2672), self.input.position) + self._trace('', (2667, 2671), self.input.position) _G_exactly_101, lastError = self.exactly(':') self.considerError(lastError, 'p_hgvs_position') - self._trace('', (2672, 2676), self.input.position) + self._trace('', (2671, 2675), self.input.position) _G_exactly_102, lastError = self.exactly('p') self.considerError(lastError, 'p_hgvs_position') _locals['type'] = _G_exactly_102 - self._trace('', (2681, 2685), self.input.position) + self._trace('', (2680, 2684), self.input.position) _G_exactly_103, lastError = self.exactly('.') self.considerError(lastError, 'p_hgvs_position') - self._trace('', (2685, 2696), self.input.position) + self._trace('', (2684, 2695), self.input.position) _G_apply_104, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, 'p_hgvs_position') _locals['pos'] = _G_apply_104 @@ -421,25 +421,25 @@ def rule_p_hgvs_position(self): def rule_r_hgvs_position(self): _locals = {'self': self} self.locals['r_hgvs_position'] = _locals - self._trace('', (2790, 2795), self.input.position) + self._trace('', (2789, 2794), self.input.position) _G_apply_106, lastError = self._apply(self.rule_accn, "accn", []) self.considerError(lastError, 'r_hgvs_position') _locals['ac'] = _G_apply_106 - self._trace('', (2798, 2812), self.input.position) + self._trace('', (2797, 2811), self.input.position) _G_apply_107, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) self.considerError(lastError, 'r_hgvs_position') _locals['gene'] = _G_apply_107 - self._trace('', (2817, 2821), self.input.position) + self._trace('', (2816, 2820), self.input.position) _G_exactly_108, lastError = self.exactly(':') self.considerError(lastError, 'r_hgvs_position') - self._trace('', (2821, 2825), self.input.position) + self._trace('', (2820, 2824), self.input.position) _G_exactly_109, lastError = self.exactly('r') self.considerError(lastError, 'r_hgvs_position') _locals['type'] = _G_exactly_109 - self._trace('', (2830, 2834), self.input.position) + self._trace('', (2829, 2833), self.input.position) _G_exactly_110, lastError = self.exactly('.') self.considerError(lastError, 'r_hgvs_position') - self._trace('', (2834, 2845), self.input.position) + self._trace('', (2833, 2844), self.input.position) _G_apply_111, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, 'r_hgvs_position') _locals['pos'] = _G_apply_111 @@ -451,14 +451,14 @@ def rule_r_hgvs_position(self): def rule_c_typed_posedit(self): _locals = {'self': self} self.locals['c_typed_posedit'] = _locals - self._trace('', (3249, 3253), self.input.position) + self._trace('', (3248, 3252), self.input.position) _G_exactly_113, lastError = self.exactly('c') self.considerError(lastError, 'c_typed_posedit') _locals['type'] = _G_exactly_113 - self._trace('', (3258, 3262), self.input.position) + self._trace('', (3257, 3261), self.input.position) _G_exactly_114, lastError = self.exactly('.') self.considerError(lastError, 'c_typed_posedit') - self._trace('', (3262, 3272), self.input.position) + self._trace('', (3261, 3271), self.input.position) _G_apply_115, lastError = self._apply(self.rule_c_posedit, "c_posedit", []) self.considerError(lastError, 'c_typed_posedit') _locals['posedit'] = _G_apply_115 @@ -470,14 +470,14 @@ def rule_c_typed_posedit(self): def rule_g_typed_posedit(self): _locals = {'self': self} self.locals['g_typed_posedit'] = _locals - self._trace('', (3357, 3361), self.input.position) + self._trace('', (3356, 3360), self.input.position) _G_exactly_118, lastError = self.exactly('g') self.considerError(lastError, 'g_typed_posedit') _locals['type'] = _G_exactly_118 - self._trace('', (3366, 3370), self.input.position) + self._trace('', (3365, 3369), self.input.position) _G_exactly_119, lastError = self.exactly('.') self.considerError(lastError, 'g_typed_posedit') - self._trace('', (3370, 3380), self.input.position) + self._trace('', (3369, 3379), self.input.position) _G_apply_120, lastError = self._apply(self.rule_g_posedit, "g_posedit", []) self.considerError(lastError, 'g_typed_posedit') _locals['posedit'] = _G_apply_120 @@ -489,14 +489,14 @@ def rule_g_typed_posedit(self): def rule_m_typed_posedit(self): _locals = {'self': self} self.locals['m_typed_posedit'] = _locals - self._trace('', (3465, 3469), self.input.position) + self._trace('', (3464, 3468), self.input.position) _G_exactly_122, lastError = self.exactly('m') self.considerError(lastError, 'm_typed_posedit') _locals['type'] = _G_exactly_122 - self._trace('', (3474, 3478), self.input.position) + self._trace('', (3473, 3477), self.input.position) _G_exactly_123, lastError = self.exactly('.') self.considerError(lastError, 'm_typed_posedit') - self._trace('', (3478, 3488), self.input.position) + self._trace('', (3477, 3487), self.input.position) _G_apply_124, lastError = self._apply(self.rule_m_posedit, "m_posedit", []) self.considerError(lastError, 'm_typed_posedit') _locals['posedit'] = _G_apply_124 @@ -508,14 +508,14 @@ def rule_m_typed_posedit(self): def rule_n_typed_posedit(self): _locals = {'self': self} self.locals['n_typed_posedit'] = _locals - self._trace('', (3573, 3577), self.input.position) + self._trace('', (3572, 3576), self.input.position) _G_exactly_126, lastError = self.exactly('n') self.considerError(lastError, 'n_typed_posedit') _locals['type'] = _G_exactly_126 - self._trace('', (3582, 3586), self.input.position) + self._trace('', (3581, 3585), self.input.position) _G_exactly_127, lastError = self.exactly('.') self.considerError(lastError, 'n_typed_posedit') - self._trace('', (3586, 3596), self.input.position) + self._trace('', (3585, 3595), self.input.position) _G_apply_128, lastError = self._apply(self.rule_n_posedit, "n_posedit", []) self.considerError(lastError, 'n_typed_posedit') _locals['posedit'] = _G_apply_128 @@ -527,14 +527,14 @@ def rule_n_typed_posedit(self): def rule_p_typed_posedit(self): _locals = {'self': self} self.locals['p_typed_posedit'] = _locals - self._trace('', (3681, 3685), self.input.position) + self._trace('', (3680, 3684), self.input.position) _G_exactly_130, lastError = self.exactly('p') self.considerError(lastError, 'p_typed_posedit') _locals['type'] = _G_exactly_130 - self._trace('', (3690, 3694), self.input.position) + self._trace('', (3689, 3693), self.input.position) _G_exactly_131, lastError = self.exactly('.') self.considerError(lastError, 'p_typed_posedit') - self._trace('', (3694, 3704), self.input.position) + self._trace('', (3693, 3703), self.input.position) _G_apply_132, lastError = self._apply(self.rule_p_posedit, "p_posedit", []) self.considerError(lastError, 'p_typed_posedit') _locals['posedit'] = _G_apply_132 @@ -546,14 +546,14 @@ def rule_p_typed_posedit(self): def rule_r_typed_posedit(self): _locals = {'self': self} self.locals['r_typed_posedit'] = _locals - self._trace('', (3789, 3793), self.input.position) + self._trace('', (3788, 3792), self.input.position) _G_exactly_134, lastError = self.exactly('r') self.considerError(lastError, 'r_typed_posedit') _locals['type'] = _G_exactly_134 - self._trace('', (3798, 3802), self.input.position) + self._trace('', (3797, 3801), self.input.position) _G_exactly_135, lastError = self.exactly('.') self.considerError(lastError, 'r_typed_posedit') - self._trace('', (3802, 3812), self.input.position) + self._trace('', (3801, 3811), self.input.position) _G_apply_136, lastError = self._apply(self.rule_r_posedit, "r_posedit", []) self.considerError(lastError, 'r_typed_posedit') _locals['posedit'] = _G_apply_136 @@ -565,11 +565,11 @@ def rule_r_typed_posedit(self): def rule_c_posedit(self): _locals = {'self': self} self.locals['c_posedit'] = _locals - self._trace('', (4010, 4021), self.input.position) + self._trace('', (4009, 4020), self.input.position) _G_apply_138, lastError = self._apply(self.rule_c_interval, "c_interval", []) self.considerError(lastError, 'c_posedit') _locals['pos'] = _G_apply_138 - self._trace('', (4025, 4034), self.input.position) + self._trace('', (4024, 4033), self.input.position) _G_apply_139, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'c_posedit') _locals['edit'] = _G_apply_139 @@ -581,11 +581,11 @@ def rule_c_posedit(self): def rule_g_posedit(self): _locals = {'self': self} self.locals['g_posedit'] = _locals - self._trace('', (4094, 4105), self.input.position) + self._trace('', (4093, 4104), self.input.position) _G_apply_142, lastError = self._apply(self.rule_g_interval, "g_interval", []) self.considerError(lastError, 'g_posedit') _locals['pos'] = _G_apply_142 - self._trace('', (4109, 4118), self.input.position) + self._trace('', (4108, 4117), self.input.position) _G_apply_143, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'g_posedit') _locals['edit'] = _G_apply_143 @@ -597,11 +597,11 @@ def rule_g_posedit(self): def rule_m_posedit(self): _locals = {'self': self} self.locals['m_posedit'] = _locals - self._trace('', (4178, 4189), self.input.position) + self._trace('', (4177, 4188), self.input.position) _G_apply_145, lastError = self._apply(self.rule_m_interval, "m_interval", []) self.considerError(lastError, 'm_posedit') _locals['pos'] = _G_apply_145 - self._trace('', (4193, 4202), self.input.position) + self._trace('', (4192, 4201), self.input.position) _G_apply_146, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'm_posedit') _locals['edit'] = _G_apply_146 @@ -613,11 +613,11 @@ def rule_m_posedit(self): def rule_n_posedit(self): _locals = {'self': self} self.locals['n_posedit'] = _locals - self._trace('', (4262, 4273), self.input.position) + self._trace('', (4261, 4272), self.input.position) _G_apply_148, lastError = self._apply(self.rule_n_interval, "n_interval", []) self.considerError(lastError, 'n_posedit') _locals['pos'] = _G_apply_148 - self._trace('', (4277, 4286), self.input.position) + self._trace('', (4276, 4285), self.input.position) _G_apply_149, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, 'n_posedit') _locals['edit'] = _G_apply_149 @@ -630,11 +630,11 @@ def rule_r_posedit(self): _locals = {'self': self} self.locals['r_posedit'] = _locals def _G_or_151(): - self._trace('', (4348, 4358), self.input.position) + self._trace('', (4347, 4357), self.input.position) _G_apply_152, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_152 - self._trace('', (4362, 4371), self.input.position) + self._trace('', (4361, 4370), self.input.position) _G_apply_153, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_153 @@ -642,18 +642,18 @@ def _G_or_151(): self.considerError(lastError, None) return (_G_python_154, self.currentError) def _G_or_155(): - self._trace('', (4427, 4430), self.input.position) + self._trace('', (4426, 4429), self.input.position) _G_exactly_156, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (4430, 4441), self.input.position) + self._trace('', (4429, 4440), self.input.position) _G_apply_157, lastError = self._apply(self.rule_r_interval, "r_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_157 - self._trace('', (4445, 4454), self.input.position) + self._trace('', (4444, 4453), self.input.position) _G_apply_158, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_158 - self._trace('', (4459, 4463), self.input.position) + self._trace('', (4458, 4462), self.input.position) _G_exactly_159, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_161, lastError = eval(self._G_expr_160, self.globals, _locals), None @@ -668,11 +668,11 @@ def rule_p_posedit(self): _locals = {'self': self} self.locals['p_posedit'] = _locals def _G_or_163(): - self._trace('', (4540, 4550), self.input.position) + self._trace('', (4539, 4549), self.input.position) _G_apply_164, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_164 - self._trace('', (4554, 4563), self.input.position) + self._trace('', (4553, 4562), self.input.position) _G_apply_165, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_165 @@ -680,25 +680,25 @@ def _G_or_163(): self.considerError(lastError, None) return (_G_python_166, self.currentError) def _G_or_167(): - self._trace('', (4619, 4622), self.input.position) + self._trace('', (4618, 4621), self.input.position) _G_exactly_168, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (4622, 4633), self.input.position) + self._trace('', (4621, 4632), self.input.position) _G_apply_169, lastError = self._apply(self.rule_p_interval, "p_interval", []) self.considerError(lastError, None) _locals['pos'] = _G_apply_169 - self._trace('', (4637, 4646), self.input.position) + self._trace('', (4636, 4645), self.input.position) _G_apply_170, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_170 - self._trace('', (4651, 4655), self.input.position) + self._trace('', (4650, 4654), self.input.position) _G_exactly_171, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_172, lastError = eval(self._G_expr_160, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_172, self.currentError) def _G_or_173(): - self._trace('', (4720, 4738), self.input.position) + self._trace('', (4719, 4737), self.input.position) _G_apply_174, lastError = self._apply(self.rule_p_posedit_special, "p_posedit_special", []) self.considerError(lastError, None) return (_G_apply_174, self.currentError) @@ -711,7 +711,7 @@ def rule_p_posedit_special(self): _locals = {'self': self} self.locals['p_posedit_special'] = _locals def _G_or_176(): - self._trace('', (4758, 4769), self.input.position) + self._trace('', (4757, 4767), self.input.position) _G_exactly_177, lastError = self.exactly('=') self.considerError(lastError, None) _locals['x'] = _G_exactly_177 @@ -719,32 +719,32 @@ def _G_or_176(): self.considerError(lastError, None) return (_G_python_179, self.currentError) def _G_or_180(): - self._trace('', (4831, 4835), self.input.position) + self._trace('', (4829, 4833), self.input.position) _G_exactly_181, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (4835, 4839), self.input.position) + self._trace('', (4833, 4837), self.input.position) _G_exactly_182, lastError = self.exactly('=') self.considerError(lastError, None) _locals['x'] = _G_exactly_182 - self._trace('', (4841, 4845), self.input.position) + self._trace('', (4839, 4843), self.input.position) _G_exactly_183, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_185, lastError = eval(self._G_expr_184, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_185, self.currentError) def _G_or_186(): - self._trace('', (4904, 4908), self.input.position) + self._trace('', (4902, 4906), self.input.position) _G_exactly_187, lastError = self.exactly('0') self.considerError(lastError, None) _locals['x'] = _G_exactly_187 - self._trace('', (4910, 4914), self.input.position) + self._trace('', (4908, 4912), self.input.position) _G_exactly_188, lastError = self.exactly('?') self.considerError(lastError, None) _G_python_189, lastError = eval(self._G_expr_184, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_189, self.currentError) def _G_or_190(): - self._trace('', (4973, 4977), self.input.position) + self._trace('', (4971, 4975), self.input.position) _G_exactly_191, lastError = self.exactly('0') self.considerError(lastError, None) _locals['x'] = _G_exactly_191 @@ -752,7 +752,7 @@ def _G_or_190(): self.considerError(lastError, None) return (_G_python_192, self.currentError) def _G_or_193(): - self._trace('', (5039, 5043), self.input.position) + self._trace('', (5037, 5041), self.input.position) _G_exactly_194, lastError = self.exactly('?') self.considerError(lastError, None) _locals['x'] = _G_exactly_194 @@ -768,19 +768,19 @@ def rule_dna_edit_mu(self): _locals = {'self': self} self.locals['dna_edit_mu'] = _locals def _G_or_197(): - self._trace('', (5394, 5403), self.input.position) + self._trace('', (5392, 5401), self.input.position) _G_apply_198, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, None) return (_G_apply_198, self.currentError) def _G_or_199(): - self._trace('', (5405, 5409), self.input.position) + self._trace('', (5403, 5407), self.input.position) _G_exactly_200, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (5409, 5418), self.input.position) + self._trace('', (5407, 5416), self.input.position) _G_apply_201, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_201 - self._trace('', (5423, 5427), self.input.position) + self._trace('', (5421, 5425), self.input.position) _G_exactly_202, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_204, lastError = eval(self._G_expr_203, self.globals, _locals), None @@ -795,47 +795,47 @@ def rule_dna_edit(self): _locals = {'self': self} self.locals['dna_edit'] = _locals def _G_or_206(): - self._trace('', (5465, 5475), self.input.position) + self._trace('', (5463, 5473), self.input.position) _G_apply_207, lastError = self._apply(self.rule_dna_ident, "dna_ident", []) self.considerError(lastError, None) return (_G_apply_207, self.currentError) def _G_or_208(): - self._trace('', (5477, 5487), self.input.position) + self._trace('', (5475, 5485), self.input.position) _G_apply_209, lastError = self._apply(self.rule_dna_subst, "dna_subst", []) self.considerError(lastError, None) return (_G_apply_209, self.currentError) def _G_or_210(): - self._trace('', (5489, 5500), self.input.position) + self._trace('', (5487, 5498), self.input.position) _G_apply_211, lastError = self._apply(self.rule_dna_delins, "dna_delins", []) self.considerError(lastError, None) return (_G_apply_211, self.currentError) def _G_or_212(): - self._trace('', (5502, 5510), self.input.position) + self._trace('', (5500, 5508), self.input.position) _G_apply_213, lastError = self._apply(self.rule_dna_ins, "dna_ins", []) self.considerError(lastError, None) return (_G_apply_213, self.currentError) def _G_or_214(): - self._trace('', (5512, 5520), self.input.position) + self._trace('', (5510, 5518), self.input.position) _G_apply_215, lastError = self._apply(self.rule_dna_del, "dna_del", []) self.considerError(lastError, None) return (_G_apply_215, self.currentError) def _G_or_216(): - self._trace('', (5522, 5530), self.input.position) + self._trace('', (5520, 5528), self.input.position) _G_apply_217, lastError = self._apply(self.rule_dna_dup, "dna_dup", []) self.considerError(lastError, None) return (_G_apply_217, self.currentError) def _G_or_218(): - self._trace('', (5532, 5540), self.input.position) + self._trace('', (5530, 5538), self.input.position) _G_apply_219, lastError = self._apply(self.rule_dna_inv, "dna_inv", []) self.considerError(lastError, None) return (_G_apply_219, self.currentError) def _G_or_220(): - self._trace('', (5542, 5550), self.input.position) + self._trace('', (5540, 5548), self.input.position) _G_apply_221, lastError = self._apply(self.rule_dna_con, "dna_con", []) self.considerError(lastError, None) return (_G_apply_221, self.currentError) def _G_or_222(): - self._trace('', (5552, 5561), self.input.position) + self._trace('', (5550, 5559), self.input.position) _G_apply_223, lastError = self._apply(self.rule_dna_copy, "dna_copy", []) self.considerError(lastError, None) return (_G_apply_223, self.currentError) @@ -849,7 +849,7 @@ def rule_dna_ident(self): self.locals['dna_ident'] = _locals def _G_consumedby_225(): def _G_many_226(): - self._trace('', (5576, 5579), self.input.position) + self._trace('', (5574, 5577), self.input.position) _G_apply_227, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_227, self.currentError) @@ -859,7 +859,7 @@ def _G_many_226(): _G_consumedby_229, lastError = self.consumedby(_G_consumedby_225) self.considerError(lastError, 'dna_ident') _locals['ref'] = _G_consumedby_229 - self._trace('', (5585, 5589), self.input.position) + self._trace('', (5583, 5587), self.input.position) _G_exactly_230, lastError = self.exactly('=') self.considerError(lastError, 'dna_ident') _G_python_232, lastError = eval(self._G_expr_231, self.globals, _locals), None @@ -870,14 +870,14 @@ def _G_many_226(): def rule_dna_subst(self): _locals = {'self': self} self.locals['dna_subst'] = _locals - self._trace('', (5651, 5655), self.input.position) + self._trace('', (5649, 5653), self.input.position) _G_apply_233, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, 'dna_subst') _locals['ref'] = _G_apply_233 - self._trace('', (5659, 5663), self.input.position) + self._trace('', (5657, 5661), self.input.position) _G_exactly_234, lastError = self.exactly('>') self.considerError(lastError, 'dna_subst') - self._trace('', (5663, 5667), self.input.position) + self._trace('', (5661, 5665), self.input.position) _G_apply_235, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, 'dna_subst') _locals['alt'] = _G_apply_235 @@ -889,12 +889,12 @@ def rule_dna_subst(self): def rule_dna_delins(self): _locals = {'self': self} self.locals['dna_delins'] = _locals - self._trace('', (5728, 5734), self.input.position) + self._trace('', (5726, 5732), self.input.position) _G_exactly_238, lastError = self.exactly('del') self.considerError(lastError, 'dna_delins') def _G_or_239(): def _G_consumedby_240(): - self._trace('', (5737, 5740), self.input.position) + self._trace('', (5735, 5738), self.input.position) _G_apply_241, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_241, self.currentError) @@ -904,7 +904,7 @@ def _G_consumedby_240(): def _G_or_243(): def _G_consumedby_244(): def _G_many_245(): - self._trace('', (5743, 5746), self.input.position) + self._trace('', (5741, 5744), self.input.position) _G_apply_246, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_246, self.currentError) @@ -917,12 +917,12 @@ def _G_many_245(): _G_or_249, lastError = self._or([_G_or_239, _G_or_243]) self.considerError(lastError, 'dna_delins') _locals['ref'] = _G_or_249 - self._trace('', (5753, 5759), self.input.position) + self._trace('', (5751, 5757), self.input.position) _G_exactly_250, lastError = self.exactly('ins') self.considerError(lastError, 'dna_delins') def _G_consumedby_251(): def _G_many1_252(): - self._trace('', (5761, 5764), self.input.position) + self._trace('', (5759, 5762), self.input.position) _G_apply_253, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_253, self.currentError) @@ -940,12 +940,12 @@ def _G_many1_252(): def rule_dna_del(self): _locals = {'self': self} self.locals['dna_del'] = _locals - self._trace('', (5823, 5829), self.input.position) + self._trace('', (5821, 5827), self.input.position) _G_exactly_257, lastError = self.exactly('del') self.considerError(lastError, 'dna_del') def _G_or_258(): def _G_consumedby_259(): - self._trace('', (5832, 5835), self.input.position) + self._trace('', (5830, 5833), self.input.position) _G_apply_260, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_260, self.currentError) @@ -955,7 +955,7 @@ def _G_consumedby_259(): def _G_or_262(): def _G_consumedby_263(): def _G_many_264(): - self._trace('', (5838, 5841), self.input.position) + self._trace('', (5836, 5839), self.input.position) _G_apply_265, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_265, self.currentError) @@ -976,12 +976,12 @@ def _G_many_264(): def rule_dna_ins(self): _locals = {'self': self} self.locals['dna_ins'] = _locals - self._trace('', (5901, 5907), self.input.position) + self._trace('', (5899, 5905), self.input.position) _G_exactly_271, lastError = self.exactly('ins') self.considerError(lastError, 'dna_ins') def _G_consumedby_272(): def _G_many1_273(): - self._trace('', (5909, 5912), self.input.position) + self._trace('', (5907, 5910), self.input.position) _G_apply_274, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_274, self.currentError) @@ -999,12 +999,12 @@ def _G_many1_273(): def rule_dna_dup(self): _locals = {'self': self} self.locals['dna_dup'] = _locals - self._trace('', (5979, 5985), self.input.position) + self._trace('', (5977, 5983), self.input.position) _G_exactly_279, lastError = self.exactly('dup') self.considerError(lastError, 'dna_dup') def _G_consumedby_280(): def _G_many_281(): - self._trace('', (5987, 5990), self.input.position) + self._trace('', (5985, 5988), self.input.position) _G_apply_282, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_282, self.currentError) @@ -1022,12 +1022,12 @@ def _G_many_281(): def rule_dna_inv(self): _locals = {'self': self} self.locals['dna_inv'] = _locals - self._trace('', (6043, 6049), self.input.position) + self._trace('', (6041, 6047), self.input.position) _G_exactly_287, lastError = self.exactly('inv') self.considerError(lastError, 'dna_inv') def _G_or_288(): def _G_consumedby_289(): - self._trace('', (6052, 6055), self.input.position) + self._trace('', (6050, 6053), self.input.position) _G_apply_290, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_290, self.currentError) @@ -1037,7 +1037,7 @@ def _G_consumedby_289(): def _G_or_292(): def _G_consumedby_293(): def _G_many_294(): - self._trace('', (6058, 6061), self.input.position) + self._trace('', (6056, 6059), self.input.position) _G_apply_295, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_295, self.currentError) @@ -1058,10 +1058,10 @@ def _G_many_294(): def rule_dna_con(self): _locals = {'self': self} self.locals['dna_con'] = _locals - self._trace('', (6108, 6114), self.input.position) + self._trace('', (6106, 6112), self.input.position) _G_exactly_301, lastError = self.exactly('con') self.considerError(lastError, 'dna_con') - self._trace('', (6114, 6128), self.input.position) + self._trace('', (6112, 6126), self.input.position) _G_apply_302, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) self.considerError(lastError, 'dna_con') _locals['pos'] = _G_apply_302 @@ -1073,10 +1073,10 @@ def rule_dna_con(self): def rule_dna_copy(self): _locals = {'self': self} self.locals['dna_copy'] = _locals - self._trace('', (6218, 6225), self.input.position) + self._trace('', (6216, 6223), self.input.position) _G_exactly_305, lastError = self.exactly('copy') self.considerError(lastError, 'dna_copy') - self._trace('', (6225, 6229), self.input.position) + self._trace('', (6223, 6227), self.input.position) _G_apply_306, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, 'dna_copy') _locals['n'] = _G_apply_306 @@ -1089,19 +1089,19 @@ def rule_rna_edit_mu(self): _locals = {'self': self} self.locals['rna_edit_mu'] = _locals def _G_or_309(): - self._trace('', (6274, 6283), self.input.position) + self._trace('', (6272, 6281), self.input.position) _G_apply_310, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) return (_G_apply_310, self.currentError) def _G_or_311(): - self._trace('', (6285, 6289), self.input.position) + self._trace('', (6283, 6287), self.input.position) _G_exactly_312, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (6289, 6298), self.input.position) + self._trace('', (6287, 6296), self.input.position) _G_apply_313, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_313 - self._trace('', (6303, 6307), self.input.position) + self._trace('', (6301, 6305), self.input.position) _G_exactly_314, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_315, lastError = eval(self._G_expr_203, self.globals, _locals), None @@ -1116,42 +1116,42 @@ def rule_rna_edit(self): _locals = {'self': self} self.locals['rna_edit'] = _locals def _G_or_317(): - self._trace('', (6345, 6355), self.input.position) + self._trace('', (6343, 6353), self.input.position) _G_apply_318, lastError = self._apply(self.rule_rna_ident, "rna_ident", []) self.considerError(lastError, None) return (_G_apply_318, self.currentError) def _G_or_319(): - self._trace('', (6357, 6367), self.input.position) + self._trace('', (6355, 6365), self.input.position) _G_apply_320, lastError = self._apply(self.rule_rna_subst, "rna_subst", []) self.considerError(lastError, None) return (_G_apply_320, self.currentError) def _G_or_321(): - self._trace('', (6369, 6380), self.input.position) + self._trace('', (6367, 6378), self.input.position) _G_apply_322, lastError = self._apply(self.rule_rna_delins, "rna_delins", []) self.considerError(lastError, None) return (_G_apply_322, self.currentError) def _G_or_323(): - self._trace('', (6382, 6390), self.input.position) + self._trace('', (6380, 6388), self.input.position) _G_apply_324, lastError = self._apply(self.rule_rna_ins, "rna_ins", []) self.considerError(lastError, None) return (_G_apply_324, self.currentError) def _G_or_325(): - self._trace('', (6392, 6400), self.input.position) + self._trace('', (6390, 6398), self.input.position) _G_apply_326, lastError = self._apply(self.rule_rna_del, "rna_del", []) self.considerError(lastError, None) return (_G_apply_326, self.currentError) def _G_or_327(): - self._trace('', (6402, 6410), self.input.position) + self._trace('', (6400, 6408), self.input.position) _G_apply_328, lastError = self._apply(self.rule_rna_dup, "rna_dup", []) self.considerError(lastError, None) return (_G_apply_328, self.currentError) def _G_or_329(): - self._trace('', (6412, 6420), self.input.position) + self._trace('', (6410, 6418), self.input.position) _G_apply_330, lastError = self._apply(self.rule_rna_inv, "rna_inv", []) self.considerError(lastError, None) return (_G_apply_330, self.currentError) def _G_or_331(): - self._trace('', (6422, 6430), self.input.position) + self._trace('', (6420, 6428), self.input.position) _G_apply_332, lastError = self._apply(self.rule_rna_con, "rna_con", []) self.considerError(lastError, None) return (_G_apply_332, self.currentError) @@ -1165,7 +1165,7 @@ def rule_rna_ident(self): self.locals['rna_ident'] = _locals def _G_consumedby_334(): def _G_many_335(): - self._trace('', (6445, 6448), self.input.position) + self._trace('', (6443, 6446), self.input.position) _G_apply_336, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_336, self.currentError) @@ -1175,7 +1175,7 @@ def _G_many_335(): _G_consumedby_338, lastError = self.consumedby(_G_consumedby_334) self.considerError(lastError, 'rna_ident') _locals['ref'] = _G_consumedby_338 - self._trace('', (6454, 6458), self.input.position) + self._trace('', (6452, 6456), self.input.position) _G_exactly_339, lastError = self.exactly('=') self.considerError(lastError, 'rna_ident') _G_python_340, lastError = eval(self._G_expr_231, self.globals, _locals), None @@ -1186,14 +1186,14 @@ def _G_many_335(): def rule_rna_subst(self): _locals = {'self': self} self.locals['rna_subst'] = _locals - self._trace('', (6527, 6531), self.input.position) + self._trace('', (6525, 6529), self.input.position) _G_apply_341, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, 'rna_subst') _locals['ref'] = _G_apply_341 - self._trace('', (6535, 6539), self.input.position) + self._trace('', (6533, 6537), self.input.position) _G_exactly_342, lastError = self.exactly('>') self.considerError(lastError, 'rna_subst') - self._trace('', (6539, 6543), self.input.position) + self._trace('', (6537, 6541), self.input.position) _G_apply_343, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, 'rna_subst') _locals['alt'] = _G_apply_343 @@ -1205,12 +1205,12 @@ def rule_rna_subst(self): def rule_rna_delins(self): _locals = {'self': self} self.locals['rna_delins'] = _locals - self._trace('', (6611, 6617), self.input.position) + self._trace('', (6609, 6615), self.input.position) _G_exactly_345, lastError = self.exactly('del') self.considerError(lastError, 'rna_delins') def _G_or_346(): def _G_consumedby_347(): - self._trace('', (6620, 6623), self.input.position) + self._trace('', (6618, 6621), self.input.position) _G_apply_348, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_348, self.currentError) @@ -1220,7 +1220,7 @@ def _G_consumedby_347(): def _G_or_350(): def _G_consumedby_351(): def _G_many_352(): - self._trace('', (6626, 6629), self.input.position) + self._trace('', (6624, 6627), self.input.position) _G_apply_353, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_353, self.currentError) @@ -1233,12 +1233,12 @@ def _G_many_352(): _G_or_356, lastError = self._or([_G_or_346, _G_or_350]) self.considerError(lastError, 'rna_delins') _locals['ref'] = _G_or_356 - self._trace('', (6636, 6642), self.input.position) + self._trace('', (6634, 6640), self.input.position) _G_exactly_357, lastError = self.exactly('ins') self.considerError(lastError, 'rna_delins') def _G_consumedby_358(): def _G_many1_359(): - self._trace('', (6644, 6647), self.input.position) + self._trace('', (6642, 6645), self.input.position) _G_apply_360, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_360, self.currentError) @@ -1256,12 +1256,12 @@ def _G_many1_359(): def rule_rna_del(self): _locals = {'self': self} self.locals['rna_del'] = _locals - self._trace('', (6706, 6712), self.input.position) + self._trace('', (6704, 6710), self.input.position) _G_exactly_364, lastError = self.exactly('del') self.considerError(lastError, 'rna_del') def _G_or_365(): def _G_consumedby_366(): - self._trace('', (6715, 6718), self.input.position) + self._trace('', (6713, 6716), self.input.position) _G_apply_367, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_367, self.currentError) @@ -1271,7 +1271,7 @@ def _G_consumedby_366(): def _G_or_369(): def _G_consumedby_370(): def _G_many_371(): - self._trace('', (6721, 6724), self.input.position) + self._trace('', (6719, 6722), self.input.position) _G_apply_372, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_372, self.currentError) @@ -1292,12 +1292,12 @@ def _G_many_371(): def rule_rna_ins(self): _locals = {'self': self} self.locals['rna_ins'] = _locals - self._trace('', (6791, 6797), self.input.position) + self._trace('', (6789, 6795), self.input.position) _G_exactly_377, lastError = self.exactly('ins') self.considerError(lastError, 'rna_ins') def _G_consumedby_378(): def _G_many1_379(): - self._trace('', (6799, 6802), self.input.position) + self._trace('', (6797, 6800), self.input.position) _G_apply_380, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_380, self.currentError) @@ -1315,12 +1315,12 @@ def _G_many1_379(): def rule_rna_dup(self): _locals = {'self': self} self.locals['rna_dup'] = _locals - self._trace('', (6876, 6882), self.input.position) + self._trace('', (6874, 6880), self.input.position) _G_exactly_384, lastError = self.exactly('dup') self.considerError(lastError, 'rna_dup') def _G_consumedby_385(): def _G_many_386(): - self._trace('', (6884, 6887), self.input.position) + self._trace('', (6882, 6885), self.input.position) _G_apply_387, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_387, self.currentError) @@ -1338,12 +1338,12 @@ def _G_many_386(): def rule_rna_inv(self): _locals = {'self': self} self.locals['rna_inv'] = _locals - self._trace('', (6947, 6953), self.input.position) + self._trace('', (6945, 6951), self.input.position) _G_exactly_391, lastError = self.exactly('inv') self.considerError(lastError, 'rna_inv') def _G_or_392(): def _G_consumedby_393(): - self._trace('', (6956, 6959), self.input.position) + self._trace('', (6954, 6957), self.input.position) _G_apply_394, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_394, self.currentError) @@ -1353,7 +1353,7 @@ def _G_consumedby_393(): def _G_or_396(): def _G_consumedby_397(): def _G_many_398(): - self._trace('', (6962, 6965), self.input.position) + self._trace('', (6960, 6963), self.input.position) _G_apply_399, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_399, self.currentError) @@ -1374,10 +1374,10 @@ def _G_many_398(): def rule_rna_con(self): _locals = {'self': self} self.locals['rna_con'] = _locals - self._trace('', (7019, 7025), self.input.position) + self._trace('', (7017, 7023), self.input.position) _G_exactly_404, lastError = self.exactly('con') self.considerError(lastError, 'rna_con') - self._trace('', (7025, 7039), self.input.position) + self._trace('', (7023, 7037), self.input.position) _G_apply_405, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) self.considerError(lastError, 'rna_con') _locals['pos'] = _G_apply_405 @@ -1390,19 +1390,19 @@ def rule_pro_edit_mu(self): _locals = {'self': self} self.locals['pro_edit_mu'] = _locals def _G_or_407(): - self._trace('', (7138, 7147), self.input.position) + self._trace('', (7136, 7145), self.input.position) _G_apply_408, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) return (_G_apply_408, self.currentError) def _G_or_409(): - self._trace('', (7149, 7153), self.input.position) + self._trace('', (7147, 7151), self.input.position) _G_exactly_410, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (7153, 7162), self.input.position) + self._trace('', (7151, 7160), self.input.position) _G_apply_411, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) self.considerError(lastError, None) _locals['edit'] = _G_apply_411 - self._trace('', (7167, 7171), self.input.position) + self._trace('', (7165, 7169), self.input.position) _G_exactly_412, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_413, lastError = eval(self._G_expr_203, self.globals, _locals), None @@ -1417,42 +1417,42 @@ def rule_pro_edit(self): _locals = {'self': self} self.locals['pro_edit'] = _locals def _G_or_415(): - self._trace('', (7209, 7216), self.input.position) + self._trace('', (7207, 7214), self.input.position) _G_apply_416, lastError = self._apply(self.rule_pro_fs, "pro_fs", []) self.considerError(lastError, None) return (_G_apply_416, self.currentError) def _G_or_417(): - self._trace('', (7218, 7226), self.input.position) + self._trace('', (7216, 7224), self.input.position) _G_apply_418, lastError = self._apply(self.rule_pro_ext, "pro_ext", []) self.considerError(lastError, None) return (_G_apply_418, self.currentError) def _G_or_419(): - self._trace('', (7228, 7238), self.input.position) + self._trace('', (7226, 7236), self.input.position) _G_apply_420, lastError = self._apply(self.rule_pro_subst, "pro_subst", []) self.considerError(lastError, None) return (_G_apply_420, self.currentError) def _G_or_421(): - self._trace('', (7240, 7251), self.input.position) + self._trace('', (7238, 7249), self.input.position) _G_apply_422, lastError = self._apply(self.rule_pro_delins, "pro_delins", []) self.considerError(lastError, None) return (_G_apply_422, self.currentError) def _G_or_423(): - self._trace('', (7253, 7261), self.input.position) + self._trace('', (7251, 7259), self.input.position) _G_apply_424, lastError = self._apply(self.rule_pro_ins, "pro_ins", []) self.considerError(lastError, None) return (_G_apply_424, self.currentError) def _G_or_425(): - self._trace('', (7263, 7271), self.input.position) + self._trace('', (7261, 7269), self.input.position) _G_apply_426, lastError = self._apply(self.rule_pro_del, "pro_del", []) self.considerError(lastError, None) return (_G_apply_426, self.currentError) def _G_or_427(): - self._trace('', (7273, 7281), self.input.position) + self._trace('', (7271, 7279), self.input.position) _G_apply_428, lastError = self._apply(self.rule_pro_dup, "pro_dup", []) self.considerError(lastError, None) return (_G_apply_428, self.currentError) def _G_or_429(): - self._trace('', (7283, 7293), self.input.position) + self._trace('', (7281, 7291), self.input.position) _G_apply_430, lastError = self._apply(self.rule_pro_ident, "pro_ident", []) self.considerError(lastError, None) return (_G_apply_430, self.currentError) @@ -1465,12 +1465,12 @@ def rule_pro_subst(self): _locals = {'self': self} self.locals['pro_subst'] = _locals def _G_or_432(): - self._trace('', (7308, 7313), self.input.position) + self._trace('', (7306, 7311), self.input.position) _G_apply_433, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_433, self.currentError) def _G_or_434(): - self._trace('', (7314, 7317), self.input.position) + self._trace('', (7312, 7315), self.input.position) _G_exactly_435, lastError = self.exactly('?') self.considerError(lastError, None) return (_G_exactly_435, self.currentError) @@ -1485,10 +1485,10 @@ def _G_or_434(): def rule_pro_delins(self): _locals = {'self': self} self.locals['pro_delins'] = _locals - self._trace('', (7386, 7395), self.input.position) + self._trace('', (7384, 7393), self.input.position) _G_exactly_439, lastError = self.exactly('delins') self.considerError(lastError, 'pro_delins') - self._trace('', (7395, 7405), self.input.position) + self._trace('', (7393, 7403), self.input.position) _G_apply_440, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) self.considerError(lastError, 'pro_delins') _locals['alt'] = _G_apply_440 @@ -1500,7 +1500,7 @@ def rule_pro_delins(self): def rule_pro_del(self): _locals = {'self': self} self.locals['pro_del'] = _locals - self._trace('', (7469, 7475), self.input.position) + self._trace('', (7467, 7473), self.input.position) _G_exactly_443, lastError = self.exactly('del') self.considerError(lastError, 'pro_del') _G_python_445, lastError = eval(self._G_expr_444, self.globals, _locals), None @@ -1511,10 +1511,10 @@ def rule_pro_del(self): def rule_pro_ins(self): _locals = {'self': self} self.locals['pro_ins'] = _locals - self._trace('', (7553, 7559), self.input.position) + self._trace('', (7551, 7557), self.input.position) _G_exactly_446, lastError = self.exactly('ins') self.considerError(lastError, 'pro_ins') - self._trace('', (7559, 7569), self.input.position) + self._trace('', (7557, 7567), self.input.position) _G_apply_447, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) self.considerError(lastError, 'pro_ins') _locals['alt'] = _G_apply_447 @@ -1526,7 +1526,7 @@ def rule_pro_ins(self): def rule_pro_dup(self): _locals = {'self': self} self.locals['pro_dup'] = _locals - self._trace('', (7638, 7644), self.input.position) + self._trace('', (7636, 7642), self.input.position) _G_exactly_450, lastError = self.exactly('dup') self.considerError(lastError, 'pro_dup') _G_python_452, lastError = eval(self._G_expr_451, self.globals, _locals), None @@ -1538,7 +1538,7 @@ def rule_pro_fs(self): _locals = {'self': self} self.locals['pro_fs'] = _locals def _G_or_453(): - self._trace('', (7710, 7715), self.input.position) + self._trace('', (7708, 7713), self.input.position) _G_apply_454, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_454, self.currentError) @@ -1549,7 +1549,7 @@ def _G_or_455(): _G_or_457, lastError = self._or([_G_or_453, _G_or_455]) self.considerError(lastError, 'pro_fs') _locals['alt'] = _G_or_457 - self._trace('', (7730, 7733), self.input.position) + self._trace('', (7728, 7731), self.input.position) _G_apply_458, lastError = self._apply(self.rule_fs, "fs", []) self.considerError(lastError, 'pro_fs') _locals['length'] = _G_apply_458 @@ -1562,7 +1562,7 @@ def rule_pro_ext(self): _locals = {'self': self} self.locals['pro_ext'] = _locals def _G_optional_461(): - self._trace('', (7803, 7809), self.input.position) + self._trace('', (7801, 7807), self.input.position) _G_apply_462, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_462, self.currentError) @@ -1571,7 +1571,7 @@ def _G_optional_463(): _G_or_464, lastError = self._or([_G_optional_461, _G_optional_463]) self.considerError(lastError, 'pro_ext') _locals['alt'] = _G_or_464 - self._trace('', (7814, 7818), self.input.position) + self._trace('', (7812, 7816), self.input.position) _G_apply_465, lastError = self._apply(self.rule_ext, "ext", []) self.considerError(lastError, 'pro_ext') _locals['aaterm'] = _G_apply_465[0] @@ -1584,7 +1584,7 @@ def _G_optional_463(): def rule_pro_ident(self): _locals = {'self': self} self.locals['pro_ident'] = _locals - self._trace('', (7914, 7918), self.input.position) + self._trace('', (7912, 7916), self.input.position) _G_exactly_468, lastError = self.exactly('=') self.considerError(lastError, 'pro_ident') _G_python_470, lastError = eval(self._G_expr_469, self.globals, _locals), None @@ -1596,19 +1596,19 @@ def rule_c_interval(self): _locals = {'self': self} self.locals['c_interval'] = _locals def _G_or_471(): - self._trace('', (8240, 8255), self.input.position) + self._trace('', (8238, 8253), self.input.position) _G_apply_472, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) self.considerError(lastError, None) return (_G_apply_472, self.currentError) def _G_or_473(): - self._trace('', (8257, 8261), self.input.position) + self._trace('', (8255, 8259), self.input.position) _G_exactly_474, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8261, 8276), self.input.position) + self._trace('', (8259, 8274), self.input.position) _G_apply_475, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_475 - self._trace('', (8279, 8283), self.input.position) + self._trace('', (8277, 8281), self.input.position) _G_exactly_476, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_478, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1623,27 +1623,27 @@ def rule_g_interval(self): _locals = {'self': self} self.locals['g_interval'] = _locals def _G_or_480(): - self._trace('', (8319, 8340), self.input.position) + self._trace('', (8317, 8338), self.input.position) _G_apply_481, lastError = self._apply(self.rule_uncertain_g_interval, "uncertain_g_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_481 return (_G_apply_481, self.currentError) def _G_or_482(): - self._trace('', (8347, 8350), self.input.position) + self._trace('', (8345, 8348), self.input.position) _G_exactly_483, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8350, 8365), self.input.position) + self._trace('', (8348, 8363), self.input.position) _G_apply_484, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_484 - self._trace('', (8368, 8372), self.input.position) + self._trace('', (8366, 8370), self.input.position) _G_exactly_485, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_486, lastError = eval(self._G_expr_477, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_486, self.currentError) def _G_or_487(): - self._trace('', (8398, 8413), self.input.position) + self._trace('', (8396, 8411), self.input.position) _G_apply_488, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) return (_G_apply_488, self.currentError) @@ -1656,19 +1656,19 @@ def rule_m_interval(self): _locals = {'self': self} self.locals['m_interval'] = _locals def _G_or_490(): - self._trace('', (8426, 8441), self.input.position) + self._trace('', (8424, 8439), self.input.position) _G_apply_491, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) self.considerError(lastError, None) return (_G_apply_491, self.currentError) def _G_or_492(): - self._trace('', (8443, 8447), self.input.position) + self._trace('', (8441, 8445), self.input.position) _G_exactly_493, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8447, 8462), self.input.position) + self._trace('', (8445, 8460), self.input.position) _G_apply_494, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_494 - self._trace('', (8465, 8469), self.input.position) + self._trace('', (8463, 8467), self.input.position) _G_exactly_495, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_496, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1683,19 +1683,19 @@ def rule_n_interval(self): _locals = {'self': self} self.locals['n_interval'] = _locals def _G_or_498(): - self._trace('', (8505, 8520), self.input.position) + self._trace('', (8503, 8518), self.input.position) _G_apply_499, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) self.considerError(lastError, None) return (_G_apply_499, self.currentError) def _G_or_500(): - self._trace('', (8522, 8526), self.input.position) + self._trace('', (8520, 8524), self.input.position) _G_exactly_501, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8526, 8541), self.input.position) + self._trace('', (8524, 8539), self.input.position) _G_apply_502, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_502 - self._trace('', (8544, 8548), self.input.position) + self._trace('', (8542, 8546), self.input.position) _G_exactly_503, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_504, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1710,19 +1710,19 @@ def rule_p_interval(self): _locals = {'self': self} self.locals['p_interval'] = _locals def _G_or_506(): - self._trace('', (8584, 8599), self.input.position) + self._trace('', (8582, 8597), self.input.position) _G_apply_507, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) return (_G_apply_507, self.currentError) def _G_or_508(): - self._trace('', (8601, 8605), self.input.position) + self._trace('', (8599, 8603), self.input.position) _G_exactly_509, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8605, 8620), self.input.position) + self._trace('', (8603, 8618), self.input.position) _G_apply_510, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_510 - self._trace('', (8623, 8627), self.input.position) + self._trace('', (8621, 8625), self.input.position) _G_exactly_511, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_512, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1737,19 +1737,19 @@ def rule_r_interval(self): _locals = {'self': self} self.locals['r_interval'] = _locals def _G_or_514(): - self._trace('', (8663, 8678), self.input.position) + self._trace('', (8661, 8676), self.input.position) _G_apply_515, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) return (_G_apply_515, self.currentError) def _G_or_516(): - self._trace('', (8680, 8684), self.input.position) + self._trace('', (8678, 8682), self.input.position) _G_exactly_517, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (8684, 8699), self.input.position) + self._trace('', (8682, 8697), self.input.position) _G_apply_518, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) self.considerError(lastError, None) _locals['iv'] = _G_apply_518 - self._trace('', (8702, 8706), self.input.position) + self._trace('', (8700, 8704), self.input.position) _G_exactly_519, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_520, lastError = eval(self._G_expr_477, self.globals, _locals), None @@ -1764,14 +1764,14 @@ def rule_def_g_interval(self): _locals = {'self': self} self.locals['def_g_interval'] = _locals def _G_or_522(): - self._trace('', (8770, 8775), self.input.position) + self._trace('', (8768, 8773), self.input.position) _G_apply_523, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_523 - self._trace('', (8781, 8785), self.input.position) + self._trace('', (8779, 8783), self.input.position) _G_exactly_524, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (8785, 8791), self.input.position) + self._trace('', (8783, 8789), self.input.position) _G_apply_525, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_525 @@ -1779,7 +1779,7 @@ def _G_or_522(): self.considerError(lastError, None) return (_G_python_527, self.currentError) def _G_or_528(): - self._trace('', (8837, 8842), self.input.position) + self._trace('', (8835, 8840), self.input.position) _G_apply_529, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_529 @@ -1795,14 +1795,14 @@ def rule_def_m_interval(self): _locals = {'self': self} self.locals['def_m_interval'] = _locals def _G_or_533(): - self._trace('', (8922, 8927), self.input.position) + self._trace('', (8904, 8909), self.input.position) _G_apply_534, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_534 - self._trace('', (8933, 8937), self.input.position) + self._trace('', (8915, 8919), self.input.position) _G_exactly_535, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (8937, 8943), self.input.position) + self._trace('', (8919, 8925), self.input.position) _G_apply_536, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_536 @@ -1810,7 +1810,7 @@ def _G_or_533(): self.considerError(lastError, None) return (_G_python_537, self.currentError) def _G_or_538(): - self._trace('', (8989, 8994), self.input.position) + self._trace('', (8971, 8976), self.input.position) _G_apply_539, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_539 @@ -1826,14 +1826,14 @@ def rule_def_p_interval(self): _locals = {'self': self} self.locals['def_p_interval'] = _locals def _G_or_542(): - self._trace('', (9074, 9079), self.input.position) + self._trace('', (9040, 9045), self.input.position) _G_apply_543, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_543 - self._trace('', (9085, 9089), self.input.position) + self._trace('', (9051, 9055), self.input.position) _G_exactly_544, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9089, 9095), self.input.position) + self._trace('', (9055, 9061), self.input.position) _G_apply_545, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_545 @@ -1841,7 +1841,7 @@ def _G_or_542(): self.considerError(lastError, None) return (_G_python_546, self.currentError) def _G_or_547(): - self._trace('', (9141, 9146), self.input.position) + self._trace('', (9107, 9112), self.input.position) _G_apply_548, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_548 @@ -1857,14 +1857,14 @@ def rule_def_r_interval(self): _locals = {'self': self} self.locals['def_r_interval'] = _locals def _G_or_551(): - self._trace('', (9226, 9231), self.input.position) + self._trace('', (9176, 9181), self.input.position) _G_apply_552, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_552 - self._trace('', (9237, 9241), self.input.position) + self._trace('', (9187, 9191), self.input.position) _G_exactly_553, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9241, 9247), self.input.position) + self._trace('', (9191, 9197), self.input.position) _G_apply_554, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_554 @@ -1872,7 +1872,7 @@ def _G_or_551(): self.considerError(lastError, None) return (_G_python_555, self.currentError) def _G_or_556(): - self._trace('', (9293, 9298), self.input.position) + self._trace('', (9243, 9248), self.input.position) _G_apply_557, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_557 @@ -1888,14 +1888,14 @@ def rule_def_c_interval(self): _locals = {'self': self} self.locals['def_c_interval'] = _locals def _G_or_560(): - self._trace('', (9378, 9383), self.input.position) + self._trace('', (9312, 9317), self.input.position) _G_apply_561, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_561 - self._trace('', (9389, 9393), self.input.position) + self._trace('', (9323, 9327), self.input.position) _G_exactly_562, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9393, 9399), self.input.position) + self._trace('', (9327, 9333), self.input.position) _G_apply_563, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_563 @@ -1903,7 +1903,7 @@ def _G_or_560(): self.considerError(lastError, None) return (_G_python_565, self.currentError) def _G_or_566(): - self._trace('', (9455, 9460), self.input.position) + self._trace('', (9389, 9394), self.input.position) _G_apply_567, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_567 @@ -1919,14 +1919,14 @@ def rule_def_n_interval(self): _locals = {'self': self} self.locals['def_n_interval'] = _locals def _G_or_571(): - self._trace('', (9550, 9555), self.input.position) + self._trace('', (9484, 9489), self.input.position) _G_apply_572, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_572 - self._trace('', (9561, 9565), self.input.position) + self._trace('', (9495, 9499), self.input.position) _G_exactly_573, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9565, 9571), self.input.position) + self._trace('', (9499, 9505), self.input.position) _G_apply_574, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['end'] = _G_apply_574 @@ -1934,7 +1934,7 @@ def _G_or_571(): self.considerError(lastError, None) return (_G_python_575, self.currentError) def _G_or_576(): - self._trace('', (9627, 9632), self.input.position) + self._trace('', (9561, 9566), self.input.position) _G_apply_577, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) _locals['start'] = _G_apply_577 @@ -1950,68 +1950,68 @@ def rule_uncertain_g_interval(self): _locals = {'self': self} self.locals['uncertain_g_interval'] = _locals def _G_or_580(): - self._trace('', (9747, 9751), self.input.position) + self._trace('', (9681, 9685), self.input.position) _G_exactly_581, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9751, 9766), self.input.position) + self._trace('', (9685, 9700), self.input.position) _G_apply_582, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_582 - self._trace('', (9776, 9780), self.input.position) + self._trace('', (9710, 9714), self.input.position) _G_exactly_583, lastError = self.exactly(')') self.considerError(lastError, None) - self._trace('', (9780, 9784), self.input.position) + self._trace('', (9714, 9718), self.input.position) _G_exactly_584, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9784, 9788), self.input.position) + self._trace('', (9718, 9722), self.input.position) _G_exactly_585, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9788, 9803), self.input.position) + self._trace('', (9722, 9737), self.input.position) _G_apply_586, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_586 - self._trace('', (9811, 9815), self.input.position) + self._trace('', (9745, 9749), self.input.position) _G_exactly_587, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_589, lastError = eval(self._G_expr_588, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_589, self.currentError) def _G_or_590(): - self._trace('', (9931, 9946), self.input.position) + self._trace('', (9865, 9880), self.input.position) _G_apply_591, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_591 - self._trace('', (9956, 9960), self.input.position) + self._trace('', (9890, 9894), self.input.position) _G_exactly_592, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (9960, 9964), self.input.position) + self._trace('', (9894, 9898), self.input.position) _G_exactly_593, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (9964, 9979), self.input.position) + self._trace('', (9898, 9913), self.input.position) _G_apply_594, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_594 - self._trace('', (9987, 9991), self.input.position) + self._trace('', (9921, 9925), self.input.position) _G_exactly_595, lastError = self.exactly(')') self.considerError(lastError, None) _G_python_597, lastError = eval(self._G_expr_596, self.globals, _locals), None self.considerError(lastError, None) return (_G_python_597, self.currentError) def _G_or_598(): - self._trace('', (10090, 10094), self.input.position) + self._trace('', (10024, 10028), self.input.position) _G_exactly_599, lastError = self.exactly('(') self.considerError(lastError, None) - self._trace('', (10094, 10109), self.input.position) + self._trace('', (10028, 10043), self.input.position) _G_apply_600, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_start'] = _G_apply_600 - self._trace('', (10119, 10123), self.input.position) + self._trace('', (10053, 10057), self.input.position) _G_exactly_601, lastError = self.exactly(')') self.considerError(lastError, None) - self._trace('', (10123, 10127), self.input.position) + self._trace('', (10057, 10061), self.input.position) _G_exactly_602, lastError = self.exactly('_') self.considerError(lastError, None) - self._trace('', (10127, 10142), self.input.position) + self._trace('', (10061, 10076), self.input.position) _G_apply_603, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) self.considerError(lastError, None) _locals['ivl_end'] = _G_apply_603 @@ -2026,7 +2026,7 @@ def _G_or_598(): def rule_c_pos(self): _locals = {'self': self} self.locals['c_pos'] = _locals - self._trace('', (10245, 10255), self.input.position) + self._trace('', (10179, 10189), self.input.position) _G_apply_607, lastError = self._apply(self.rule_def_c_pos, "def_c_pos", []) self.considerError(lastError, 'c_pos') return (_G_apply_607, self.currentError) @@ -2035,7 +2035,7 @@ def rule_c_pos(self): def rule_g_pos(self): _locals = {'self': self} self.locals['g_pos'] = _locals - self._trace('', (10312, 10322), self.input.position) + self._trace('', (10246, 10256), self.input.position) _G_apply_608, lastError = self._apply(self.rule_def_g_pos, "def_g_pos", []) self.considerError(lastError, 'g_pos') return (_G_apply_608, self.currentError) @@ -2044,7 +2044,7 @@ def rule_g_pos(self): def rule_m_pos(self): _locals = {'self': self} self.locals['m_pos'] = _locals - self._trace('', (10379, 10389), self.input.position) + self._trace('', (10313, 10323), self.input.position) _G_apply_609, lastError = self._apply(self.rule_def_m_pos, "def_m_pos", []) self.considerError(lastError, 'm_pos') return (_G_apply_609, self.currentError) @@ -2053,7 +2053,7 @@ def rule_m_pos(self): def rule_n_pos(self): _locals = {'self': self} self.locals['n_pos'] = _locals - self._trace('', (10446, 10456), self.input.position) + self._trace('', (10380, 10390), self.input.position) _G_apply_610, lastError = self._apply(self.rule_def_n_pos, "def_n_pos", []) self.considerError(lastError, 'n_pos') return (_G_apply_610, self.currentError) @@ -2062,7 +2062,7 @@ def rule_n_pos(self): def rule_p_pos(self): _locals = {'self': self} self.locals['p_pos'] = _locals - self._trace('', (10513, 10523), self.input.position) + self._trace('', (10447, 10457), self.input.position) _G_apply_611, lastError = self._apply(self.rule_def_p_pos, "def_p_pos", []) self.considerError(lastError, 'p_pos') return (_G_apply_611, self.currentError) @@ -2071,7 +2071,7 @@ def rule_p_pos(self): def rule_r_pos(self): _locals = {'self': self} self.locals['r_pos'] = _locals - self._trace('', (10580, 10590), self.input.position) + self._trace('', (10514, 10524), self.input.position) _G_apply_612, lastError = self._apply(self.rule_def_r_pos, "def_r_pos", []) self.considerError(lastError, 'r_pos') return (_G_apply_612, self.currentError) @@ -2081,11 +2081,11 @@ def rule_def_c_pos(self): _locals = {'self': self} self.locals['def_c_pos'] = _locals def _G_or_613(): - self._trace('', (10673, 10678), self.input.position) + self._trace('', (10607, 10612), self.input.position) _G_apply_614, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, None) _locals['b'] = _G_apply_614 - self._trace('', (10680, 10687), self.input.position) + self._trace('', (10614, 10621), self.input.position) _G_apply_615, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) _locals['o'] = _G_apply_615 @@ -2093,14 +2093,14 @@ def _G_or_613(): self.considerError(lastError, None) return (_G_python_617, self.currentError) def _G_or_618(): - self._trace('', (10772, 10776), self.input.position) + self._trace('', (10706, 10710), self.input.position) _G_exactly_619, lastError = self.exactly('*') self.considerError(lastError, None) - self._trace('', (10776, 10780), self.input.position) + self._trace('', (10710, 10714), self.input.position) _G_apply_620, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) _locals['b'] = _G_apply_620 - self._trace('', (10782, 10789), self.input.position) + self._trace('', (10716, 10723), self.input.position) _G_apply_621, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) _locals['o'] = _G_apply_621 @@ -2116,12 +2116,12 @@ def rule_def_g_pos(self): _locals = {'self': self} self.locals['def_g_pos'] = _locals def _G_or_625(): - self._trace('', (10877, 10880), self.input.position) + self._trace('', (10811, 10814), self.input.position) _G_apply_626, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_626, self.currentError) def _G_or_627(): - self._trace('', (10881, 10884), self.input.position) + self._trace('', (10815, 10818), self.input.position) _G_exactly_628, lastError = self.exactly('?') self.considerError(lastError, None) _G_python_629, lastError = (None), None @@ -2139,12 +2139,12 @@ def rule_def_m_pos(self): _locals = {'self': self} self.locals['def_m_pos'] = _locals def _G_or_633(): - self._trace('', (10946, 10949), self.input.position) + self._trace('', (10880, 10883), self.input.position) _G_apply_634, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_634, self.currentError) def _G_or_635(): - self._trace('', (10950, 10953), self.input.position) + self._trace('', (10884, 10887), self.input.position) _G_exactly_636, lastError = self.exactly('?') self.considerError(lastError, None) _G_python_637, lastError = (None), None @@ -2161,11 +2161,11 @@ def _G_or_635(): def rule_def_n_pos(self): _locals = {'self': self} self.locals['def_n_pos'] = _locals - self._trace('', (11013, 11018), self.input.position) + self._trace('', (10947, 10952), self.input.position) _G_apply_640, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, 'def_n_pos') _locals['b'] = _G_apply_640 - self._trace('', (11020, 11027), self.input.position) + self._trace('', (10954, 10961), self.input.position) _G_apply_641, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, 'def_n_pos') _locals['o'] = _G_apply_641 @@ -2178,19 +2178,19 @@ def rule_def_p_pos(self): _locals = {'self': self} self.locals['def_p_pos'] = _locals def _G_or_644(): - self._trace('', (11117, 11123), self.input.position) + self._trace('', (11051, 11057), self.input.position) _G_apply_645, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, None) return (_G_apply_645, self.currentError) def _G_or_646(): - self._trace('', (11124, 11128), self.input.position) + self._trace('', (11058, 11062), self.input.position) _G_apply_647, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) return (_G_apply_647, self.currentError) _G_or_648, lastError = self._or([_G_or_644, _G_or_646]) self.considerError(lastError, 'def_p_pos') _locals['aa'] = _G_or_648 - self._trace('', (11132, 11136), self.input.position) + self._trace('', (11066, 11070), self.input.position) _G_apply_649, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, 'def_p_pos') _locals['pos'] = _G_apply_649 @@ -2202,11 +2202,11 @@ def _G_or_646(): def rule_def_r_pos(self): _locals = {'self': self} self.locals['def_r_pos'] = _locals - self._trace('', (11218, 11223), self.input.position) + self._trace('', (11152, 11157), self.input.position) _G_apply_652, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, 'def_r_pos') _locals['b'] = _G_apply_652 - self._trace('', (11225, 11232), self.input.position) + self._trace('', (11159, 11166), self.input.position) _G_apply_653, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, 'def_r_pos') _locals['o'] = _G_apply_653 @@ -2218,11 +2218,11 @@ def rule_def_r_pos(self): def rule_fs(self): _locals = {'self': self} self.locals['fs'] = _locals - self._trace('', (11636, 11641), self.input.position) + self._trace('', (11570, 11575), self.input.position) _G_exactly_655, lastError = self.exactly('fs') self.considerError(lastError, 'fs') def _G_or_656(): - self._trace('', (11643, 11650), self.input.position) + self._trace('', (11577, 11584), self.input.position) _G_apply_657, lastError = self._apply(self.rule_aa13_fs, "aa13_fs", []) self.considerError(lastError, None) return (_G_apply_657, self.currentError) @@ -2241,11 +2241,11 @@ def _G_or_658(): def rule_ext(self): _locals = {'self': self} self.locals['ext'] = _locals - self._trace('', (11674, 11680), self.input.position) + self._trace('', (11608, 11614), self.input.position) _G_exactly_663, lastError = self.exactly('ext') self.considerError(lastError, 'ext') def _G_or_664(): - self._trace('', (11682, 11690), self.input.position) + self._trace('', (11616, 11624), self.input.position) _G_apply_665, lastError = self._apply(self.rule_aa13_ext, "aa13_ext", []) self.considerError(lastError, None) return (_G_apply_665, self.currentError) @@ -2265,10 +2265,10 @@ def _G_or_666(): def rule_aa13_fs(self): _locals = {'self': self} self.locals['aa13_fs'] = _locals - self._trace('', (11740, 11747), self.input.position) + self._trace('', (11674, 11681), self.input.position) _G_apply_671, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, 'aa13_fs') - self._trace('', (11747, 11760), self.input.position) + self._trace('', (11681, 11694), self.input.position) _G_apply_672, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) self.considerError(lastError, 'aa13_fs') _locals['n'] = _G_apply_672 @@ -2281,11 +2281,11 @@ def rule_aa13_ext(self): _locals = {'self': self} self.locals['aa13_ext'] = _locals def _G_or_674(): - self._trace('', (11778, 11785), self.input.position) + self._trace('', (11712, 11719), self.input.position) _G_apply_675, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, None) _locals['aat'] = _G_apply_675 - self._trace('', (11789, 11802), self.input.position) + self._trace('', (11723, 11736), self.input.position) _G_apply_676, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) self.considerError(lastError, None) _locals['n'] = _G_apply_676 @@ -2294,7 +2294,7 @@ def _G_or_674(): return (_G_python_677, self.currentError) def _G_or_678(): def _G_or_679(): - self._trace('', (11829, 11833), self.input.position) + self._trace('', (11763, 11767), self.input.position) _G_apply_680, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) return (_G_apply_680, self.currentError) @@ -2305,7 +2305,7 @@ def _G_or_681(): _G_or_683, lastError = self._or([_G_or_679, _G_or_681]) self.considerError(lastError, None) _locals['aat'] = _G_or_683 - self._trace('', (11850, 11855), self.input.position) + self._trace('', (11784, 11789), self.input.position) _G_apply_684, lastError = self._apply(self.rule_nnum, "nnum", []) self.considerError(lastError, None) _locals['n'] = _G_apply_684 @@ -2321,12 +2321,12 @@ def rule_fsext_offset(self): _locals = {'self': self} self.locals['fsext_offset'] = _locals def _G_or_687(): - self._trace('', (11884, 11888), self.input.position) + self._trace('', (11818, 11822), self.input.position) _G_apply_688, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_688, self.currentError) def _G_or_689(): - self._trace('', (11889, 11892), self.input.position) + self._trace('', (11823, 11826), self.input.position) _G_exactly_690, lastError = self.exactly('?') self.considerError(lastError, None) return (_G_exactly_690, self.currentError) @@ -2344,7 +2344,7 @@ def rule_dna_seq(self): self.locals['dna_seq'] = _locals def _G_consumedby_694(): def _G_many1_695(): - self._trace('', (11937, 11940), self.input.position) + self._trace('', (11871, 11874), self.input.position) _G_apply_696, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_696, self.currentError) @@ -2361,7 +2361,7 @@ def rule_rna_seq(self): self.locals['rna_seq'] = _locals def _G_consumedby_699(): def _G_many1_700(): - self._trace('', (11954, 11957), self.input.position) + self._trace('', (11888, 11891), self.input.position) _G_apply_701, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_701, self.currentError) @@ -2378,7 +2378,7 @@ def rule_aat13_seq(self): self.locals['aat13_seq'] = _locals def _G_or_704(): def _G_consumedby_705(): - self._trace('', (11973, 11981), self.input.position) + self._trace('', (11907, 11915), self.input.position) _G_apply_706, lastError = self._apply(self.rule_aat3_seq, "aat3_seq", []) self.considerError(lastError, None) return (_G_apply_706, self.currentError) @@ -2387,7 +2387,7 @@ def _G_consumedby_705(): return (_G_consumedby_707, self.currentError) def _G_or_708(): def _G_consumedby_709(): - self._trace('', (11986, 11994), self.input.position) + self._trace('', (11920, 11928), self.input.position) _G_apply_710, lastError = self._apply(self.rule_aat1_seq, "aat1_seq", []) self.considerError(lastError, None) return (_G_apply_710, self.currentError) @@ -2404,7 +2404,7 @@ def rule_aat1_seq(self): self.locals['aat1_seq'] = _locals def _G_or_713(): def _G_consumedby_714(): - self._trace('', (12008, 12013), self.input.position) + self._trace('', (11942, 11947), self.input.position) _G_apply_715, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_715, self.currentError) @@ -2414,14 +2414,14 @@ def _G_consumedby_714(): def _G_or_717(): def _G_consumedby_718(): def _G_many1_719(): - self._trace('', (12018, 12021), self.input.position) + self._trace('', (11952, 11955), self.input.position) _G_apply_720, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_720, self.currentError) _G_many1_721, lastError = self.many(_G_many1_719, _G_many1_719()) self.considerError(lastError, None) def _G_optional_722(): - self._trace('', (12022, 12028), self.input.position) + self._trace('', (11956, 11962), self.input.position) _G_apply_723, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_723, self.currentError) @@ -2443,7 +2443,7 @@ def rule_aat3_seq(self): self.locals['aat3_seq'] = _locals def _G_or_728(): def _G_consumedby_729(): - self._trace('', (12043, 12048), self.input.position) + self._trace('', (11977, 11982), self.input.position) _G_apply_730, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_730, self.currentError) @@ -2453,14 +2453,14 @@ def _G_consumedby_729(): def _G_or_732(): def _G_consumedby_733(): def _G_many1_734(): - self._trace('', (12053, 12056), self.input.position) + self._trace('', (11987, 11990), self.input.position) _G_apply_735, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_735, self.currentError) _G_many1_736, lastError = self.many(_G_many1_734, _G_many1_734()) self.considerError(lastError, None) def _G_optional_737(): - self._trace('', (12057, 12063), self.input.position) + self._trace('', (11991, 11997), self.input.position) _G_apply_738, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_738, self.currentError) @@ -2482,7 +2482,7 @@ def rule_aa13_seq(self): self.locals['aa13_seq'] = _locals def _G_or_743(): def _G_consumedby_744(): - self._trace('', (12078, 12085), self.input.position) + self._trace('', (12012, 12019), self.input.position) _G_apply_745, lastError = self._apply(self.rule_aa3_seq, "aa3_seq", []) self.considerError(lastError, None) return (_G_apply_745, self.currentError) @@ -2491,7 +2491,7 @@ def _G_consumedby_744(): return (_G_consumedby_746, self.currentError) def _G_or_747(): def _G_consumedby_748(): - self._trace('', (12090, 12097), self.input.position) + self._trace('', (12024, 12031), self.input.position) _G_apply_749, lastError = self._apply(self.rule_aa1_seq, "aa1_seq", []) self.considerError(lastError, None) return (_G_apply_749, self.currentError) @@ -2508,7 +2508,7 @@ def rule_aa1_seq(self): self.locals['aa1_seq'] = _locals def _G_consumedby_752(): def _G_many1_753(): - self._trace('', (12110, 12113), self.input.position) + self._trace('', (12044, 12047), self.input.position) _G_apply_754, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_754, self.currentError) @@ -2525,7 +2525,7 @@ def rule_aa3_seq(self): self.locals['aa3_seq'] = _locals def _G_consumedby_757(): def _G_many1_758(): - self._trace('', (12127, 12130), self.input.position) + self._trace('', (12061, 12064), self.input.position) _G_apply_759, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_759, self.currentError) @@ -2558,12 +2558,12 @@ def rule_aa13(self): _locals = {'self': self} self.locals['aa13'] = _locals def _G_or_769(): - self._trace('', (12211, 12215), self.input.position) + self._trace('', (12145, 12149), self.input.position) _G_apply_770, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_770, self.currentError) def _G_or_771(): - self._trace('', (12217, 12221), self.input.position) + self._trace('', (12151, 12155), self.input.position) _G_apply_772, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_772, self.currentError) @@ -2576,122 +2576,122 @@ def rule_aa3(self): _locals = {'self': self} self.locals['aa3'] = _locals def _G_or_774(): - self._trace('', (12227, 12233), self.input.position) + self._trace('', (12161, 12167), self.input.position) _G_exactly_775, lastError = self.exactly('Ala') self.considerError(lastError, None) return (_G_exactly_775, self.currentError) def _G_or_776(): - self._trace('', (12234, 12239), self.input.position) + self._trace('', (12168, 12173), self.input.position) _G_exactly_777, lastError = self.exactly('Cys') self.considerError(lastError, None) return (_G_exactly_777, self.currentError) def _G_or_778(): - self._trace('', (12240, 12245), self.input.position) + self._trace('', (12174, 12179), self.input.position) _G_exactly_779, lastError = self.exactly('Asp') self.considerError(lastError, None) return (_G_exactly_779, self.currentError) def _G_or_780(): - self._trace('', (12246, 12251), self.input.position) + self._trace('', (12180, 12185), self.input.position) _G_exactly_781, lastError = self.exactly('Glu') self.considerError(lastError, None) return (_G_exactly_781, self.currentError) def _G_or_782(): - self._trace('', (12252, 12257), self.input.position) + self._trace('', (12186, 12191), self.input.position) _G_exactly_783, lastError = self.exactly('Phe') self.considerError(lastError, None) return (_G_exactly_783, self.currentError) def _G_or_784(): - self._trace('', (12258, 12263), self.input.position) + self._trace('', (12192, 12197), self.input.position) _G_exactly_785, lastError = self.exactly('Gly') self.considerError(lastError, None) return (_G_exactly_785, self.currentError) def _G_or_786(): - self._trace('', (12264, 12269), self.input.position) + self._trace('', (12198, 12203), self.input.position) _G_exactly_787, lastError = self.exactly('His') self.considerError(lastError, None) return (_G_exactly_787, self.currentError) def _G_or_788(): - self._trace('', (12270, 12275), self.input.position) + self._trace('', (12204, 12209), self.input.position) _G_exactly_789, lastError = self.exactly('Ile') self.considerError(lastError, None) return (_G_exactly_789, self.currentError) def _G_or_790(): - self._trace('', (12276, 12281), self.input.position) + self._trace('', (12210, 12215), self.input.position) _G_exactly_791, lastError = self.exactly('Lys') self.considerError(lastError, None) return (_G_exactly_791, self.currentError) def _G_or_792(): - self._trace('', (12282, 12287), self.input.position) + self._trace('', (12216, 12221), self.input.position) _G_exactly_793, lastError = self.exactly('Leu') self.considerError(lastError, None) return (_G_exactly_793, self.currentError) def _G_or_794(): - self._trace('', (12288, 12293), self.input.position) + self._trace('', (12222, 12227), self.input.position) _G_exactly_795, lastError = self.exactly('Met') self.considerError(lastError, None) return (_G_exactly_795, self.currentError) def _G_or_796(): - self._trace('', (12294, 12299), self.input.position) + self._trace('', (12228, 12233), self.input.position) _G_exactly_797, lastError = self.exactly('Asn') self.considerError(lastError, None) return (_G_exactly_797, self.currentError) def _G_or_798(): - self._trace('', (12300, 12305), self.input.position) + self._trace('', (12234, 12239), self.input.position) _G_exactly_799, lastError = self.exactly('Pro') self.considerError(lastError, None) return (_G_exactly_799, self.currentError) def _G_or_800(): - self._trace('', (12306, 12311), self.input.position) + self._trace('', (12240, 12245), self.input.position) _G_exactly_801, lastError = self.exactly('Gln') self.considerError(lastError, None) return (_G_exactly_801, self.currentError) def _G_or_802(): - self._trace('', (12312, 12317), self.input.position) + self._trace('', (12246, 12251), self.input.position) _G_exactly_803, lastError = self.exactly('Arg') self.considerError(lastError, None) return (_G_exactly_803, self.currentError) def _G_or_804(): - self._trace('', (12318, 12323), self.input.position) + self._trace('', (12252, 12257), self.input.position) _G_exactly_805, lastError = self.exactly('Ser') self.considerError(lastError, None) return (_G_exactly_805, self.currentError) def _G_or_806(): - self._trace('', (12324, 12329), self.input.position) + self._trace('', (12258, 12263), self.input.position) _G_exactly_807, lastError = self.exactly('Thr') self.considerError(lastError, None) return (_G_exactly_807, self.currentError) def _G_or_808(): - self._trace('', (12330, 12335), self.input.position) + self._trace('', (12264, 12269), self.input.position) _G_exactly_809, lastError = self.exactly('Val') self.considerError(lastError, None) return (_G_exactly_809, self.currentError) def _G_or_810(): - self._trace('', (12336, 12341), self.input.position) + self._trace('', (12270, 12275), self.input.position) _G_exactly_811, lastError = self.exactly('Trp') self.considerError(lastError, None) return (_G_exactly_811, self.currentError) def _G_or_812(): - self._trace('', (12342, 12347), self.input.position) + self._trace('', (12276, 12281), self.input.position) _G_exactly_813, lastError = self.exactly('Tyr') self.considerError(lastError, None) return (_G_exactly_813, self.currentError) def _G_or_814(): - self._trace('', (12349, 12355), self.input.position) + self._trace('', (12283, 12289), self.input.position) _G_exactly_815, lastError = self.exactly('Asx') self.considerError(lastError, None) return (_G_exactly_815, self.currentError) def _G_or_816(): - self._trace('', (12357, 12363), self.input.position) + self._trace('', (12291, 12297), self.input.position) _G_exactly_817, lastError = self.exactly('Glx') self.considerError(lastError, None) return (_G_exactly_817, self.currentError) def _G_or_818(): - self._trace('', (12365, 12371), self.input.position) + self._trace('', (12299, 12305), self.input.position) _G_exactly_819, lastError = self.exactly('Xaa') self.considerError(lastError, None) return (_G_exactly_819, self.currentError) def _G_or_820(): - self._trace('', (12373, 12379), self.input.position) + self._trace('', (12307, 12313), self.input.position) _G_exactly_821, lastError = self.exactly('Sec') self.considerError(lastError, None) return (_G_exactly_821, self.currentError) @@ -2704,12 +2704,12 @@ def rule_aat1(self): _locals = {'self': self} self.locals['aat1'] = _locals def _G_or_823(): - self._trace('', (12386, 12392), self.input.position) + self._trace('', (12320, 12326), self.input.position) _G_apply_824, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_824, self.currentError) def _G_or_825(): - self._trace('', (12394, 12398), self.input.position) + self._trace('', (12328, 12332), self.input.position) _G_apply_826, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_826, self.currentError) @@ -2722,12 +2722,12 @@ def rule_aat13(self): _locals = {'self': self} self.locals['aat13'] = _locals def _G_or_828(): - self._trace('', (12406, 12411), self.input.position) + self._trace('', (12340, 12345), self.input.position) _G_apply_829, lastError = self._apply(self.rule_aat3, "aat3", []) self.considerError(lastError, None) return (_G_apply_829, self.currentError) def _G_or_830(): - self._trace('', (12413, 12418), self.input.position) + self._trace('', (12347, 12352), self.input.position) _G_apply_831, lastError = self._apply(self.rule_aat1, "aat1", []) self.considerError(lastError, None) return (_G_apply_831, self.currentError) @@ -2740,12 +2740,12 @@ def rule_aat3(self): _locals = {'self': self} self.locals['aat3'] = _locals def _G_or_833(): - self._trace('', (12425, 12431), self.input.position) + self._trace('', (12359, 12365), self.input.position) _G_apply_834, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_834, self.currentError) def _G_or_835(): - self._trace('', (12433, 12437), self.input.position) + self._trace('', (12367, 12371), self.input.position) _G_apply_836, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_836, self.currentError) @@ -2757,7 +2757,7 @@ def _G_or_835(): def rule_dna(self): _locals = {'self': self} self.locals['dna'] = _locals - self._trace('', (12443, 12453), self.input.position) + self._trace('', (12377, 12387), self.input.position) _G_apply_838, lastError = self._apply(self.rule_dna_iupac, "dna_iupac", []) self.considerError(lastError, 'dna') return (_G_apply_838, self.currentError) @@ -2800,7 +2800,7 @@ def _G_pred_846(): def rule_rna(self): _locals = {'self': self} self.locals['rna'] = _locals - self._trace('', (12582, 12592), self.input.position) + self._trace('', (12516, 12526), self.input.position) _G_apply_851, lastError = self._apply(self.rule_rna_iupac, "rna_iupac", []) self.considerError(lastError, 'rna') return (_G_apply_851, self.currentError) @@ -2844,12 +2844,12 @@ def rule_term13(self): _locals = {'self': self} self.locals['term13'] = _locals def _G_or_864(): - self._trace('', (12691, 12697), self.input.position) + self._trace('', (12625, 12631), self.input.position) _G_apply_865, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_865, self.currentError) def _G_or_866(): - self._trace('', (12699, 12705), self.input.position) + self._trace('', (12633, 12639), self.input.position) _G_apply_867, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_867, self.currentError) @@ -2861,7 +2861,7 @@ def _G_or_866(): def rule_term3(self): _locals = {'self': self} self.locals['term3'] = _locals - self._trace('', (12713, 12719), self.input.position) + self._trace('', (12647, 12653), self.input.position) _G_exactly_869, lastError = self.exactly('Ter') self.considerError(lastError, 'term3') return (_G_exactly_869, self.currentError) @@ -2870,7 +2870,7 @@ def rule_term3(self): def rule_base(self): _locals = {'self': self} self.locals['base'] = _locals - self._trace('', (12803, 12808), self.input.position) + self._trace('', (12737, 12742), self.input.position) _G_apply_870, lastError = self._apply(self.rule_snum, "snum", []) self.considerError(lastError, 'base') return (_G_apply_870, self.currentError) @@ -2880,10 +2880,10 @@ def rule_nnum(self): _locals = {'self': self} self.locals['nnum'] = _locals def _G_consumedby_871(): - self._trace('', (12817, 12820), self.input.position) + self._trace('', (12751, 12754), self.input.position) _G_exactly_872, lastError = self.exactly('-') self.considerError(lastError, None) - self._trace('', (12820, 12824), self.input.position) + self._trace('', (12754, 12758), self.input.position) _G_apply_873, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_873, self.currentError) @@ -2900,7 +2900,7 @@ def rule_num(self): self.locals['num'] = _locals def _G_consumedby_877(): def _G_many1_878(): - self._trace('', (12845, 12850), self.input.position) + self._trace('', (12779, 12784), self.input.position) _G_apply_879, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) return (_G_apply_879, self.currentError) @@ -2919,7 +2919,7 @@ def rule_offset(self): _locals = {'self': self} self.locals['offset'] = _locals def _G_or_883(): - self._trace('', (12873, 12878), self.input.position) + self._trace('', (12807, 12812), self.input.position) _G_apply_884, lastError = self._apply(self.rule_snum, "snum", []) self.considerError(lastError, None) return (_G_apply_884, self.currentError) @@ -2954,7 +2954,7 @@ def rule_snum(self): self.locals['snum'] = _locals def _G_consumedby_894(): def _G_optional_895(): - self._trace('', (12922, 12924), self.input.position) + self._trace('', (12856, 12858), self.input.position) _G_apply_896, lastError = self._apply(self.rule_pm, "pm", []) self.considerError(lastError, None) return (_G_apply_896, self.currentError) @@ -2962,7 +2962,7 @@ def _G_optional_897(): return (None, self.input.nullError()) _G_or_898, lastError = self._or([_G_optional_895, _G_optional_897]) self.considerError(lastError, None) - self._trace('', (12925, 12929), self.input.position) + self._trace('', (12859, 12863), self.input.position) _G_apply_899, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_899, self.currentError) @@ -2978,31 +2978,31 @@ def rule_accn(self): _locals = {'self': self} self.locals['accn'] = _locals def _G_consumedby_902(): - self._trace('', (13033, 13039), self.input.position) + self._trace('', (12967, 12973), self.input.position) _G_apply_903, lastError = self._apply(self.rule_letter, "letter", []) self.considerError(lastError, None) def _G_optional_904(): def _G_many1_905(): def _G_or_906(): - self._trace('', (13042, 13055), self.input.position) + self._trace('', (12976, 12989), self.input.position) _G_apply_907, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_907, self.currentError) def _G_or_908(): def _G_or_909(): - self._trace('', (13059, 13062), self.input.position) + self._trace('', (12993, 12996), self.input.position) _G_exactly_910, lastError = self.exactly('-') self.considerError(lastError, None) return (_G_exactly_910, self.currentError) def _G_or_911(): - self._trace('', (13063, 13066), self.input.position) + self._trace('', (12997, 13000), self.input.position) _G_exactly_912, lastError = self.exactly('_') self.considerError(lastError, None) return (_G_exactly_912, self.currentError) _G_or_913, lastError = self._or([_G_or_909, _G_or_911]) self.considerError(lastError, None) def _G_lookahead_914(): - self._trace('', (13070, 13083), self.input.position) + self._trace('', (13004, 13017), self.input.position) _G_apply_915, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_915, self.currentError) @@ -3020,11 +3020,11 @@ def _G_optional_919(): _G_or_920, lastError = self._or([_G_optional_904, _G_optional_919]) self.considerError(lastError, None) def _G_optional_921(): - self._trace('', (13089, 13092), self.input.position) + self._trace('', (13023, 13026), self.input.position) _G_exactly_922, lastError = self.exactly('.') self.considerError(lastError, None) def _G_many1_923(): - self._trace('', (13092, 13098), self.input.position) + self._trace('', (13026, 13032), self.input.position) _G_apply_924, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) return (_G_apply_924, self.currentError) @@ -3045,7 +3045,7 @@ def rule_opt_gene_expr(self): _locals = {'self': self} self.locals['opt_gene_expr'] = _locals def _G_or_929(): - self._trace('', (13120, 13130), self.input.position) + self._trace('', (13054, 13064), self.input.position) _G_apply_930, lastError = self._apply(self.rule_paren_gene, "paren_gene", []) self.considerError(lastError, None) return (_G_apply_930, self.currentError) @@ -3064,14 +3064,14 @@ def _G_or_931(): def rule_paren_gene(self): _locals = {'self': self} self.locals['paren_gene'] = _locals - self._trace('', (13166, 13170), self.input.position) + self._trace('', (13100, 13104), self.input.position) _G_exactly_936, lastError = self.exactly('(') self.considerError(lastError, 'paren_gene') - self._trace('', (13170, 13182), self.input.position) + self._trace('', (13104, 13116), self.input.position) _G_apply_937, lastError = self._apply(self.rule_gene_symbol, "gene_symbol", []) self.considerError(lastError, 'paren_gene') _locals['symbol'] = _G_apply_937 - self._trace('', (13189, 13193), self.input.position) + self._trace('', (13123, 13127), self.input.position) _G_exactly_938, lastError = self.exactly(')') self.considerError(lastError, 'paren_gene') _G_python_940, lastError = eval(self._G_expr_939, self.globals, _locals), None @@ -3083,30 +3083,30 @@ def rule_gene_symbol(self): _locals = {'self': self} self.locals['gene_symbol'] = _locals def _G_consumedby_941(): - self._trace('', (13219, 13225), self.input.position) + self._trace('', (13153, 13159), self.input.position) _G_apply_942, lastError = self._apply(self.rule_letter, "letter", []) self.considerError(lastError, None) def _G_many1_943(): def _G_or_944(): - self._trace('', (13227, 13240), self.input.position) + self._trace('', (13161, 13174), self.input.position) _G_apply_945, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_945, self.currentError) def _G_or_946(): def _G_or_947(): - self._trace('', (13244, 13247), self.input.position) + self._trace('', (13178, 13181), self.input.position) _G_exactly_948, lastError = self.exactly('-') self.considerError(lastError, None) return (_G_exactly_948, self.currentError) def _G_or_949(): - self._trace('', (13248, 13251), self.input.position) + self._trace('', (13182, 13185), self.input.position) _G_exactly_950, lastError = self.exactly('_') self.considerError(lastError, None) return (_G_exactly_950, self.currentError) _G_or_951, lastError = self._or([_G_or_947, _G_or_949]) self.considerError(lastError, None) def _G_lookahead_952(): - self._trace('', (13255, 13268), self.input.position) + self._trace('', (13189, 13202), self.input.position) _G_apply_953, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) self.considerError(lastError, None) return (_G_apply_953, self.currentError) @@ -3150,7 +3150,7 @@ def _G_lookahead_952(): _G_expr_469 = compile("hgvs.edit.AARefAlt(ref='',alt='')", '<string>', 'eval') _G_expr_477 = compile('iv._set_uncertain()', '<string>', 'eval') _G_expr_526 = compile('hgvs.location.Interval(start,end)', '<string>', 'eval') - _G_expr_530 = compile('hgvs.location.Interval(start,copy.deepcopy(start))', '<string>', 'eval') + _G_expr_530 = compile('hgvs.location.Interval(start,None)', '<string>', 'eval') _G_expr_564 = compile('hgvs.location.BaseOffsetInterval(start,end)', '<string>', 'eval') _G_expr_568 = compile('hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))', '<string>', 'eval') _G_expr_588 = compile('hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain())', '<string>', 'eval') diff --git a/src/hgvs/location.py b/src/hgvs/location.py index 25e88d75..b2c97201 100644 --- a/src/hgvs/location.py +++ b/src/hgvs/location.py @@ -15,6 +15,7 @@ * :class:`Interval` -- an interval of Positions """ +import copy from functools import total_ordering import attr @@ -143,7 +144,7 @@ def validate(self): ) return (ValidationLevel.VALID, None) - def _format_pos(self)->str: + def _format_pos(self) -> str: self.validate() base_str = ( "?" @@ -331,6 +332,10 @@ class Interval(object): end = attr.ib(default=None) uncertain = attr.ib(default=False) + def __attrs_post_init__(self): + if self.end is None: + self.end = copy.deepcopy(self.start) + def validate(self): if self.start: (res, msg) = self.start.validate() @@ -356,9 +361,11 @@ def validate(self): def format(self, conf=None): if self.start is None: return "" - if self.end is None or self.start == self.end: + if (self.end is None or self.start == self.end) and not self.uncertain: return self.start.format(conf) - iv = self.start.format(conf) + "_" + self.end.format(conf) + iv = self.start.format(conf) + if self.end != self.start: + iv = iv + "_" + self.end.format(conf) return "(" + iv + ")" if self.uncertain else iv __str__ = format diff --git a/tests/test_hgvs_location.py b/tests/test_hgvs_location.py index 3bc4e2db..5f7ec925 100644 --- a/tests/test_hgvs_location.py +++ b/tests/test_hgvs_location.py @@ -214,13 +214,25 @@ def sp(i): return hgvs.location.SimplePosition(i) hgvs.location.Interval(sp(10), sp(10), uncertain=True), hgvs.location.Interval(sp(30), sp(40), uncertain=True) ) - self.assertEqual("10_(30_40)", str(ival3)) + self.assertEqual("(10)_(30_40)", str(ival3)) ival4 = hgvs.location.Interval( + hgvs.location.Interval(sp(10), sp(10), uncertain=False), + hgvs.location.Interval(sp(30), sp(40), uncertain=True) + ) + self.assertEqual("10_(30_40)", str(ival4)) + + ival5 = hgvs.location.Interval( hgvs.location.Interval(sp(10), sp(20), uncertain=True), hgvs.location.Interval(sp(30), sp(30), uncertain=True) ) - self.assertEqual("(10_20)_30", str(ival4)) + self.assertEqual("(10_20)_(30)", str(ival5)) + + ival6 = hgvs.location.Interval( + hgvs.location.Interval(sp(10), sp(20), uncertain=True), + hgvs.location.Interval(sp(30), sp(30), uncertain=False) + ) + self.assertEqual("(10_20)_30", str(ival6)) if __name__ == "__main__": diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index 7dabc149..59550d82 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -125,6 +125,40 @@ def test_uncertain(self): self.assertEqual(v2.posedit.pos.end.uncertain, True) self.assertEqual(type(v2.posedit.edit).__name__, "NARefAlt") + # TODO add to parser test cases + v3s = "NC_000005.9:g.(90136803_90159675)dup" + v3 = self.hp.parse(v3s) + + # Interval itself is uncertain, but positions are certain + self.assertEqual(v3s, str(v3)) + self.assertEqual(v3.posedit.pos.uncertain, True) + self.assertEqual(v3.posedit.pos.start.uncertain, False) + self.assertEqual(v3.posedit.pos.end.uncertain, False) + self.assertEqual(v3.posedit.pos.start.base, 90136803) + self.assertEqual(v3.posedit.pos.end.base, 90159675) + + + v4s = "NC_000005.9:g.(90136803)_(90159675)dup" + v4 = self.hp.parse(v4s) + self.assertEqual(v4s, str(v4)) + self.assertEqual(v4.posedit.pos.uncertain, False) + self.assertEqual(v4.posedit.pos.start.uncertain, True) + self.assertEqual(str(v4.posedit.pos.start), "(90136803)") + self.assertEqual(str(v4.posedit.pos.end), "(90159675)") + self.assertEqual(v4.posedit.pos.end.uncertain, True) + self.assertEqual(v4.posedit.pos.start.start.base, 90136803) + self.assertEqual(v4.posedit.pos.end.start.base, 90159675) + + + # Test that the start and end positions are not the same object + v4.posedit.pos.start.end.base = 90136804 + self.assertTrue(v4.posedit.pos.start.start is not v4.posedit.pos.start.end) + self.assertEqual(v4.posedit.pos.start.end.base, 90136804) + self.assertEqual(v4.posedit.pos.start.start.base, 90136803) + + self.assertEqual("NC_000005.9:g.(90136803_90136804)_(90159675)dup", str(v4)) + + def test_partial_uncertain_projection(self): data = [ ("NC_000009.11:g.108337304_(108337428_?)del", False, True, From 8ddecd1119695b009b002de2f5a86347b07c9bd6 Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas@prlic.org> Date: Mon, 20 Jan 2025 08:57:08 -0800 Subject: [PATCH 19/25] updating test cache --- tests/data/cache-py3.hdp | Bin 936693 -> 42735 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/data/cache-py3.hdp b/tests/data/cache-py3.hdp index 97ad36b08f8550166cbd01a71bcb2fc20da1753b..25eb16ebd106eb5fb449e1da4e780c3395124955 100644 GIT binary patch delta 20 ccmex5)$;vWCbkBasZW+MY-D@BjHy%)0BCaw6aWAK literal 936693 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�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
kTQVT8muj^rI!}t$sEUP)wFKHRv#e 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 D**C%5 From 99e0060ba6898bb7f48475e422c7c8ae18621df8 Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas@prlic.org> Date: Mon, 20 Jan 2025 10:42:52 -0800 Subject: [PATCH 20/25] adding a unit test for the examples from #225 --- .pre-commit-config.yaml | 18 +-- examples/creating-a-variant.ipynb | 3 +- examples/hgvs-poster.ipynb | 2 +- pyproject.toml | 7 +- src/hgvs/alignmentmapper.py | 72 +++++++--- src/hgvs/location.py | 130 ++++++++++++----- src/hgvs/variantmapper.py | 85 ++++++++--- tests/data/cache-py3.hdp | Bin 42735 -> 1220363 bytes tests/test_hgvs_sequencevariant.py | 224 +++++++++++++++++++++++------ 9 files changed, 410 insertions(+), 131 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 581fa240..0a15e7e3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,14 +1,16 @@ repos: -- repo: local - hooks: - - id: pyright - name: pyright - entry: pyright - language: system - types: [python] +# - repo: local +# hooks: +# - id: pyright +# name: pyright +# entry: pyright +# language: system +# types: [python] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.4.4 + rev: v0.9.2 hooks: - id: ruff + types_or: [ python, pyi ] - id: ruff-format + types_or: [ python, pyi ] args: [ --check ] diff --git a/examples/creating-a-variant.ipynb b/examples/creating-a-variant.ipynb index 47601b50..cb897cbb 100644 --- a/examples/creating-a-variant.ipynb +++ b/examples/creating-a-variant.ipynb @@ -123,7 +123,8 @@ "metadata": {}, "outputs": [], "source": [ - "import hgvs.edit, hgvs.posedit" + "import hgvs.edit\n", + "import hgvs.posedit" ] }, { diff --git a/examples/hgvs-poster.ipynb b/examples/hgvs-poster.ipynb index 4027d3ae..a1d6462d 100644 --- a/examples/hgvs-poster.ipynb +++ b/examples/hgvs-poster.ipynb @@ -43,7 +43,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { "collapsed": false }, diff --git a/pyproject.toml b/pyproject.toml index f77889d0..7dc318d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ keywords = [ "hgvs", "variation" ] -dynamic = ["version", "optional-dependencies"] +dynamic = ["version"] dependencies=[ "attrs >= 17.4.0", # https://github.com/biocommons/hgvs/issues/473 @@ -44,7 +44,10 @@ dependencies=[ "pre-commit ~= 3.4", "psycopg2", ] - +[project.optional-dependencies] +dev = [ + "parameterized" +] [project.urls] "Homepage" = "https://github.com/biocommons/hgvs" "Bug Tracker" = "https://github.com/biocommons/hgvs/issues" diff --git a/src/hgvs/alignmentmapper.py b/src/hgvs/alignmentmapper.py index f87e5b72..d6a0b998 100644 --- a/src/hgvs/alignmentmapper.py +++ b/src/hgvs/alignmentmapper.py @@ -26,7 +26,6 @@ # g. ... 123 124 125 126 127 128 129 130 131 132 133 ... # - from __future__ import absolute_import, division, print_function, unicode_literals from typing import Optional @@ -113,11 +112,16 @@ def __init__(self, hdp, tx_ac, alt_ac, alt_aln_method): # is that exons are adjacent. Assert that here. sorted_tx_exons = sorted(tx_exons, key=lambda e: e["ord"]) for i in range(1, len(sorted_tx_exons)): - if sorted_tx_exons[i - 1]["tx_end_i"] != sorted_tx_exons[i]["tx_start_i"]: + if ( + sorted_tx_exons[i - 1]["tx_end_i"] + != sorted_tx_exons[i]["tx_start_i"] + ): raise HGVSDataNotAvailableError( "AlignmentMapper(tx_ac={self.tx_ac}, " "alt_ac={self.alt_ac}, alt_aln_method={self.alt_aln_method}): " - "Exons {a} and {b} are not adjacent".format(self=self, a=i, b=i + 1) + "Exons {a} and {b} are not adjacent".format( + self=self, a=i, b=i + 1 + ) ) self.strand = tx_exons[0]["alt_strand"] @@ -143,9 +147,9 @@ def __init__(self, hdp, tx_ac, alt_ac, alt_aln_method): self.tgt_len = sum(tx_identity_info["lengths"]) self.cigarmapper = None - assert not ( - (self.cds_start_i is None) ^ (self.cds_end_i is None) - ), "CDS start and end must both be defined or neither defined" + assert not ((self.cds_start_i is None) ^ (self.cds_end_i is None)), ( + "CDS start and end must both be defined or neither defined" + ) def __str__(self): return ( @@ -155,7 +159,9 @@ def __str__(self): ) ) - def g_to_n(self, g_interval: Interval, strict_bounds:Optional[bool]=None)->BaseOffsetInterval: + def g_to_n( + self, g_interval: Interval, strict_bounds: Optional[bool] = None + ) -> BaseOffsetInterval: """convert a genomic (g.) interval to a transcript cDNA (n.) interval""" if strict_bounds is None: @@ -197,18 +203,18 @@ def g_to_n(self, g_interval: Interval, strict_bounds:Optional[bool]=None)->BaseO base=_zbc_to_hgvs(frs), offset=frs_offset, datum=Datum.SEQ_START, - uncertain=g_interval.start.uncertain + uncertain=g_interval.start.uncertain, ), end=hgvs.location.BaseOffsetPosition( base=_zbc_to_hgvs(fre), offset=fre_offset, datum=Datum.SEQ_START, - uncertain=g_interval.end.uncertain + uncertain=g_interval.end.uncertain, ), uncertain=frs_cigar in "DI" or fre_cigar in "DI", ) - def n_to_g(self, n_interval, strict_bounds=None) ->Interval: + def n_to_g(self, n_interval, strict_bounds=None) -> Interval: """convert a transcript (n.) interval to a genomic (g.) interval""" if strict_bounds is None: @@ -233,14 +239,32 @@ def n_to_g(self, n_interval, strict_bounds=None) ->Interval: grs, gre = grs + self.gc_offset + 1, gre + self.gc_offset + 1 gs, ge = grs + start_offset, gre + end_offset + if n_interval.start.uncertain: + start = hgvs.location.Interval( + start=hgvs.location.SimplePosition(uncertain=False), + end=hgvs.location.SimplePosition(gs, uncertain=False), + uncertain=True, + ) + else: + start = hgvs.location.SimplePosition(gs, uncertain=False) + + if n_interval.end.uncertain: + end = hgvs.location.Interval( + start=hgvs.location.SimplePosition(ge, uncertain=False), + end=hgvs.location.SimplePosition(uncertain=False), + uncertain=True, + ) + else: + end = hgvs.location.SimplePosition(ge, uncertain=False) + # The returned interval would be uncertain when locating at alignment gaps return hgvs.location.Interval( - start=hgvs.location.SimplePosition(gs, uncertain=n_interval.start.uncertain), - end=hgvs.location.SimplePosition(ge, uncertain=n_interval.end.uncertain), + start=start, + end=end, uncertain=grs_cigar in "DI" or gre_cigar in "DI", ) - def n_to_c(self, n_interval:Interval, strict_bounds:Optional[bool]=None): + def n_to_c(self, n_interval: Interval, strict_bounds: Optional[bool] = None): """convert a transcript cDNA (n.) interval to a transcript CDS (c.) interval""" if strict_bounds is None: @@ -255,7 +279,9 @@ def n_to_c(self, n_interval:Interval, strict_bounds:Optional[bool]=None): ) ) - if strict_bounds and (n_interval.start.base <= 0 or n_interval.end.base > self.tgt_len): + if strict_bounds and ( + n_interval.start.base <= 0 or n_interval.end.base > self.tgt_len + ): raise HGVSInvalidIntervalError( "The given coordinate is outside the bounds of the reference sequence." ) @@ -270,10 +296,9 @@ def pos_n_to_c(pos): else: c = pos.base - self.cds_end_i c_datum = Datum.CDS_END - return hgvs.location.BaseOffsetPosition(base=c, - offset=pos.offset, - datum=c_datum, - uncertain=pos.uncertain) + return hgvs.location.BaseOffsetPosition( + base=c, offset=pos.offset, datum=c_datum, uncertain=pos.uncertain + ) c_interval = hgvs.location.BaseOffsetInterval( start=pos_n_to_c(n_interval.start), @@ -306,9 +331,15 @@ def pos_c_to_n(pos): n -= 1 if n <= 0 or n > self.tgt_len: if strict_bounds: - raise HGVSInvalidIntervalError(f"c.{pos} coordinate is out of bounds") + raise HGVSInvalidIntervalError( + f"c.{pos} coordinate is out of bounds" + ) + return hgvs.location.BaseOffsetPosition( - base=n, offset=pos.offset, datum=Datum.SEQ_START + base=n, + offset=pos.offset, + datum=Datum.SEQ_START, + uncertain=pos.uncertain, ) n_interval = hgvs.location.BaseOffsetInterval( @@ -316,6 +347,7 @@ def pos_c_to_n(pos): end=pos_c_to_n(c_interval.end), uncertain=c_interval.uncertain, ) + return n_interval def g_to_c(self, g_interval, strict_bounds=None): diff --git a/src/hgvs/location.py b/src/hgvs/location.py index c9b9baa3..c1f476bf 100644 --- a/src/hgvs/location.py +++ b/src/hgvs/location.py @@ -43,7 +43,10 @@ def format(self, conf): def __repr__(self): return "{0}({1})".format( self.__class__.__name__, - ", ".join((a.name + "=" + str(getattr(self, a.name))) for a in self.__attrs_attrs__), + ", ".join( + (a.name + "=" + str(getattr(self, a.name))) + for a in self.__attrs_attrs__ + ), ) @property @@ -62,22 +65,31 @@ def validate(self): return (ValidationLevel.VALID, None) def __sub__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot substract coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot substract coordinates of different representations" + ) return lhs.base - rhs.base def __eq__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" - if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") - return lhs.base == rhs.base + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) + + return lhs.base == rhs.base and lhs.uncertain == rhs.uncertain def __lt__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + raise HGVSUnsupportedOperationError( + "Cannot compare coordinates of uncertain positions" + ) if lhs.base is None and rhs.base is None: - raise HGVSUnsupportedOperationError("Cannot compare two positions without bases") + raise HGVSUnsupportedOperationError( + "Cannot compare two positions without bases" + ) # imprecise positions can be on both sides of an interval # This is weird, but because an unknown breakpoint can be expressed on both sides @@ -154,7 +166,11 @@ def _format_pos(self) -> str: else str(self.base) ) offset_str = ( - "+?" if self.offset is None else "" if self.offset == 0 else "%+d" % self.offset + "+?" + if self.offset is None + else "" + if self.offset == 0 + else "%+d" % self.offset ) pos = base_str + offset_str return pos @@ -169,7 +185,10 @@ def format(self, conf): def __repr__(self): return "{0}({1})".format( self.__class__.__name__, - ", ".join((a.name + "=" + str(getattr(self, a.name))) for a in self.__attrs_attrs__), + ", ".join( + (a.name + "=" + str(getattr(self, a.name))) + for a in self.__attrs_attrs__ + ), ) def _set_uncertain(self): @@ -188,7 +207,9 @@ def is_intronic(self): return self.offset is None or self.offset != 0 def __sub__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot substract coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot substract coordinates of different representations" + ) if lhs.datum != rhs.datum: raise HGVSUnsupportedOperationError( "Interval length measured from different datums is ill-defined" @@ -203,17 +224,25 @@ def __sub__(lhs, rhs): return lhs.base - rhs.base - straddles_zero def __eq__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) - return (lhs.datum == rhs.datum and - lhs.base == rhs.base and - lhs.offset == rhs.offset and - lhs.uncertain == rhs.uncertain) + return ( + lhs.datum == rhs.datum + and lhs.base == rhs.base + and lhs.offset == rhs.offset + and lhs.uncertain == rhs.uncertain + ) def __lt__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + raise HGVSUnsupportedOperationError( + "Cannot compare coordinates of uncertain positions" + ) if lhs.datum == rhs.datum: if lhs.base == rhs.base: return lhs.offset < rhs.offset @@ -273,7 +302,10 @@ def format(self, conf=None): def __repr__(self): return "{0}({1})".format( self.__class__.__name__, - ", ".join((a.name + "=" + str(getattr(self, a.name))) for a in self.__attrs_attrs__), + ", ".join( + (a.name + "=" + str(getattr(self, a.name))) + for a in self.__attrs_attrs__ + ), ) @property @@ -292,37 +324,59 @@ def is_uncertain(self): return self.uncertain or self.base is None or self.aa is None def __sub__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot substract coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot substract coordinates of different representations" + ) return lhs.base - rhs.base def __eq__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + raise HGVSUnsupportedOperationError( + "Cannot compare coordinates of uncertain positions" + ) return lhs.base == rhs.base and lhs.aa == rhs.aa def __lt__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + raise HGVSUnsupportedOperationError( + "Cannot compare coordinates of uncertain positions" + ) return lhs.base < rhs.base def __gt__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + raise HGVSUnsupportedOperationError( + "Cannot compare coordinates of uncertain positions" + ) return lhs.base > rhs.base def __le__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + raise HGVSUnsupportedOperationError( + "Cannot compare coordinates of uncertain positions" + ) return lhs.base <= rhs.base def __ge__(lhs, rhs): - assert type(lhs) == type(rhs), "Cannot compare coordinates of different representations" + assert type(lhs) is type(rhs), ( + "Cannot compare coordinates of different representations" + ) if lhs.uncertain or rhs.uncertain: - raise HGVSUnsupportedOperationError("Cannot compare coordinates of uncertain positions") + raise HGVSUnsupportedOperationError( + "Cannot compare coordinates of uncertain positions" + ) return lhs.base >= rhs.base @@ -354,7 +408,10 @@ def validate(self): if self.start <= self.end: return (ValidationLevel.VALID, None) else: - return (ValidationLevel.ERROR, "base start position must be <= end position") + return ( + ValidationLevel.ERROR, + "base start position must be <= end position", + ) except HGVSUnsupportedOperationError as err: return (ValidationLevel.WARNING, str(err)) @@ -373,7 +430,10 @@ def format(self, conf=None): def __repr__(self): return "{0}({1})".format( self.__class__.__name__, - ", ".join((a.name + "=" + str(getattr(self, a.name))) for a in self.__attrs_attrs__), + ", ".join( + (a.name + "=" + str(getattr(self, a.name))) + for a in self.__attrs_attrs__ + ), ) def _set_uncertain(self): @@ -406,12 +466,12 @@ def format(self, conf=None): s = self.start._format_pos() if self.start.is_uncertain: - s_str = f'(?_{s})' + s_str = f"(?_{s})" else: s_str = s e = self.end._format_pos() if self.end.is_uncertain: - e_str = f'({e}_?)' + e_str = f"({e}_?)" else: e_str = e iv = s_str + "_" + e_str diff --git a/src/hgvs/variantmapper.py b/src/hgvs/variantmapper.py index 39f92d69..ef7ed219 100644 --- a/src/hgvs/variantmapper.py +++ b/src/hgvs/variantmapper.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -"""Projects variants between sequences using AlignmentMapper. - -""" +"""Projects variants between sequences using AlignmentMapper.""" import copy import logging @@ -97,7 +95,9 @@ def __init__( # ############################################################################ # g⟷t - def g_to_t(self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method): + def g_to_t( + self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method + ): if not (var_g.type == "g"): raise HGVSInvalidVariantError("Expected a g. variant; got " + str(var_g)) if self._validator: @@ -116,9 +116,13 @@ def g_to_t(self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln ) return var_out - def t_to_g(self, var_t, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method): + def t_to_g( + self, var_t, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method + ): if var_t.type not in "cn": - raise HGVSInvalidVariantError("Expected a c. or n. variant; got " + str(var_t)) + raise HGVSInvalidVariantError( + "Expected a c. or n. variant; got " + str(var_t) + ) if self._validator: self._validator.validate(var_t) var_t.fill_ref(self.hdp) @@ -134,7 +138,9 @@ def t_to_g(self, var_t, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_al # ############################################################################ # g⟷n - def g_to_n(self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method): + def g_to_n( + self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method + ): """Given a parsed g. variant, return a n. variant on the specified transcript using the specified alignment method (default is "splign" from NCBI). @@ -160,7 +166,9 @@ def g_to_n(self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln and not hgvs.global_config.mapping.strict_bounds and not mapper.g_interval_is_inbounds(var_g.posedit.pos) ): - _logger.info("Renormalizing out-of-bounds minus strand variant on genomic sequence") + _logger.info( + "Renormalizing out-of-bounds minus strand variant on genomic sequence" + ) var_g = self.left_normalizer.normalize(var_g) var_g.fill_ref(self.hdp) @@ -196,7 +204,9 @@ def g_to_n(self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln self._update_gene_symbol(var_n, var_g.gene) return var_n - def n_to_g(self, var_n, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method): + def n_to_g( + self, var_n, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method + ): """Given a parsed n. variant, return a g. variant on the specified transcript using the specified alignment method (default is "splign" from NCBI). @@ -241,7 +251,9 @@ def n_to_g(self, var_n, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_al # ############################################################################ # g⟷c - def g_to_c(self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method): + def g_to_c( + self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method + ): """Given a parsed g. variant, return a c. variant on the specified transcript using the specified alignment method (default is "splign" from NCBI). @@ -290,7 +302,9 @@ def g_to_c(self, var_g, tx_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln self._update_gene_symbol(var_c, var_g.gene) return var_c - def c_to_g(self, var_c, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method): + def c_to_g( + self, var_c, alt_ac, alt_aln_method=hgvs.global_config.mapping.alt_aln_method + ): """Given a parsed c. variant, return a g. variant on the specified transcript using the specified alignment method (default is "splign" from NCBI). @@ -429,7 +443,9 @@ def c_to_p(self, var_c, pro_ac=None): """ if not (var_c.type == "c"): - raise HGVSInvalidVariantError("Expected a cDNA (c.) variant; got " + str(var_c)) + raise HGVSInvalidVariantError( + "Expected a cDNA (c.) variant; got " + str(var_c) + ) if self._validator: self._validator.validate(var_c) reference_data = RefTranscriptData(self.hdp, var_c.ac, pro_ac) @@ -460,17 +476,25 @@ def _replace_reference(self, var): """fetch reference sequence for variant and update (in-place) if necessary""" if var.type not in "cgmnr": - raise HGVSUnsupportedOperationError("Can only update references for type c, g, m, n, r") + raise HGVSUnsupportedOperationError( + "Can only update references for type c, g, m, n, r" + ) if var.posedit.edit.type in ("ins", "con"): # these types have no reference sequence (zero-width), so return as-is return var pos = var.posedit.pos - if (isinstance(pos.start, hgvs.location.BaseOffsetPosition) and pos.start.offset != 0) or ( - isinstance(pos.end, hgvs.location.BaseOffsetPosition) and pos.end.offset != 0 + if ( + isinstance(pos.start, hgvs.location.BaseOffsetPosition) + and pos.start.offset != 0 + ) or ( + isinstance(pos.end, hgvs.location.BaseOffsetPosition) + and pos.end.offset != 0 ): - _logger.info("Can't update reference sequence for intronic variant {}".format(var)) + _logger.info( + "Can't update reference sequence for intronic variant {}".format(var) + ) return var # For c. variants, we need coords on underlying sequences @@ -483,15 +507,22 @@ def _replace_reference(self, var): pos = var.posedit.pos if pos.start.uncertain: - seq_start = pos.start.end.base - 1 + # pos can be either a BaseOffsetPosition or an Interval + if isinstance(pos.start, Interval): + seq_start = pos.start.end.base - 1 + else: + seq_start = pos.start.base - 1 else: if isinstance(pos.start, Interval): - seq_start = pos.start.start.base -1 + seq_start = pos.start.start.base - 1 else: seq_start = pos.start.base - 1 if pos.end.uncertain: - seq_end = pos.end.start.base + if isinstance(pos.end, Interval): + seq_end = pos.end.start.base + else: + seq_end = pos.end.base else: if isinstance(pos.end, Interval): seq_end = pos.end.end.base @@ -514,7 +545,9 @@ def _replace_reference(self, var): edit = var.posedit.edit if edit.ref != seq: _logger.debug( - "Replaced reference sequence in {var} with {seq}".format(var=var, seq=seq) + "Replaced reference sequence in {var} with {seq}".format( + var=var, seq=seq + ) ) edit.ref = seq @@ -566,7 +599,9 @@ def _convert_edit_check_strand(strand, edit_in): ref = reverse_complement(edit_in.ref) edit_out = hgvs.edit.Inv(ref=ref) else: - raise NotImplementedError("Only NARefAlt/Dup/Inv types are currently implemented") + raise NotImplementedError( + "Only NARefAlt/Dup/Inv types are currently implemented" + ) return edit_out def _get_altered_sequence(self, strand, interval, var): @@ -588,12 +623,16 @@ def _get_altered_sequence(self, strand, interval, var): elif edit.type == "dup": seq.insert(pos_end, "".join(seq[pos_start:pos_end])) elif edit.type == "inv": - seq[pos_start:pos_end] = list(reverse_complement("".join(seq[pos_start:pos_end]))) + seq[pos_start:pos_end] = list( + reverse_complement("".join(seq[pos_start:pos_end])) + ) elif edit.type == "identity": pass else: raise HGVSUnsupportedOperationError( - "Getting altered sequence for {type} is unsupported".format(type=edit.type) + "Getting altered sequence for {type} is unsupported".format( + type=edit.type + ) ) seq = "".join(seq) diff --git a/tests/data/cache-py3.hdp b/tests/data/cache-py3.hdp index 25eb16ebd106eb5fb449e1da4e780c3395124955..aa65c9ebaa8971dc6bf953c72ac7dbe9d89bae85 100644 GIT binary patch literal 1220363 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 delta 19 bcmeC)=k@+96Key@)F;a}vc6cxRH_F6US9~~ diff --git a/tests/test_hgvs_sequencevariant.py b/tests/test_hgvs_sequencevariant.py index 59550d82..6feb5f33 100644 --- a/tests/test_hgvs_sequencevariant.py +++ b/tests/test_hgvs_sequencevariant.py @@ -2,6 +2,7 @@ import os import unittest +import parameterized import pytest from support import CACHE @@ -21,7 +22,6 @@ def test_gene_formatting(parser): @pytest.mark.quick @pytest.mark.models class Test_SequenceVariant(unittest.TestCase): - @classmethod def setUpClass(cls): cls.hdp = hgvs.dataproviders.uta.connect( @@ -30,36 +30,50 @@ def setUpClass(cls): cls.vm = hgvs.variantmapper.VariantMapper(cls.hdp) cls.hp = hgvs.parser.Parser() - def test_SequenceVariant(self): - var = hgvs.sequencevariant.SequenceVariant(ac="AC", type="B", posedit="1234DE>FG") + var = hgvs.sequencevariant.SequenceVariant( + ac="AC", type="B", posedit="1234DE>FG" + ) self.assertEqual(str(var), "AC:B.1234DE>FG") def test_fill_ref(self): - # fill reference for sequence variants var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32del").fill_ref(self.hdp) - self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.31_32delTT") + self.assertEqual( + var.format({"max_ref_length": None}), "NM_001166478.1:c.31_32delTT" + ) - var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32del2").fill_ref(self.hdp) - self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.31_32delTT") + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32del2").fill_ref( + self.hdp + ) + self.assertEqual( + var.format({"max_ref_length": None}), "NM_001166478.1:c.31_32delTT" + ) - var = self.hp.parse_hgvs_variant("NM_001166478.1:c.2_7delinsTTTAGA").fill_ref(self.hdp) + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.2_7delinsTTTAGA").fill_ref( + self.hdp + ) self.assertEqual( - var.format({"max_ref_length": None}), "NM_001166478.1:c.2_7delTGAAGAinsTTTAGA" + var.format({"max_ref_length": None}), + "NM_001166478.1:c.2_7delTGAAGAinsTTTAGA", ) var = self.hp.parse_hgvs_variant("NM_001166478.1:c.35_36dup").fill_ref(self.hdp) - self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.35_36dupTC") + self.assertEqual( + var.format({"max_ref_length": None}), "NM_001166478.1:c.35_36dupTC" + ) - var = self.hp.parse_hgvs_variant("NM_001166478.1:c.18_19insACT").fill_ref(self.hdp) - self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.18_19insACT") + var = self.hp.parse_hgvs_variant("NM_001166478.1:c.18_19insACT").fill_ref( + self.hdp + ) + self.assertEqual( + var.format({"max_ref_length": None}), "NM_001166478.1:c.18_19insACT" + ) var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31=").fill_ref(self.hdp) self.assertEqual(var.format({"max_ref_length": None}), "NM_001166478.1:c.31T=") def test_format(self): - # Global default settings var = self.hp.parse_hgvs_variant("NP_001628.1:p.Gly528Arg") self.assertEqual(str(var), "NP_001628.1:p.Gly528Arg") @@ -85,13 +99,21 @@ def test_format(self): # Remove reference sequence var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32delTT") self.assertEqual(str(var), "NM_001166478.1:c.31_32del") - self.assertEqual(var.format(conf={"max_ref_length": 1}), "NM_001166478.1:c.31_32del") - self.assertEqual(var.format(conf={"max_ref_length": 2}), "NM_001166478.1:c.31_32delTT") - self.assertEqual(var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31_32delTT") + self.assertEqual( + var.format(conf={"max_ref_length": 1}), "NM_001166478.1:c.31_32del" + ) + self.assertEqual( + var.format(conf={"max_ref_length": 2}), "NM_001166478.1:c.31_32delTT" + ) + self.assertEqual( + var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31_32delTT" + ) var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32del2") self.assertEqual(str(var), "NM_001166478.1:c.31_32del") - self.assertEqual(var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31_32del2") + self.assertEqual( + var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31_32del2" + ) var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31_32delTTinsAA") self.assertEqual(str(var), "NM_001166478.1:c.31_32delinsAA") @@ -99,10 +121,11 @@ def test_format(self): self.assertEqual(str(var), "NM_001166478.1:c.35_36dup") var = self.hp.parse_hgvs_variant("NM_001166478.1:c.31T=") self.assertEqual(str(var), "NM_001166478.1:c.31=") - self.assertEqual(var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31T=") + self.assertEqual( + var.format(conf={"max_ref_length": None}), "NM_001166478.1:c.31T=" + ) def test_uncertain(self): - vs = "NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup" v = self.hp.parse(vs) self.assertEqual(vs, str(v)) @@ -137,7 +160,6 @@ def test_uncertain(self): self.assertEqual(v3.posedit.pos.start.base, 90136803) self.assertEqual(v3.posedit.pos.end.base, 90159675) - v4s = "NC_000005.9:g.(90136803)_(90159675)dup" v4 = self.hp.parse(v4s) self.assertEqual(v4s, str(v4)) @@ -149,7 +171,6 @@ def test_uncertain(self): self.assertEqual(v4.posedit.pos.start.start.base, 90136803) self.assertEqual(v4.posedit.pos.end.start.base, 90159675) - # Test that the start and end positions are not the same object v4.posedit.pos.start.end.base = 90136804 self.assertTrue(v4.posedit.pos.start.start is not v4.posedit.pos.start.end) @@ -158,16 +179,22 @@ def test_uncertain(self): self.assertEqual("NC_000005.9:g.(90136803_90136804)_(90159675)dup", str(v4)) - def test_partial_uncertain_projection(self): data = [ - ("NC_000009.11:g.108337304_(108337428_?)del", False, True, - "NM_001079802.1:n.207_(321+10_?)del", - "NM_001079802.1:c.-10_(105+10_?)del"), - - ("NC_000009.11:g.(?_108337304)_108337428del", True, False, - "NM_001079802.1:n.(?_207)_321+10del", - "NM_001079802.1:c.(?_-10)_105+10del"), + ( + "NC_000009.11:g.108337304_(108337428_?)del", + False, + True, + "NM_001079802.1:n.207_(321+10_?)del", + "NM_001079802.1:c.-10_(105+10_?)del", + ), + ( + "NC_000009.11:g.(?_108337304)_108337428del", + True, + False, + "NM_001079802.1:n.(?_207)_321+10del", + "NM_001079802.1:c.(?_-10)_105+10del", + ), ] for hgvs_g, start_uncertain, stop_uncertain, hgvs_n, hgvs_c in data: @@ -182,19 +209,22 @@ def test_partial_uncertain_projection(self): self.assertEqual(hgvs_c, str(var_c)) def test_uncertain_projection_g_to_c_confidence(self): - data = [ - ("NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", - "NM_032119.3:n.(?_17116-1)_(17952+1_?)dup", - "NM_032119.3:c.(?_17020-1)_(17856+1_?)dup"), - - ("NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", - "NM_000527.5:n.(?_277-1)_(903+1_?)dup", - "NM_000527.5:c.(?_191-1)_(817+1_?)dup"), - - ("NC_000009.11:g.(?_108337304)_(108337428_?)del", - "NM_001079802.1:n.(?_207)_(321+10_?)del", - "NM_001079802.1:c.(?_-10)_(105+10_?)del"), + ( + "NC_000005.9:g.(90136803_90144453)_(90159675_90261231)dup", + "NM_032119.3:n.(?_17116-1)_(17952+1_?)dup", + "NM_032119.3:c.(?_17020-1)_(17856+1_?)dup", + ), + ( + "NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", + "NM_000527.5:n.(?_277-1)_(903+1_?)dup", + "NM_000527.5:c.(?_191-1)_(817+1_?)dup", + ), + ( + "NC_000009.11:g.(?_108337304)_(108337428_?)del", + "NM_001079802.1:n.(?_207)_(321+10_?)del", + "NM_001079802.1:c.(?_-10)_(105+10_?)del", + ), ] for hgvs_g, hgvs_n, hgvs_c in data: @@ -206,6 +236,118 @@ def test_uncertain_projection_g_to_c_confidence(self): var_c = self.vm.g_to_c(var_g, acc) self.assertEqual(hgvs_c, str(var_c)) + @parameterized.parameterized.expand( + [ + ( + 11692, + "DEL", + "NC_000023.11:g.(133661675_133661730)_(133661850_133661926)del", + "NC_000023.11:g.(?_133661730)_(133661850_?)del", + "NM_004484.3:c.(1293_1293)-76_(1413_1413)del", + "NM_004484.3:c.(?_1293)_(1413_?)del", + ), + ( + 31562, + "DEL", + "NC_000007.14:g.(16361566_16366648)_(16369693_16391969)del", + "NC_000007.14:g.(?_16366648)_(16369693_?)del", + "NM_001101426.3:c.(535_684)+6399_(535_684)+14526del", + "NM_001101426.3:c.(?_684+6399)_(684+9444_?)del", + ), + ( + 425669, + "DEL", + "NC_000002.12:g.(?_202376935)_(202377551_202464808)del", + "NC_000002.12:g.(?_202376935)_(202377551_?)del", + "NM_001204.6:c.(?_-540)_(76+1_77-1)del", + "NM_001204.6:c.(?_-540)_(76+1_?)del", + ), + ( + 425698, + "DEL", + "NC_000002.12:g.(202377551_202464808)_(202559947_?)del", + "NC_000002.12:g.(?_202464808)_(202559947_?)del", + "NM_001204.6:c.(76+1_77-1)_(*1_?)del", + "NM_001204.6:c.(?_77-1)_(*1_?)del", + ), + ( + 220591, + "DEL", + "NC_000017.11:g.(?_58709859)_(58734342_?)del", + "NC_000017.11:g.(?_58709859)_(58734342_?)del", + "NM_058216.2:c.706-?_*120del", + "NM_058216.2:c.(?_706)_(*120_?)del", + ), + ( + 251062, + "DUP", + "NC_000019.9:g.(11211022_11213339)_(11217364_11218067)dup", + "NC_000019.9:g.(?_11213339)_(11217364_?)dup", + "NM_000527.5:c.(190+1_191-1)_(817+1_818-1)dup", + "NM_000527.5:c.(?_191-1)_(817+1_?)dup", + ), + ( + 565301, + "DUP", + "NC_000001.11:g.(216073301_216078088)_(216327655_216364952)dup", + "NC_000001.11:g.(?_216078088)_(216327655_?)dup", + "NM_206933.2:c.(784+1_785-1)_(5572+1_5573-1)dup", + "NM_206933.2:c.(?_785-1)_(5572+1_?)dup", + ), + ( + 254064, + "DUP", + "NC_000012.11:g.(?_133248801)_(133257865_?)dup", + "NC_000012.11:g.(?_133248801)_(133257865_?)dup", + "NM_006231.3:c.63-?_1794+?dup1732", + "NM_006231.3:c.(?_63)_(1794_?)dup", + ), + ( + 237630, + "DUP", + "NC_000017.10:g.(?_15133094)_(15164078_?)dup", + "NC_000017.10:g.(?_15133094)_(15164078_?)dup", + "NM_000304.3:c.-34-?_*1140dup1657", + "NM_000304.3:c.(?_-34)_(*1140_?)dup", + ), + ] + ) + def test_clinvar_uncertain_ranges( + self, + clinvar_id, + event_type, + clinvar_hgvs_g, + hgvs_hgvs_g, + clinvar_hgvs_c, + hgvs_hgvs_c, + ): + """This is a unit test for the clinvar uncertain ranges described in + issue #225: https://github.com/biocommons/hgvs/issues/225. + + This test goes in a loop -> uncertain hgvs_g -> hgvs_c -> hgvs_g. + As part of this loop we lose information about the outer confidence interval, but we retain the inner confidence internval. + That's why the hgvs_g_hgvs_g value contains only the inner interval. + """ + + var_g = self.hp.parse(clinvar_hgvs_g) + self.assertEqual(clinvar_hgvs_g, str(var_g)) + + assert not var_g.posedit.pos.uncertain + assert var_g.posedit.pos.start.uncertain + + chrom_ac = var_g.ac + tx_ac = clinvar_hgvs_c.split(":")[0] + var_c = self.vm.g_to_c(var_g, tx_ac) + self.assertEqual(hgvs_hgvs_c, str(var_c)) + + # the start/stop positions are uncertain, but the whole range is not: + assert not var_c.posedit.pos.uncertain + assert var_c.posedit.pos.start.uncertain + assert var_c.posedit.pos.end.uncertain + + var_g_reverse = self.vm.c_to_g(var_c, chrom_ac) + self.assertEqual(hgvs_hgvs_g, str(var_g_reverse)) + if __name__ == "__main__": unittest.main() From 053f6861e1097c88d47b336f1ebf99b8039fd22c Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas@prlic.org> Date: Mon, 20 Jan 2025 12:08:56 -0800 Subject: [PATCH 21/25] installing pytest now for CI --- .github/workflows/python-package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 0ed84026..9aba6dd4 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -69,6 +69,7 @@ jobs: - name: Test with pytest run: | + pip install pytest make test deploy: From f370655f067bf1c7dc41650b298fd4bc87b75a60 Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas@prlic.org> Date: Mon, 20 Jan 2025 16:44:46 -0800 Subject: [PATCH 22/25] installing pytest-cov for CI --- .github/workflows/python-package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 9aba6dd4..f44537e8 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -70,6 +70,7 @@ jobs: - name: Test with pytest run: | pip install pytest + pip install pytest-cov make test deploy: From b6bf4b6f0006c30b4be2e58e0f9726e823a851b4 Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas@prlic.org> Date: Mon, 20 Jan 2025 17:05:44 -0800 Subject: [PATCH 23/25] updating test cache --- tests/data/cache-py3.hdp | Bin 1220363 -> 1474850 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/data/cache-py3.hdp b/tests/data/cache-py3.hdp index aa65c9ebaa8971dc6bf953c72ac7dbe9d89bae85..754542ddb82de8d12eddb6f2a08811677495605b 100644 GIT binary patch delta 220116 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	Qm1ir0LpD^^}ym>O2Rjhn@rrDU@; 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 J)3R#V{{y>Cse=Fj delta 66 zcmZ3~6xF@YtD%Llg{g(Pg{6hHg{_6Xg`<VDg{y_Tg{OtLg|CIbMW97+i_o(cHd!eK UAeb(wCe*vVvQ=n;BvYv#0L&B<-T(jq From 1a857f9ac15c4af16593c02d430449fc9103baf3 Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas@prlic.org> Date: Mon, 20 Jan 2025 17:24:04 -0800 Subject: [PATCH 24/25] more meddling with the CI --- .github/workflows/python-package.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index f44537e8..3eae1f92 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -65,12 +65,13 @@ jobs: - name: Install dependencies run: | + pip install --upgrade setuptools + pip install pytest + pip install pytest-cov pip install -e .[dev] - name: Test with pytest run: | - pip install pytest - pip install pytest-cov make test deploy: From cd949db0800d5d4000b8527384fe7a4ab1ddbf3e Mon Sep 17 00:00:00 2001 From: Andreas Prlic <andreas@prlic.org> Date: Mon, 20 Jan 2025 18:32:55 -0800 Subject: [PATCH 25/25] fixing grammar based on PR feedback. --- src/hgvs/_data/hgvs.pymeta | 5 +- src/hgvs/generated/hgvs_grammar.py | 4313 +++++++++++++++++----------- 2 files changed, 2582 insertions(+), 1736 deletions(-) diff --git a/src/hgvs/_data/hgvs.pymeta b/src/hgvs/_data/hgvs.pymeta index 7ba04ce6..736c9f6a 100644 --- a/src/hgvs/_data/hgvs.pymeta +++ b/src/hgvs/_data/hgvs.pymeta @@ -122,7 +122,7 @@ pro_ident = '=' -> hgvs.edit.AARefAlt(ref='',alt='' # potentially indefinite/uncertain intervals c_interval = def_c_interval | '(' def_c_interval:iv ')' -> iv._set_uncertain() -g_interval = uncertain_g_interval:iv | ('(' def_g_interval:iv ')' -> iv._set_uncertain()) | def_g_interval +g_interval = uncertain_g_interval:iv | def_g_interval m_interval = def_m_interval | '(' def_m_interval:iv ')' -> iv._set_uncertain() n_interval = def_n_interval | '(' def_n_interval:iv ')' -> iv._set_uncertain() p_interval = def_p_interval | '(' def_p_interval:iv ')' -> iv._set_uncertain() @@ -139,7 +139,8 @@ def_n_interval = (n_pos:start '_' n_pos:end -> hgvs.location.BaseOffsetInterval( # indefinite ranges uncertain_g_interval = '(' def_g_interval:ivl_start ')' '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain()) | def_g_interval:ivl_start '_' '(' def_g_interval:ivl_end ')' -> hgvs.location.Interval(start=ivl_start, end=ivl_end._set_uncertain()) - | '(' def_g_interval:ivl_start ')' '_' def_g_interval:ivl_end -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end) + | '(' def_g_interval:ivl_start ')' '_' def_g_interval:ivl_end -> hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end) + | ('(' def_g_interval:iv ')' -> iv._set_uncertain()) # positions diff --git a/src/hgvs/generated/hgvs_grammar.py b/src/hgvs/generated/hgvs_grammar.py index 838606c0..0fd318c4 100644 --- a/src/hgvs/generated/hgvs_grammar.py +++ b/src/hgvs/generated/hgvs_grammar.py @@ -3,3179 +3,4024 @@ # Changes will be overwritten by the generation script. # Generated by: sbin/generate_parser.py # Grammar file: src/hgvs/_data/hgvs.pymeta -# Grammar hash: 29e5254696dc8673e47771941d6a8e3e +# Grammar hash: e84f0c08f3981f13aa7426baf87ad45d # Parsley version: 1.3 -# Python version: 3.11.7 (main, Dec 4 2023, 18:10:11) [Clang 15.0.0 (clang-1500.1.0.2.5)] +# Python version: 3.12.5 (main, Sep 1 2024, 23:23:26) [Clang 15.0.0 (clang-1500.3.9.4)] # -------------------------------------------------- + def createParserClass(GrammarBase, ruleGlobals): if ruleGlobals is None: ruleGlobals = {} + class Grammar(GrammarBase): def rule_hgvs_variant(self): - _locals = {'self': self} - self.locals['hgvs_variant'] = _locals + _locals = {"self": self} + self.locals["hgvs_variant"] = _locals + def _G_or_1(): - self._trace('', (697, 707), self.input.position) - _G_apply_2, lastError = self._apply(self.rule_g_variant, "g_variant", []) + self._trace("", (697, 707), self.input.position) + _G_apply_2, lastError = self._apply( + self.rule_g_variant, "g_variant", [] + ) self.considerError(lastError, None) return (_G_apply_2, self.currentError) + def _G_or_3(): - self._trace('', (709, 719), self.input.position) - _G_apply_4, lastError = self._apply(self.rule_m_variant, "m_variant", []) + self._trace("", (709, 719), self.input.position) + _G_apply_4, lastError = self._apply( + self.rule_m_variant, "m_variant", [] + ) self.considerError(lastError, None) return (_G_apply_4, self.currentError) + def _G_or_5(): - self._trace('', (721, 731), self.input.position) - _G_apply_6, lastError = self._apply(self.rule_c_variant, "c_variant", []) + self._trace("", (721, 731), self.input.position) + _G_apply_6, lastError = self._apply( + self.rule_c_variant, "c_variant", [] + ) self.considerError(lastError, None) return (_G_apply_6, self.currentError) + def _G_or_7(): - self._trace('', (733, 743), self.input.position) - _G_apply_8, lastError = self._apply(self.rule_n_variant, "n_variant", []) + self._trace("", (733, 743), self.input.position) + _G_apply_8, lastError = self._apply( + self.rule_n_variant, "n_variant", [] + ) self.considerError(lastError, None) return (_G_apply_8, self.currentError) + def _G_or_9(): - self._trace('', (746, 756), self.input.position) - _G_apply_10, lastError = self._apply(self.rule_r_variant, "r_variant", []) + self._trace("", (746, 756), self.input.position) + _G_apply_10, lastError = self._apply( + self.rule_r_variant, "r_variant", [] + ) self.considerError(lastError, None) return (_G_apply_10, self.currentError) + def _G_or_11(): - self._trace('', (758, 768), self.input.position) - _G_apply_12, lastError = self._apply(self.rule_p_variant, "p_variant", []) + self._trace("", (758, 768), self.input.position) + _G_apply_12, lastError = self._apply( + self.rule_p_variant, "p_variant", [] + ) self.considerError(lastError, None) return (_G_apply_12, self.currentError) - _G_or_13, lastError = self._or([_G_or_1, _G_or_3, _G_or_5, _G_or_7, _G_or_9, _G_or_11]) - self.considerError(lastError, 'hgvs_variant') - return (_G_or_13, self.currentError) + _G_or_13, lastError = self._or( + [_G_or_1, _G_or_3, _G_or_5, _G_or_7, _G_or_9, _G_or_11] + ) + self.considerError(lastError, "hgvs_variant") + return (_G_or_13, self.currentError) def rule_c_variant(self): - _locals = {'self': self} - self.locals['c_variant'] = _locals - self._trace('', (781, 786), self.input.position) + _locals = {"self": self} + self.locals["c_variant"] = _locals + self._trace("", (781, 786), self.input.position) _G_apply_14, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'c_variant') - _locals['ac'] = _G_apply_14 - self._trace('', (789, 803), self.input.position) - _G_apply_15, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'c_variant') - _locals['gene'] = _G_apply_15 - self._trace('', (808, 812), self.input.position) - _G_exactly_16, lastError = self.exactly(':') - self.considerError(lastError, 'c_variant') - self._trace('', (812, 816), self.input.position) - _G_exactly_17, lastError = self.exactly('c') - self.considerError(lastError, 'c_variant') - _locals['type'] = _G_exactly_17 - self._trace('', (821, 825), self.input.position) - _G_exactly_18, lastError = self.exactly('.') - self.considerError(lastError, 'c_variant') - self._trace('', (825, 835), self.input.position) + self.considerError(lastError, "c_variant") + _locals["ac"] = _G_apply_14 + self._trace("", (789, 803), self.input.position) + _G_apply_15, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "c_variant") + _locals["gene"] = _G_apply_15 + self._trace("", (808, 812), self.input.position) + _G_exactly_16, lastError = self.exactly(":") + self.considerError(lastError, "c_variant") + self._trace("", (812, 816), self.input.position) + _G_exactly_17, lastError = self.exactly("c") + self.considerError(lastError, "c_variant") + _locals["type"] = _G_exactly_17 + self._trace("", (821, 825), self.input.position) + _G_exactly_18, lastError = self.exactly(".") + self.considerError(lastError, "c_variant") + self._trace("", (825, 835), self.input.position) _G_apply_19, lastError = self._apply(self.rule_c_posedit, "c_posedit", []) - self.considerError(lastError, 'c_variant') - _locals['posedit'] = _G_apply_19 + self.considerError(lastError, "c_variant") + _locals["posedit"] = _G_apply_19 _G_python_21, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, 'c_variant') + self.considerError(lastError, "c_variant") return (_G_python_21, self.currentError) - def rule_g_variant(self): - _locals = {'self': self} - self.locals['g_variant'] = _locals - self._trace('', (941, 946), self.input.position) + _locals = {"self": self} + self.locals["g_variant"] = _locals + self._trace("", (941, 946), self.input.position) _G_apply_22, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'g_variant') - _locals['ac'] = _G_apply_22 - self._trace('', (949, 963), self.input.position) - _G_apply_23, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'g_variant') - _locals['gene'] = _G_apply_23 - self._trace('', (968, 972), self.input.position) - _G_exactly_24, lastError = self.exactly(':') - self.considerError(lastError, 'g_variant') - self._trace('', (972, 976), self.input.position) - _G_exactly_25, lastError = self.exactly('g') - self.considerError(lastError, 'g_variant') - _locals['type'] = _G_exactly_25 - self._trace('', (981, 985), self.input.position) - _G_exactly_26, lastError = self.exactly('.') - self.considerError(lastError, 'g_variant') - self._trace('', (985, 995), self.input.position) + self.considerError(lastError, "g_variant") + _locals["ac"] = _G_apply_22 + self._trace("", (949, 963), self.input.position) + _G_apply_23, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "g_variant") + _locals["gene"] = _G_apply_23 + self._trace("", (968, 972), self.input.position) + _G_exactly_24, lastError = self.exactly(":") + self.considerError(lastError, "g_variant") + self._trace("", (972, 976), self.input.position) + _G_exactly_25, lastError = self.exactly("g") + self.considerError(lastError, "g_variant") + _locals["type"] = _G_exactly_25 + self._trace("", (981, 985), self.input.position) + _G_exactly_26, lastError = self.exactly(".") + self.considerError(lastError, "g_variant") + self._trace("", (985, 995), self.input.position) _G_apply_27, lastError = self._apply(self.rule_g_posedit, "g_posedit", []) - self.considerError(lastError, 'g_variant') - _locals['posedit'] = _G_apply_27 + self.considerError(lastError, "g_variant") + _locals["posedit"] = _G_apply_27 _G_python_28, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, 'g_variant') + self.considerError(lastError, "g_variant") return (_G_python_28, self.currentError) - def rule_m_variant(self): - _locals = {'self': self} - self.locals['m_variant'] = _locals - self._trace('', (1101, 1106), self.input.position) + _locals = {"self": self} + self.locals["m_variant"] = _locals + self._trace("", (1101, 1106), self.input.position) _G_apply_29, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'm_variant') - _locals['ac'] = _G_apply_29 - self._trace('', (1109, 1123), self.input.position) - _G_apply_30, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'm_variant') - _locals['gene'] = _G_apply_30 - self._trace('', (1128, 1132), self.input.position) - _G_exactly_31, lastError = self.exactly(':') - self.considerError(lastError, 'm_variant') - self._trace('', (1132, 1136), self.input.position) - _G_exactly_32, lastError = self.exactly('m') - self.considerError(lastError, 'm_variant') - _locals['type'] = _G_exactly_32 - self._trace('', (1141, 1145), self.input.position) - _G_exactly_33, lastError = self.exactly('.') - self.considerError(lastError, 'm_variant') - self._trace('', (1145, 1155), self.input.position) + self.considerError(lastError, "m_variant") + _locals["ac"] = _G_apply_29 + self._trace("", (1109, 1123), self.input.position) + _G_apply_30, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "m_variant") + _locals["gene"] = _G_apply_30 + self._trace("", (1128, 1132), self.input.position) + _G_exactly_31, lastError = self.exactly(":") + self.considerError(lastError, "m_variant") + self._trace("", (1132, 1136), self.input.position) + _G_exactly_32, lastError = self.exactly("m") + self.considerError(lastError, "m_variant") + _locals["type"] = _G_exactly_32 + self._trace("", (1141, 1145), self.input.position) + _G_exactly_33, lastError = self.exactly(".") + self.considerError(lastError, "m_variant") + self._trace("", (1145, 1155), self.input.position) _G_apply_34, lastError = self._apply(self.rule_m_posedit, "m_posedit", []) - self.considerError(lastError, 'm_variant') - _locals['posedit'] = _G_apply_34 + self.considerError(lastError, "m_variant") + _locals["posedit"] = _G_apply_34 _G_python_35, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, 'm_variant') + self.considerError(lastError, "m_variant") return (_G_python_35, self.currentError) - def rule_n_variant(self): - _locals = {'self': self} - self.locals['n_variant'] = _locals - self._trace('', (1261, 1266), self.input.position) + _locals = {"self": self} + self.locals["n_variant"] = _locals + self._trace("", (1261, 1266), self.input.position) _G_apply_36, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'n_variant') - _locals['ac'] = _G_apply_36 - self._trace('', (1269, 1283), self.input.position) - _G_apply_37, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'n_variant') - _locals['gene'] = _G_apply_37 - self._trace('', (1288, 1292), self.input.position) - _G_exactly_38, lastError = self.exactly(':') - self.considerError(lastError, 'n_variant') - self._trace('', (1292, 1296), self.input.position) - _G_exactly_39, lastError = self.exactly('n') - self.considerError(lastError, 'n_variant') - _locals['type'] = _G_exactly_39 - self._trace('', (1301, 1305), self.input.position) - _G_exactly_40, lastError = self.exactly('.') - self.considerError(lastError, 'n_variant') - self._trace('', (1305, 1315), self.input.position) + self.considerError(lastError, "n_variant") + _locals["ac"] = _G_apply_36 + self._trace("", (1269, 1283), self.input.position) + _G_apply_37, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "n_variant") + _locals["gene"] = _G_apply_37 + self._trace("", (1288, 1292), self.input.position) + _G_exactly_38, lastError = self.exactly(":") + self.considerError(lastError, "n_variant") + self._trace("", (1292, 1296), self.input.position) + _G_exactly_39, lastError = self.exactly("n") + self.considerError(lastError, "n_variant") + _locals["type"] = _G_exactly_39 + self._trace("", (1301, 1305), self.input.position) + _G_exactly_40, lastError = self.exactly(".") + self.considerError(lastError, "n_variant") + self._trace("", (1305, 1315), self.input.position) _G_apply_41, lastError = self._apply(self.rule_n_posedit, "n_posedit", []) - self.considerError(lastError, 'n_variant') - _locals['posedit'] = _G_apply_41 + self.considerError(lastError, "n_variant") + _locals["posedit"] = _G_apply_41 _G_python_42, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, 'n_variant') + self.considerError(lastError, "n_variant") return (_G_python_42, self.currentError) - def rule_p_variant(self): - _locals = {'self': self} - self.locals['p_variant'] = _locals - self._trace('', (1421, 1426), self.input.position) + _locals = {"self": self} + self.locals["p_variant"] = _locals + self._trace("", (1421, 1426), self.input.position) _G_apply_43, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'p_variant') - _locals['ac'] = _G_apply_43 - self._trace('', (1429, 1443), self.input.position) - _G_apply_44, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'p_variant') - _locals['gene'] = _G_apply_44 - self._trace('', (1448, 1452), self.input.position) - _G_exactly_45, lastError = self.exactly(':') - self.considerError(lastError, 'p_variant') - self._trace('', (1452, 1456), self.input.position) - _G_exactly_46, lastError = self.exactly('p') - self.considerError(lastError, 'p_variant') - _locals['type'] = _G_exactly_46 - self._trace('', (1461, 1465), self.input.position) - _G_exactly_47, lastError = self.exactly('.') - self.considerError(lastError, 'p_variant') - self._trace('', (1465, 1475), self.input.position) + self.considerError(lastError, "p_variant") + _locals["ac"] = _G_apply_43 + self._trace("", (1429, 1443), self.input.position) + _G_apply_44, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "p_variant") + _locals["gene"] = _G_apply_44 + self._trace("", (1448, 1452), self.input.position) + _G_exactly_45, lastError = self.exactly(":") + self.considerError(lastError, "p_variant") + self._trace("", (1452, 1456), self.input.position) + _G_exactly_46, lastError = self.exactly("p") + self.considerError(lastError, "p_variant") + _locals["type"] = _G_exactly_46 + self._trace("", (1461, 1465), self.input.position) + _G_exactly_47, lastError = self.exactly(".") + self.considerError(lastError, "p_variant") + self._trace("", (1465, 1475), self.input.position) _G_apply_48, lastError = self._apply(self.rule_p_posedit, "p_posedit", []) - self.considerError(lastError, 'p_variant') - _locals['posedit'] = _G_apply_48 + self.considerError(lastError, "p_variant") + _locals["posedit"] = _G_apply_48 _G_python_49, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, 'p_variant') + self.considerError(lastError, "p_variant") return (_G_python_49, self.currentError) - def rule_r_variant(self): - _locals = {'self': self} - self.locals['r_variant'] = _locals - self._trace('', (1581, 1586), self.input.position) + _locals = {"self": self} + self.locals["r_variant"] = _locals + self._trace("", (1581, 1586), self.input.position) _G_apply_50, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'r_variant') - _locals['ac'] = _G_apply_50 - self._trace('', (1589, 1603), self.input.position) - _G_apply_51, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'r_variant') - _locals['gene'] = _G_apply_51 - self._trace('', (1608, 1612), self.input.position) - _G_exactly_52, lastError = self.exactly(':') - self.considerError(lastError, 'r_variant') - self._trace('', (1612, 1616), self.input.position) - _G_exactly_53, lastError = self.exactly('r') - self.considerError(lastError, 'r_variant') - _locals['type'] = _G_exactly_53 - self._trace('', (1621, 1625), self.input.position) - _G_exactly_54, lastError = self.exactly('.') - self.considerError(lastError, 'r_variant') - self._trace('', (1625, 1635), self.input.position) + self.considerError(lastError, "r_variant") + _locals["ac"] = _G_apply_50 + self._trace("", (1589, 1603), self.input.position) + _G_apply_51, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "r_variant") + _locals["gene"] = _G_apply_51 + self._trace("", (1608, 1612), self.input.position) + _G_exactly_52, lastError = self.exactly(":") + self.considerError(lastError, "r_variant") + self._trace("", (1612, 1616), self.input.position) + _G_exactly_53, lastError = self.exactly("r") + self.considerError(lastError, "r_variant") + _locals["type"] = _G_exactly_53 + self._trace("", (1621, 1625), self.input.position) + _G_exactly_54, lastError = self.exactly(".") + self.considerError(lastError, "r_variant") + self._trace("", (1625, 1635), self.input.position) _G_apply_55, lastError = self._apply(self.rule_r_posedit, "r_posedit", []) - self.considerError(lastError, 'r_variant') - _locals['posedit'] = _G_apply_55 + self.considerError(lastError, "r_variant") + _locals["posedit"] = _G_apply_55 _G_python_56, lastError = eval(self._G_expr_20, self.globals, _locals), None - self.considerError(lastError, 'r_variant') + self.considerError(lastError, "r_variant") return (_G_python_56, self.currentError) - def rule_hgvs_position(self): - _locals = {'self': self} - self.locals['hgvs_position'] = _locals + _locals = {"self": self} + self.locals["hgvs_position"] = _locals + def _G_or_57(): - self._trace('', (1919, 1935), self.input.position) - _G_apply_58, lastError = self._apply(self.rule_g_hgvs_position, "g_hgvs_position", []) + self._trace("", (1919, 1935), self.input.position) + _G_apply_58, lastError = self._apply( + self.rule_g_hgvs_position, "g_hgvs_position", [] + ) self.considerError(lastError, None) return (_G_apply_58, self.currentError) + def _G_or_59(): - self._trace('', (1937, 1953), self.input.position) - _G_apply_60, lastError = self._apply(self.rule_m_hgvs_position, "m_hgvs_position", []) + self._trace("", (1937, 1953), self.input.position) + _G_apply_60, lastError = self._apply( + self.rule_m_hgvs_position, "m_hgvs_position", [] + ) self.considerError(lastError, None) return (_G_apply_60, self.currentError) + def _G_or_61(): - self._trace('', (1955, 1971), self.input.position) - _G_apply_62, lastError = self._apply(self.rule_c_hgvs_position, "c_hgvs_position", []) + self._trace("", (1955, 1971), self.input.position) + _G_apply_62, lastError = self._apply( + self.rule_c_hgvs_position, "c_hgvs_position", [] + ) self.considerError(lastError, None) return (_G_apply_62, self.currentError) + def _G_or_63(): - self._trace('', (1973, 1989), self.input.position) - _G_apply_64, lastError = self._apply(self.rule_n_hgvs_position, "n_hgvs_position", []) + self._trace("", (1973, 1989), self.input.position) + _G_apply_64, lastError = self._apply( + self.rule_n_hgvs_position, "n_hgvs_position", [] + ) self.considerError(lastError, None) return (_G_apply_64, self.currentError) + def _G_or_65(): - self._trace('', (1991, 2007), self.input.position) - _G_apply_66, lastError = self._apply(self.rule_r_hgvs_position, "r_hgvs_position", []) + self._trace("", (1991, 2007), self.input.position) + _G_apply_66, lastError = self._apply( + self.rule_r_hgvs_position, "r_hgvs_position", [] + ) self.considerError(lastError, None) return (_G_apply_66, self.currentError) + def _G_or_67(): - self._trace('', (2009, 2025), self.input.position) - _G_apply_68, lastError = self._apply(self.rule_p_hgvs_position, "p_hgvs_position", []) + self._trace("", (2009, 2025), self.input.position) + _G_apply_68, lastError = self._apply( + self.rule_p_hgvs_position, "p_hgvs_position", [] + ) self.considerError(lastError, None) return (_G_apply_68, self.currentError) - _G_or_69, lastError = self._or([_G_or_57, _G_or_59, _G_or_61, _G_or_63, _G_or_65, _G_or_67]) - self.considerError(lastError, 'hgvs_position') - return (_G_or_69, self.currentError) + _G_or_69, lastError = self._or( + [_G_or_57, _G_or_59, _G_or_61, _G_or_63, _G_or_65, _G_or_67] + ) + self.considerError(lastError, "hgvs_position") + return (_G_or_69, self.currentError) def rule_c_hgvs_position(self): - _locals = {'self': self} - self.locals['c_hgvs_position'] = _locals - self._trace('', (2044, 2049), self.input.position) + _locals = {"self": self} + self.locals["c_hgvs_position"] = _locals + self._trace("", (2044, 2049), self.input.position) _G_apply_70, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'c_hgvs_position') - _locals['ac'] = _G_apply_70 - self._trace('', (2052, 2066), self.input.position) - _G_apply_71, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'c_hgvs_position') - _locals['gene'] = _G_apply_71 - self._trace('', (2071, 2075), self.input.position) - _G_exactly_72, lastError = self.exactly(':') - self.considerError(lastError, 'c_hgvs_position') - self._trace('', (2075, 2079), self.input.position) - _G_exactly_73, lastError = self.exactly('c') - self.considerError(lastError, 'c_hgvs_position') - _locals['type'] = _G_exactly_73 - self._trace('', (2084, 2088), self.input.position) - _G_exactly_74, lastError = self.exactly('.') - self.considerError(lastError, 'c_hgvs_position') - self._trace('', (2088, 2099), self.input.position) + self.considerError(lastError, "c_hgvs_position") + _locals["ac"] = _G_apply_70 + self._trace("", (2052, 2066), self.input.position) + _G_apply_71, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "c_hgvs_position") + _locals["gene"] = _G_apply_71 + self._trace("", (2071, 2075), self.input.position) + _G_exactly_72, lastError = self.exactly(":") + self.considerError(lastError, "c_hgvs_position") + self._trace("", (2075, 2079), self.input.position) + _G_exactly_73, lastError = self.exactly("c") + self.considerError(lastError, "c_hgvs_position") + _locals["type"] = _G_exactly_73 + self._trace("", (2084, 2088), self.input.position) + _G_exactly_74, lastError = self.exactly(".") + self.considerError(lastError, "c_hgvs_position") + self._trace("", (2088, 2099), self.input.position) _G_apply_75, lastError = self._apply(self.rule_c_interval, "c_interval", []) - self.considerError(lastError, 'c_hgvs_position') - _locals['pos'] = _G_apply_75 + self.considerError(lastError, "c_hgvs_position") + _locals["pos"] = _G_apply_75 _G_python_77, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, 'c_hgvs_position') + self.considerError(lastError, "c_hgvs_position") return (_G_python_77, self.currentError) - def rule_g_hgvs_position(self): - _locals = {'self': self} - self.locals['g_hgvs_position'] = _locals - self._trace('', (2193, 2198), self.input.position) + _locals = {"self": self} + self.locals["g_hgvs_position"] = _locals + self._trace("", (2193, 2198), self.input.position) _G_apply_78, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'g_hgvs_position') - _locals['ac'] = _G_apply_78 - self._trace('', (2201, 2215), self.input.position) - _G_apply_79, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'g_hgvs_position') - _locals['gene'] = _G_apply_79 - self._trace('', (2220, 2224), self.input.position) - _G_exactly_80, lastError = self.exactly(':') - self.considerError(lastError, 'g_hgvs_position') - self._trace('', (2224, 2228), self.input.position) - _G_exactly_81, lastError = self.exactly('g') - self.considerError(lastError, 'g_hgvs_position') - _locals['type'] = _G_exactly_81 - self._trace('', (2233, 2237), self.input.position) - _G_exactly_82, lastError = self.exactly('.') - self.considerError(lastError, 'g_hgvs_position') - self._trace('', (2237, 2248), self.input.position) + self.considerError(lastError, "g_hgvs_position") + _locals["ac"] = _G_apply_78 + self._trace("", (2201, 2215), self.input.position) + _G_apply_79, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "g_hgvs_position") + _locals["gene"] = _G_apply_79 + self._trace("", (2220, 2224), self.input.position) + _G_exactly_80, lastError = self.exactly(":") + self.considerError(lastError, "g_hgvs_position") + self._trace("", (2224, 2228), self.input.position) + _G_exactly_81, lastError = self.exactly("g") + self.considerError(lastError, "g_hgvs_position") + _locals["type"] = _G_exactly_81 + self._trace("", (2233, 2237), self.input.position) + _G_exactly_82, lastError = self.exactly(".") + self.considerError(lastError, "g_hgvs_position") + self._trace("", (2237, 2248), self.input.position) _G_apply_83, lastError = self._apply(self.rule_g_interval, "g_interval", []) - self.considerError(lastError, 'g_hgvs_position') - _locals['pos'] = _G_apply_83 + self.considerError(lastError, "g_hgvs_position") + _locals["pos"] = _G_apply_83 _G_python_84, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, 'g_hgvs_position') + self.considerError(lastError, "g_hgvs_position") return (_G_python_84, self.currentError) - def rule_m_hgvs_position(self): - _locals = {'self': self} - self.locals['m_hgvs_position'] = _locals - self._trace('', (2342, 2347), self.input.position) + _locals = {"self": self} + self.locals["m_hgvs_position"] = _locals + self._trace("", (2342, 2347), self.input.position) _G_apply_85, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'm_hgvs_position') - _locals['ac'] = _G_apply_85 - self._trace('', (2350, 2364), self.input.position) - _G_apply_86, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'm_hgvs_position') - _locals['gene'] = _G_apply_86 - self._trace('', (2369, 2373), self.input.position) - _G_exactly_87, lastError = self.exactly(':') - self.considerError(lastError, 'm_hgvs_position') - self._trace('', (2373, 2377), self.input.position) - _G_exactly_88, lastError = self.exactly('m') - self.considerError(lastError, 'm_hgvs_position') - _locals['type'] = _G_exactly_88 - self._trace('', (2382, 2386), self.input.position) - _G_exactly_89, lastError = self.exactly('.') - self.considerError(lastError, 'm_hgvs_position') - self._trace('', (2386, 2397), self.input.position) + self.considerError(lastError, "m_hgvs_position") + _locals["ac"] = _G_apply_85 + self._trace("", (2350, 2364), self.input.position) + _G_apply_86, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "m_hgvs_position") + _locals["gene"] = _G_apply_86 + self._trace("", (2369, 2373), self.input.position) + _G_exactly_87, lastError = self.exactly(":") + self.considerError(lastError, "m_hgvs_position") + self._trace("", (2373, 2377), self.input.position) + _G_exactly_88, lastError = self.exactly("m") + self.considerError(lastError, "m_hgvs_position") + _locals["type"] = _G_exactly_88 + self._trace("", (2382, 2386), self.input.position) + _G_exactly_89, lastError = self.exactly(".") + self.considerError(lastError, "m_hgvs_position") + self._trace("", (2386, 2397), self.input.position) _G_apply_90, lastError = self._apply(self.rule_m_interval, "m_interval", []) - self.considerError(lastError, 'm_hgvs_position') - _locals['pos'] = _G_apply_90 + self.considerError(lastError, "m_hgvs_position") + _locals["pos"] = _G_apply_90 _G_python_91, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, 'm_hgvs_position') + self.considerError(lastError, "m_hgvs_position") return (_G_python_91, self.currentError) - def rule_n_hgvs_position(self): - _locals = {'self': self} - self.locals['n_hgvs_position'] = _locals - self._trace('', (2491, 2496), self.input.position) + _locals = {"self": self} + self.locals["n_hgvs_position"] = _locals + self._trace("", (2491, 2496), self.input.position) _G_apply_92, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'n_hgvs_position') - _locals['ac'] = _G_apply_92 - self._trace('', (2499, 2513), self.input.position) - _G_apply_93, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'n_hgvs_position') - _locals['gene'] = _G_apply_93 - self._trace('', (2518, 2522), self.input.position) - _G_exactly_94, lastError = self.exactly(':') - self.considerError(lastError, 'n_hgvs_position') - self._trace('', (2522, 2526), self.input.position) - _G_exactly_95, lastError = self.exactly('n') - self.considerError(lastError, 'n_hgvs_position') - _locals['type'] = _G_exactly_95 - self._trace('', (2531, 2535), self.input.position) - _G_exactly_96, lastError = self.exactly('.') - self.considerError(lastError, 'n_hgvs_position') - self._trace('', (2535, 2546), self.input.position) + self.considerError(lastError, "n_hgvs_position") + _locals["ac"] = _G_apply_92 + self._trace("", (2499, 2513), self.input.position) + _G_apply_93, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "n_hgvs_position") + _locals["gene"] = _G_apply_93 + self._trace("", (2518, 2522), self.input.position) + _G_exactly_94, lastError = self.exactly(":") + self.considerError(lastError, "n_hgvs_position") + self._trace("", (2522, 2526), self.input.position) + _G_exactly_95, lastError = self.exactly("n") + self.considerError(lastError, "n_hgvs_position") + _locals["type"] = _G_exactly_95 + self._trace("", (2531, 2535), self.input.position) + _G_exactly_96, lastError = self.exactly(".") + self.considerError(lastError, "n_hgvs_position") + self._trace("", (2535, 2546), self.input.position) _G_apply_97, lastError = self._apply(self.rule_n_interval, "n_interval", []) - self.considerError(lastError, 'n_hgvs_position') - _locals['pos'] = _G_apply_97 + self.considerError(lastError, "n_hgvs_position") + _locals["pos"] = _G_apply_97 _G_python_98, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, 'n_hgvs_position') + self.considerError(lastError, "n_hgvs_position") return (_G_python_98, self.currentError) - def rule_p_hgvs_position(self): - _locals = {'self': self} - self.locals['p_hgvs_position'] = _locals - self._trace('', (2640, 2645), self.input.position) + _locals = {"self": self} + self.locals["p_hgvs_position"] = _locals + self._trace("", (2640, 2645), self.input.position) _G_apply_99, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'p_hgvs_position') - _locals['ac'] = _G_apply_99 - self._trace('', (2648, 2662), self.input.position) - _G_apply_100, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'p_hgvs_position') - _locals['gene'] = _G_apply_100 - self._trace('', (2667, 2671), self.input.position) - _G_exactly_101, lastError = self.exactly(':') - self.considerError(lastError, 'p_hgvs_position') - self._trace('', (2671, 2675), self.input.position) - _G_exactly_102, lastError = self.exactly('p') - self.considerError(lastError, 'p_hgvs_position') - _locals['type'] = _G_exactly_102 - self._trace('', (2680, 2684), self.input.position) - _G_exactly_103, lastError = self.exactly('.') - self.considerError(lastError, 'p_hgvs_position') - self._trace('', (2684, 2695), self.input.position) - _G_apply_104, lastError = self._apply(self.rule_p_interval, "p_interval", []) - self.considerError(lastError, 'p_hgvs_position') - _locals['pos'] = _G_apply_104 - _G_python_105, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, 'p_hgvs_position') + self.considerError(lastError, "p_hgvs_position") + _locals["ac"] = _G_apply_99 + self._trace("", (2648, 2662), self.input.position) + _G_apply_100, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "p_hgvs_position") + _locals["gene"] = _G_apply_100 + self._trace("", (2667, 2671), self.input.position) + _G_exactly_101, lastError = self.exactly(":") + self.considerError(lastError, "p_hgvs_position") + self._trace("", (2671, 2675), self.input.position) + _G_exactly_102, lastError = self.exactly("p") + self.considerError(lastError, "p_hgvs_position") + _locals["type"] = _G_exactly_102 + self._trace("", (2680, 2684), self.input.position) + _G_exactly_103, lastError = self.exactly(".") + self.considerError(lastError, "p_hgvs_position") + self._trace("", (2684, 2695), self.input.position) + _G_apply_104, lastError = self._apply( + self.rule_p_interval, "p_interval", [] + ) + self.considerError(lastError, "p_hgvs_position") + _locals["pos"] = _G_apply_104 + _G_python_105, lastError = ( + eval(self._G_expr_76, self.globals, _locals), + None, + ) + self.considerError(lastError, "p_hgvs_position") return (_G_python_105, self.currentError) - def rule_r_hgvs_position(self): - _locals = {'self': self} - self.locals['r_hgvs_position'] = _locals - self._trace('', (2789, 2794), self.input.position) + _locals = {"self": self} + self.locals["r_hgvs_position"] = _locals + self._trace("", (2789, 2794), self.input.position) _G_apply_106, lastError = self._apply(self.rule_accn, "accn", []) - self.considerError(lastError, 'r_hgvs_position') - _locals['ac'] = _G_apply_106 - self._trace('', (2797, 2811), self.input.position) - _G_apply_107, lastError = self._apply(self.rule_opt_gene_expr, "opt_gene_expr", []) - self.considerError(lastError, 'r_hgvs_position') - _locals['gene'] = _G_apply_107 - self._trace('', (2816, 2820), self.input.position) - _G_exactly_108, lastError = self.exactly(':') - self.considerError(lastError, 'r_hgvs_position') - self._trace('', (2820, 2824), self.input.position) - _G_exactly_109, lastError = self.exactly('r') - self.considerError(lastError, 'r_hgvs_position') - _locals['type'] = _G_exactly_109 - self._trace('', (2829, 2833), self.input.position) - _G_exactly_110, lastError = self.exactly('.') - self.considerError(lastError, 'r_hgvs_position') - self._trace('', (2833, 2844), self.input.position) - _G_apply_111, lastError = self._apply(self.rule_r_interval, "r_interval", []) - self.considerError(lastError, 'r_hgvs_position') - _locals['pos'] = _G_apply_111 - _G_python_112, lastError = eval(self._G_expr_76, self.globals, _locals), None - self.considerError(lastError, 'r_hgvs_position') + self.considerError(lastError, "r_hgvs_position") + _locals["ac"] = _G_apply_106 + self._trace("", (2797, 2811), self.input.position) + _G_apply_107, lastError = self._apply( + self.rule_opt_gene_expr, "opt_gene_expr", [] + ) + self.considerError(lastError, "r_hgvs_position") + _locals["gene"] = _G_apply_107 + self._trace("", (2816, 2820), self.input.position) + _G_exactly_108, lastError = self.exactly(":") + self.considerError(lastError, "r_hgvs_position") + self._trace("", (2820, 2824), self.input.position) + _G_exactly_109, lastError = self.exactly("r") + self.considerError(lastError, "r_hgvs_position") + _locals["type"] = _G_exactly_109 + self._trace("", (2829, 2833), self.input.position) + _G_exactly_110, lastError = self.exactly(".") + self.considerError(lastError, "r_hgvs_position") + self._trace("", (2833, 2844), self.input.position) + _G_apply_111, lastError = self._apply( + self.rule_r_interval, "r_interval", [] + ) + self.considerError(lastError, "r_hgvs_position") + _locals["pos"] = _G_apply_111 + _G_python_112, lastError = ( + eval(self._G_expr_76, self.globals, _locals), + None, + ) + self.considerError(lastError, "r_hgvs_position") return (_G_python_112, self.currentError) - def rule_c_typed_posedit(self): - _locals = {'self': self} - self.locals['c_typed_posedit'] = _locals - self._trace('', (3248, 3252), self.input.position) - _G_exactly_113, lastError = self.exactly('c') - self.considerError(lastError, 'c_typed_posedit') - _locals['type'] = _G_exactly_113 - self._trace('', (3257, 3261), self.input.position) - _G_exactly_114, lastError = self.exactly('.') - self.considerError(lastError, 'c_typed_posedit') - self._trace('', (3261, 3271), self.input.position) + _locals = {"self": self} + self.locals["c_typed_posedit"] = _locals + self._trace("", (3248, 3252), self.input.position) + _G_exactly_113, lastError = self.exactly("c") + self.considerError(lastError, "c_typed_posedit") + _locals["type"] = _G_exactly_113 + self._trace("", (3257, 3261), self.input.position) + _G_exactly_114, lastError = self.exactly(".") + self.considerError(lastError, "c_typed_posedit") + self._trace("", (3261, 3271), self.input.position) _G_apply_115, lastError = self._apply(self.rule_c_posedit, "c_posedit", []) - self.considerError(lastError, 'c_typed_posedit') - _locals['posedit'] = _G_apply_115 - _G_python_117, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, 'c_typed_posedit') + self.considerError(lastError, "c_typed_posedit") + _locals["posedit"] = _G_apply_115 + _G_python_117, lastError = ( + eval(self._G_expr_116, self.globals, _locals), + None, + ) + self.considerError(lastError, "c_typed_posedit") return (_G_python_117, self.currentError) - def rule_g_typed_posedit(self): - _locals = {'self': self} - self.locals['g_typed_posedit'] = _locals - self._trace('', (3356, 3360), self.input.position) - _G_exactly_118, lastError = self.exactly('g') - self.considerError(lastError, 'g_typed_posedit') - _locals['type'] = _G_exactly_118 - self._trace('', (3365, 3369), self.input.position) - _G_exactly_119, lastError = self.exactly('.') - self.considerError(lastError, 'g_typed_posedit') - self._trace('', (3369, 3379), self.input.position) + _locals = {"self": self} + self.locals["g_typed_posedit"] = _locals + self._trace("", (3356, 3360), self.input.position) + _G_exactly_118, lastError = self.exactly("g") + self.considerError(lastError, "g_typed_posedit") + _locals["type"] = _G_exactly_118 + self._trace("", (3365, 3369), self.input.position) + _G_exactly_119, lastError = self.exactly(".") + self.considerError(lastError, "g_typed_posedit") + self._trace("", (3369, 3379), self.input.position) _G_apply_120, lastError = self._apply(self.rule_g_posedit, "g_posedit", []) - self.considerError(lastError, 'g_typed_posedit') - _locals['posedit'] = _G_apply_120 - _G_python_121, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, 'g_typed_posedit') + self.considerError(lastError, "g_typed_posedit") + _locals["posedit"] = _G_apply_120 + _G_python_121, lastError = ( + eval(self._G_expr_116, self.globals, _locals), + None, + ) + self.considerError(lastError, "g_typed_posedit") return (_G_python_121, self.currentError) - def rule_m_typed_posedit(self): - _locals = {'self': self} - self.locals['m_typed_posedit'] = _locals - self._trace('', (3464, 3468), self.input.position) - _G_exactly_122, lastError = self.exactly('m') - self.considerError(lastError, 'm_typed_posedit') - _locals['type'] = _G_exactly_122 - self._trace('', (3473, 3477), self.input.position) - _G_exactly_123, lastError = self.exactly('.') - self.considerError(lastError, 'm_typed_posedit') - self._trace('', (3477, 3487), self.input.position) + _locals = {"self": self} + self.locals["m_typed_posedit"] = _locals + self._trace("", (3464, 3468), self.input.position) + _G_exactly_122, lastError = self.exactly("m") + self.considerError(lastError, "m_typed_posedit") + _locals["type"] = _G_exactly_122 + self._trace("", (3473, 3477), self.input.position) + _G_exactly_123, lastError = self.exactly(".") + self.considerError(lastError, "m_typed_posedit") + self._trace("", (3477, 3487), self.input.position) _G_apply_124, lastError = self._apply(self.rule_m_posedit, "m_posedit", []) - self.considerError(lastError, 'm_typed_posedit') - _locals['posedit'] = _G_apply_124 - _G_python_125, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, 'm_typed_posedit') + self.considerError(lastError, "m_typed_posedit") + _locals["posedit"] = _G_apply_124 + _G_python_125, lastError = ( + eval(self._G_expr_116, self.globals, _locals), + None, + ) + self.considerError(lastError, "m_typed_posedit") return (_G_python_125, self.currentError) - def rule_n_typed_posedit(self): - _locals = {'self': self} - self.locals['n_typed_posedit'] = _locals - self._trace('', (3572, 3576), self.input.position) - _G_exactly_126, lastError = self.exactly('n') - self.considerError(lastError, 'n_typed_posedit') - _locals['type'] = _G_exactly_126 - self._trace('', (3581, 3585), self.input.position) - _G_exactly_127, lastError = self.exactly('.') - self.considerError(lastError, 'n_typed_posedit') - self._trace('', (3585, 3595), self.input.position) + _locals = {"self": self} + self.locals["n_typed_posedit"] = _locals + self._trace("", (3572, 3576), self.input.position) + _G_exactly_126, lastError = self.exactly("n") + self.considerError(lastError, "n_typed_posedit") + _locals["type"] = _G_exactly_126 + self._trace("", (3581, 3585), self.input.position) + _G_exactly_127, lastError = self.exactly(".") + self.considerError(lastError, "n_typed_posedit") + self._trace("", (3585, 3595), self.input.position) _G_apply_128, lastError = self._apply(self.rule_n_posedit, "n_posedit", []) - self.considerError(lastError, 'n_typed_posedit') - _locals['posedit'] = _G_apply_128 - _G_python_129, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, 'n_typed_posedit') + self.considerError(lastError, "n_typed_posedit") + _locals["posedit"] = _G_apply_128 + _G_python_129, lastError = ( + eval(self._G_expr_116, self.globals, _locals), + None, + ) + self.considerError(lastError, "n_typed_posedit") return (_G_python_129, self.currentError) - def rule_p_typed_posedit(self): - _locals = {'self': self} - self.locals['p_typed_posedit'] = _locals - self._trace('', (3680, 3684), self.input.position) - _G_exactly_130, lastError = self.exactly('p') - self.considerError(lastError, 'p_typed_posedit') - _locals['type'] = _G_exactly_130 - self._trace('', (3689, 3693), self.input.position) - _G_exactly_131, lastError = self.exactly('.') - self.considerError(lastError, 'p_typed_posedit') - self._trace('', (3693, 3703), self.input.position) + _locals = {"self": self} + self.locals["p_typed_posedit"] = _locals + self._trace("", (3680, 3684), self.input.position) + _G_exactly_130, lastError = self.exactly("p") + self.considerError(lastError, "p_typed_posedit") + _locals["type"] = _G_exactly_130 + self._trace("", (3689, 3693), self.input.position) + _G_exactly_131, lastError = self.exactly(".") + self.considerError(lastError, "p_typed_posedit") + self._trace("", (3693, 3703), self.input.position) _G_apply_132, lastError = self._apply(self.rule_p_posedit, "p_posedit", []) - self.considerError(lastError, 'p_typed_posedit') - _locals['posedit'] = _G_apply_132 - _G_python_133, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, 'p_typed_posedit') + self.considerError(lastError, "p_typed_posedit") + _locals["posedit"] = _G_apply_132 + _G_python_133, lastError = ( + eval(self._G_expr_116, self.globals, _locals), + None, + ) + self.considerError(lastError, "p_typed_posedit") return (_G_python_133, self.currentError) - def rule_r_typed_posedit(self): - _locals = {'self': self} - self.locals['r_typed_posedit'] = _locals - self._trace('', (3788, 3792), self.input.position) - _G_exactly_134, lastError = self.exactly('r') - self.considerError(lastError, 'r_typed_posedit') - _locals['type'] = _G_exactly_134 - self._trace('', (3797, 3801), self.input.position) - _G_exactly_135, lastError = self.exactly('.') - self.considerError(lastError, 'r_typed_posedit') - self._trace('', (3801, 3811), self.input.position) + _locals = {"self": self} + self.locals["r_typed_posedit"] = _locals + self._trace("", (3788, 3792), self.input.position) + _G_exactly_134, lastError = self.exactly("r") + self.considerError(lastError, "r_typed_posedit") + _locals["type"] = _G_exactly_134 + self._trace("", (3797, 3801), self.input.position) + _G_exactly_135, lastError = self.exactly(".") + self.considerError(lastError, "r_typed_posedit") + self._trace("", (3801, 3811), self.input.position) _G_apply_136, lastError = self._apply(self.rule_r_posedit, "r_posedit", []) - self.considerError(lastError, 'r_typed_posedit') - _locals['posedit'] = _G_apply_136 - _G_python_137, lastError = eval(self._G_expr_116, self.globals, _locals), None - self.considerError(lastError, 'r_typed_posedit') + self.considerError(lastError, "r_typed_posedit") + _locals["posedit"] = _G_apply_136 + _G_python_137, lastError = ( + eval(self._G_expr_116, self.globals, _locals), + None, + ) + self.considerError(lastError, "r_typed_posedit") return (_G_python_137, self.currentError) - def rule_c_posedit(self): - _locals = {'self': self} - self.locals['c_posedit'] = _locals - self._trace('', (4009, 4020), self.input.position) - _G_apply_138, lastError = self._apply(self.rule_c_interval, "c_interval", []) - self.considerError(lastError, 'c_posedit') - _locals['pos'] = _G_apply_138 - self._trace('', (4024, 4033), self.input.position) + _locals = {"self": self} + self.locals["c_posedit"] = _locals + self._trace("", (4009, 4020), self.input.position) + _G_apply_138, lastError = self._apply( + self.rule_c_interval, "c_interval", [] + ) + self.considerError(lastError, "c_posedit") + _locals["pos"] = _G_apply_138 + self._trace("", (4024, 4033), self.input.position) _G_apply_139, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, 'c_posedit') - _locals['edit'] = _G_apply_139 - _G_python_141, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, 'c_posedit') + self.considerError(lastError, "c_posedit") + _locals["edit"] = _G_apply_139 + _G_python_141, lastError = ( + eval(self._G_expr_140, self.globals, _locals), + None, + ) + self.considerError(lastError, "c_posedit") return (_G_python_141, self.currentError) - def rule_g_posedit(self): - _locals = {'self': self} - self.locals['g_posedit'] = _locals - self._trace('', (4093, 4104), self.input.position) - _G_apply_142, lastError = self._apply(self.rule_g_interval, "g_interval", []) - self.considerError(lastError, 'g_posedit') - _locals['pos'] = _G_apply_142 - self._trace('', (4108, 4117), self.input.position) + _locals = {"self": self} + self.locals["g_posedit"] = _locals + self._trace("", (4093, 4104), self.input.position) + _G_apply_142, lastError = self._apply( + self.rule_g_interval, "g_interval", [] + ) + self.considerError(lastError, "g_posedit") + _locals["pos"] = _G_apply_142 + self._trace("", (4108, 4117), self.input.position) _G_apply_143, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, 'g_posedit') - _locals['edit'] = _G_apply_143 - _G_python_144, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, 'g_posedit') + self.considerError(lastError, "g_posedit") + _locals["edit"] = _G_apply_143 + _G_python_144, lastError = ( + eval(self._G_expr_140, self.globals, _locals), + None, + ) + self.considerError(lastError, "g_posedit") return (_G_python_144, self.currentError) - def rule_m_posedit(self): - _locals = {'self': self} - self.locals['m_posedit'] = _locals - self._trace('', (4177, 4188), self.input.position) - _G_apply_145, lastError = self._apply(self.rule_m_interval, "m_interval", []) - self.considerError(lastError, 'm_posedit') - _locals['pos'] = _G_apply_145 - self._trace('', (4192, 4201), self.input.position) + _locals = {"self": self} + self.locals["m_posedit"] = _locals + self._trace("", (4177, 4188), self.input.position) + _G_apply_145, lastError = self._apply( + self.rule_m_interval, "m_interval", [] + ) + self.considerError(lastError, "m_posedit") + _locals["pos"] = _G_apply_145 + self._trace("", (4192, 4201), self.input.position) _G_apply_146, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, 'm_posedit') - _locals['edit'] = _G_apply_146 - _G_python_147, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, 'm_posedit') + self.considerError(lastError, "m_posedit") + _locals["edit"] = _G_apply_146 + _G_python_147, lastError = ( + eval(self._G_expr_140, self.globals, _locals), + None, + ) + self.considerError(lastError, "m_posedit") return (_G_python_147, self.currentError) - def rule_n_posedit(self): - _locals = {'self': self} - self.locals['n_posedit'] = _locals - self._trace('', (4261, 4272), self.input.position) - _G_apply_148, lastError = self._apply(self.rule_n_interval, "n_interval", []) - self.considerError(lastError, 'n_posedit') - _locals['pos'] = _G_apply_148 - self._trace('', (4276, 4285), self.input.position) + _locals = {"self": self} + self.locals["n_posedit"] = _locals + self._trace("", (4261, 4272), self.input.position) + _G_apply_148, lastError = self._apply( + self.rule_n_interval, "n_interval", [] + ) + self.considerError(lastError, "n_posedit") + _locals["pos"] = _G_apply_148 + self._trace("", (4276, 4285), self.input.position) _G_apply_149, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) - self.considerError(lastError, 'n_posedit') - _locals['edit'] = _G_apply_149 - _G_python_150, lastError = eval(self._G_expr_140, self.globals, _locals), None - self.considerError(lastError, 'n_posedit') + self.considerError(lastError, "n_posedit") + _locals["edit"] = _G_apply_149 + _G_python_150, lastError = ( + eval(self._G_expr_140, self.globals, _locals), + None, + ) + self.considerError(lastError, "n_posedit") return (_G_python_150, self.currentError) - def rule_r_posedit(self): - _locals = {'self': self} - self.locals['r_posedit'] = _locals + _locals = {"self": self} + self.locals["r_posedit"] = _locals + def _G_or_151(): - self._trace('', (4347, 4357), self.input.position) - _G_apply_152, lastError = self._apply(self.rule_r_interval, "r_interval", []) - self.considerError(lastError, None) - _locals['pos'] = _G_apply_152 - self._trace('', (4361, 4370), self.input.position) - _G_apply_153, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) - self.considerError(lastError, None) - _locals['edit'] = _G_apply_153 - _G_python_154, lastError = eval(self._G_expr_140, self.globals, _locals), None + self._trace("", (4347, 4357), self.input.position) + _G_apply_152, lastError = self._apply( + self.rule_r_interval, "r_interval", [] + ) + self.considerError(lastError, None) + _locals["pos"] = _G_apply_152 + self._trace("", (4361, 4370), self.input.position) + _G_apply_153, lastError = self._apply( + self.rule_rna_edit, "rna_edit", [] + ) + self.considerError(lastError, None) + _locals["edit"] = _G_apply_153 + _G_python_154, lastError = ( + eval(self._G_expr_140, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_154, self.currentError) + def _G_or_155(): - self._trace('', (4426, 4429), self.input.position) - _G_exactly_156, lastError = self.exactly('(') + self._trace("", (4426, 4429), self.input.position) + _G_exactly_156, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (4429, 4440), self.input.position) - _G_apply_157, lastError = self._apply(self.rule_r_interval, "r_interval", []) + self._trace("", (4429, 4440), self.input.position) + _G_apply_157, lastError = self._apply( + self.rule_r_interval, "r_interval", [] + ) self.considerError(lastError, None) - _locals['pos'] = _G_apply_157 - self._trace('', (4444, 4453), self.input.position) - _G_apply_158, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) + _locals["pos"] = _G_apply_157 + self._trace("", (4444, 4453), self.input.position) + _G_apply_158, lastError = self._apply( + self.rule_rna_edit, "rna_edit", [] + ) self.considerError(lastError, None) - _locals['edit'] = _G_apply_158 - self._trace('', (4458, 4462), self.input.position) - _G_exactly_159, lastError = self.exactly(')') + _locals["edit"] = _G_apply_158 + self._trace("", (4458, 4462), self.input.position) + _G_exactly_159, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_161, lastError = eval(self._G_expr_160, self.globals, _locals), None + _G_python_161, lastError = ( + eval(self._G_expr_160, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_161, self.currentError) + _G_or_162, lastError = self._or([_G_or_151, _G_or_155]) - self.considerError(lastError, 'r_posedit') + self.considerError(lastError, "r_posedit") return (_G_or_162, self.currentError) - def rule_p_posedit(self): - _locals = {'self': self} - self.locals['p_posedit'] = _locals + _locals = {"self": self} + self.locals["p_posedit"] = _locals + def _G_or_163(): - self._trace('', (4539, 4549), self.input.position) - _G_apply_164, lastError = self._apply(self.rule_p_interval, "p_interval", []) - self.considerError(lastError, None) - _locals['pos'] = _G_apply_164 - self._trace('', (4553, 4562), self.input.position) - _G_apply_165, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) - self.considerError(lastError, None) - _locals['edit'] = _G_apply_165 - _G_python_166, lastError = eval(self._G_expr_140, self.globals, _locals), None + self._trace("", (4539, 4549), self.input.position) + _G_apply_164, lastError = self._apply( + self.rule_p_interval, "p_interval", [] + ) + self.considerError(lastError, None) + _locals["pos"] = _G_apply_164 + self._trace("", (4553, 4562), self.input.position) + _G_apply_165, lastError = self._apply( + self.rule_pro_edit, "pro_edit", [] + ) + self.considerError(lastError, None) + _locals["edit"] = _G_apply_165 + _G_python_166, lastError = ( + eval(self._G_expr_140, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_166, self.currentError) + def _G_or_167(): - self._trace('', (4618, 4621), self.input.position) - _G_exactly_168, lastError = self.exactly('(') + self._trace("", (4618, 4621), self.input.position) + _G_exactly_168, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (4621, 4632), self.input.position) - _G_apply_169, lastError = self._apply(self.rule_p_interval, "p_interval", []) + self._trace("", (4621, 4632), self.input.position) + _G_apply_169, lastError = self._apply( + self.rule_p_interval, "p_interval", [] + ) self.considerError(lastError, None) - _locals['pos'] = _G_apply_169 - self._trace('', (4636, 4645), self.input.position) - _G_apply_170, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) + _locals["pos"] = _G_apply_169 + self._trace("", (4636, 4645), self.input.position) + _G_apply_170, lastError = self._apply( + self.rule_pro_edit, "pro_edit", [] + ) self.considerError(lastError, None) - _locals['edit'] = _G_apply_170 - self._trace('', (4650, 4654), self.input.position) - _G_exactly_171, lastError = self.exactly(')') + _locals["edit"] = _G_apply_170 + self._trace("", (4650, 4654), self.input.position) + _G_exactly_171, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_172, lastError = eval(self._G_expr_160, self.globals, _locals), None + _G_python_172, lastError = ( + eval(self._G_expr_160, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_172, self.currentError) + def _G_or_173(): - self._trace('', (4719, 4737), self.input.position) - _G_apply_174, lastError = self._apply(self.rule_p_posedit_special, "p_posedit_special", []) + self._trace("", (4719, 4737), self.input.position) + _G_apply_174, lastError = self._apply( + self.rule_p_posedit_special, "p_posedit_special", [] + ) self.considerError(lastError, None) return (_G_apply_174, self.currentError) + _G_or_175, lastError = self._or([_G_or_163, _G_or_167, _G_or_173]) - self.considerError(lastError, 'p_posedit') + self.considerError(lastError, "p_posedit") return (_G_or_175, self.currentError) - def rule_p_posedit_special(self): - _locals = {'self': self} - self.locals['p_posedit_special'] = _locals + _locals = {"self": self} + self.locals["p_posedit_special"] = _locals + def _G_or_176(): - self._trace('', (4757, 4767), self.input.position) - _G_exactly_177, lastError = self.exactly('=') + self._trace("", (4757, 4767), self.input.position) + _G_exactly_177, lastError = self.exactly("=") self.considerError(lastError, None) - _locals['x'] = _G_exactly_177 - _G_python_179, lastError = eval(self._G_expr_178, self.globals, _locals), None + _locals["x"] = _G_exactly_177 + _G_python_179, lastError = ( + eval(self._G_expr_178, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_179, self.currentError) + def _G_or_180(): - self._trace('', (4829, 4833), self.input.position) - _G_exactly_181, lastError = self.exactly('(') + self._trace("", (4829, 4833), self.input.position) + _G_exactly_181, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (4833, 4837), self.input.position) - _G_exactly_182, lastError = self.exactly('=') + self._trace("", (4833, 4837), self.input.position) + _G_exactly_182, lastError = self.exactly("=") self.considerError(lastError, None) - _locals['x'] = _G_exactly_182 - self._trace('', (4839, 4843), self.input.position) - _G_exactly_183, lastError = self.exactly(')') + _locals["x"] = _G_exactly_182 + self._trace("", (4839, 4843), self.input.position) + _G_exactly_183, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_185, lastError = eval(self._G_expr_184, self.globals, _locals), None + _G_python_185, lastError = ( + eval(self._G_expr_184, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_185, self.currentError) + def _G_or_186(): - self._trace('', (4902, 4906), self.input.position) - _G_exactly_187, lastError = self.exactly('0') + self._trace("", (4902, 4906), self.input.position) + _G_exactly_187, lastError = self.exactly("0") self.considerError(lastError, None) - _locals['x'] = _G_exactly_187 - self._trace('', (4908, 4912), self.input.position) - _G_exactly_188, lastError = self.exactly('?') + _locals["x"] = _G_exactly_187 + self._trace("", (4908, 4912), self.input.position) + _G_exactly_188, lastError = self.exactly("?") self.considerError(lastError, None) - _G_python_189, lastError = eval(self._G_expr_184, self.globals, _locals), None + _G_python_189, lastError = ( + eval(self._G_expr_184, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_189, self.currentError) + def _G_or_190(): - self._trace('', (4971, 4975), self.input.position) - _G_exactly_191, lastError = self.exactly('0') + self._trace("", (4971, 4975), self.input.position) + _G_exactly_191, lastError = self.exactly("0") self.considerError(lastError, None) - _locals['x'] = _G_exactly_191 - _G_python_192, lastError = eval(self._G_expr_178, self.globals, _locals), None + _locals["x"] = _G_exactly_191 + _G_python_192, lastError = ( + eval(self._G_expr_178, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_192, self.currentError) + def _G_or_193(): - self._trace('', (5037, 5041), self.input.position) - _G_exactly_194, lastError = self.exactly('?') + self._trace("", (5037, 5041), self.input.position) + _G_exactly_194, lastError = self.exactly("?") self.considerError(lastError, None) - _locals['x'] = _G_exactly_194 + _locals["x"] = _G_exactly_194 _G_python_195, lastError = (None), None self.considerError(lastError, None) return (_G_python_195, self.currentError) - _G_or_196, lastError = self._or([_G_or_176, _G_or_180, _G_or_186, _G_or_190, _G_or_193]) - self.considerError(lastError, 'p_posedit_special') - return (_G_or_196, self.currentError) + _G_or_196, lastError = self._or( + [_G_or_176, _G_or_180, _G_or_186, _G_or_190, _G_or_193] + ) + self.considerError(lastError, "p_posedit_special") + return (_G_or_196, self.currentError) def rule_dna_edit_mu(self): - _locals = {'self': self} - self.locals['dna_edit_mu'] = _locals + _locals = {"self": self} + self.locals["dna_edit_mu"] = _locals + def _G_or_197(): - self._trace('', (5392, 5401), self.input.position) - _G_apply_198, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) + self._trace("", (5392, 5401), self.input.position) + _G_apply_198, lastError = self._apply( + self.rule_dna_edit, "dna_edit", [] + ) self.considerError(lastError, None) return (_G_apply_198, self.currentError) + def _G_or_199(): - self._trace('', (5403, 5407), self.input.position) - _G_exactly_200, lastError = self.exactly('(') + self._trace("", (5403, 5407), self.input.position) + _G_exactly_200, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (5407, 5416), self.input.position) - _G_apply_201, lastError = self._apply(self.rule_dna_edit, "dna_edit", []) + self._trace("", (5407, 5416), self.input.position) + _G_apply_201, lastError = self._apply( + self.rule_dna_edit, "dna_edit", [] + ) self.considerError(lastError, None) - _locals['edit'] = _G_apply_201 - self._trace('', (5421, 5425), self.input.position) - _G_exactly_202, lastError = self.exactly(')') + _locals["edit"] = _G_apply_201 + self._trace("", (5421, 5425), self.input.position) + _G_exactly_202, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_204, lastError = eval(self._G_expr_203, self.globals, _locals), None + _G_python_204, lastError = ( + eval(self._G_expr_203, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_204, self.currentError) + _G_or_205, lastError = self._or([_G_or_197, _G_or_199]) - self.considerError(lastError, 'dna_edit_mu') + self.considerError(lastError, "dna_edit_mu") return (_G_or_205, self.currentError) - def rule_dna_edit(self): - _locals = {'self': self} - self.locals['dna_edit'] = _locals + _locals = {"self": self} + self.locals["dna_edit"] = _locals + def _G_or_206(): - self._trace('', (5463, 5473), self.input.position) - _G_apply_207, lastError = self._apply(self.rule_dna_ident, "dna_ident", []) + self._trace("", (5463, 5473), self.input.position) + _G_apply_207, lastError = self._apply( + self.rule_dna_ident, "dna_ident", [] + ) self.considerError(lastError, None) return (_G_apply_207, self.currentError) + def _G_or_208(): - self._trace('', (5475, 5485), self.input.position) - _G_apply_209, lastError = self._apply(self.rule_dna_subst, "dna_subst", []) + self._trace("", (5475, 5485), self.input.position) + _G_apply_209, lastError = self._apply( + self.rule_dna_subst, "dna_subst", [] + ) self.considerError(lastError, None) return (_G_apply_209, self.currentError) + def _G_or_210(): - self._trace('', (5487, 5498), self.input.position) - _G_apply_211, lastError = self._apply(self.rule_dna_delins, "dna_delins", []) + self._trace("", (5487, 5498), self.input.position) + _G_apply_211, lastError = self._apply( + self.rule_dna_delins, "dna_delins", [] + ) self.considerError(lastError, None) return (_G_apply_211, self.currentError) + def _G_or_212(): - self._trace('', (5500, 5508), self.input.position) + self._trace("", (5500, 5508), self.input.position) _G_apply_213, lastError = self._apply(self.rule_dna_ins, "dna_ins", []) self.considerError(lastError, None) return (_G_apply_213, self.currentError) + def _G_or_214(): - self._trace('', (5510, 5518), self.input.position) + self._trace("", (5510, 5518), self.input.position) _G_apply_215, lastError = self._apply(self.rule_dna_del, "dna_del", []) self.considerError(lastError, None) return (_G_apply_215, self.currentError) + def _G_or_216(): - self._trace('', (5520, 5528), self.input.position) + self._trace("", (5520, 5528), self.input.position) _G_apply_217, lastError = self._apply(self.rule_dna_dup, "dna_dup", []) self.considerError(lastError, None) return (_G_apply_217, self.currentError) + def _G_or_218(): - self._trace('', (5530, 5538), self.input.position) + self._trace("", (5530, 5538), self.input.position) _G_apply_219, lastError = self._apply(self.rule_dna_inv, "dna_inv", []) self.considerError(lastError, None) return (_G_apply_219, self.currentError) + def _G_or_220(): - self._trace('', (5540, 5548), self.input.position) + self._trace("", (5540, 5548), self.input.position) _G_apply_221, lastError = self._apply(self.rule_dna_con, "dna_con", []) self.considerError(lastError, None) return (_G_apply_221, self.currentError) + def _G_or_222(): - self._trace('', (5550, 5559), self.input.position) - _G_apply_223, lastError = self._apply(self.rule_dna_copy, "dna_copy", []) + self._trace("", (5550, 5559), self.input.position) + _G_apply_223, lastError = self._apply( + self.rule_dna_copy, "dna_copy", [] + ) self.considerError(lastError, None) return (_G_apply_223, self.currentError) - _G_or_224, lastError = self._or([_G_or_206, _G_or_208, _G_or_210, _G_or_212, _G_or_214, _G_or_216, _G_or_218, _G_or_220, _G_or_222]) - self.considerError(lastError, 'dna_edit') - return (_G_or_224, self.currentError) + _G_or_224, lastError = self._or( + [ + _G_or_206, + _G_or_208, + _G_or_210, + _G_or_212, + _G_or_214, + _G_or_216, + _G_or_218, + _G_or_220, + _G_or_222, + ] + ) + self.considerError(lastError, "dna_edit") + return (_G_or_224, self.currentError) def rule_dna_ident(self): - _locals = {'self': self} - self.locals['dna_ident'] = _locals + _locals = {"self": self} + self.locals["dna_ident"] = _locals + def _G_consumedby_225(): def _G_many_226(): - self._trace('', (5574, 5577), self.input.position) + self._trace("", (5574, 5577), self.input.position) _G_apply_227, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_227, self.currentError) + _G_many_228, lastError = self.many(_G_many_226) self.considerError(lastError, None) return (_G_many_228, self.currentError) + _G_consumedby_229, lastError = self.consumedby(_G_consumedby_225) - self.considerError(lastError, 'dna_ident') - _locals['ref'] = _G_consumedby_229 - self._trace('', (5583, 5587), self.input.position) - _G_exactly_230, lastError = self.exactly('=') - self.considerError(lastError, 'dna_ident') - _G_python_232, lastError = eval(self._G_expr_231, self.globals, _locals), None - self.considerError(lastError, 'dna_ident') + self.considerError(lastError, "dna_ident") + _locals["ref"] = _G_consumedby_229 + self._trace("", (5583, 5587), self.input.position) + _G_exactly_230, lastError = self.exactly("=") + self.considerError(lastError, "dna_ident") + _G_python_232, lastError = ( + eval(self._G_expr_231, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_ident") return (_G_python_232, self.currentError) - def rule_dna_subst(self): - _locals = {'self': self} - self.locals['dna_subst'] = _locals - self._trace('', (5649, 5653), self.input.position) + _locals = {"self": self} + self.locals["dna_subst"] = _locals + self._trace("", (5649, 5653), self.input.position) _G_apply_233, lastError = self._apply(self.rule_dna, "dna", []) - self.considerError(lastError, 'dna_subst') - _locals['ref'] = _G_apply_233 - self._trace('', (5657, 5661), self.input.position) - _G_exactly_234, lastError = self.exactly('>') - self.considerError(lastError, 'dna_subst') - self._trace('', (5661, 5665), self.input.position) + self.considerError(lastError, "dna_subst") + _locals["ref"] = _G_apply_233 + self._trace("", (5657, 5661), self.input.position) + _G_exactly_234, lastError = self.exactly(">") + self.considerError(lastError, "dna_subst") + self._trace("", (5661, 5665), self.input.position) _G_apply_235, lastError = self._apply(self.rule_dna, "dna", []) - self.considerError(lastError, 'dna_subst') - _locals['alt'] = _G_apply_235 - _G_python_237, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, 'dna_subst') + self.considerError(lastError, "dna_subst") + _locals["alt"] = _G_apply_235 + _G_python_237, lastError = ( + eval(self._G_expr_236, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_subst") return (_G_python_237, self.currentError) - def rule_dna_delins(self): - _locals = {'self': self} - self.locals['dna_delins'] = _locals - self._trace('', (5726, 5732), self.input.position) - _G_exactly_238, lastError = self.exactly('del') - self.considerError(lastError, 'dna_delins') + _locals = {"self": self} + self.locals["dna_delins"] = _locals + self._trace("", (5726, 5732), self.input.position) + _G_exactly_238, lastError = self.exactly("del") + self.considerError(lastError, "dna_delins") + def _G_or_239(): def _G_consumedby_240(): - self._trace('', (5735, 5738), self.input.position) + self._trace("", (5735, 5738), self.input.position) _G_apply_241, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_241, self.currentError) + _G_consumedby_242, lastError = self.consumedby(_G_consumedby_240) self.considerError(lastError, None) return (_G_consumedby_242, self.currentError) + def _G_or_243(): def _G_consumedby_244(): def _G_many_245(): - self._trace('', (5741, 5744), self.input.position) + self._trace("", (5741, 5744), self.input.position) _G_apply_246, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_246, self.currentError) + _G_many_247, lastError = self.many(_G_many_245) self.considerError(lastError, None) return (_G_many_247, self.currentError) + _G_consumedby_248, lastError = self.consumedby(_G_consumedby_244) self.considerError(lastError, None) return (_G_consumedby_248, self.currentError) + _G_or_249, lastError = self._or([_G_or_239, _G_or_243]) - self.considerError(lastError, 'dna_delins') - _locals['ref'] = _G_or_249 - self._trace('', (5751, 5757), self.input.position) - _G_exactly_250, lastError = self.exactly('ins') - self.considerError(lastError, 'dna_delins') + self.considerError(lastError, "dna_delins") + _locals["ref"] = _G_or_249 + self._trace("", (5751, 5757), self.input.position) + _G_exactly_250, lastError = self.exactly("ins") + self.considerError(lastError, "dna_delins") + def _G_consumedby_251(): def _G_many1_252(): - self._trace('', (5759, 5762), self.input.position) + self._trace("", (5759, 5762), self.input.position) _G_apply_253, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_253, self.currentError) + _G_many1_254, lastError = self.many(_G_many1_252, _G_many1_252()) self.considerError(lastError, None) return (_G_many1_254, self.currentError) + _G_consumedby_255, lastError = self.consumedby(_G_consumedby_251) - self.considerError(lastError, 'dna_delins') - _locals['alt'] = _G_consumedby_255 - _G_python_256, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, 'dna_delins') + self.considerError(lastError, "dna_delins") + _locals["alt"] = _G_consumedby_255 + _G_python_256, lastError = ( + eval(self._G_expr_236, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_delins") return (_G_python_256, self.currentError) - def rule_dna_del(self): - _locals = {'self': self} - self.locals['dna_del'] = _locals - self._trace('', (5821, 5827), self.input.position) - _G_exactly_257, lastError = self.exactly('del') - self.considerError(lastError, 'dna_del') + _locals = {"self": self} + self.locals["dna_del"] = _locals + self._trace("", (5821, 5827), self.input.position) + _G_exactly_257, lastError = self.exactly("del") + self.considerError(lastError, "dna_del") + def _G_or_258(): def _G_consumedby_259(): - self._trace('', (5830, 5833), self.input.position) + self._trace("", (5830, 5833), self.input.position) _G_apply_260, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_260, self.currentError) + _G_consumedby_261, lastError = self.consumedby(_G_consumedby_259) self.considerError(lastError, None) return (_G_consumedby_261, self.currentError) + def _G_or_262(): def _G_consumedby_263(): def _G_many_264(): - self._trace('', (5836, 5839), self.input.position) + self._trace("", (5836, 5839), self.input.position) _G_apply_265, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_265, self.currentError) + _G_many_266, lastError = self.many(_G_many_264) self.considerError(lastError, None) return (_G_many_266, self.currentError) + _G_consumedby_267, lastError = self.consumedby(_G_consumedby_263) self.considerError(lastError, None) return (_G_consumedby_267, self.currentError) + _G_or_268, lastError = self._or([_G_or_258, _G_or_262]) - self.considerError(lastError, 'dna_del') - _locals['ref'] = _G_or_268 - _G_python_270, lastError = eval(self._G_expr_269, self.globals, _locals), None - self.considerError(lastError, 'dna_del') + self.considerError(lastError, "dna_del") + _locals["ref"] = _G_or_268 + _G_python_270, lastError = ( + eval(self._G_expr_269, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_del") return (_G_python_270, self.currentError) - def rule_dna_ins(self): - _locals = {'self': self} - self.locals['dna_ins'] = _locals - self._trace('', (5899, 5905), self.input.position) - _G_exactly_271, lastError = self.exactly('ins') - self.considerError(lastError, 'dna_ins') + _locals = {"self": self} + self.locals["dna_ins"] = _locals + self._trace("", (5899, 5905), self.input.position) + _G_exactly_271, lastError = self.exactly("ins") + self.considerError(lastError, "dna_ins") + def _G_consumedby_272(): def _G_many1_273(): - self._trace('', (5907, 5910), self.input.position) + self._trace("", (5907, 5910), self.input.position) _G_apply_274, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_274, self.currentError) + _G_many1_275, lastError = self.many(_G_many1_273, _G_many1_273()) self.considerError(lastError, None) return (_G_many1_275, self.currentError) + _G_consumedby_276, lastError = self.consumedby(_G_consumedby_272) - self.considerError(lastError, 'dna_ins') - _locals['alt'] = _G_consumedby_276 - _G_python_278, lastError = eval(self._G_expr_277, self.globals, _locals), None - self.considerError(lastError, 'dna_ins') + self.considerError(lastError, "dna_ins") + _locals["alt"] = _G_consumedby_276 + _G_python_278, lastError = ( + eval(self._G_expr_277, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_ins") return (_G_python_278, self.currentError) - def rule_dna_dup(self): - _locals = {'self': self} - self.locals['dna_dup'] = _locals - self._trace('', (5977, 5983), self.input.position) - _G_exactly_279, lastError = self.exactly('dup') - self.considerError(lastError, 'dna_dup') + _locals = {"self": self} + self.locals["dna_dup"] = _locals + self._trace("", (5977, 5983), self.input.position) + _G_exactly_279, lastError = self.exactly("dup") + self.considerError(lastError, "dna_dup") + def _G_consumedby_280(): def _G_many_281(): - self._trace('', (5985, 5988), self.input.position) + self._trace("", (5985, 5988), self.input.position) _G_apply_282, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_282, self.currentError) + _G_many_283, lastError = self.many(_G_many_281) self.considerError(lastError, None) return (_G_many_283, self.currentError) + _G_consumedby_284, lastError = self.consumedby(_G_consumedby_280) - self.considerError(lastError, 'dna_dup') - _locals['ref'] = _G_consumedby_284 - _G_python_286, lastError = eval(self._G_expr_285, self.globals, _locals), None - self.considerError(lastError, 'dna_dup') + self.considerError(lastError, "dna_dup") + _locals["ref"] = _G_consumedby_284 + _G_python_286, lastError = ( + eval(self._G_expr_285, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_dup") return (_G_python_286, self.currentError) - def rule_dna_inv(self): - _locals = {'self': self} - self.locals['dna_inv'] = _locals - self._trace('', (6041, 6047), self.input.position) - _G_exactly_287, lastError = self.exactly('inv') - self.considerError(lastError, 'dna_inv') + _locals = {"self": self} + self.locals["dna_inv"] = _locals + self._trace("", (6041, 6047), self.input.position) + _G_exactly_287, lastError = self.exactly("inv") + self.considerError(lastError, "dna_inv") + def _G_or_288(): def _G_consumedby_289(): - self._trace('', (6050, 6053), self.input.position) + self._trace("", (6050, 6053), self.input.position) _G_apply_290, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_290, self.currentError) + _G_consumedby_291, lastError = self.consumedby(_G_consumedby_289) self.considerError(lastError, None) return (_G_consumedby_291, self.currentError) + def _G_or_292(): def _G_consumedby_293(): def _G_many_294(): - self._trace('', (6056, 6059), self.input.position) + self._trace("", (6056, 6059), self.input.position) _G_apply_295, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_295, self.currentError) + _G_many_296, lastError = self.many(_G_many_294) self.considerError(lastError, None) return (_G_many_296, self.currentError) + _G_consumedby_297, lastError = self.consumedby(_G_consumedby_293) self.considerError(lastError, None) return (_G_consumedby_297, self.currentError) + _G_or_298, lastError = self._or([_G_or_288, _G_or_292]) - self.considerError(lastError, 'dna_inv') - _locals['ref'] = _G_or_298 - _G_python_300, lastError = eval(self._G_expr_299, self.globals, _locals), None - self.considerError(lastError, 'dna_inv') + self.considerError(lastError, "dna_inv") + _locals["ref"] = _G_or_298 + _G_python_300, lastError = ( + eval(self._G_expr_299, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_inv") return (_G_python_300, self.currentError) - def rule_dna_con(self): - _locals = {'self': self} - self.locals['dna_con'] = _locals - self._trace('', (6106, 6112), self.input.position) - _G_exactly_301, lastError = self.exactly('con') - self.considerError(lastError, 'dna_con') - self._trace('', (6112, 6126), self.input.position) - _G_apply_302, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) - self.considerError(lastError, 'dna_con') - _locals['pos'] = _G_apply_302 - _G_python_304, lastError = eval(self._G_expr_303, self.globals, _locals), None - self.considerError(lastError, 'dna_con') + _locals = {"self": self} + self.locals["dna_con"] = _locals + self._trace("", (6106, 6112), self.input.position) + _G_exactly_301, lastError = self.exactly("con") + self.considerError(lastError, "dna_con") + self._trace("", (6112, 6126), self.input.position) + _G_apply_302, lastError = self._apply( + self.rule_hgvs_position, "hgvs_position", [] + ) + self.considerError(lastError, "dna_con") + _locals["pos"] = _G_apply_302 + _G_python_304, lastError = ( + eval(self._G_expr_303, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_con") return (_G_python_304, self.currentError) - def rule_dna_copy(self): - _locals = {'self': self} - self.locals['dna_copy'] = _locals - self._trace('', (6216, 6223), self.input.position) - _G_exactly_305, lastError = self.exactly('copy') - self.considerError(lastError, 'dna_copy') - self._trace('', (6223, 6227), self.input.position) + _locals = {"self": self} + self.locals["dna_copy"] = _locals + self._trace("", (6216, 6223), self.input.position) + _G_exactly_305, lastError = self.exactly("copy") + self.considerError(lastError, "dna_copy") + self._trace("", (6223, 6227), self.input.position) _G_apply_306, lastError = self._apply(self.rule_num, "num", []) - self.considerError(lastError, 'dna_copy') - _locals['n'] = _G_apply_306 - _G_python_308, lastError = eval(self._G_expr_307, self.globals, _locals), None - self.considerError(lastError, 'dna_copy') + self.considerError(lastError, "dna_copy") + _locals["n"] = _G_apply_306 + _G_python_308, lastError = ( + eval(self._G_expr_307, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_copy") return (_G_python_308, self.currentError) - def rule_rna_edit_mu(self): - _locals = {'self': self} - self.locals['rna_edit_mu'] = _locals + _locals = {"self": self} + self.locals["rna_edit_mu"] = _locals + def _G_or_309(): - self._trace('', (6272, 6281), self.input.position) - _G_apply_310, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) + self._trace("", (6272, 6281), self.input.position) + _G_apply_310, lastError = self._apply( + self.rule_rna_edit, "rna_edit", [] + ) self.considerError(lastError, None) return (_G_apply_310, self.currentError) + def _G_or_311(): - self._trace('', (6283, 6287), self.input.position) - _G_exactly_312, lastError = self.exactly('(') + self._trace("", (6283, 6287), self.input.position) + _G_exactly_312, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (6287, 6296), self.input.position) - _G_apply_313, lastError = self._apply(self.rule_rna_edit, "rna_edit", []) + self._trace("", (6287, 6296), self.input.position) + _G_apply_313, lastError = self._apply( + self.rule_rna_edit, "rna_edit", [] + ) self.considerError(lastError, None) - _locals['edit'] = _G_apply_313 - self._trace('', (6301, 6305), self.input.position) - _G_exactly_314, lastError = self.exactly(')') + _locals["edit"] = _G_apply_313 + self._trace("", (6301, 6305), self.input.position) + _G_exactly_314, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_315, lastError = eval(self._G_expr_203, self.globals, _locals), None + _G_python_315, lastError = ( + eval(self._G_expr_203, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_315, self.currentError) + _G_or_316, lastError = self._or([_G_or_309, _G_or_311]) - self.considerError(lastError, 'rna_edit_mu') + self.considerError(lastError, "rna_edit_mu") return (_G_or_316, self.currentError) - def rule_rna_edit(self): - _locals = {'self': self} - self.locals['rna_edit'] = _locals + _locals = {"self": self} + self.locals["rna_edit"] = _locals + def _G_or_317(): - self._trace('', (6343, 6353), self.input.position) - _G_apply_318, lastError = self._apply(self.rule_rna_ident, "rna_ident", []) + self._trace("", (6343, 6353), self.input.position) + _G_apply_318, lastError = self._apply( + self.rule_rna_ident, "rna_ident", [] + ) self.considerError(lastError, None) return (_G_apply_318, self.currentError) + def _G_or_319(): - self._trace('', (6355, 6365), self.input.position) - _G_apply_320, lastError = self._apply(self.rule_rna_subst, "rna_subst", []) + self._trace("", (6355, 6365), self.input.position) + _G_apply_320, lastError = self._apply( + self.rule_rna_subst, "rna_subst", [] + ) self.considerError(lastError, None) return (_G_apply_320, self.currentError) + def _G_or_321(): - self._trace('', (6367, 6378), self.input.position) - _G_apply_322, lastError = self._apply(self.rule_rna_delins, "rna_delins", []) + self._trace("", (6367, 6378), self.input.position) + _G_apply_322, lastError = self._apply( + self.rule_rna_delins, "rna_delins", [] + ) self.considerError(lastError, None) return (_G_apply_322, self.currentError) + def _G_or_323(): - self._trace('', (6380, 6388), self.input.position) + self._trace("", (6380, 6388), self.input.position) _G_apply_324, lastError = self._apply(self.rule_rna_ins, "rna_ins", []) self.considerError(lastError, None) return (_G_apply_324, self.currentError) + def _G_or_325(): - self._trace('', (6390, 6398), self.input.position) + self._trace("", (6390, 6398), self.input.position) _G_apply_326, lastError = self._apply(self.rule_rna_del, "rna_del", []) self.considerError(lastError, None) return (_G_apply_326, self.currentError) + def _G_or_327(): - self._trace('', (6400, 6408), self.input.position) + self._trace("", (6400, 6408), self.input.position) _G_apply_328, lastError = self._apply(self.rule_rna_dup, "rna_dup", []) self.considerError(lastError, None) return (_G_apply_328, self.currentError) + def _G_or_329(): - self._trace('', (6410, 6418), self.input.position) + self._trace("", (6410, 6418), self.input.position) _G_apply_330, lastError = self._apply(self.rule_rna_inv, "rna_inv", []) self.considerError(lastError, None) return (_G_apply_330, self.currentError) + def _G_or_331(): - self._trace('', (6420, 6428), self.input.position) + self._trace("", (6420, 6428), self.input.position) _G_apply_332, lastError = self._apply(self.rule_rna_con, "rna_con", []) self.considerError(lastError, None) return (_G_apply_332, self.currentError) - _G_or_333, lastError = self._or([_G_or_317, _G_or_319, _G_or_321, _G_or_323, _G_or_325, _G_or_327, _G_or_329, _G_or_331]) - self.considerError(lastError, 'rna_edit') - return (_G_or_333, self.currentError) + _G_or_333, lastError = self._or( + [ + _G_or_317, + _G_or_319, + _G_or_321, + _G_or_323, + _G_or_325, + _G_or_327, + _G_or_329, + _G_or_331, + ] + ) + self.considerError(lastError, "rna_edit") + return (_G_or_333, self.currentError) def rule_rna_ident(self): - _locals = {'self': self} - self.locals['rna_ident'] = _locals + _locals = {"self": self} + self.locals["rna_ident"] = _locals + def _G_consumedby_334(): def _G_many_335(): - self._trace('', (6443, 6446), self.input.position) + self._trace("", (6443, 6446), self.input.position) _G_apply_336, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_336, self.currentError) + _G_many_337, lastError = self.many(_G_many_335) self.considerError(lastError, None) return (_G_many_337, self.currentError) + _G_consumedby_338, lastError = self.consumedby(_G_consumedby_334) - self.considerError(lastError, 'rna_ident') - _locals['ref'] = _G_consumedby_338 - self._trace('', (6452, 6456), self.input.position) - _G_exactly_339, lastError = self.exactly('=') - self.considerError(lastError, 'rna_ident') - _G_python_340, lastError = eval(self._G_expr_231, self.globals, _locals), None - self.considerError(lastError, 'rna_ident') + self.considerError(lastError, "rna_ident") + _locals["ref"] = _G_consumedby_338 + self._trace("", (6452, 6456), self.input.position) + _G_exactly_339, lastError = self.exactly("=") + self.considerError(lastError, "rna_ident") + _G_python_340, lastError = ( + eval(self._G_expr_231, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_ident") return (_G_python_340, self.currentError) - def rule_rna_subst(self): - _locals = {'self': self} - self.locals['rna_subst'] = _locals - self._trace('', (6525, 6529), self.input.position) + _locals = {"self": self} + self.locals["rna_subst"] = _locals + self._trace("", (6525, 6529), self.input.position) _G_apply_341, lastError = self._apply(self.rule_rna, "rna", []) - self.considerError(lastError, 'rna_subst') - _locals['ref'] = _G_apply_341 - self._trace('', (6533, 6537), self.input.position) - _G_exactly_342, lastError = self.exactly('>') - self.considerError(lastError, 'rna_subst') - self._trace('', (6537, 6541), self.input.position) + self.considerError(lastError, "rna_subst") + _locals["ref"] = _G_apply_341 + self._trace("", (6533, 6537), self.input.position) + _G_exactly_342, lastError = self.exactly(">") + self.considerError(lastError, "rna_subst") + self._trace("", (6537, 6541), self.input.position) _G_apply_343, lastError = self._apply(self.rule_rna, "rna", []) - self.considerError(lastError, 'rna_subst') - _locals['alt'] = _G_apply_343 - _G_python_344, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, 'rna_subst') + self.considerError(lastError, "rna_subst") + _locals["alt"] = _G_apply_343 + _G_python_344, lastError = ( + eval(self._G_expr_236, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_subst") return (_G_python_344, self.currentError) - def rule_rna_delins(self): - _locals = {'self': self} - self.locals['rna_delins'] = _locals - self._trace('', (6609, 6615), self.input.position) - _G_exactly_345, lastError = self.exactly('del') - self.considerError(lastError, 'rna_delins') + _locals = {"self": self} + self.locals["rna_delins"] = _locals + self._trace("", (6609, 6615), self.input.position) + _G_exactly_345, lastError = self.exactly("del") + self.considerError(lastError, "rna_delins") + def _G_or_346(): def _G_consumedby_347(): - self._trace('', (6618, 6621), self.input.position) + self._trace("", (6618, 6621), self.input.position) _G_apply_348, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_348, self.currentError) + _G_consumedby_349, lastError = self.consumedby(_G_consumedby_347) self.considerError(lastError, None) return (_G_consumedby_349, self.currentError) + def _G_or_350(): def _G_consumedby_351(): def _G_many_352(): - self._trace('', (6624, 6627), self.input.position) + self._trace("", (6624, 6627), self.input.position) _G_apply_353, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_353, self.currentError) + _G_many_354, lastError = self.many(_G_many_352) self.considerError(lastError, None) return (_G_many_354, self.currentError) + _G_consumedby_355, lastError = self.consumedby(_G_consumedby_351) self.considerError(lastError, None) return (_G_consumedby_355, self.currentError) + _G_or_356, lastError = self._or([_G_or_346, _G_or_350]) - self.considerError(lastError, 'rna_delins') - _locals['ref'] = _G_or_356 - self._trace('', (6634, 6640), self.input.position) - _G_exactly_357, lastError = self.exactly('ins') - self.considerError(lastError, 'rna_delins') + self.considerError(lastError, "rna_delins") + _locals["ref"] = _G_or_356 + self._trace("", (6634, 6640), self.input.position) + _G_exactly_357, lastError = self.exactly("ins") + self.considerError(lastError, "rna_delins") + def _G_consumedby_358(): def _G_many1_359(): - self._trace('', (6642, 6645), self.input.position) + self._trace("", (6642, 6645), self.input.position) _G_apply_360, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_360, self.currentError) + _G_many1_361, lastError = self.many(_G_many1_359, _G_many1_359()) self.considerError(lastError, None) return (_G_many1_361, self.currentError) + _G_consumedby_362, lastError = self.consumedby(_G_consumedby_358) - self.considerError(lastError, 'rna_delins') - _locals['alt'] = _G_consumedby_362 - _G_python_363, lastError = eval(self._G_expr_236, self.globals, _locals), None - self.considerError(lastError, 'rna_delins') + self.considerError(lastError, "rna_delins") + _locals["alt"] = _G_consumedby_362 + _G_python_363, lastError = ( + eval(self._G_expr_236, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_delins") return (_G_python_363, self.currentError) - def rule_rna_del(self): - _locals = {'self': self} - self.locals['rna_del'] = _locals - self._trace('', (6704, 6710), self.input.position) - _G_exactly_364, lastError = self.exactly('del') - self.considerError(lastError, 'rna_del') + _locals = {"self": self} + self.locals["rna_del"] = _locals + self._trace("", (6704, 6710), self.input.position) + _G_exactly_364, lastError = self.exactly("del") + self.considerError(lastError, "rna_del") + def _G_or_365(): def _G_consumedby_366(): - self._trace('', (6713, 6716), self.input.position) + self._trace("", (6713, 6716), self.input.position) _G_apply_367, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_367, self.currentError) + _G_consumedby_368, lastError = self.consumedby(_G_consumedby_366) self.considerError(lastError, None) return (_G_consumedby_368, self.currentError) + def _G_or_369(): def _G_consumedby_370(): def _G_many_371(): - self._trace('', (6719, 6722), self.input.position) + self._trace("", (6719, 6722), self.input.position) _G_apply_372, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_372, self.currentError) + _G_many_373, lastError = self.many(_G_many_371) self.considerError(lastError, None) return (_G_many_373, self.currentError) + _G_consumedby_374, lastError = self.consumedby(_G_consumedby_370) self.considerError(lastError, None) return (_G_consumedby_374, self.currentError) + _G_or_375, lastError = self._or([_G_or_365, _G_or_369]) - self.considerError(lastError, 'rna_del') - _locals['ref'] = _G_or_375 - _G_python_376, lastError = eval(self._G_expr_269, self.globals, _locals), None - self.considerError(lastError, 'rna_del') + self.considerError(lastError, "rna_del") + _locals["ref"] = _G_or_375 + _G_python_376, lastError = ( + eval(self._G_expr_269, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_del") return (_G_python_376, self.currentError) - def rule_rna_ins(self): - _locals = {'self': self} - self.locals['rna_ins'] = _locals - self._trace('', (6789, 6795), self.input.position) - _G_exactly_377, lastError = self.exactly('ins') - self.considerError(lastError, 'rna_ins') + _locals = {"self": self} + self.locals["rna_ins"] = _locals + self._trace("", (6789, 6795), self.input.position) + _G_exactly_377, lastError = self.exactly("ins") + self.considerError(lastError, "rna_ins") + def _G_consumedby_378(): def _G_many1_379(): - self._trace('', (6797, 6800), self.input.position) + self._trace("", (6797, 6800), self.input.position) _G_apply_380, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_380, self.currentError) + _G_many1_381, lastError = self.many(_G_many1_379, _G_many1_379()) self.considerError(lastError, None) return (_G_many1_381, self.currentError) + _G_consumedby_382, lastError = self.consumedby(_G_consumedby_378) - self.considerError(lastError, 'rna_ins') - _locals['alt'] = _G_consumedby_382 - _G_python_383, lastError = eval(self._G_expr_277, self.globals, _locals), None - self.considerError(lastError, 'rna_ins') + self.considerError(lastError, "rna_ins") + _locals["alt"] = _G_consumedby_382 + _G_python_383, lastError = ( + eval(self._G_expr_277, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_ins") return (_G_python_383, self.currentError) - def rule_rna_dup(self): - _locals = {'self': self} - self.locals['rna_dup'] = _locals - self._trace('', (6874, 6880), self.input.position) - _G_exactly_384, lastError = self.exactly('dup') - self.considerError(lastError, 'rna_dup') + _locals = {"self": self} + self.locals["rna_dup"] = _locals + self._trace("", (6874, 6880), self.input.position) + _G_exactly_384, lastError = self.exactly("dup") + self.considerError(lastError, "rna_dup") + def _G_consumedby_385(): def _G_many_386(): - self._trace('', (6882, 6885), self.input.position) + self._trace("", (6882, 6885), self.input.position) _G_apply_387, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_387, self.currentError) + _G_many_388, lastError = self.many(_G_many_386) self.considerError(lastError, None) return (_G_many_388, self.currentError) + _G_consumedby_389, lastError = self.consumedby(_G_consumedby_385) - self.considerError(lastError, 'rna_dup') - _locals['ref'] = _G_consumedby_389 - _G_python_390, lastError = eval(self._G_expr_285, self.globals, _locals), None - self.considerError(lastError, 'rna_dup') + self.considerError(lastError, "rna_dup") + _locals["ref"] = _G_consumedby_389 + _G_python_390, lastError = ( + eval(self._G_expr_285, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_dup") return (_G_python_390, self.currentError) - def rule_rna_inv(self): - _locals = {'self': self} - self.locals['rna_inv'] = _locals - self._trace('', (6945, 6951), self.input.position) - _G_exactly_391, lastError = self.exactly('inv') - self.considerError(lastError, 'rna_inv') + _locals = {"self": self} + self.locals["rna_inv"] = _locals + self._trace("", (6945, 6951), self.input.position) + _G_exactly_391, lastError = self.exactly("inv") + self.considerError(lastError, "rna_inv") + def _G_or_392(): def _G_consumedby_393(): - self._trace('', (6954, 6957), self.input.position) + self._trace("", (6954, 6957), self.input.position) _G_apply_394, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_394, self.currentError) + _G_consumedby_395, lastError = self.consumedby(_G_consumedby_393) self.considerError(lastError, None) return (_G_consumedby_395, self.currentError) + def _G_or_396(): def _G_consumedby_397(): def _G_many_398(): - self._trace('', (6960, 6963), self.input.position) + self._trace("", (6960, 6963), self.input.position) _G_apply_399, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_399, self.currentError) + _G_many_400, lastError = self.many(_G_many_398) self.considerError(lastError, None) return (_G_many_400, self.currentError) + _G_consumedby_401, lastError = self.consumedby(_G_consumedby_397) self.considerError(lastError, None) return (_G_consumedby_401, self.currentError) + _G_or_402, lastError = self._or([_G_or_392, _G_or_396]) - self.considerError(lastError, 'rna_inv') - _locals['ref'] = _G_or_402 - _G_python_403, lastError = eval(self._G_expr_299, self.globals, _locals), None - self.considerError(lastError, 'rna_inv') + self.considerError(lastError, "rna_inv") + _locals["ref"] = _G_or_402 + _G_python_403, lastError = ( + eval(self._G_expr_299, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_inv") return (_G_python_403, self.currentError) - def rule_rna_con(self): - _locals = {'self': self} - self.locals['rna_con'] = _locals - self._trace('', (7017, 7023), self.input.position) - _G_exactly_404, lastError = self.exactly('con') - self.considerError(lastError, 'rna_con') - self._trace('', (7023, 7037), self.input.position) - _G_apply_405, lastError = self._apply(self.rule_hgvs_position, "hgvs_position", []) - self.considerError(lastError, 'rna_con') - _locals['pos'] = _G_apply_405 - _G_python_406, lastError = eval(self._G_expr_303, self.globals, _locals), None - self.considerError(lastError, 'rna_con') + _locals = {"self": self} + self.locals["rna_con"] = _locals + self._trace("", (7017, 7023), self.input.position) + _G_exactly_404, lastError = self.exactly("con") + self.considerError(lastError, "rna_con") + self._trace("", (7023, 7037), self.input.position) + _G_apply_405, lastError = self._apply( + self.rule_hgvs_position, "hgvs_position", [] + ) + self.considerError(lastError, "rna_con") + _locals["pos"] = _G_apply_405 + _G_python_406, lastError = ( + eval(self._G_expr_303, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_con") return (_G_python_406, self.currentError) - def rule_pro_edit_mu(self): - _locals = {'self': self} - self.locals['pro_edit_mu'] = _locals + _locals = {"self": self} + self.locals["pro_edit_mu"] = _locals + def _G_or_407(): - self._trace('', (7136, 7145), self.input.position) - _G_apply_408, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) + self._trace("", (7136, 7145), self.input.position) + _G_apply_408, lastError = self._apply( + self.rule_pro_edit, "pro_edit", [] + ) self.considerError(lastError, None) return (_G_apply_408, self.currentError) + def _G_or_409(): - self._trace('', (7147, 7151), self.input.position) - _G_exactly_410, lastError = self.exactly('(') + self._trace("", (7147, 7151), self.input.position) + _G_exactly_410, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (7151, 7160), self.input.position) - _G_apply_411, lastError = self._apply(self.rule_pro_edit, "pro_edit", []) + self._trace("", (7151, 7160), self.input.position) + _G_apply_411, lastError = self._apply( + self.rule_pro_edit, "pro_edit", [] + ) self.considerError(lastError, None) - _locals['edit'] = _G_apply_411 - self._trace('', (7165, 7169), self.input.position) - _G_exactly_412, lastError = self.exactly(')') + _locals["edit"] = _G_apply_411 + self._trace("", (7165, 7169), self.input.position) + _G_exactly_412, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_413, lastError = eval(self._G_expr_203, self.globals, _locals), None + _G_python_413, lastError = ( + eval(self._G_expr_203, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_413, self.currentError) + _G_or_414, lastError = self._or([_G_or_407, _G_or_409]) - self.considerError(lastError, 'pro_edit_mu') + self.considerError(lastError, "pro_edit_mu") return (_G_or_414, self.currentError) - def rule_pro_edit(self): - _locals = {'self': self} - self.locals['pro_edit'] = _locals + _locals = {"self": self} + self.locals["pro_edit"] = _locals + def _G_or_415(): - self._trace('', (7207, 7214), self.input.position) + self._trace("", (7207, 7214), self.input.position) _G_apply_416, lastError = self._apply(self.rule_pro_fs, "pro_fs", []) self.considerError(lastError, None) return (_G_apply_416, self.currentError) + def _G_or_417(): - self._trace('', (7216, 7224), self.input.position) + self._trace("", (7216, 7224), self.input.position) _G_apply_418, lastError = self._apply(self.rule_pro_ext, "pro_ext", []) self.considerError(lastError, None) return (_G_apply_418, self.currentError) + def _G_or_419(): - self._trace('', (7226, 7236), self.input.position) - _G_apply_420, lastError = self._apply(self.rule_pro_subst, "pro_subst", []) + self._trace("", (7226, 7236), self.input.position) + _G_apply_420, lastError = self._apply( + self.rule_pro_subst, "pro_subst", [] + ) self.considerError(lastError, None) return (_G_apply_420, self.currentError) + def _G_or_421(): - self._trace('', (7238, 7249), self.input.position) - _G_apply_422, lastError = self._apply(self.rule_pro_delins, "pro_delins", []) + self._trace("", (7238, 7249), self.input.position) + _G_apply_422, lastError = self._apply( + self.rule_pro_delins, "pro_delins", [] + ) self.considerError(lastError, None) return (_G_apply_422, self.currentError) + def _G_or_423(): - self._trace('', (7251, 7259), self.input.position) + self._trace("", (7251, 7259), self.input.position) _G_apply_424, lastError = self._apply(self.rule_pro_ins, "pro_ins", []) self.considerError(lastError, None) return (_G_apply_424, self.currentError) + def _G_or_425(): - self._trace('', (7261, 7269), self.input.position) + self._trace("", (7261, 7269), self.input.position) _G_apply_426, lastError = self._apply(self.rule_pro_del, "pro_del", []) self.considerError(lastError, None) return (_G_apply_426, self.currentError) + def _G_or_427(): - self._trace('', (7271, 7279), self.input.position) + self._trace("", (7271, 7279), self.input.position) _G_apply_428, lastError = self._apply(self.rule_pro_dup, "pro_dup", []) self.considerError(lastError, None) return (_G_apply_428, self.currentError) + def _G_or_429(): - self._trace('', (7281, 7291), self.input.position) - _G_apply_430, lastError = self._apply(self.rule_pro_ident, "pro_ident", []) + self._trace("", (7281, 7291), self.input.position) + _G_apply_430, lastError = self._apply( + self.rule_pro_ident, "pro_ident", [] + ) self.considerError(lastError, None) return (_G_apply_430, self.currentError) - _G_or_431, lastError = self._or([_G_or_415, _G_or_417, _G_or_419, _G_or_421, _G_or_423, _G_or_425, _G_or_427, _G_or_429]) - self.considerError(lastError, 'pro_edit') - return (_G_or_431, self.currentError) + _G_or_431, lastError = self._or( + [ + _G_or_415, + _G_or_417, + _G_or_419, + _G_or_421, + _G_or_423, + _G_or_425, + _G_or_427, + _G_or_429, + ] + ) + self.considerError(lastError, "pro_edit") + return (_G_or_431, self.currentError) def rule_pro_subst(self): - _locals = {'self': self} - self.locals['pro_subst'] = _locals + _locals = {"self": self} + self.locals["pro_subst"] = _locals + def _G_or_432(): - self._trace('', (7306, 7311), self.input.position) + self._trace("", (7306, 7311), self.input.position) _G_apply_433, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_433, self.currentError) + def _G_or_434(): - self._trace('', (7312, 7315), self.input.position) - _G_exactly_435, lastError = self.exactly('?') + self._trace("", (7312, 7315), self.input.position) + _G_exactly_435, lastError = self.exactly("?") self.considerError(lastError, None) return (_G_exactly_435, self.currentError) + _G_or_436, lastError = self._or([_G_or_432, _G_or_434]) - self.considerError(lastError, 'pro_subst') - _locals['alt'] = _G_or_436 - _G_python_438, lastError = eval(self._G_expr_437, self.globals, _locals), None - self.considerError(lastError, 'pro_subst') + self.considerError(lastError, "pro_subst") + _locals["alt"] = _G_or_436 + _G_python_438, lastError = ( + eval(self._G_expr_437, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_subst") return (_G_python_438, self.currentError) - def rule_pro_delins(self): - _locals = {'self': self} - self.locals['pro_delins'] = _locals - self._trace('', (7384, 7393), self.input.position) - _G_exactly_439, lastError = self.exactly('delins') - self.considerError(lastError, 'pro_delins') - self._trace('', (7393, 7403), self.input.position) + _locals = {"self": self} + self.locals["pro_delins"] = _locals + self._trace("", (7384, 7393), self.input.position) + _G_exactly_439, lastError = self.exactly("delins") + self.considerError(lastError, "pro_delins") + self._trace("", (7393, 7403), self.input.position) _G_apply_440, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) - self.considerError(lastError, 'pro_delins') - _locals['alt'] = _G_apply_440 - _G_python_442, lastError = eval(self._G_expr_441, self.globals, _locals), None - self.considerError(lastError, 'pro_delins') + self.considerError(lastError, "pro_delins") + _locals["alt"] = _G_apply_440 + _G_python_442, lastError = ( + eval(self._G_expr_441, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_delins") return (_G_python_442, self.currentError) - def rule_pro_del(self): - _locals = {'self': self} - self.locals['pro_del'] = _locals - self._trace('', (7467, 7473), self.input.position) - _G_exactly_443, lastError = self.exactly('del') - self.considerError(lastError, 'pro_del') - _G_python_445, lastError = eval(self._G_expr_444, self.globals, _locals), None - self.considerError(lastError, 'pro_del') + _locals = {"self": self} + self.locals["pro_del"] = _locals + self._trace("", (7467, 7473), self.input.position) + _G_exactly_443, lastError = self.exactly("del") + self.considerError(lastError, "pro_del") + _G_python_445, lastError = ( + eval(self._G_expr_444, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_del") return (_G_python_445, self.currentError) - def rule_pro_ins(self): - _locals = {'self': self} - self.locals['pro_ins'] = _locals - self._trace('', (7551, 7557), self.input.position) - _G_exactly_446, lastError = self.exactly('ins') - self.considerError(lastError, 'pro_ins') - self._trace('', (7557, 7567), self.input.position) + _locals = {"self": self} + self.locals["pro_ins"] = _locals + self._trace("", (7551, 7557), self.input.position) + _G_exactly_446, lastError = self.exactly("ins") + self.considerError(lastError, "pro_ins") + self._trace("", (7557, 7567), self.input.position) _G_apply_447, lastError = self._apply(self.rule_aat13_seq, "aat13_seq", []) - self.considerError(lastError, 'pro_ins') - _locals['alt'] = _G_apply_447 - _G_python_449, lastError = eval(self._G_expr_448, self.globals, _locals), None - self.considerError(lastError, 'pro_ins') + self.considerError(lastError, "pro_ins") + _locals["alt"] = _G_apply_447 + _G_python_449, lastError = ( + eval(self._G_expr_448, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_ins") return (_G_python_449, self.currentError) - def rule_pro_dup(self): - _locals = {'self': self} - self.locals['pro_dup'] = _locals - self._trace('', (7636, 7642), self.input.position) - _G_exactly_450, lastError = self.exactly('dup') - self.considerError(lastError, 'pro_dup') - _G_python_452, lastError = eval(self._G_expr_451, self.globals, _locals), None - self.considerError(lastError, 'pro_dup') + _locals = {"self": self} + self.locals["pro_dup"] = _locals + self._trace("", (7636, 7642), self.input.position) + _G_exactly_450, lastError = self.exactly("dup") + self.considerError(lastError, "pro_dup") + _G_python_452, lastError = ( + eval(self._G_expr_451, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_dup") return (_G_python_452, self.currentError) - def rule_pro_fs(self): - _locals = {'self': self} - self.locals['pro_fs'] = _locals + _locals = {"self": self} + self.locals["pro_fs"] = _locals + def _G_or_453(): - self._trace('', (7708, 7713), self.input.position) + self._trace("", (7708, 7713), self.input.position) _G_apply_454, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_454, self.currentError) + def _G_or_455(): - _G_python_456, lastError = (''), None + _G_python_456, lastError = (""), None self.considerError(lastError, None) return (_G_python_456, self.currentError) + _G_or_457, lastError = self._or([_G_or_453, _G_or_455]) - self.considerError(lastError, 'pro_fs') - _locals['alt'] = _G_or_457 - self._trace('', (7728, 7731), self.input.position) + self.considerError(lastError, "pro_fs") + _locals["alt"] = _G_or_457 + self._trace("", (7728, 7731), self.input.position) _G_apply_458, lastError = self._apply(self.rule_fs, "fs", []) - self.considerError(lastError, 'pro_fs') - _locals['length'] = _G_apply_458 - _G_python_460, lastError = eval(self._G_expr_459, self.globals, _locals), None - self.considerError(lastError, 'pro_fs') + self.considerError(lastError, "pro_fs") + _locals["length"] = _G_apply_458 + _G_python_460, lastError = ( + eval(self._G_expr_459, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_fs") return (_G_python_460, self.currentError) - def rule_pro_ext(self): - _locals = {'self': self} - self.locals['pro_ext'] = _locals + _locals = {"self": self} + self.locals["pro_ext"] = _locals + def _G_optional_461(): - self._trace('', (7801, 7807), self.input.position) + self._trace("", (7801, 7807), self.input.position) _G_apply_462, lastError = self._apply(self.rule_aat13, "aat13", []) self.considerError(lastError, None) return (_G_apply_462, self.currentError) + def _G_optional_463(): return (None, self.input.nullError()) + _G_or_464, lastError = self._or([_G_optional_461, _G_optional_463]) - self.considerError(lastError, 'pro_ext') - _locals['alt'] = _G_or_464 - self._trace('', (7812, 7816), self.input.position) + self.considerError(lastError, "pro_ext") + _locals["alt"] = _G_or_464 + self._trace("", (7812, 7816), self.input.position) _G_apply_465, lastError = self._apply(self.rule_ext, "ext", []) - self.considerError(lastError, 'pro_ext') - _locals['aaterm'] = _G_apply_465[0] - _locals['length'] = _G_apply_465[1] - _G_python_467, lastError = eval(self._G_expr_466, self.globals, _locals), None - self.considerError(lastError, 'pro_ext') + self.considerError(lastError, "pro_ext") + _locals["aaterm"] = _G_apply_465[0] + _locals["length"] = _G_apply_465[1] + _G_python_467, lastError = ( + eval(self._G_expr_466, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_ext") return (_G_python_467, self.currentError) - def rule_pro_ident(self): - _locals = {'self': self} - self.locals['pro_ident'] = _locals - self._trace('', (7912, 7916), self.input.position) - _G_exactly_468, lastError = self.exactly('=') - self.considerError(lastError, 'pro_ident') - _G_python_470, lastError = eval(self._G_expr_469, self.globals, _locals), None - self.considerError(lastError, 'pro_ident') + _locals = {"self": self} + self.locals["pro_ident"] = _locals + self._trace("", (7912, 7916), self.input.position) + _G_exactly_468, lastError = self.exactly("=") + self.considerError(lastError, "pro_ident") + _G_python_470, lastError = ( + eval(self._G_expr_469, self.globals, _locals), + None, + ) + self.considerError(lastError, "pro_ident") return (_G_python_470, self.currentError) - def rule_c_interval(self): - _locals = {'self': self} - self.locals['c_interval'] = _locals + _locals = {"self": self} + self.locals["c_interval"] = _locals + def _G_or_471(): - self._trace('', (8238, 8253), self.input.position) - _G_apply_472, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) + self._trace("", (8238, 8253), self.input.position) + _G_apply_472, lastError = self._apply( + self.rule_def_c_interval, "def_c_interval", [] + ) self.considerError(lastError, None) return (_G_apply_472, self.currentError) + def _G_or_473(): - self._trace('', (8255, 8259), self.input.position) - _G_exactly_474, lastError = self.exactly('(') + self._trace("", (8255, 8259), self.input.position) + _G_exactly_474, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (8259, 8274), self.input.position) - _G_apply_475, lastError = self._apply(self.rule_def_c_interval, "def_c_interval", []) + self._trace("", (8259, 8274), self.input.position) + _G_apply_475, lastError = self._apply( + self.rule_def_c_interval, "def_c_interval", [] + ) self.considerError(lastError, None) - _locals['iv'] = _G_apply_475 - self._trace('', (8277, 8281), self.input.position) - _G_exactly_476, lastError = self.exactly(')') + _locals["iv"] = _G_apply_475 + self._trace("", (8277, 8281), self.input.position) + _G_exactly_476, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_478, lastError = eval(self._G_expr_477, self.globals, _locals), None + _G_python_478, lastError = ( + eval(self._G_expr_477, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_478, self.currentError) + _G_or_479, lastError = self._or([_G_or_471, _G_or_473]) - self.considerError(lastError, 'c_interval') + self.considerError(lastError, "c_interval") return (_G_or_479, self.currentError) - def rule_g_interval(self): - _locals = {'self': self} - self.locals['g_interval'] = _locals + _locals = {"self": self} + self.locals["g_interval"] = _locals + def _G_or_480(): - self._trace('', (8317, 8338), self.input.position) - _G_apply_481, lastError = self._apply(self.rule_uncertain_g_interval, "uncertain_g_interval", []) + self._trace("", (8317, 8338), self.input.position) + _G_apply_481, lastError = self._apply( + self.rule_uncertain_g_interval, "uncertain_g_interval", [] + ) self.considerError(lastError, None) - _locals['iv'] = _G_apply_481 + _locals["iv"] = _G_apply_481 return (_G_apply_481, self.currentError) + def _G_or_482(): - self._trace('', (8345, 8348), self.input.position) - _G_exactly_483, lastError = self.exactly('(') - self.considerError(lastError, None) - self._trace('', (8348, 8363), self.input.position) - _G_apply_484, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) - self.considerError(lastError, None) - _locals['iv'] = _G_apply_484 - self._trace('', (8366, 8370), self.input.position) - _G_exactly_485, lastError = self.exactly(')') + self._trace("", (8343, 8359), self.input.position) + _G_apply_483, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) self.considerError(lastError, None) - _G_python_486, lastError = eval(self._G_expr_477, self.globals, _locals), None - self.considerError(lastError, None) - return (_G_python_486, self.currentError) - def _G_or_487(): - self._trace('', (8396, 8411), self.input.position) - _G_apply_488, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) - self.considerError(lastError, None) - return (_G_apply_488, self.currentError) - _G_or_489, lastError = self._or([_G_or_480, _G_or_482, _G_or_487]) - self.considerError(lastError, 'g_interval') - return (_G_or_489, self.currentError) + return (_G_apply_483, self.currentError) + _G_or_484, lastError = self._or([_G_or_480, _G_or_482]) + self.considerError(lastError, "g_interval") + return (_G_or_484, self.currentError) def rule_m_interval(self): - _locals = {'self': self} - self.locals['m_interval'] = _locals - def _G_or_490(): - self._trace('', (8424, 8439), self.input.position) - _G_apply_491, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) + _locals = {"self": self} + self.locals["m_interval"] = _locals + + def _G_or_485(): + self._trace("", (8372, 8387), self.input.position) + _G_apply_486, lastError = self._apply( + self.rule_def_m_interval, "def_m_interval", [] + ) self.considerError(lastError, None) - return (_G_apply_491, self.currentError) - def _G_or_492(): - self._trace('', (8441, 8445), self.input.position) - _G_exactly_493, lastError = self.exactly('(') + return (_G_apply_486, self.currentError) + + def _G_or_487(): + self._trace("", (8389, 8393), self.input.position) + _G_exactly_488, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (8445, 8460), self.input.position) - _G_apply_494, lastError = self._apply(self.rule_def_m_interval, "def_m_interval", []) + self._trace("", (8393, 8408), self.input.position) + _G_apply_489, lastError = self._apply( + self.rule_def_m_interval, "def_m_interval", [] + ) self.considerError(lastError, None) - _locals['iv'] = _G_apply_494 - self._trace('', (8463, 8467), self.input.position) - _G_exactly_495, lastError = self.exactly(')') + _locals["iv"] = _G_apply_489 + self._trace("", (8411, 8415), self.input.position) + _G_exactly_490, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_496, lastError = eval(self._G_expr_477, self.globals, _locals), None + _G_python_491, lastError = ( + eval(self._G_expr_477, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_496, self.currentError) - _G_or_497, lastError = self._or([_G_or_490, _G_or_492]) - self.considerError(lastError, 'm_interval') - return (_G_or_497, self.currentError) + return (_G_python_491, self.currentError) + _G_or_492, lastError = self._or([_G_or_485, _G_or_487]) + self.considerError(lastError, "m_interval") + return (_G_or_492, self.currentError) def rule_n_interval(self): - _locals = {'self': self} - self.locals['n_interval'] = _locals - def _G_or_498(): - self._trace('', (8503, 8518), self.input.position) - _G_apply_499, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) + _locals = {"self": self} + self.locals["n_interval"] = _locals + + def _G_or_493(): + self._trace("", (8451, 8466), self.input.position) + _G_apply_494, lastError = self._apply( + self.rule_def_n_interval, "def_n_interval", [] + ) self.considerError(lastError, None) - return (_G_apply_499, self.currentError) - def _G_or_500(): - self._trace('', (8520, 8524), self.input.position) - _G_exactly_501, lastError = self.exactly('(') + return (_G_apply_494, self.currentError) + + def _G_or_495(): + self._trace("", (8468, 8472), self.input.position) + _G_exactly_496, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (8524, 8539), self.input.position) - _G_apply_502, lastError = self._apply(self.rule_def_n_interval, "def_n_interval", []) + self._trace("", (8472, 8487), self.input.position) + _G_apply_497, lastError = self._apply( + self.rule_def_n_interval, "def_n_interval", [] + ) self.considerError(lastError, None) - _locals['iv'] = _G_apply_502 - self._trace('', (8542, 8546), self.input.position) - _G_exactly_503, lastError = self.exactly(')') + _locals["iv"] = _G_apply_497 + self._trace("", (8490, 8494), self.input.position) + _G_exactly_498, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_504, lastError = eval(self._G_expr_477, self.globals, _locals), None + _G_python_499, lastError = ( + eval(self._G_expr_477, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_504, self.currentError) - _G_or_505, lastError = self._or([_G_or_498, _G_or_500]) - self.considerError(lastError, 'n_interval') - return (_G_or_505, self.currentError) + return (_G_python_499, self.currentError) + _G_or_500, lastError = self._or([_G_or_493, _G_or_495]) + self.considerError(lastError, "n_interval") + return (_G_or_500, self.currentError) def rule_p_interval(self): - _locals = {'self': self} - self.locals['p_interval'] = _locals - def _G_or_506(): - self._trace('', (8582, 8597), self.input.position) - _G_apply_507, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) + _locals = {"self": self} + self.locals["p_interval"] = _locals + + def _G_or_501(): + self._trace("", (8530, 8545), self.input.position) + _G_apply_502, lastError = self._apply( + self.rule_def_p_interval, "def_p_interval", [] + ) self.considerError(lastError, None) - return (_G_apply_507, self.currentError) - def _G_or_508(): - self._trace('', (8599, 8603), self.input.position) - _G_exactly_509, lastError = self.exactly('(') + return (_G_apply_502, self.currentError) + + def _G_or_503(): + self._trace("", (8547, 8551), self.input.position) + _G_exactly_504, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (8603, 8618), self.input.position) - _G_apply_510, lastError = self._apply(self.rule_def_p_interval, "def_p_interval", []) + self._trace("", (8551, 8566), self.input.position) + _G_apply_505, lastError = self._apply( + self.rule_def_p_interval, "def_p_interval", [] + ) self.considerError(lastError, None) - _locals['iv'] = _G_apply_510 - self._trace('', (8621, 8625), self.input.position) - _G_exactly_511, lastError = self.exactly(')') + _locals["iv"] = _G_apply_505 + self._trace("", (8569, 8573), self.input.position) + _G_exactly_506, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_512, lastError = eval(self._G_expr_477, self.globals, _locals), None + _G_python_507, lastError = ( + eval(self._G_expr_477, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_512, self.currentError) - _G_or_513, lastError = self._or([_G_or_506, _G_or_508]) - self.considerError(lastError, 'p_interval') - return (_G_or_513, self.currentError) + return (_G_python_507, self.currentError) + _G_or_508, lastError = self._or([_G_or_501, _G_or_503]) + self.considerError(lastError, "p_interval") + return (_G_or_508, self.currentError) def rule_r_interval(self): - _locals = {'self': self} - self.locals['r_interval'] = _locals - def _G_or_514(): - self._trace('', (8661, 8676), self.input.position) - _G_apply_515, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) + _locals = {"self": self} + self.locals["r_interval"] = _locals + + def _G_or_509(): + self._trace("", (8609, 8624), self.input.position) + _G_apply_510, lastError = self._apply( + self.rule_def_r_interval, "def_r_interval", [] + ) self.considerError(lastError, None) - return (_G_apply_515, self.currentError) - def _G_or_516(): - self._trace('', (8678, 8682), self.input.position) - _G_exactly_517, lastError = self.exactly('(') + return (_G_apply_510, self.currentError) + + def _G_or_511(): + self._trace("", (8626, 8630), self.input.position) + _G_exactly_512, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (8682, 8697), self.input.position) - _G_apply_518, lastError = self._apply(self.rule_def_r_interval, "def_r_interval", []) + self._trace("", (8630, 8645), self.input.position) + _G_apply_513, lastError = self._apply( + self.rule_def_r_interval, "def_r_interval", [] + ) self.considerError(lastError, None) - _locals['iv'] = _G_apply_518 - self._trace('', (8700, 8704), self.input.position) - _G_exactly_519, lastError = self.exactly(')') + _locals["iv"] = _G_apply_513 + self._trace("", (8648, 8652), self.input.position) + _G_exactly_514, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_520, lastError = eval(self._G_expr_477, self.globals, _locals), None + _G_python_515, lastError = ( + eval(self._G_expr_477, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_520, self.currentError) - _G_or_521, lastError = self._or([_G_or_514, _G_or_516]) - self.considerError(lastError, 'r_interval') - return (_G_or_521, self.currentError) + return (_G_python_515, self.currentError) + _G_or_516, lastError = self._or([_G_or_509, _G_or_511]) + self.considerError(lastError, "r_interval") + return (_G_or_516, self.currentError) def rule_def_g_interval(self): - _locals = {'self': self} - self.locals['def_g_interval'] = _locals - def _G_or_522(): - self._trace('', (8768, 8773), self.input.position) - _G_apply_523, lastError = self._apply(self.rule_g_pos, "g_pos", []) + _locals = {"self": self} + self.locals["def_g_interval"] = _locals + + def _G_or_517(): + self._trace("", (8716, 8721), self.input.position) + _G_apply_518, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_523 - self._trace('', (8779, 8783), self.input.position) - _G_exactly_524, lastError = self.exactly('_') + _locals["start"] = _G_apply_518 + self._trace("", (8727, 8731), self.input.position) + _G_exactly_519, lastError = self.exactly("_") self.considerError(lastError, None) - self._trace('', (8783, 8789), self.input.position) - _G_apply_525, lastError = self._apply(self.rule_g_pos, "g_pos", []) + self._trace("", (8731, 8737), self.input.position) + _G_apply_520, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) - _locals['end'] = _G_apply_525 - _G_python_527, lastError = eval(self._G_expr_526, self.globals, _locals), None + _locals["end"] = _G_apply_520 + _G_python_522, lastError = ( + eval(self._G_expr_521, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_527, self.currentError) - def _G_or_528(): - self._trace('', (8835, 8840), self.input.position) - _G_apply_529, lastError = self._apply(self.rule_g_pos, "g_pos", []) + return (_G_python_522, self.currentError) + + def _G_or_523(): + self._trace("", (8783, 8788), self.input.position) + _G_apply_524, lastError = self._apply(self.rule_g_pos, "g_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_529 - _G_python_531, lastError = eval(self._G_expr_530, self.globals, _locals), None + _locals["start"] = _G_apply_524 + _G_python_526, lastError = ( + eval(self._G_expr_525, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_531, self.currentError) - _G_or_532, lastError = self._or([_G_or_522, _G_or_528]) - self.considerError(lastError, 'def_g_interval') - return (_G_or_532, self.currentError) + return (_G_python_526, self.currentError) + _G_or_527, lastError = self._or([_G_or_517, _G_or_523]) + self.considerError(lastError, "def_g_interval") + return (_G_or_527, self.currentError) def rule_def_m_interval(self): - _locals = {'self': self} - self.locals['def_m_interval'] = _locals - def _G_or_533(): - self._trace('', (8904, 8909), self.input.position) - _G_apply_534, lastError = self._apply(self.rule_m_pos, "m_pos", []) + _locals = {"self": self} + self.locals["def_m_interval"] = _locals + + def _G_or_528(): + self._trace("", (8852, 8857), self.input.position) + _G_apply_529, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_534 - self._trace('', (8915, 8919), self.input.position) - _G_exactly_535, lastError = self.exactly('_') + _locals["start"] = _G_apply_529 + self._trace("", (8863, 8867), self.input.position) + _G_exactly_530, lastError = self.exactly("_") self.considerError(lastError, None) - self._trace('', (8919, 8925), self.input.position) - _G_apply_536, lastError = self._apply(self.rule_m_pos, "m_pos", []) + self._trace("", (8867, 8873), self.input.position) + _G_apply_531, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) - _locals['end'] = _G_apply_536 - _G_python_537, lastError = eval(self._G_expr_526, self.globals, _locals), None + _locals["end"] = _G_apply_531 + _G_python_532, lastError = ( + eval(self._G_expr_521, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_537, self.currentError) - def _G_or_538(): - self._trace('', (8971, 8976), self.input.position) - _G_apply_539, lastError = self._apply(self.rule_m_pos, "m_pos", []) + return (_G_python_532, self.currentError) + + def _G_or_533(): + self._trace("", (8919, 8924), self.input.position) + _G_apply_534, lastError = self._apply(self.rule_m_pos, "m_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_539 - _G_python_540, lastError = eval(self._G_expr_530, self.globals, _locals), None + _locals["start"] = _G_apply_534 + _G_python_535, lastError = ( + eval(self._G_expr_525, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_540, self.currentError) - _G_or_541, lastError = self._or([_G_or_533, _G_or_538]) - self.considerError(lastError, 'def_m_interval') - return (_G_or_541, self.currentError) + return (_G_python_535, self.currentError) + _G_or_536, lastError = self._or([_G_or_528, _G_or_533]) + self.considerError(lastError, "def_m_interval") + return (_G_or_536, self.currentError) def rule_def_p_interval(self): - _locals = {'self': self} - self.locals['def_p_interval'] = _locals - def _G_or_542(): - self._trace('', (9040, 9045), self.input.position) - _G_apply_543, lastError = self._apply(self.rule_p_pos, "p_pos", []) + _locals = {"self": self} + self.locals["def_p_interval"] = _locals + + def _G_or_537(): + self._trace("", (8988, 8993), self.input.position) + _G_apply_538, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_543 - self._trace('', (9051, 9055), self.input.position) - _G_exactly_544, lastError = self.exactly('_') + _locals["start"] = _G_apply_538 + self._trace("", (8999, 9003), self.input.position) + _G_exactly_539, lastError = self.exactly("_") self.considerError(lastError, None) - self._trace('', (9055, 9061), self.input.position) - _G_apply_545, lastError = self._apply(self.rule_p_pos, "p_pos", []) + self._trace("", (9003, 9009), self.input.position) + _G_apply_540, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) - _locals['end'] = _G_apply_545 - _G_python_546, lastError = eval(self._G_expr_526, self.globals, _locals), None + _locals["end"] = _G_apply_540 + _G_python_541, lastError = ( + eval(self._G_expr_521, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_546, self.currentError) - def _G_or_547(): - self._trace('', (9107, 9112), self.input.position) - _G_apply_548, lastError = self._apply(self.rule_p_pos, "p_pos", []) + return (_G_python_541, self.currentError) + + def _G_or_542(): + self._trace("", (9055, 9060), self.input.position) + _G_apply_543, lastError = self._apply(self.rule_p_pos, "p_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_548 - _G_python_549, lastError = eval(self._G_expr_530, self.globals, _locals), None + _locals["start"] = _G_apply_543 + _G_python_544, lastError = ( + eval(self._G_expr_525, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_549, self.currentError) - _G_or_550, lastError = self._or([_G_or_542, _G_or_547]) - self.considerError(lastError, 'def_p_interval') - return (_G_or_550, self.currentError) + return (_G_python_544, self.currentError) + _G_or_545, lastError = self._or([_G_or_537, _G_or_542]) + self.considerError(lastError, "def_p_interval") + return (_G_or_545, self.currentError) def rule_def_r_interval(self): - _locals = {'self': self} - self.locals['def_r_interval'] = _locals - def _G_or_551(): - self._trace('', (9176, 9181), self.input.position) - _G_apply_552, lastError = self._apply(self.rule_r_pos, "r_pos", []) + _locals = {"self": self} + self.locals["def_r_interval"] = _locals + + def _G_or_546(): + self._trace("", (9124, 9129), self.input.position) + _G_apply_547, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_552 - self._trace('', (9187, 9191), self.input.position) - _G_exactly_553, lastError = self.exactly('_') + _locals["start"] = _G_apply_547 + self._trace("", (9135, 9139), self.input.position) + _G_exactly_548, lastError = self.exactly("_") self.considerError(lastError, None) - self._trace('', (9191, 9197), self.input.position) - _G_apply_554, lastError = self._apply(self.rule_r_pos, "r_pos", []) + self._trace("", (9139, 9145), self.input.position) + _G_apply_549, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) - _locals['end'] = _G_apply_554 - _G_python_555, lastError = eval(self._G_expr_526, self.globals, _locals), None + _locals["end"] = _G_apply_549 + _G_python_550, lastError = ( + eval(self._G_expr_521, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_555, self.currentError) - def _G_or_556(): - self._trace('', (9243, 9248), self.input.position) - _G_apply_557, lastError = self._apply(self.rule_r_pos, "r_pos", []) + return (_G_python_550, self.currentError) + + def _G_or_551(): + self._trace("", (9191, 9196), self.input.position) + _G_apply_552, lastError = self._apply(self.rule_r_pos, "r_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_557 - _G_python_558, lastError = eval(self._G_expr_530, self.globals, _locals), None + _locals["start"] = _G_apply_552 + _G_python_553, lastError = ( + eval(self._G_expr_525, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_558, self.currentError) - _G_or_559, lastError = self._or([_G_or_551, _G_or_556]) - self.considerError(lastError, 'def_r_interval') - return (_G_or_559, self.currentError) + return (_G_python_553, self.currentError) + _G_or_554, lastError = self._or([_G_or_546, _G_or_551]) + self.considerError(lastError, "def_r_interval") + return (_G_or_554, self.currentError) def rule_def_c_interval(self): - _locals = {'self': self} - self.locals['def_c_interval'] = _locals - def _G_or_560(): - self._trace('', (9312, 9317), self.input.position) - _G_apply_561, lastError = self._apply(self.rule_c_pos, "c_pos", []) + _locals = {"self": self} + self.locals["def_c_interval"] = _locals + + def _G_or_555(): + self._trace("", (9260, 9265), self.input.position) + _G_apply_556, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_561 - self._trace('', (9323, 9327), self.input.position) - _G_exactly_562, lastError = self.exactly('_') + _locals["start"] = _G_apply_556 + self._trace("", (9271, 9275), self.input.position) + _G_exactly_557, lastError = self.exactly("_") self.considerError(lastError, None) - self._trace('', (9327, 9333), self.input.position) - _G_apply_563, lastError = self._apply(self.rule_c_pos, "c_pos", []) + self._trace("", (9275, 9281), self.input.position) + _G_apply_558, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) - _locals['end'] = _G_apply_563 - _G_python_565, lastError = eval(self._G_expr_564, self.globals, _locals), None + _locals["end"] = _G_apply_558 + _G_python_560, lastError = ( + eval(self._G_expr_559, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_565, self.currentError) - def _G_or_566(): - self._trace('', (9389, 9394), self.input.position) - _G_apply_567, lastError = self._apply(self.rule_c_pos, "c_pos", []) + return (_G_python_560, self.currentError) + + def _G_or_561(): + self._trace("", (9337, 9342), self.input.position) + _G_apply_562, lastError = self._apply(self.rule_c_pos, "c_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_567 - _G_python_569, lastError = eval(self._G_expr_568, self.globals, _locals), None + _locals["start"] = _G_apply_562 + _G_python_564, lastError = ( + eval(self._G_expr_563, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_569, self.currentError) - _G_or_570, lastError = self._or([_G_or_560, _G_or_566]) - self.considerError(lastError, 'def_c_interval') - return (_G_or_570, self.currentError) + return (_G_python_564, self.currentError) + _G_or_565, lastError = self._or([_G_or_555, _G_or_561]) + self.considerError(lastError, "def_c_interval") + return (_G_or_565, self.currentError) def rule_def_n_interval(self): - _locals = {'self': self} - self.locals['def_n_interval'] = _locals - def _G_or_571(): - self._trace('', (9484, 9489), self.input.position) - _G_apply_572, lastError = self._apply(self.rule_n_pos, "n_pos", []) + _locals = {"self": self} + self.locals["def_n_interval"] = _locals + + def _G_or_566(): + self._trace("", (9432, 9437), self.input.position) + _G_apply_567, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_572 - self._trace('', (9495, 9499), self.input.position) - _G_exactly_573, lastError = self.exactly('_') + _locals["start"] = _G_apply_567 + self._trace("", (9443, 9447), self.input.position) + _G_exactly_568, lastError = self.exactly("_") self.considerError(lastError, None) - self._trace('', (9499, 9505), self.input.position) - _G_apply_574, lastError = self._apply(self.rule_n_pos, "n_pos", []) + self._trace("", (9447, 9453), self.input.position) + _G_apply_569, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) - _locals['end'] = _G_apply_574 - _G_python_575, lastError = eval(self._G_expr_564, self.globals, _locals), None + _locals["end"] = _G_apply_569 + _G_python_570, lastError = ( + eval(self._G_expr_559, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_575, self.currentError) - def _G_or_576(): - self._trace('', (9561, 9566), self.input.position) - _G_apply_577, lastError = self._apply(self.rule_n_pos, "n_pos", []) + return (_G_python_570, self.currentError) + + def _G_or_571(): + self._trace("", (9509, 9514), self.input.position) + _G_apply_572, lastError = self._apply(self.rule_n_pos, "n_pos", []) self.considerError(lastError, None) - _locals['start'] = _G_apply_577 - _G_python_578, lastError = eval(self._G_expr_568, self.globals, _locals), None + _locals["start"] = _G_apply_572 + _G_python_573, lastError = ( + eval(self._G_expr_563, self.globals, _locals), + None, + ) self.considerError(lastError, None) - return (_G_python_578, self.currentError) - _G_or_579, lastError = self._or([_G_or_571, _G_or_576]) - self.considerError(lastError, 'def_n_interval') - return (_G_or_579, self.currentError) + return (_G_python_573, self.currentError) + _G_or_574, lastError = self._or([_G_or_566, _G_or_571]) + self.considerError(lastError, "def_n_interval") + return (_G_or_574, self.currentError) def rule_uncertain_g_interval(self): - _locals = {'self': self} - self.locals['uncertain_g_interval'] = _locals - def _G_or_580(): - self._trace('', (9681, 9685), self.input.position) - _G_exactly_581, lastError = self.exactly('(') + _locals = {"self": self} + self.locals["uncertain_g_interval"] = _locals + + def _G_or_575(): + self._trace("", (9629, 9633), self.input.position) + _G_exactly_576, lastError = self.exactly("(") + self.considerError(lastError, None) + self._trace("", (9633, 9648), self.input.position) + _G_apply_577, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) + self.considerError(lastError, None) + _locals["ivl_start"] = _G_apply_577 + self._trace("", (9658, 9662), self.input.position) + _G_exactly_578, lastError = self.exactly(")") + self.considerError(lastError, None) + self._trace("", (9662, 9666), self.input.position) + _G_exactly_579, lastError = self.exactly("_") + self.considerError(lastError, None) + self._trace("", (9666, 9670), self.input.position) + _G_exactly_580, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (9685, 9700), self.input.position) - _G_apply_582, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self._trace("", (9670, 9685), self.input.position) + _G_apply_581, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) self.considerError(lastError, None) - _locals['ivl_start'] = _G_apply_582 - self._trace('', (9710, 9714), self.input.position) - _G_exactly_583, lastError = self.exactly(')') + _locals["ivl_end"] = _G_apply_581 + self._trace("", (9693, 9697), self.input.position) + _G_exactly_582, lastError = self.exactly(")") self.considerError(lastError, None) - self._trace('', (9714, 9718), self.input.position) - _G_exactly_584, lastError = self.exactly('_') + _G_python_584, lastError = ( + eval(self._G_expr_583, self.globals, _locals), + None, + ) self.considerError(lastError, None) - self._trace('', (9718, 9722), self.input.position) - _G_exactly_585, lastError = self.exactly('(') + return (_G_python_584, self.currentError) + + def _G_or_585(): + self._trace("", (9813, 9828), self.input.position) + _G_apply_586, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) self.considerError(lastError, None) - self._trace('', (9722, 9737), self.input.position) - _G_apply_586, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + _locals["ivl_start"] = _G_apply_586 + self._trace("", (9838, 9842), self.input.position) + _G_exactly_587, lastError = self.exactly("_") self.considerError(lastError, None) - _locals['ivl_end'] = _G_apply_586 - self._trace('', (9745, 9749), self.input.position) - _G_exactly_587, lastError = self.exactly(')') + self._trace("", (9842, 9846), self.input.position) + _G_exactly_588, lastError = self.exactly("(") self.considerError(lastError, None) - _G_python_589, lastError = eval(self._G_expr_588, self.globals, _locals), None + self._trace("", (9846, 9861), self.input.position) + _G_apply_589, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) self.considerError(lastError, None) - return (_G_python_589, self.currentError) - def _G_or_590(): - self._trace('', (9865, 9880), self.input.position) - _G_apply_591, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + _locals["ivl_end"] = _G_apply_589 + self._trace("", (9869, 9873), self.input.position) + _G_exactly_590, lastError = self.exactly(")") self.considerError(lastError, None) - _locals['ivl_start'] = _G_apply_591 - self._trace('', (9890, 9894), self.input.position) - _G_exactly_592, lastError = self.exactly('_') + _G_python_592, lastError = ( + eval(self._G_expr_591, self.globals, _locals), + None, + ) self.considerError(lastError, None) - self._trace('', (9894, 9898), self.input.position) - _G_exactly_593, lastError = self.exactly('(') + return (_G_python_592, self.currentError) + + def _G_or_593(): + self._trace("", (9972, 9976), self.input.position) + _G_exactly_594, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (9898, 9913), self.input.position) - _G_apply_594, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + self._trace("", (9976, 9991), self.input.position) + _G_apply_595, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) self.considerError(lastError, None) - _locals['ivl_end'] = _G_apply_594 - self._trace('', (9921, 9925), self.input.position) - _G_exactly_595, lastError = self.exactly(')') + _locals["ivl_start"] = _G_apply_595 + self._trace("", (10001, 10005), self.input.position) + _G_exactly_596, lastError = self.exactly(")") self.considerError(lastError, None) - _G_python_597, lastError = eval(self._G_expr_596, self.globals, _locals), None + self._trace("", (10005, 10009), self.input.position) + _G_exactly_597, lastError = self.exactly("_") self.considerError(lastError, None) - return (_G_python_597, self.currentError) - def _G_or_598(): - self._trace('', (10024, 10028), self.input.position) - _G_exactly_599, lastError = self.exactly('(') + self._trace("", (10009, 10024), self.input.position) + _G_apply_598, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) self.considerError(lastError, None) - self._trace('', (10028, 10043), self.input.position) - _G_apply_600, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + _locals["ivl_end"] = _G_apply_598 + _G_python_600, lastError = ( + eval(self._G_expr_599, self.globals, _locals), + None, + ) self.considerError(lastError, None) - _locals['ivl_start'] = _G_apply_600 - self._trace('', (10053, 10057), self.input.position) - _G_exactly_601, lastError = self.exactly(')') + return (_G_python_600, self.currentError) + + def _G_or_601(): + self._trace("", (10134, 10137), self.input.position) + _G_exactly_602, lastError = self.exactly("(") self.considerError(lastError, None) - self._trace('', (10057, 10061), self.input.position) - _G_exactly_602, lastError = self.exactly('_') + self._trace("", (10137, 10152), self.input.position) + _G_apply_603, lastError = self._apply( + self.rule_def_g_interval, "def_g_interval", [] + ) self.considerError(lastError, None) - self._trace('', (10061, 10076), self.input.position) - _G_apply_603, lastError = self._apply(self.rule_def_g_interval, "def_g_interval", []) + _locals["iv"] = _G_apply_603 + self._trace("", (10155, 10159), self.input.position) + _G_exactly_604, lastError = self.exactly(")") self.considerError(lastError, None) - _locals['ivl_end'] = _G_apply_603 - _G_python_605, lastError = eval(self._G_expr_604, self.globals, _locals), None + _G_python_605, lastError = ( + eval(self._G_expr_477, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_605, self.currentError) - _G_or_606, lastError = self._or([_G_or_580, _G_or_590, _G_or_598]) - self.considerError(lastError, 'uncertain_g_interval') - return (_G_or_606, self.currentError) + _G_or_606, lastError = self._or( + [_G_or_575, _G_or_585, _G_or_593, _G_or_601] + ) + self.considerError(lastError, "uncertain_g_interval") + return (_G_or_606, self.currentError) def rule_c_pos(self): - _locals = {'self': self} - self.locals['c_pos'] = _locals - self._trace('', (10179, 10189), self.input.position) + _locals = {"self": self} + self.locals["c_pos"] = _locals + self._trace("", (10206, 10216), self.input.position) _G_apply_607, lastError = self._apply(self.rule_def_c_pos, "def_c_pos", []) - self.considerError(lastError, 'c_pos') + self.considerError(lastError, "c_pos") return (_G_apply_607, self.currentError) - def rule_g_pos(self): - _locals = {'self': self} - self.locals['g_pos'] = _locals - self._trace('', (10246, 10256), self.input.position) + _locals = {"self": self} + self.locals["g_pos"] = _locals + self._trace("", (10273, 10283), self.input.position) _G_apply_608, lastError = self._apply(self.rule_def_g_pos, "def_g_pos", []) - self.considerError(lastError, 'g_pos') + self.considerError(lastError, "g_pos") return (_G_apply_608, self.currentError) - def rule_m_pos(self): - _locals = {'self': self} - self.locals['m_pos'] = _locals - self._trace('', (10313, 10323), self.input.position) + _locals = {"self": self} + self.locals["m_pos"] = _locals + self._trace("", (10340, 10350), self.input.position) _G_apply_609, lastError = self._apply(self.rule_def_m_pos, "def_m_pos", []) - self.considerError(lastError, 'm_pos') + self.considerError(lastError, "m_pos") return (_G_apply_609, self.currentError) - def rule_n_pos(self): - _locals = {'self': self} - self.locals['n_pos'] = _locals - self._trace('', (10380, 10390), self.input.position) + _locals = {"self": self} + self.locals["n_pos"] = _locals + self._trace("", (10407, 10417), self.input.position) _G_apply_610, lastError = self._apply(self.rule_def_n_pos, "def_n_pos", []) - self.considerError(lastError, 'n_pos') + self.considerError(lastError, "n_pos") return (_G_apply_610, self.currentError) - def rule_p_pos(self): - _locals = {'self': self} - self.locals['p_pos'] = _locals - self._trace('', (10447, 10457), self.input.position) + _locals = {"self": self} + self.locals["p_pos"] = _locals + self._trace("", (10474, 10484), self.input.position) _G_apply_611, lastError = self._apply(self.rule_def_p_pos, "def_p_pos", []) - self.considerError(lastError, 'p_pos') + self.considerError(lastError, "p_pos") return (_G_apply_611, self.currentError) - def rule_r_pos(self): - _locals = {'self': self} - self.locals['r_pos'] = _locals - self._trace('', (10514, 10524), self.input.position) + _locals = {"self": self} + self.locals["r_pos"] = _locals + self._trace("", (10541, 10551), self.input.position) _G_apply_612, lastError = self._apply(self.rule_def_r_pos, "def_r_pos", []) - self.considerError(lastError, 'r_pos') + self.considerError(lastError, "r_pos") return (_G_apply_612, self.currentError) - def rule_def_c_pos(self): - _locals = {'self': self} - self.locals['def_c_pos'] = _locals + _locals = {"self": self} + self.locals["def_c_pos"] = _locals + def _G_or_613(): - self._trace('', (10607, 10612), self.input.position) + self._trace("", (10634, 10639), self.input.position) _G_apply_614, lastError = self._apply(self.rule_base, "base", []) self.considerError(lastError, None) - _locals['b'] = _G_apply_614 - self._trace('', (10614, 10621), self.input.position) + _locals["b"] = _G_apply_614 + self._trace("", (10641, 10648), self.input.position) _G_apply_615, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) - _locals['o'] = _G_apply_615 - _G_python_617, lastError = eval(self._G_expr_616, self.globals, _locals), None + _locals["o"] = _G_apply_615 + _G_python_617, lastError = ( + eval(self._G_expr_616, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_617, self.currentError) + def _G_or_618(): - self._trace('', (10706, 10710), self.input.position) - _G_exactly_619, lastError = self.exactly('*') + self._trace("", (10733, 10737), self.input.position) + _G_exactly_619, lastError = self.exactly("*") self.considerError(lastError, None) - self._trace('', (10710, 10714), self.input.position) + self._trace("", (10737, 10741), self.input.position) _G_apply_620, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) - _locals['b'] = _G_apply_620 - self._trace('', (10716, 10723), self.input.position) + _locals["b"] = _G_apply_620 + self._trace("", (10743, 10750), self.input.position) _G_apply_621, lastError = self._apply(self.rule_offset, "offset", []) self.considerError(lastError, None) - _locals['o'] = _G_apply_621 - _G_python_623, lastError = eval(self._G_expr_622, self.globals, _locals), None + _locals["o"] = _G_apply_621 + _G_python_623, lastError = ( + eval(self._G_expr_622, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_623, self.currentError) + _G_or_624, lastError = self._or([_G_or_613, _G_or_618]) - self.considerError(lastError, 'def_c_pos') + self.considerError(lastError, "def_c_pos") return (_G_or_624, self.currentError) - def rule_def_g_pos(self): - _locals = {'self': self} - self.locals['def_g_pos'] = _locals + _locals = {"self": self} + self.locals["def_g_pos"] = _locals + def _G_or_625(): - self._trace('', (10811, 10814), self.input.position) + self._trace("", (10838, 10841), self.input.position) _G_apply_626, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_626, self.currentError) + def _G_or_627(): - self._trace('', (10815, 10818), self.input.position) - _G_exactly_628, lastError = self.exactly('?') + self._trace("", (10842, 10845), self.input.position) + _G_exactly_628, lastError = self.exactly("?") self.considerError(lastError, None) _G_python_629, lastError = (None), None self.considerError(lastError, None) return (_G_python_629, self.currentError) + _G_or_630, lastError = self._or([_G_or_625, _G_or_627]) - self.considerError(lastError, 'def_g_pos') - _locals['pos'] = _G_or_630 - _G_python_632, lastError = eval(self._G_expr_631, self.globals, _locals), None - self.considerError(lastError, 'def_g_pos') + self.considerError(lastError, "def_g_pos") + _locals["pos"] = _G_or_630 + _G_python_632, lastError = ( + eval(self._G_expr_631, self.globals, _locals), + None, + ) + self.considerError(lastError, "def_g_pos") return (_G_python_632, self.currentError) - def rule_def_m_pos(self): - _locals = {'self': self} - self.locals['def_m_pos'] = _locals + _locals = {"self": self} + self.locals["def_m_pos"] = _locals + def _G_or_633(): - self._trace('', (10880, 10883), self.input.position) + self._trace("", (10907, 10910), self.input.position) _G_apply_634, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_634, self.currentError) + def _G_or_635(): - self._trace('', (10884, 10887), self.input.position) - _G_exactly_636, lastError = self.exactly('?') + self._trace("", (10911, 10914), self.input.position) + _G_exactly_636, lastError = self.exactly("?") self.considerError(lastError, None) _G_python_637, lastError = (None), None self.considerError(lastError, None) return (_G_python_637, self.currentError) + _G_or_638, lastError = self._or([_G_or_633, _G_or_635]) - self.considerError(lastError, 'def_m_pos') - _locals['pos'] = _G_or_638 - _G_python_639, lastError = eval(self._G_expr_631, self.globals, _locals), None - self.considerError(lastError, 'def_m_pos') + self.considerError(lastError, "def_m_pos") + _locals["pos"] = _G_or_638 + _G_python_639, lastError = ( + eval(self._G_expr_631, self.globals, _locals), + None, + ) + self.considerError(lastError, "def_m_pos") return (_G_python_639, self.currentError) - def rule_def_n_pos(self): - _locals = {'self': self} - self.locals['def_n_pos'] = _locals - self._trace('', (10947, 10952), self.input.position) + _locals = {"self": self} + self.locals["def_n_pos"] = _locals + self._trace("", (10974, 10979), self.input.position) _G_apply_640, lastError = self._apply(self.rule_base, "base", []) - self.considerError(lastError, 'def_n_pos') - _locals['b'] = _G_apply_640 - self._trace('', (10954, 10961), self.input.position) + self.considerError(lastError, "def_n_pos") + _locals["b"] = _G_apply_640 + self._trace("", (10981, 10988), self.input.position) _G_apply_641, lastError = self._apply(self.rule_offset, "offset", []) - self.considerError(lastError, 'def_n_pos') - _locals['o'] = _G_apply_641 - _G_python_643, lastError = eval(self._G_expr_642, self.globals, _locals), None - self.considerError(lastError, 'def_n_pos') + self.considerError(lastError, "def_n_pos") + _locals["o"] = _G_apply_641 + _G_python_643, lastError = ( + eval(self._G_expr_642, self.globals, _locals), + None, + ) + self.considerError(lastError, "def_n_pos") return (_G_python_643, self.currentError) - def rule_def_p_pos(self): - _locals = {'self': self} - self.locals['def_p_pos'] = _locals + _locals = {"self": self} + self.locals["def_p_pos"] = _locals + def _G_or_644(): - self._trace('', (11051, 11057), self.input.position) + self._trace("", (11078, 11084), self.input.position) _G_apply_645, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, None) return (_G_apply_645, self.currentError) + def _G_or_646(): - self._trace('', (11058, 11062), self.input.position) + self._trace("", (11085, 11089), self.input.position) _G_apply_647, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) return (_G_apply_647, self.currentError) + _G_or_648, lastError = self._or([_G_or_644, _G_or_646]) - self.considerError(lastError, 'def_p_pos') - _locals['aa'] = _G_or_648 - self._trace('', (11066, 11070), self.input.position) + self.considerError(lastError, "def_p_pos") + _locals["aa"] = _G_or_648 + self._trace("", (11093, 11097), self.input.position) _G_apply_649, lastError = self._apply(self.rule_num, "num", []) - self.considerError(lastError, 'def_p_pos') - _locals['pos'] = _G_apply_649 - _G_python_651, lastError = eval(self._G_expr_650, self.globals, _locals), None - self.considerError(lastError, 'def_p_pos') + self.considerError(lastError, "def_p_pos") + _locals["pos"] = _G_apply_649 + _G_python_651, lastError = ( + eval(self._G_expr_650, self.globals, _locals), + None, + ) + self.considerError(lastError, "def_p_pos") return (_G_python_651, self.currentError) - def rule_def_r_pos(self): - _locals = {'self': self} - self.locals['def_r_pos'] = _locals - self._trace('', (11152, 11157), self.input.position) + _locals = {"self": self} + self.locals["def_r_pos"] = _locals + self._trace("", (11179, 11184), self.input.position) _G_apply_652, lastError = self._apply(self.rule_base, "base", []) - self.considerError(lastError, 'def_r_pos') - _locals['b'] = _G_apply_652 - self._trace('', (11159, 11166), self.input.position) + self.considerError(lastError, "def_r_pos") + _locals["b"] = _G_apply_652 + self._trace("", (11186, 11193), self.input.position) _G_apply_653, lastError = self._apply(self.rule_offset, "offset", []) - self.considerError(lastError, 'def_r_pos') - _locals['o'] = _G_apply_653 - _G_python_654, lastError = eval(self._G_expr_642, self.globals, _locals), None - self.considerError(lastError, 'def_r_pos') + self.considerError(lastError, "def_r_pos") + _locals["o"] = _G_apply_653 + _G_python_654, lastError = ( + eval(self._G_expr_642, self.globals, _locals), + None, + ) + self.considerError(lastError, "def_r_pos") return (_G_python_654, self.currentError) - def rule_fs(self): - _locals = {'self': self} - self.locals['fs'] = _locals - self._trace('', (11570, 11575), self.input.position) - _G_exactly_655, lastError = self.exactly('fs') - self.considerError(lastError, 'fs') + _locals = {"self": self} + self.locals["fs"] = _locals + self._trace("", (11597, 11602), self.input.position) + _G_exactly_655, lastError = self.exactly("fs") + self.considerError(lastError, "fs") + def _G_or_656(): - self._trace('', (11577, 11584), self.input.position) + self._trace("", (11604, 11611), self.input.position) _G_apply_657, lastError = self._apply(self.rule_aa13_fs, "aa13_fs", []) self.considerError(lastError, None) return (_G_apply_657, self.currentError) + def _G_or_658(): _G_python_659, lastError = (None), None self.considerError(lastError, None) return (_G_python_659, self.currentError) + _G_or_660, lastError = self._or([_G_or_656, _G_or_658]) - self.considerError(lastError, 'fs') - _locals['n'] = _G_or_660 - _G_python_662, lastError = eval(self._G_expr_661, self.globals, _locals), None - self.considerError(lastError, 'fs') + self.considerError(lastError, "fs") + _locals["n"] = _G_or_660 + _G_python_662, lastError = ( + eval(self._G_expr_661, self.globals, _locals), + None, + ) + self.considerError(lastError, "fs") return (_G_python_662, self.currentError) - def rule_ext(self): - _locals = {'self': self} - self.locals['ext'] = _locals - self._trace('', (11608, 11614), self.input.position) - _G_exactly_663, lastError = self.exactly('ext') - self.considerError(lastError, 'ext') + _locals = {"self": self} + self.locals["ext"] = _locals + self._trace("", (11635, 11641), self.input.position) + _G_exactly_663, lastError = self.exactly("ext") + self.considerError(lastError, "ext") + def _G_or_664(): - self._trace('', (11616, 11624), self.input.position) - _G_apply_665, lastError = self._apply(self.rule_aa13_ext, "aa13_ext", []) + self._trace("", (11643, 11651), self.input.position) + _G_apply_665, lastError = self._apply( + self.rule_aa13_ext, "aa13_ext", [] + ) self.considerError(lastError, None) return (_G_apply_665, self.currentError) + def _G_or_666(): _G_python_667, lastError = ((None, None)), None self.considerError(lastError, None) return (_G_python_667, self.currentError) + _G_or_668, lastError = self._or([_G_or_664, _G_or_666]) - self.considerError(lastError, 'ext') - _locals['aat'] = _G_or_668[0] - _locals['n'] = _G_or_668[1] - _G_python_670, lastError = eval(self._G_expr_669, self.globals, _locals), None - self.considerError(lastError, 'ext') + self.considerError(lastError, "ext") + _locals["aat"] = _G_or_668[0] + _locals["n"] = _G_or_668[1] + _G_python_670, lastError = ( + eval(self._G_expr_669, self.globals, _locals), + None, + ) + self.considerError(lastError, "ext") return (_G_python_670, self.currentError) - def rule_aa13_fs(self): - _locals = {'self': self} - self.locals['aa13_fs'] = _locals - self._trace('', (11674, 11681), self.input.position) + _locals = {"self": self} + self.locals["aa13_fs"] = _locals + self._trace("", (11701, 11708), self.input.position) _G_apply_671, lastError = self._apply(self.rule_term13, "term13", []) - self.considerError(lastError, 'aa13_fs') - self._trace('', (11681, 11694), self.input.position) - _G_apply_672, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) - self.considerError(lastError, 'aa13_fs') - _locals['n'] = _G_apply_672 - _G_python_673, lastError = eval(self._G_expr_661, self.globals, _locals), None - self.considerError(lastError, 'aa13_fs') + self.considerError(lastError, "aa13_fs") + self._trace("", (11708, 11721), self.input.position) + _G_apply_672, lastError = self._apply( + self.rule_fsext_offset, "fsext_offset", [] + ) + self.considerError(lastError, "aa13_fs") + _locals["n"] = _G_apply_672 + _G_python_673, lastError = ( + eval(self._G_expr_661, self.globals, _locals), + None, + ) + self.considerError(lastError, "aa13_fs") return (_G_python_673, self.currentError) - def rule_aa13_ext(self): - _locals = {'self': self} - self.locals['aa13_ext'] = _locals + _locals = {"self": self} + self.locals["aa13_ext"] = _locals + def _G_or_674(): - self._trace('', (11712, 11719), self.input.position) + self._trace("", (11739, 11746), self.input.position) _G_apply_675, lastError = self._apply(self.rule_term13, "term13", []) self.considerError(lastError, None) - _locals['aat'] = _G_apply_675 - self._trace('', (11723, 11736), self.input.position) - _G_apply_676, lastError = self._apply(self.rule_fsext_offset, "fsext_offset", []) + _locals["aat"] = _G_apply_675 + self._trace("", (11750, 11763), self.input.position) + _G_apply_676, lastError = self._apply( + self.rule_fsext_offset, "fsext_offset", [] + ) self.considerError(lastError, None) - _locals['n'] = _G_apply_676 - _G_python_677, lastError = eval(self._G_expr_669, self.globals, _locals), None + _locals["n"] = _G_apply_676 + _G_python_677, lastError = ( + eval(self._G_expr_669, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_677, self.currentError) + def _G_or_678(): def _G_or_679(): - self._trace('', (11763, 11767), self.input.position) + self._trace("", (11790, 11794), self.input.position) _G_apply_680, lastError = self._apply(self.rule_aa13, "aa13", []) self.considerError(lastError, None) return (_G_apply_680, self.currentError) + def _G_or_681(): _G_python_682, lastError = (None), None self.considerError(lastError, None) return (_G_python_682, self.currentError) + _G_or_683, lastError = self._or([_G_or_679, _G_or_681]) self.considerError(lastError, None) - _locals['aat'] = _G_or_683 - self._trace('', (11784, 11789), self.input.position) + _locals["aat"] = _G_or_683 + self._trace("", (11811, 11816), self.input.position) _G_apply_684, lastError = self._apply(self.rule_nnum, "nnum", []) self.considerError(lastError, None) - _locals['n'] = _G_apply_684 - _G_python_685, lastError = eval(self._G_expr_669, self.globals, _locals), None + _locals["n"] = _G_apply_684 + _G_python_685, lastError = ( + eval(self._G_expr_669, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_685, self.currentError) + _G_or_686, lastError = self._or([_G_or_674, _G_or_678]) - self.considerError(lastError, 'aa13_ext') + self.considerError(lastError, "aa13_ext") return (_G_or_686, self.currentError) - def rule_fsext_offset(self): - _locals = {'self': self} - self.locals['fsext_offset'] = _locals + _locals = {"self": self} + self.locals["fsext_offset"] = _locals + def _G_or_687(): - self._trace('', (11818, 11822), self.input.position) + self._trace("", (11845, 11849), self.input.position) _G_apply_688, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_688, self.currentError) + def _G_or_689(): - self._trace('', (11823, 11826), self.input.position) - _G_exactly_690, lastError = self.exactly('?') + self._trace("", (11850, 11853), self.input.position) + _G_exactly_690, lastError = self.exactly("?") self.considerError(lastError, None) return (_G_exactly_690, self.currentError) + def _G_or_691(): _G_python_692, lastError = (None), None self.considerError(lastError, None) return (_G_python_692, self.currentError) + _G_or_693, lastError = self._or([_G_or_687, _G_or_689, _G_or_691]) - self.considerError(lastError, 'fsext_offset') + self.considerError(lastError, "fsext_offset") return (_G_or_693, self.currentError) - def rule_dna_seq(self): - _locals = {'self': self} - self.locals['dna_seq'] = _locals + _locals = {"self": self} + self.locals["dna_seq"] = _locals + def _G_consumedby_694(): def _G_many1_695(): - self._trace('', (11871, 11874), self.input.position) + self._trace("", (11898, 11901), self.input.position) _G_apply_696, lastError = self._apply(self.rule_dna, "dna", []) self.considerError(lastError, None) return (_G_apply_696, self.currentError) + _G_many1_697, lastError = self.many(_G_many1_695, _G_many1_695()) self.considerError(lastError, None) return (_G_many1_697, self.currentError) + _G_consumedby_698, lastError = self.consumedby(_G_consumedby_694) - self.considerError(lastError, 'dna_seq') + self.considerError(lastError, "dna_seq") return (_G_consumedby_698, self.currentError) - def rule_rna_seq(self): - _locals = {'self': self} - self.locals['rna_seq'] = _locals + _locals = {"self": self} + self.locals["rna_seq"] = _locals + def _G_consumedby_699(): def _G_many1_700(): - self._trace('', (11888, 11891), self.input.position) + self._trace("", (11915, 11918), self.input.position) _G_apply_701, lastError = self._apply(self.rule_rna, "rna", []) self.considerError(lastError, None) return (_G_apply_701, self.currentError) + _G_many1_702, lastError = self.many(_G_many1_700, _G_many1_700()) self.considerError(lastError, None) return (_G_many1_702, self.currentError) + _G_consumedby_703, lastError = self.consumedby(_G_consumedby_699) - self.considerError(lastError, 'rna_seq') + self.considerError(lastError, "rna_seq") return (_G_consumedby_703, self.currentError) - def rule_aat13_seq(self): - _locals = {'self': self} - self.locals['aat13_seq'] = _locals + _locals = {"self": self} + self.locals["aat13_seq"] = _locals + def _G_or_704(): def _G_consumedby_705(): - self._trace('', (11907, 11915), self.input.position) - _G_apply_706, lastError = self._apply(self.rule_aat3_seq, "aat3_seq", []) + self._trace("", (11934, 11942), self.input.position) + _G_apply_706, lastError = self._apply( + self.rule_aat3_seq, "aat3_seq", [] + ) self.considerError(lastError, None) return (_G_apply_706, self.currentError) + _G_consumedby_707, lastError = self.consumedby(_G_consumedby_705) self.considerError(lastError, None) return (_G_consumedby_707, self.currentError) + def _G_or_708(): def _G_consumedby_709(): - self._trace('', (11920, 11928), self.input.position) - _G_apply_710, lastError = self._apply(self.rule_aat1_seq, "aat1_seq", []) + self._trace("", (11947, 11955), self.input.position) + _G_apply_710, lastError = self._apply( + self.rule_aat1_seq, "aat1_seq", [] + ) self.considerError(lastError, None) return (_G_apply_710, self.currentError) + _G_consumedby_711, lastError = self.consumedby(_G_consumedby_709) self.considerError(lastError, None) return (_G_consumedby_711, self.currentError) + _G_or_712, lastError = self._or([_G_or_704, _G_or_708]) - self.considerError(lastError, 'aat13_seq') + self.considerError(lastError, "aat13_seq") return (_G_or_712, self.currentError) - def rule_aat1_seq(self): - _locals = {'self': self} - self.locals['aat1_seq'] = _locals + _locals = {"self": self} + self.locals["aat1_seq"] = _locals + def _G_or_713(): def _G_consumedby_714(): - self._trace('', (11942, 11947), self.input.position) + self._trace("", (11969, 11974), self.input.position) _G_apply_715, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_715, self.currentError) + _G_consumedby_716, lastError = self.consumedby(_G_consumedby_714) self.considerError(lastError, None) return (_G_consumedby_716, self.currentError) + def _G_or_717(): def _G_consumedby_718(): def _G_many1_719(): - self._trace('', (11952, 11955), self.input.position) + self._trace("", (11979, 11982), self.input.position) _G_apply_720, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_720, self.currentError) + _G_many1_721, lastError = self.many(_G_many1_719, _G_many1_719()) self.considerError(lastError, None) + def _G_optional_722(): - self._trace('', (11956, 11962), self.input.position) - _G_apply_723, lastError = self._apply(self.rule_term1, "term1", []) + self._trace("", (11983, 11989), self.input.position) + _G_apply_723, lastError = self._apply( + self.rule_term1, "term1", [] + ) self.considerError(lastError, None) return (_G_apply_723, self.currentError) + def _G_optional_724(): return (None, self.input.nullError()) + _G_or_725, lastError = self._or([_G_optional_722, _G_optional_724]) self.considerError(lastError, None) return (_G_or_725, self.currentError) + _G_consumedby_726, lastError = self.consumedby(_G_consumedby_718) self.considerError(lastError, None) return (_G_consumedby_726, self.currentError) + _G_or_727, lastError = self._or([_G_or_713, _G_or_717]) - self.considerError(lastError, 'aat1_seq') + self.considerError(lastError, "aat1_seq") return (_G_or_727, self.currentError) - def rule_aat3_seq(self): - _locals = {'self': self} - self.locals['aat3_seq'] = _locals + _locals = {"self": self} + self.locals["aat3_seq"] = _locals + def _G_or_728(): def _G_consumedby_729(): - self._trace('', (11977, 11982), self.input.position) + self._trace("", (12004, 12009), self.input.position) _G_apply_730, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_730, self.currentError) + _G_consumedby_731, lastError = self.consumedby(_G_consumedby_729) self.considerError(lastError, None) return (_G_consumedby_731, self.currentError) + def _G_or_732(): def _G_consumedby_733(): def _G_many1_734(): - self._trace('', (11987, 11990), self.input.position) + self._trace("", (12014, 12017), self.input.position) _G_apply_735, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_735, self.currentError) + _G_many1_736, lastError = self.many(_G_many1_734, _G_many1_734()) self.considerError(lastError, None) + def _G_optional_737(): - self._trace('', (11991, 11997), self.input.position) - _G_apply_738, lastError = self._apply(self.rule_term3, "term3", []) + self._trace("", (12018, 12024), self.input.position) + _G_apply_738, lastError = self._apply( + self.rule_term3, "term3", [] + ) self.considerError(lastError, None) return (_G_apply_738, self.currentError) + def _G_optional_739(): return (None, self.input.nullError()) + _G_or_740, lastError = self._or([_G_optional_737, _G_optional_739]) self.considerError(lastError, None) return (_G_or_740, self.currentError) + _G_consumedby_741, lastError = self.consumedby(_G_consumedby_733) self.considerError(lastError, None) return (_G_consumedby_741, self.currentError) + _G_or_742, lastError = self._or([_G_or_728, _G_or_732]) - self.considerError(lastError, 'aat3_seq') + self.considerError(lastError, "aat3_seq") return (_G_or_742, self.currentError) - def rule_aa13_seq(self): - _locals = {'self': self} - self.locals['aa13_seq'] = _locals + _locals = {"self": self} + self.locals["aa13_seq"] = _locals + def _G_or_743(): def _G_consumedby_744(): - self._trace('', (12012, 12019), self.input.position) - _G_apply_745, lastError = self._apply(self.rule_aa3_seq, "aa3_seq", []) + self._trace("", (12039, 12046), self.input.position) + _G_apply_745, lastError = self._apply( + self.rule_aa3_seq, "aa3_seq", [] + ) self.considerError(lastError, None) return (_G_apply_745, self.currentError) + _G_consumedby_746, lastError = self.consumedby(_G_consumedby_744) self.considerError(lastError, None) return (_G_consumedby_746, self.currentError) + def _G_or_747(): def _G_consumedby_748(): - self._trace('', (12024, 12031), self.input.position) - _G_apply_749, lastError = self._apply(self.rule_aa1_seq, "aa1_seq", []) + self._trace("", (12051, 12058), self.input.position) + _G_apply_749, lastError = self._apply( + self.rule_aa1_seq, "aa1_seq", [] + ) self.considerError(lastError, None) return (_G_apply_749, self.currentError) + _G_consumedby_750, lastError = self.consumedby(_G_consumedby_748) self.considerError(lastError, None) return (_G_consumedby_750, self.currentError) + _G_or_751, lastError = self._or([_G_or_743, _G_or_747]) - self.considerError(lastError, 'aa13_seq') + self.considerError(lastError, "aa13_seq") return (_G_or_751, self.currentError) - def rule_aa1_seq(self): - _locals = {'self': self} - self.locals['aa1_seq'] = _locals + _locals = {"self": self} + self.locals["aa1_seq"] = _locals + def _G_consumedby_752(): def _G_many1_753(): - self._trace('', (12044, 12047), self.input.position) + self._trace("", (12071, 12074), self.input.position) _G_apply_754, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_754, self.currentError) + _G_many1_755, lastError = self.many(_G_many1_753, _G_many1_753()) self.considerError(lastError, None) return (_G_many1_755, self.currentError) + _G_consumedby_756, lastError = self.consumedby(_G_consumedby_752) - self.considerError(lastError, 'aa1_seq') + self.considerError(lastError, "aa1_seq") return (_G_consumedby_756, self.currentError) - def rule_aa3_seq(self): - _locals = {'self': self} - self.locals['aa3_seq'] = _locals + _locals = {"self": self} + self.locals["aa3_seq"] = _locals + def _G_consumedby_757(): def _G_many1_758(): - self._trace('', (12061, 12064), self.input.position) + self._trace("", (12088, 12091), self.input.position) _G_apply_759, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_759, self.currentError) + _G_many1_760, lastError = self.many(_G_many1_758, _G_many1_758()) self.considerError(lastError, None) return (_G_many1_760, self.currentError) + _G_consumedby_761, lastError = self.consumedby(_G_consumedby_757) - self.considerError(lastError, 'aa3_seq') + self.considerError(lastError, "aa3_seq") return (_G_consumedby_761, self.currentError) - def rule_aa1(self): - _locals = {'self': self} - self.locals['aa1'] = _locals + _locals = {"self": self} + self.locals["aa1"] = _locals _G_apply_762, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, 'aa1') - _locals['x'] = _G_apply_762 + self.considerError(lastError, "aa1") + _locals["x"] = _G_apply_762 + def _G_pred_763(): - _G_python_765, lastError = eval(self._G_expr_764, self.globals, _locals), None + _G_python_765, lastError = ( + eval(self._G_expr_764, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_765, self.currentError) + _G_pred_766, lastError = self.pred(_G_pred_763) - self.considerError(lastError, 'aa1') - _G_python_768, lastError = eval(self._G_expr_767, self.globals, _locals), None - self.considerError(lastError, 'aa1') + self.considerError(lastError, "aa1") + _G_python_768, lastError = ( + eval(self._G_expr_767, self.globals, _locals), + None, + ) + self.considerError(lastError, "aa1") return (_G_python_768, self.currentError) - def rule_aa13(self): - _locals = {'self': self} - self.locals['aa13'] = _locals + _locals = {"self": self} + self.locals["aa13"] = _locals + def _G_or_769(): - self._trace('', (12145, 12149), self.input.position) + self._trace("", (12172, 12176), self.input.position) _G_apply_770, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_770, self.currentError) + def _G_or_771(): - self._trace('', (12151, 12155), self.input.position) + self._trace("", (12178, 12182), self.input.position) _G_apply_772, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_772, self.currentError) + _G_or_773, lastError = self._or([_G_or_769, _G_or_771]) - self.considerError(lastError, 'aa13') + self.considerError(lastError, "aa13") return (_G_or_773, self.currentError) - def rule_aa3(self): - _locals = {'self': self} - self.locals['aa3'] = _locals + _locals = {"self": self} + self.locals["aa3"] = _locals + def _G_or_774(): - self._trace('', (12161, 12167), self.input.position) - _G_exactly_775, lastError = self.exactly('Ala') + self._trace("", (12188, 12194), self.input.position) + _G_exactly_775, lastError = self.exactly("Ala") self.considerError(lastError, None) return (_G_exactly_775, self.currentError) + def _G_or_776(): - self._trace('', (12168, 12173), self.input.position) - _G_exactly_777, lastError = self.exactly('Cys') + self._trace("", (12195, 12200), self.input.position) + _G_exactly_777, lastError = self.exactly("Cys") self.considerError(lastError, None) return (_G_exactly_777, self.currentError) + def _G_or_778(): - self._trace('', (12174, 12179), self.input.position) - _G_exactly_779, lastError = self.exactly('Asp') + self._trace("", (12201, 12206), self.input.position) + _G_exactly_779, lastError = self.exactly("Asp") self.considerError(lastError, None) return (_G_exactly_779, self.currentError) + def _G_or_780(): - self._trace('', (12180, 12185), self.input.position) - _G_exactly_781, lastError = self.exactly('Glu') + self._trace("", (12207, 12212), self.input.position) + _G_exactly_781, lastError = self.exactly("Glu") self.considerError(lastError, None) return (_G_exactly_781, self.currentError) + def _G_or_782(): - self._trace('', (12186, 12191), self.input.position) - _G_exactly_783, lastError = self.exactly('Phe') + self._trace("", (12213, 12218), self.input.position) + _G_exactly_783, lastError = self.exactly("Phe") self.considerError(lastError, None) return (_G_exactly_783, self.currentError) + def _G_or_784(): - self._trace('', (12192, 12197), self.input.position) - _G_exactly_785, lastError = self.exactly('Gly') + self._trace("", (12219, 12224), self.input.position) + _G_exactly_785, lastError = self.exactly("Gly") self.considerError(lastError, None) return (_G_exactly_785, self.currentError) + def _G_or_786(): - self._trace('', (12198, 12203), self.input.position) - _G_exactly_787, lastError = self.exactly('His') + self._trace("", (12225, 12230), self.input.position) + _G_exactly_787, lastError = self.exactly("His") self.considerError(lastError, None) return (_G_exactly_787, self.currentError) + def _G_or_788(): - self._trace('', (12204, 12209), self.input.position) - _G_exactly_789, lastError = self.exactly('Ile') + self._trace("", (12231, 12236), self.input.position) + _G_exactly_789, lastError = self.exactly("Ile") self.considerError(lastError, None) return (_G_exactly_789, self.currentError) + def _G_or_790(): - self._trace('', (12210, 12215), self.input.position) - _G_exactly_791, lastError = self.exactly('Lys') + self._trace("", (12237, 12242), self.input.position) + _G_exactly_791, lastError = self.exactly("Lys") self.considerError(lastError, None) return (_G_exactly_791, self.currentError) + def _G_or_792(): - self._trace('', (12216, 12221), self.input.position) - _G_exactly_793, lastError = self.exactly('Leu') + self._trace("", (12243, 12248), self.input.position) + _G_exactly_793, lastError = self.exactly("Leu") self.considerError(lastError, None) return (_G_exactly_793, self.currentError) + def _G_or_794(): - self._trace('', (12222, 12227), self.input.position) - _G_exactly_795, lastError = self.exactly('Met') + self._trace("", (12249, 12254), self.input.position) + _G_exactly_795, lastError = self.exactly("Met") self.considerError(lastError, None) return (_G_exactly_795, self.currentError) + def _G_or_796(): - self._trace('', (12228, 12233), self.input.position) - _G_exactly_797, lastError = self.exactly('Asn') + self._trace("", (12255, 12260), self.input.position) + _G_exactly_797, lastError = self.exactly("Asn") self.considerError(lastError, None) return (_G_exactly_797, self.currentError) + def _G_or_798(): - self._trace('', (12234, 12239), self.input.position) - _G_exactly_799, lastError = self.exactly('Pro') + self._trace("", (12261, 12266), self.input.position) + _G_exactly_799, lastError = self.exactly("Pro") self.considerError(lastError, None) return (_G_exactly_799, self.currentError) + def _G_or_800(): - self._trace('', (12240, 12245), self.input.position) - _G_exactly_801, lastError = self.exactly('Gln') + self._trace("", (12267, 12272), self.input.position) + _G_exactly_801, lastError = self.exactly("Gln") self.considerError(lastError, None) return (_G_exactly_801, self.currentError) + def _G_or_802(): - self._trace('', (12246, 12251), self.input.position) - _G_exactly_803, lastError = self.exactly('Arg') + self._trace("", (12273, 12278), self.input.position) + _G_exactly_803, lastError = self.exactly("Arg") self.considerError(lastError, None) return (_G_exactly_803, self.currentError) + def _G_or_804(): - self._trace('', (12252, 12257), self.input.position) - _G_exactly_805, lastError = self.exactly('Ser') + self._trace("", (12279, 12284), self.input.position) + _G_exactly_805, lastError = self.exactly("Ser") self.considerError(lastError, None) return (_G_exactly_805, self.currentError) + def _G_or_806(): - self._trace('', (12258, 12263), self.input.position) - _G_exactly_807, lastError = self.exactly('Thr') + self._trace("", (12285, 12290), self.input.position) + _G_exactly_807, lastError = self.exactly("Thr") self.considerError(lastError, None) return (_G_exactly_807, self.currentError) + def _G_or_808(): - self._trace('', (12264, 12269), self.input.position) - _G_exactly_809, lastError = self.exactly('Val') + self._trace("", (12291, 12296), self.input.position) + _G_exactly_809, lastError = self.exactly("Val") self.considerError(lastError, None) return (_G_exactly_809, self.currentError) + def _G_or_810(): - self._trace('', (12270, 12275), self.input.position) - _G_exactly_811, lastError = self.exactly('Trp') + self._trace("", (12297, 12302), self.input.position) + _G_exactly_811, lastError = self.exactly("Trp") self.considerError(lastError, None) return (_G_exactly_811, self.currentError) + def _G_or_812(): - self._trace('', (12276, 12281), self.input.position) - _G_exactly_813, lastError = self.exactly('Tyr') + self._trace("", (12303, 12308), self.input.position) + _G_exactly_813, lastError = self.exactly("Tyr") self.considerError(lastError, None) return (_G_exactly_813, self.currentError) + def _G_or_814(): - self._trace('', (12283, 12289), self.input.position) - _G_exactly_815, lastError = self.exactly('Asx') + self._trace("", (12310, 12316), self.input.position) + _G_exactly_815, lastError = self.exactly("Asx") self.considerError(lastError, None) return (_G_exactly_815, self.currentError) + def _G_or_816(): - self._trace('', (12291, 12297), self.input.position) - _G_exactly_817, lastError = self.exactly('Glx') + self._trace("", (12318, 12324), self.input.position) + _G_exactly_817, lastError = self.exactly("Glx") self.considerError(lastError, None) return (_G_exactly_817, self.currentError) + def _G_or_818(): - self._trace('', (12299, 12305), self.input.position) - _G_exactly_819, lastError = self.exactly('Xaa') + self._trace("", (12326, 12332), self.input.position) + _G_exactly_819, lastError = self.exactly("Xaa") self.considerError(lastError, None) return (_G_exactly_819, self.currentError) + def _G_or_820(): - self._trace('', (12307, 12313), self.input.position) - _G_exactly_821, lastError = self.exactly('Sec') + self._trace("", (12334, 12340), self.input.position) + _G_exactly_821, lastError = self.exactly("Sec") self.considerError(lastError, None) return (_G_exactly_821, self.currentError) - _G_or_822, lastError = self._or([_G_or_774, _G_or_776, _G_or_778, _G_or_780, _G_or_782, _G_or_784, _G_or_786, _G_or_788, _G_or_790, _G_or_792, _G_or_794, _G_or_796, _G_or_798, _G_or_800, _G_or_802, _G_or_804, _G_or_806, _G_or_808, _G_or_810, _G_or_812, _G_or_814, _G_or_816, _G_or_818, _G_or_820]) - self.considerError(lastError, 'aa3') - return (_G_or_822, self.currentError) + _G_or_822, lastError = self._or( + [ + _G_or_774, + _G_or_776, + _G_or_778, + _G_or_780, + _G_or_782, + _G_or_784, + _G_or_786, + _G_or_788, + _G_or_790, + _G_or_792, + _G_or_794, + _G_or_796, + _G_or_798, + _G_or_800, + _G_or_802, + _G_or_804, + _G_or_806, + _G_or_808, + _G_or_810, + _G_or_812, + _G_or_814, + _G_or_816, + _G_or_818, + _G_or_820, + ] + ) + self.considerError(lastError, "aa3") + return (_G_or_822, self.currentError) def rule_aat1(self): - _locals = {'self': self} - self.locals['aat1'] = _locals + _locals = {"self": self} + self.locals["aat1"] = _locals + def _G_or_823(): - self._trace('', (12320, 12326), self.input.position) + self._trace("", (12347, 12353), self.input.position) _G_apply_824, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_824, self.currentError) + def _G_or_825(): - self._trace('', (12328, 12332), self.input.position) + self._trace("", (12355, 12359), self.input.position) _G_apply_826, lastError = self._apply(self.rule_aa1, "aa1", []) self.considerError(lastError, None) return (_G_apply_826, self.currentError) + _G_or_827, lastError = self._or([_G_or_823, _G_or_825]) - self.considerError(lastError, 'aat1') + self.considerError(lastError, "aat1") return (_G_or_827, self.currentError) - def rule_aat13(self): - _locals = {'self': self} - self.locals['aat13'] = _locals + _locals = {"self": self} + self.locals["aat13"] = _locals + def _G_or_828(): - self._trace('', (12340, 12345), self.input.position) + self._trace("", (12367, 12372), self.input.position) _G_apply_829, lastError = self._apply(self.rule_aat3, "aat3", []) self.considerError(lastError, None) return (_G_apply_829, self.currentError) + def _G_or_830(): - self._trace('', (12347, 12352), self.input.position) + self._trace("", (12374, 12379), self.input.position) _G_apply_831, lastError = self._apply(self.rule_aat1, "aat1", []) self.considerError(lastError, None) return (_G_apply_831, self.currentError) + _G_or_832, lastError = self._or([_G_or_828, _G_or_830]) - self.considerError(lastError, 'aat13') + self.considerError(lastError, "aat13") return (_G_or_832, self.currentError) - def rule_aat3(self): - _locals = {'self': self} - self.locals['aat3'] = _locals + _locals = {"self": self} + self.locals["aat3"] = _locals + def _G_or_833(): - self._trace('', (12359, 12365), self.input.position) + self._trace("", (12386, 12392), self.input.position) _G_apply_834, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_834, self.currentError) + def _G_or_835(): - self._trace('', (12367, 12371), self.input.position) + self._trace("", (12394, 12398), self.input.position) _G_apply_836, lastError = self._apply(self.rule_aa3, "aa3", []) self.considerError(lastError, None) return (_G_apply_836, self.currentError) + _G_or_837, lastError = self._or([_G_or_833, _G_or_835]) - self.considerError(lastError, 'aat3') + self.considerError(lastError, "aat3") return (_G_or_837, self.currentError) - def rule_dna(self): - _locals = {'self': self} - self.locals['dna'] = _locals - self._trace('', (12377, 12387), self.input.position) + _locals = {"self": self} + self.locals["dna"] = _locals + self._trace("", (12404, 12414), self.input.position) _G_apply_838, lastError = self._apply(self.rule_dna_iupac, "dna_iupac", []) - self.considerError(lastError, 'dna') + self.considerError(lastError, "dna") return (_G_apply_838, self.currentError) - def rule_dna_iupac(self): - _locals = {'self': self} - self.locals['dna_iupac'] = _locals + _locals = {"self": self} + self.locals["dna_iupac"] = _locals _G_apply_839, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, 'dna_iupac') - _locals['x'] = _G_apply_839 + self.considerError(lastError, "dna_iupac") + _locals["x"] = _G_apply_839 + def _G_pred_840(): - _G_python_842, lastError = eval(self._G_expr_841, self.globals, _locals), None + _G_python_842, lastError = ( + eval(self._G_expr_841, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_842, self.currentError) + _G_pred_843, lastError = self.pred(_G_pred_840) - self.considerError(lastError, 'dna_iupac') - _G_python_844, lastError = eval(self._G_expr_767, self.globals, _locals), None - self.considerError(lastError, 'dna_iupac') + self.considerError(lastError, "dna_iupac") + _G_python_844, lastError = ( + eval(self._G_expr_767, self.globals, _locals), + None, + ) + self.considerError(lastError, "dna_iupac") return (_G_python_844, self.currentError) - def rule_na_iupac(self): - _locals = {'self': self} - self.locals['na_iupac'] = _locals + _locals = {"self": self} + self.locals["na_iupac"] = _locals _G_apply_845, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, 'na_iupac') - _locals['x'] = _G_apply_845 + self.considerError(lastError, "na_iupac") + _locals["x"] = _G_apply_845 + def _G_pred_846(): - _G_python_848, lastError = eval(self._G_expr_847, self.globals, _locals), None + _G_python_848, lastError = ( + eval(self._G_expr_847, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_848, self.currentError) + _G_pred_849, lastError = self.pred(_G_pred_846) - self.considerError(lastError, 'na_iupac') - _G_python_850, lastError = eval(self._G_expr_767, self.globals, _locals), None - self.considerError(lastError, 'na_iupac') + self.considerError(lastError, "na_iupac") + _G_python_850, lastError = ( + eval(self._G_expr_767, self.globals, _locals), + None, + ) + self.considerError(lastError, "na_iupac") return (_G_python_850, self.currentError) - def rule_rna(self): - _locals = {'self': self} - self.locals['rna'] = _locals - self._trace('', (12516, 12526), self.input.position) + _locals = {"self": self} + self.locals["rna"] = _locals + self._trace("", (12543, 12553), self.input.position) _G_apply_851, lastError = self._apply(self.rule_rna_iupac, "rna_iupac", []) - self.considerError(lastError, 'rna') + self.considerError(lastError, "rna") return (_G_apply_851, self.currentError) - def rule_rna_iupac(self): - _locals = {'self': self} - self.locals['rna_iupac'] = _locals + _locals = {"self": self} + self.locals["rna_iupac"] = _locals _G_apply_852, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, 'rna_iupac') - _locals['x'] = _G_apply_852 + self.considerError(lastError, "rna_iupac") + _locals["x"] = _G_apply_852 + def _G_pred_853(): - _G_python_855, lastError = eval(self._G_expr_854, self.globals, _locals), None + _G_python_855, lastError = ( + eval(self._G_expr_854, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_855, self.currentError) + _G_pred_856, lastError = self.pred(_G_pred_853) - self.considerError(lastError, 'rna_iupac') - _G_python_857, lastError = eval(self._G_expr_767, self.globals, _locals), None - self.considerError(lastError, 'rna_iupac') + self.considerError(lastError, "rna_iupac") + _G_python_857, lastError = ( + eval(self._G_expr_767, self.globals, _locals), + None, + ) + self.considerError(lastError, "rna_iupac") return (_G_python_857, self.currentError) - def rule_term1(self): - _locals = {'self': self} - self.locals['term1'] = _locals + _locals = {"self": self} + self.locals["term1"] = _locals _G_apply_858, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, 'term1') - _locals['x'] = _G_apply_858 + self.considerError(lastError, "term1") + _locals["x"] = _G_apply_858 + def _G_pred_859(): - _G_python_861, lastError = eval(self._G_expr_860, self.globals, _locals), None + _G_python_861, lastError = ( + eval(self._G_expr_860, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_861, self.currentError) + _G_pred_862, lastError = self.pred(_G_pred_859) - self.considerError(lastError, 'term1') - _G_python_863, lastError = eval(self._G_expr_767, self.globals, _locals), None - self.considerError(lastError, 'term1') + self.considerError(lastError, "term1") + _G_python_863, lastError = ( + eval(self._G_expr_767, self.globals, _locals), + None, + ) + self.considerError(lastError, "term1") return (_G_python_863, self.currentError) - def rule_term13(self): - _locals = {'self': self} - self.locals['term13'] = _locals + _locals = {"self": self} + self.locals["term13"] = _locals + def _G_or_864(): - self._trace('', (12625, 12631), self.input.position) + self._trace("", (12652, 12658), self.input.position) _G_apply_865, lastError = self._apply(self.rule_term3, "term3", []) self.considerError(lastError, None) return (_G_apply_865, self.currentError) + def _G_or_866(): - self._trace('', (12633, 12639), self.input.position) + self._trace("", (12660, 12666), self.input.position) _G_apply_867, lastError = self._apply(self.rule_term1, "term1", []) self.considerError(lastError, None) return (_G_apply_867, self.currentError) + _G_or_868, lastError = self._or([_G_or_864, _G_or_866]) - self.considerError(lastError, 'term13') + self.considerError(lastError, "term13") return (_G_or_868, self.currentError) - def rule_term3(self): - _locals = {'self': self} - self.locals['term3'] = _locals - self._trace('', (12647, 12653), self.input.position) - _G_exactly_869, lastError = self.exactly('Ter') - self.considerError(lastError, 'term3') + _locals = {"self": self} + self.locals["term3"] = _locals + self._trace("", (12674, 12680), self.input.position) + _G_exactly_869, lastError = self.exactly("Ter") + self.considerError(lastError, "term3") return (_G_exactly_869, self.currentError) - def rule_base(self): - _locals = {'self': self} - self.locals['base'] = _locals - self._trace('', (12737, 12742), self.input.position) + _locals = {"self": self} + self.locals["base"] = _locals + self._trace("", (12764, 12769), self.input.position) _G_apply_870, lastError = self._apply(self.rule_snum, "snum", []) - self.considerError(lastError, 'base') + self.considerError(lastError, "base") return (_G_apply_870, self.currentError) - def rule_nnum(self): - _locals = {'self': self} - self.locals['nnum'] = _locals + _locals = {"self": self} + self.locals["nnum"] = _locals + def _G_consumedby_871(): - self._trace('', (12751, 12754), self.input.position) - _G_exactly_872, lastError = self.exactly('-') + self._trace("", (12778, 12781), self.input.position) + _G_exactly_872, lastError = self.exactly("-") self.considerError(lastError, None) - self._trace('', (12754, 12758), self.input.position) + self._trace("", (12781, 12785), self.input.position) _G_apply_873, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_873, self.currentError) + _G_consumedby_874, lastError = self.consumedby(_G_consumedby_871) - self.considerError(lastError, 'nnum') - _locals['x'] = _G_consumedby_874 - _G_python_876, lastError = eval(self._G_expr_875, self.globals, _locals), None - self.considerError(lastError, 'nnum') + self.considerError(lastError, "nnum") + _locals["x"] = _G_consumedby_874 + _G_python_876, lastError = ( + eval(self._G_expr_875, self.globals, _locals), + None, + ) + self.considerError(lastError, "nnum") return (_G_python_876, self.currentError) - def rule_num(self): - _locals = {'self': self} - self.locals['num'] = _locals + _locals = {"self": self} + self.locals["num"] = _locals + def _G_consumedby_877(): def _G_many1_878(): - self._trace('', (12779, 12784), self.input.position) + self._trace("", (12806, 12811), self.input.position) _G_apply_879, lastError = self._apply(self.rule_digit, "digit", []) self.considerError(lastError, None) return (_G_apply_879, self.currentError) + _G_many1_880, lastError = self.many(_G_many1_878, _G_many1_878()) self.considerError(lastError, None) return (_G_many1_880, self.currentError) + _G_consumedby_881, lastError = self.consumedby(_G_consumedby_877) - self.considerError(lastError, 'num') - _locals['x'] = _G_consumedby_881 - _G_python_882, lastError = eval(self._G_expr_875, self.globals, _locals), None - self.considerError(lastError, 'num') + self.considerError(lastError, "num") + _locals["x"] = _G_consumedby_881 + _G_python_882, lastError = ( + eval(self._G_expr_875, self.globals, _locals), + None, + ) + self.considerError(lastError, "num") return (_G_python_882, self.currentError) - def rule_offset(self): - _locals = {'self': self} - self.locals['offset'] = _locals + _locals = {"self": self} + self.locals["offset"] = _locals + def _G_or_883(): - self._trace('', (12807, 12812), self.input.position) + self._trace("", (12834, 12839), self.input.position) _G_apply_884, lastError = self._apply(self.rule_snum, "snum", []) self.considerError(lastError, None) return (_G_apply_884, self.currentError) + def _G_or_885(): _G_python_886, lastError = (0), None self.considerError(lastError, None) return (_G_python_886, self.currentError) + _G_or_887, lastError = self._or([_G_or_883, _G_or_885]) - self.considerError(lastError, 'offset') + self.considerError(lastError, "offset") return (_G_or_887, self.currentError) - def rule_pm(self): - _locals = {'self': self} - self.locals['pm'] = _locals + _locals = {"self": self} + self.locals["pm"] = _locals _G_apply_888, lastError = self._apply(self.rule_anything, "anything", []) - self.considerError(lastError, 'pm') - _locals['x'] = _G_apply_888 + self.considerError(lastError, "pm") + _locals["x"] = _G_apply_888 + def _G_pred_889(): - _G_python_891, lastError = eval(self._G_expr_890, self.globals, _locals), None + _G_python_891, lastError = ( + eval(self._G_expr_890, self.globals, _locals), + None, + ) self.considerError(lastError, None) return (_G_python_891, self.currentError) + _G_pred_892, lastError = self.pred(_G_pred_889) - self.considerError(lastError, 'pm') - _G_python_893, lastError = eval(self._G_expr_767, self.globals, _locals), None - self.considerError(lastError, 'pm') + self.considerError(lastError, "pm") + _G_python_893, lastError = ( + eval(self._G_expr_767, self.globals, _locals), + None, + ) + self.considerError(lastError, "pm") return (_G_python_893, self.currentError) - def rule_snum(self): - _locals = {'self': self} - self.locals['snum'] = _locals + _locals = {"self": self} + self.locals["snum"] = _locals + def _G_consumedby_894(): def _G_optional_895(): - self._trace('', (12856, 12858), self.input.position) + self._trace("", (12883, 12885), self.input.position) _G_apply_896, lastError = self._apply(self.rule_pm, "pm", []) self.considerError(lastError, None) return (_G_apply_896, self.currentError) + def _G_optional_897(): return (None, self.input.nullError()) + _G_or_898, lastError = self._or([_G_optional_895, _G_optional_897]) self.considerError(lastError, None) - self._trace('', (12859, 12863), self.input.position) + self._trace("", (12886, 12890), self.input.position) _G_apply_899, lastError = self._apply(self.rule_num, "num", []) self.considerError(lastError, None) return (_G_apply_899, self.currentError) + _G_consumedby_900, lastError = self.consumedby(_G_consumedby_894) - self.considerError(lastError, 'snum') - _locals['x'] = _G_consumedby_900 - _G_python_901, lastError = eval(self._G_expr_875, self.globals, _locals), None - self.considerError(lastError, 'snum') + self.considerError(lastError, "snum") + _locals["x"] = _G_consumedby_900 + _G_python_901, lastError = ( + eval(self._G_expr_875, self.globals, _locals), + None, + ) + self.considerError(lastError, "snum") return (_G_python_901, self.currentError) - def rule_accn(self): - _locals = {'self': self} - self.locals['accn'] = _locals + _locals = {"self": self} + self.locals["accn"] = _locals + def _G_consumedby_902(): - self._trace('', (12967, 12973), self.input.position) + self._trace("", (12994, 13000), self.input.position) _G_apply_903, lastError = self._apply(self.rule_letter, "letter", []) self.considerError(lastError, None) + def _G_optional_904(): def _G_many1_905(): def _G_or_906(): - self._trace('', (12976, 12989), self.input.position) - _G_apply_907, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + self._trace("", (13003, 13016), self.input.position) + _G_apply_907, lastError = self._apply( + self.rule_letterOrDigit, "letterOrDigit", [] + ) self.considerError(lastError, None) return (_G_apply_907, self.currentError) + def _G_or_908(): def _G_or_909(): - self._trace('', (12993, 12996), self.input.position) - _G_exactly_910, lastError = self.exactly('-') + self._trace("", (13020, 13023), self.input.position) + _G_exactly_910, lastError = self.exactly("-") self.considerError(lastError, None) return (_G_exactly_910, self.currentError) + def _G_or_911(): - self._trace('', (12997, 13000), self.input.position) - _G_exactly_912, lastError = self.exactly('_') + self._trace("", (13024, 13027), self.input.position) + _G_exactly_912, lastError = self.exactly("_") self.considerError(lastError, None) return (_G_exactly_912, self.currentError) + _G_or_913, lastError = self._or([_G_or_909, _G_or_911]) self.considerError(lastError, None) + def _G_lookahead_914(): - self._trace('', (13004, 13017), self.input.position) - _G_apply_915, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + self._trace("", (13031, 13044), self.input.position) + _G_apply_915, lastError = self._apply( + self.rule_letterOrDigit, "letterOrDigit", [] + ) self.considerError(lastError, None) return (_G_apply_915, self.currentError) - _G_lookahead_916, lastError = self.lookahead(_G_lookahead_914) + + _G_lookahead_916, lastError = self.lookahead( + _G_lookahead_914 + ) self.considerError(lastError, None) return (_G_lookahead_916, self.currentError) + _G_or_917, lastError = self._or([_G_or_906, _G_or_908]) self.considerError(lastError, None) return (_G_or_917, self.currentError) + _G_many1_918, lastError = self.many(_G_many1_905, _G_many1_905()) self.considerError(lastError, None) return (_G_many1_918, self.currentError) + def _G_optional_919(): return (None, self.input.nullError()) + _G_or_920, lastError = self._or([_G_optional_904, _G_optional_919]) self.considerError(lastError, None) + def _G_optional_921(): - self._trace('', (13023, 13026), self.input.position) - _G_exactly_922, lastError = self.exactly('.') + self._trace("", (13050, 13053), self.input.position) + _G_exactly_922, lastError = self.exactly(".") self.considerError(lastError, None) + def _G_many1_923(): - self._trace('', (13026, 13032), self.input.position) - _G_apply_924, lastError = self._apply(self.rule_digit, "digit", []) + self._trace("", (13053, 13059), self.input.position) + _G_apply_924, lastError = self._apply( + self.rule_digit, "digit", [] + ) self.considerError(lastError, None) return (_G_apply_924, self.currentError) + _G_many1_925, lastError = self.many(_G_many1_923, _G_many1_923()) self.considerError(lastError, None) return (_G_many1_925, self.currentError) + def _G_optional_926(): return (None, self.input.nullError()) + _G_or_927, lastError = self._or([_G_optional_921, _G_optional_926]) self.considerError(lastError, None) return (_G_or_927, self.currentError) + _G_consumedby_928, lastError = self.consumedby(_G_consumedby_902) - self.considerError(lastError, 'accn') + self.considerError(lastError, "accn") return (_G_consumedby_928, self.currentError) - def rule_opt_gene_expr(self): - _locals = {'self': self} - self.locals['opt_gene_expr'] = _locals + _locals = {"self": self} + self.locals["opt_gene_expr"] = _locals + def _G_or_929(): - self._trace('', (13054, 13064), self.input.position) - _G_apply_930, lastError = self._apply(self.rule_paren_gene, "paren_gene", []) + self._trace("", (13081, 13091), self.input.position) + _G_apply_930, lastError = self._apply( + self.rule_paren_gene, "paren_gene", [] + ) self.considerError(lastError, None) return (_G_apply_930, self.currentError) + def _G_or_931(): _G_python_932, lastError = (None), None self.considerError(lastError, None) return (_G_python_932, self.currentError) + _G_or_933, lastError = self._or([_G_or_929, _G_or_931]) - self.considerError(lastError, 'opt_gene_expr') - _locals['gene'] = _G_or_933 - _G_python_935, lastError = eval(self._G_expr_934, self.globals, _locals), None - self.considerError(lastError, 'opt_gene_expr') + self.considerError(lastError, "opt_gene_expr") + _locals["gene"] = _G_or_933 + _G_python_935, lastError = ( + eval(self._G_expr_934, self.globals, _locals), + None, + ) + self.considerError(lastError, "opt_gene_expr") return (_G_python_935, self.currentError) - def rule_paren_gene(self): - _locals = {'self': self} - self.locals['paren_gene'] = _locals - self._trace('', (13100, 13104), self.input.position) - _G_exactly_936, lastError = self.exactly('(') - self.considerError(lastError, 'paren_gene') - self._trace('', (13104, 13116), self.input.position) - _G_apply_937, lastError = self._apply(self.rule_gene_symbol, "gene_symbol", []) - self.considerError(lastError, 'paren_gene') - _locals['symbol'] = _G_apply_937 - self._trace('', (13123, 13127), self.input.position) - _G_exactly_938, lastError = self.exactly(')') - self.considerError(lastError, 'paren_gene') - _G_python_940, lastError = eval(self._G_expr_939, self.globals, _locals), None - self.considerError(lastError, 'paren_gene') + _locals = {"self": self} + self.locals["paren_gene"] = _locals + self._trace("", (13127, 13131), self.input.position) + _G_exactly_936, lastError = self.exactly("(") + self.considerError(lastError, "paren_gene") + self._trace("", (13131, 13143), self.input.position) + _G_apply_937, lastError = self._apply( + self.rule_gene_symbol, "gene_symbol", [] + ) + self.considerError(lastError, "paren_gene") + _locals["symbol"] = _G_apply_937 + self._trace("", (13150, 13154), self.input.position) + _G_exactly_938, lastError = self.exactly(")") + self.considerError(lastError, "paren_gene") + _G_python_940, lastError = ( + eval(self._G_expr_939, self.globals, _locals), + None, + ) + self.considerError(lastError, "paren_gene") return (_G_python_940, self.currentError) - def rule_gene_symbol(self): - _locals = {'self': self} - self.locals['gene_symbol'] = _locals + _locals = {"self": self} + self.locals["gene_symbol"] = _locals + def _G_consumedby_941(): - self._trace('', (13153, 13159), self.input.position) + self._trace("", (13180, 13186), self.input.position) _G_apply_942, lastError = self._apply(self.rule_letter, "letter", []) self.considerError(lastError, None) + def _G_many1_943(): def _G_or_944(): - self._trace('', (13161, 13174), self.input.position) - _G_apply_945, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + self._trace("", (13188, 13201), self.input.position) + _G_apply_945, lastError = self._apply( + self.rule_letterOrDigit, "letterOrDigit", [] + ) self.considerError(lastError, None) return (_G_apply_945, self.currentError) + def _G_or_946(): def _G_or_947(): - self._trace('', (13178, 13181), self.input.position) - _G_exactly_948, lastError = self.exactly('-') + self._trace("", (13205, 13208), self.input.position) + _G_exactly_948, lastError = self.exactly("-") self.considerError(lastError, None) return (_G_exactly_948, self.currentError) + def _G_or_949(): - self._trace('', (13182, 13185), self.input.position) - _G_exactly_950, lastError = self.exactly('_') + self._trace("", (13209, 13212), self.input.position) + _G_exactly_950, lastError = self.exactly("_") self.considerError(lastError, None) return (_G_exactly_950, self.currentError) + _G_or_951, lastError = self._or([_G_or_947, _G_or_949]) self.considerError(lastError, None) + def _G_lookahead_952(): - self._trace('', (13189, 13202), self.input.position) - _G_apply_953, lastError = self._apply(self.rule_letterOrDigit, "letterOrDigit", []) + self._trace("", (13216, 13229), self.input.position) + _G_apply_953, lastError = self._apply( + self.rule_letterOrDigit, "letterOrDigit", [] + ) self.considerError(lastError, None) return (_G_apply_953, self.currentError) + _G_lookahead_954, lastError = self.lookahead(_G_lookahead_952) self.considerError(lastError, None) return (_G_lookahead_954, self.currentError) + _G_or_955, lastError = self._or([_G_or_944, _G_or_946]) self.considerError(lastError, None) return (_G_or_955, self.currentError) + _G_many1_956, lastError = self.many(_G_many1_943, _G_many1_943()) self.considerError(lastError, None) return (_G_many1_956, self.currentError) + _G_consumedby_957, lastError = self.consumedby(_G_consumedby_941) - self.considerError(lastError, 'gene_symbol') + self.considerError(lastError, "gene_symbol") return (_G_consumedby_957, self.currentError) + _G_expr_20 = compile( + "hgvs.sequencevariant.SequenceVariant(ac=ac, gene=gene, type=type, posedit=posedit)", + "<string>", + "eval", + ) + _G_expr_76 = compile( + "hgvs.hgvsposition.HGVSPosition(ac=ac, gene=gene, type=type, pos=pos)", + "<string>", + "eval", + ) + _G_expr_116 = compile( + "hgvs.sequencevariant.SequenceVariant(None,type,posedit)", + "<string>", + "eval", + ) + _G_expr_140 = compile( + "hgvs.posedit.PosEdit(pos=pos,edit=edit)", "<string>", "eval" + ) + _G_expr_160 = compile( + "hgvs.posedit.PosEdit(pos=pos,edit=edit, uncertain=True)", + "<string>", + "eval", + ) + _G_expr_178 = compile( + "hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=False)", "<string>", "eval" + ) + _G_expr_184 = compile( + "hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=True)", "<string>", "eval" + ) + _G_expr_203 = compile("edit._set_uncertain()", "<string>", "eval") + _G_expr_231 = compile("hgvs.edit.NARefAlt(ref=ref,alt=ref)", "<string>", "eval") + _G_expr_236 = compile("hgvs.edit.NARefAlt(ref=ref,alt=alt)", "<string>", "eval") + _G_expr_269 = compile( + "hgvs.edit.NARefAlt(ref=ref,alt=None)", "<string>", "eval" + ) + _G_expr_277 = compile( + "hgvs.edit.NARefAlt(ref=None,alt=alt)", "<string>", "eval" + ) + _G_expr_285 = compile("hgvs.edit.Dup(ref=ref)", "<string>", "eval") + _G_expr_299 = compile("hgvs.edit.Inv(ref=None)", "<string>", "eval") + _G_expr_303 = compile( + "hgvs.edit.Conv(from_ac=pos.ac, from_type=pos.type, from_pos=pos.pos)", + "<string>", + "eval", + ) + _G_expr_307 = compile("hgvs.edit.NACopy(copy=n)", "<string>", "eval") + _G_expr_437 = compile("hgvs.edit.AASub(ref='',alt=alt)", "<string>", "eval") + _G_expr_441 = compile("hgvs.edit.AARefAlt(ref='',alt=alt)", "<string>", "eval") + _G_expr_444 = compile("hgvs.edit.AARefAlt(ref='',alt=None)", "<string>", "eval") + _G_expr_448 = compile( + "hgvs.edit.AARefAlt(ref=None,alt=alt)", "<string>", "eval" + ) + _G_expr_451 = compile("hgvs.edit.Dup(ref='')", "<string>", "eval") + _G_expr_459 = compile( + "hgvs.edit.AAFs(ref='', alt=alt, length=length)", "<string>", "eval" + ) + _G_expr_466 = compile( + "hgvs.edit.AAExt(ref='', alt=alt, aaterm=aaterm, length=length)", + "<string>", + "eval", + ) + _G_expr_469 = compile("hgvs.edit.AARefAlt(ref='',alt='')", "<string>", "eval") + _G_expr_477 = compile("iv._set_uncertain()", "<string>", "eval") + _G_expr_521 = compile("hgvs.location.Interval(start,end)", "<string>", "eval") + _G_expr_525 = compile("hgvs.location.Interval(start,None)", "<string>", "eval") + _G_expr_559 = compile( + "hgvs.location.BaseOffsetInterval(start,end)", "<string>", "eval" + ) + _G_expr_563 = compile( + "hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))", + "<string>", + "eval", + ) + _G_expr_583 = compile( + "hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain())", + "<string>", + "eval", + ) + _G_expr_591 = compile( + "hgvs.location.Interval(start=ivl_start, end=ivl_end._set_uncertain())", + "<string>", + "eval", + ) + _G_expr_599 = compile( + "hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end)", + "<string>", + "eval", + ) + _G_expr_616 = compile( + "hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_START)", + "<string>", + "eval", + ) + _G_expr_622 = compile( + "hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_END)", + "<string>", + "eval", + ) + _G_expr_631 = compile("hgvs.location.SimplePosition(pos)", "<string>", "eval") + _G_expr_642 = compile( + "hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.SEQ_START)", + "<string>", + "eval", + ) + _G_expr_650 = compile( + "hgvs.location.AAPosition(pos,bioutils.sequences.aa_to_aa1(aa))", + "<string>", + "eval", + ) + _G_expr_661 = compile("n", "<string>", "eval") + _G_expr_669 = compile("(aat, n)", "<string>", "eval") + _G_expr_764 = compile("x in 'ACDEFGHIKLMNPQRSTVWYBZXU'", "<string>", "eval") + _G_expr_767 = compile("x", "<string>", "eval") + _G_expr_841 = compile( + "x in 'ACGTRYMKWSBDHVNacgtrymkwsbdhvn'", "<string>", "eval" + ) + _G_expr_847 = compile( + "x in 'ACGTURYMKWSBDHVNacgturymkwsbdhvn'", "<string>", "eval" + ) + _G_expr_854 = compile( + "x in 'ACGURYMKWSBDHVNacgurymkwsbdhvn'", "<string>", "eval" + ) + _G_expr_860 = compile("x in 'X*'", "<string>", "eval") + _G_expr_875 = compile("int(x)", "<string>", "eval") + _G_expr_890 = compile("x in '-+'", "<string>", "eval") + _G_expr_934 = compile("gene", "<string>", "eval") + _G_expr_939 = compile("symbol", "<string>", "eval") - _G_expr_20 = compile('hgvs.sequencevariant.SequenceVariant(ac=ac, gene=gene, type=type, posedit=posedit)', '<string>', 'eval') - _G_expr_76 = compile('hgvs.hgvsposition.HGVSPosition(ac=ac, gene=gene, type=type, pos=pos)', '<string>', 'eval') - _G_expr_116 = compile('hgvs.sequencevariant.SequenceVariant(None,type,posedit)', '<string>', 'eval') - _G_expr_140 = compile('hgvs.posedit.PosEdit(pos=pos,edit=edit)', '<string>', 'eval') - _G_expr_160 = compile('hgvs.posedit.PosEdit(pos=pos,edit=edit, uncertain=True)', '<string>', 'eval') - _G_expr_178 = compile('hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=False)', '<string>', 'eval') - _G_expr_184 = compile('hgvs.posedit.PosEdit(pos=None,edit=x,uncertain=True)', '<string>', 'eval') - _G_expr_203 = compile('edit._set_uncertain()', '<string>', 'eval') - _G_expr_231 = compile('hgvs.edit.NARefAlt(ref=ref,alt=ref)', '<string>', 'eval') - _G_expr_236 = compile('hgvs.edit.NARefAlt(ref=ref,alt=alt)', '<string>', 'eval') - _G_expr_269 = compile('hgvs.edit.NARefAlt(ref=ref,alt=None)', '<string>', 'eval') - _G_expr_277 = compile('hgvs.edit.NARefAlt(ref=None,alt=alt)', '<string>', 'eval') - _G_expr_285 = compile('hgvs.edit.Dup(ref=ref)', '<string>', 'eval') - _G_expr_299 = compile('hgvs.edit.Inv(ref=None)', '<string>', 'eval') - _G_expr_303 = compile('hgvs.edit.Conv(from_ac=pos.ac, from_type=pos.type, from_pos=pos.pos)', '<string>', 'eval') - _G_expr_307 = compile('hgvs.edit.NACopy(copy=n)', '<string>', 'eval') - _G_expr_437 = compile("hgvs.edit.AASub(ref='',alt=alt)", '<string>', 'eval') - _G_expr_441 = compile("hgvs.edit.AARefAlt(ref='',alt=alt)", '<string>', 'eval') - _G_expr_444 = compile("hgvs.edit.AARefAlt(ref='',alt=None)", '<string>', 'eval') - _G_expr_448 = compile('hgvs.edit.AARefAlt(ref=None,alt=alt)', '<string>', 'eval') - _G_expr_451 = compile("hgvs.edit.Dup(ref='')", '<string>', 'eval') - _G_expr_459 = compile("hgvs.edit.AAFs(ref='', alt=alt, length=length)", '<string>', 'eval') - _G_expr_466 = compile("hgvs.edit.AAExt(ref='', alt=alt, aaterm=aaterm, length=length)", '<string>', 'eval') - _G_expr_469 = compile("hgvs.edit.AARefAlt(ref='',alt='')", '<string>', 'eval') - _G_expr_477 = compile('iv._set_uncertain()', '<string>', 'eval') - _G_expr_526 = compile('hgvs.location.Interval(start,end)', '<string>', 'eval') - _G_expr_530 = compile('hgvs.location.Interval(start,None)', '<string>', 'eval') - _G_expr_564 = compile('hgvs.location.BaseOffsetInterval(start,end)', '<string>', 'eval') - _G_expr_568 = compile('hgvs.location.BaseOffsetInterval(start,copy.deepcopy(start))', '<string>', 'eval') - _G_expr_588 = compile('hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end._set_uncertain())', '<string>', 'eval') - _G_expr_596 = compile('hgvs.location.Interval(start=ivl_start, end=ivl_end._set_uncertain())', '<string>', 'eval') - _G_expr_604 = compile('hgvs.location.Interval(start=ivl_start._set_uncertain(), end=ivl_end)', '<string>', 'eval') - _G_expr_616 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_START)', '<string>', 'eval') - _G_expr_622 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.CDS_END)', '<string>', 'eval') - _G_expr_631 = compile('hgvs.location.SimplePosition(pos)', '<string>', 'eval') - _G_expr_642 = compile('hgvs.location.BaseOffsetPosition(b,o,datum=hgvs.enums.Datum.SEQ_START)', '<string>', 'eval') - _G_expr_650 = compile('hgvs.location.AAPosition(pos,bioutils.sequences.aa_to_aa1(aa))', '<string>', 'eval') - _G_expr_661 = compile('n', '<string>', 'eval') - _G_expr_669 = compile('(aat, n)', '<string>', 'eval') - _G_expr_764 = compile("x in 'ACDEFGHIKLMNPQRSTVWYBZXU'", '<string>', 'eval') - _G_expr_767 = compile('x', '<string>', 'eval') - _G_expr_841 = compile("x in 'ACGTRYMKWSBDHVNacgtrymkwsbdhvn'", '<string>', 'eval') - _G_expr_847 = compile("x in 'ACGTURYMKWSBDHVNacgturymkwsbdhvn'", '<string>', 'eval') - _G_expr_854 = compile("x in 'ACGURYMKWSBDHVNacgurymkwsbdhvn'", '<string>', 'eval') - _G_expr_860 = compile("x in 'X*'", '<string>', 'eval') - _G_expr_875 = compile('int(x)', '<string>', 'eval') - _G_expr_890 = compile("x in '-+'", '<string>', 'eval') - _G_expr_934 = compile('gene', '<string>', 'eval') - _G_expr_939 = compile('symbol', '<string>', 'eval') if Grammar.globals is not None: Grammar.globals = Grammar.globals.copy() Grammar.globals.update(ruleGlobals) else: Grammar.globals = ruleGlobals - return Grammar \ No newline at end of file + return Grammar