<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Martel.msre_parse</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="Martel-module.html">Package Martel</a> :: Module msre_parse </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="Martel.msre_parse-pysrc.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <h1 class="epydoc">Source Code for <a href="Martel.msre_parse-module.html">Module Martel.msre_parse</a></h1> <pre class="py-src"> <a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt> <a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Secret Labs' Regular Expression Engine</tt> </tt> <a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># convert re-style regular expression to sre pattern</tt> </tt> <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 1998-2001 by Secret Labs AB. All rights reserved.</tt> </tt> <a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># See the sre.py file in Python 2.1 for information on usage and</tt> </tt> <a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># redistribution.</tt> </tt> <a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Changes for Martel Copyright 2000-2001 by Dalke Scientific Software, LLC</tt> </tt> <a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Distributed under the Biopython License Agreement (see the LICENSE file).</tt> </tt> <a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"># XXX: show string offset and offending character for all errors</tt> </tt> <a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># this module works under 1.5.2 and later. don't use string methods</tt> </tt> <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">import</tt> <tt class="py-name">string</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt> <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt> <a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module Martel.msre_constants=Martel.msre_constants-module.html"><a title="Martel.msre_constants" class="py-name" href="#" onclick="return doclink('link-0', 'msre_constants', 'link-0');">msre_constants</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> <tt class="py-comment"># Modified version of Secret Labs' sre_constants</tt> </tt> <a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> <tt class="py-comment"># needed to verify the attr format</tt> </tt> <a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> </tt> <a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable Martel.msre_parse.SPECIAL_CHARS=Martel.msre_parse-module.html#SPECIAL_CHARS"><a title="Martel.msre_parse.SPECIAL_CHARS" class="py-name" href="#" onclick="return doclink('link-1', 'SPECIAL_CHARS', 'link-1');">SPECIAL_CHARS</a></tt> <tt class="py-op">=</tt> <tt class="py-string">".\\[{()*+?^$|"</tt> </tt> <a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable Martel.msre_parse.REPEAT_CHARS=Martel.msre_parse-module.html#REPEAT_CHARS"><a title="Martel.msre_parse.REPEAT_CHARS" class="py-name" href="#" onclick="return doclink('link-2', 'REPEAT_CHARS', 'link-2');">REPEAT_CHARS</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"*+?{"</tt> </tt> <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt> <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable Martel.msre_parse.DIGITS=Martel.msre_parse-module.html#DIGITS"><a title="Martel.msre_parse.DIGITS" class="py-name" href="#" onclick="return doclink('link-3', 'DIGITS', 'link-3');">DIGITS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-string">"0123456789"</tt><tt class="py-op">)</tt> </tt> <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt> <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable Martel.msre_parse.OCTDIGITS=Martel.msre_parse-module.html#OCTDIGITS"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-4', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-string">"01234567"</tt><tt class="py-op">)</tt> </tt> <a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable Martel.msre_parse.HEXDIGITS=Martel.msre_parse-module.html#HEXDIGITS"><a title="Martel.msre_parse.HEXDIGITS" class="py-name" href="#" onclick="return doclink('link-5', 'HEXDIGITS', 'link-5');">HEXDIGITS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-string">"0123456789abcdefABCDEF"</tt><tt class="py-op">)</tt> </tt> <a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt> <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable Bio.Nexus.Nexus.WHITESPACE=Bio.Nexus.Nexus-module.html#WHITESPACE,Variable Martel.msre_parse.WHITESPACE=Martel.msre_parse-module.html#WHITESPACE"><a title="Bio.Nexus.Nexus.WHITESPACE Martel.msre_parse.WHITESPACE" class="py-name" href="#" onclick="return doclink('link-6', 'WHITESPACE', 'link-6');">WHITESPACE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-string">" \t\n\r\v\f"</tt><tt class="py-op">)</tt> </tt> <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt> <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable Martel.msre_parse.ESCAPES=Martel.msre_parse-module.html#ESCAPES"><a title="Martel.msre_parse.ESCAPES" class="py-name" href="#" onclick="return doclink('link-7', 'ESCAPES', 'link-7');">ESCAPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt> <a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-string">r"\a"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-8" class="py-name" targets="Variable Martel.msre_constants.LITERAL=Martel.msre_constants-module.html#LITERAL,Variable Martel.msre_parse.LITERAL=Martel.msre_parse-module.html#LITERAL"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-8', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\a"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-string">r"\b"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-9', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\b"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-string">r"\f"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-10" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-10', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\f"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-string">r"\n"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-11', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-string">r"\r"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-12" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-12', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-string">r"\R"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-13" class="py-name" targets="Variable Martel.msre_constants.IN=Martel.msre_constants-module.html#IN,Variable Martel.msre_parse.IN=Martel.msre_parse-module.html#IN"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-13', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name" targets="Variable Martel.msre_constants.CATEGORY=Martel.msre_constants-module.html#CATEGORY,Variable Martel.msre_parse.CATEGORY=Martel.msre_parse-module.html#CATEGORY"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-14', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name" targets="Variable Martel.msre_constants.CATEGORY_NEWLINE=Martel.msre_constants-module.html#CATEGORY_NEWLINE,Variable Martel.msre_parse.CATEGORY_NEWLINE=Martel.msre_parse-module.html#CATEGORY_NEWLINE"><a title="Martel.msre_constants.CATEGORY_NEWLINE Martel.msre_parse.CATEGORY_NEWLINE" class="py-name" href="#" onclick="return doclink('link-15', 'CATEGORY_NEWLINE', 'link-15');">CATEGORY_NEWLINE</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># Martel extension</tt> </tt> <a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-string">r"\t"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-16', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\t"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-string">r"\v"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-17', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\v"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-string">r"\\"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-18', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"\\"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-op">}</tt> </tt> <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> </tt> <a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable Martel.msre_parse.CATEGORIES=Martel.msre_parse-module.html#CATEGORIES"><a title="Martel.msre_parse.CATEGORIES" class="py-name" href="#" onclick="return doclink('link-19', 'CATEGORIES', 'link-19');">CATEGORIES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt> <a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-string">r"\A"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-20" class="py-name" targets="Variable Martel.msre_constants.AT=Martel.msre_constants-module.html#AT,Variable Martel.msre_parse.AT=Martel.msre_parse-module.html#AT"><a title="Martel.msre_constants.AT Martel.msre_parse.AT" class="py-name" href="#" onclick="return doclink('link-20', 'AT', 'link-20');">AT</a></tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name" targets="Variable Martel.msre_constants.AT_BEGINNING_STRING=Martel.msre_constants-module.html#AT_BEGINNING_STRING,Variable Martel.msre_parse.AT_BEGINNING_STRING=Martel.msre_parse-module.html#AT_BEGINNING_STRING"><a title="Martel.msre_constants.AT_BEGINNING_STRING Martel.msre_parse.AT_BEGINNING_STRING" class="py-name" href="#" onclick="return doclink('link-21', 'AT_BEGINNING_STRING', 'link-21');">AT_BEGINNING_STRING</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># start of string</tt> </tt> <a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-string">r"\b"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-22" class="py-name"><a title="Martel.msre_constants.AT Martel.msre_parse.AT" class="py-name" href="#" onclick="return doclink('link-22', 'AT', 'link-20');">AT</a></tt><tt class="py-op">,</tt> <tt id="link-23" class="py-name" targets="Variable Martel.msre_constants.AT_BOUNDARY=Martel.msre_constants-module.html#AT_BOUNDARY,Variable Martel.msre_parse.AT_BOUNDARY=Martel.msre_parse-module.html#AT_BOUNDARY"><a title="Martel.msre_constants.AT_BOUNDARY Martel.msre_parse.AT_BOUNDARY" class="py-name" href="#" onclick="return doclink('link-23', 'AT_BOUNDARY', 'link-23');">AT_BOUNDARY</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-string">r"\B"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="Martel.msre_constants.AT Martel.msre_parse.AT" class="py-name" href="#" onclick="return doclink('link-24', 'AT', 'link-20');">AT</a></tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name" targets="Variable Martel.msre_constants.AT_NON_BOUNDARY=Martel.msre_constants-module.html#AT_NON_BOUNDARY,Variable Martel.msre_parse.AT_NON_BOUNDARY=Martel.msre_parse-module.html#AT_NON_BOUNDARY"><a title="Martel.msre_constants.AT_NON_BOUNDARY Martel.msre_parse.AT_NON_BOUNDARY" class="py-name" href="#" onclick="return doclink('link-25', 'AT_NON_BOUNDARY', 'link-25');">AT_NON_BOUNDARY</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-string">r"\d"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-26', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-27" class="py-name"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-27', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name" targets="Variable Martel.msre_constants.CATEGORY_DIGIT=Martel.msre_constants-module.html#CATEGORY_DIGIT,Variable Martel.msre_parse.CATEGORY_DIGIT=Martel.msre_parse-module.html#CATEGORY_DIGIT"><a title="Martel.msre_constants.CATEGORY_DIGIT Martel.msre_parse.CATEGORY_DIGIT" class="py-name" href="#" onclick="return doclink('link-28', 'CATEGORY_DIGIT', 'link-28');">CATEGORY_DIGIT</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-string">r"\D"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-29', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-30', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name" targets="Variable Martel.msre_constants.CATEGORY_NOT_DIGIT=Martel.msre_constants-module.html#CATEGORY_NOT_DIGIT,Variable Martel.msre_parse.CATEGORY_NOT_DIGIT=Martel.msre_parse-module.html#CATEGORY_NOT_DIGIT"><a title="Martel.msre_constants.CATEGORY_NOT_DIGIT Martel.msre_parse.CATEGORY_NOT_DIGIT" class="py-name" href="#" onclick="return doclink('link-31', 'CATEGORY_NOT_DIGIT', 'link-31');">CATEGORY_NOT_DIGIT</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-string">r"\R"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-32" class="py-name" targets="Variable Martel.msre_constants.NEWLINE=Martel.msre_constants-module.html#NEWLINE,Variable Martel.msre_parse.NEWLINE=Martel.msre_parse-module.html#NEWLINE"><a title="Martel.msre_constants.NEWLINE Martel.msre_parse.NEWLINE" class="py-name" href="#" onclick="return doclink('link-32', 'NEWLINE', 'link-32');">NEWLINE</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># Martel extension</tt> </tt> <a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-string">r"\s"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-33', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-34', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">,</tt> <tt id="link-35" class="py-name" targets="Variable Martel.msre_constants.CATEGORY_SPACE=Martel.msre_constants-module.html#CATEGORY_SPACE,Variable Martel.msre_parse.CATEGORY_SPACE=Martel.msre_parse-module.html#CATEGORY_SPACE"><a title="Martel.msre_constants.CATEGORY_SPACE Martel.msre_parse.CATEGORY_SPACE" class="py-name" href="#" onclick="return doclink('link-35', 'CATEGORY_SPACE', 'link-35');">CATEGORY_SPACE</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-string">r"\S"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-36" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-36', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-37', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">,</tt> <tt id="link-38" class="py-name" targets="Variable Martel.msre_constants.CATEGORY_NOT_SPACE=Martel.msre_constants-module.html#CATEGORY_NOT_SPACE,Variable Martel.msre_parse.CATEGORY_NOT_SPACE=Martel.msre_parse-module.html#CATEGORY_NOT_SPACE"><a title="Martel.msre_constants.CATEGORY_NOT_SPACE Martel.msre_parse.CATEGORY_NOT_SPACE" class="py-name" href="#" onclick="return doclink('link-38', 'CATEGORY_NOT_SPACE', 'link-38');">CATEGORY_NOT_SPACE</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-string">r"\w"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-39" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-39', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-40', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">,</tt> <tt id="link-41" class="py-name" targets="Variable Martel.msre_constants.CATEGORY_WORD=Martel.msre_constants-module.html#CATEGORY_WORD,Variable Martel.msre_parse.CATEGORY_WORD=Martel.msre_parse-module.html#CATEGORY_WORD"><a title="Martel.msre_constants.CATEGORY_WORD Martel.msre_parse.CATEGORY_WORD" class="py-name" href="#" onclick="return doclink('link-41', 'CATEGORY_WORD', 'link-41');">CATEGORY_WORD</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-string">r"\W"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-42" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-42', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-43', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name" targets="Variable Martel.msre_constants.CATEGORY_NOT_WORD=Martel.msre_constants-module.html#CATEGORY_NOT_WORD,Variable Martel.msre_parse.CATEGORY_NOT_WORD=Martel.msre_parse-module.html#CATEGORY_NOT_WORD"><a title="Martel.msre_constants.CATEGORY_NOT_WORD Martel.msre_parse.CATEGORY_NOT_WORD" class="py-name" href="#" onclick="return doclink('link-44', 'CATEGORY_NOT_WORD', 'link-44');">CATEGORY_NOT_WORD</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-string">r"\Z"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="Martel.msre_constants.AT Martel.msre_parse.AT" class="py-name" href="#" onclick="return doclink('link-45', 'AT', 'link-20');">AT</a></tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name" targets="Variable Martel.msre_constants.AT_END_STRING=Martel.msre_constants-module.html#AT_END_STRING,Variable Martel.msre_parse.AT_END_STRING=Martel.msre_parse-module.html#AT_END_STRING"><a title="Martel.msre_constants.AT_END_STRING Martel.msre_parse.AT_END_STRING" class="py-name" href="#" onclick="return doclink('link-46', 'AT_END_STRING', 'link-46');">AT_END_STRING</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># end of string</tt> </tt> <a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-op">}</tt> </tt> <a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt> <a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt id="link-47" class="py-name" targets="Variable Martel.msre_parse.FLAGS=Martel.msre_parse-module.html#FLAGS"><a title="Martel.msre_parse.FLAGS" class="py-name" href="#" onclick="return doclink('link-47', 'FLAGS', 'link-47');">FLAGS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt> <a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-comment"># standard flags</tt> </tt> <a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-string">"i"</tt><tt class="py-op">:</tt> <tt id="link-48" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_IGNORECASE=Martel.msre_constants-module.html#SRE_FLAG_IGNORECASE,Variable Martel.msre_parse.SRE_FLAG_IGNORECASE=Martel.msre_parse-module.html#SRE_FLAG_IGNORECASE"><a title="Martel.msre_constants.SRE_FLAG_IGNORECASE Martel.msre_parse.SRE_FLAG_IGNORECASE" class="py-name" href="#" onclick="return doclink('link-48', 'SRE_FLAG_IGNORECASE', 'link-48');">SRE_FLAG_IGNORECASE</a></tt><tt class="py-op">,</tt> </tt> <a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-string">"L"</tt><tt class="py-op">:</tt> <tt id="link-49" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_LOCALE=Martel.msre_constants-module.html#SRE_FLAG_LOCALE,Variable Martel.msre_parse.SRE_FLAG_LOCALE=Martel.msre_parse-module.html#SRE_FLAG_LOCALE"><a title="Martel.msre_constants.SRE_FLAG_LOCALE Martel.msre_parse.SRE_FLAG_LOCALE" class="py-name" href="#" onclick="return doclink('link-49', 'SRE_FLAG_LOCALE', 'link-49');">SRE_FLAG_LOCALE</a></tt><tt class="py-op">,</tt> </tt> <a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-string">"m"</tt><tt class="py-op">:</tt> <tt id="link-50" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_MULTILINE=Martel.msre_constants-module.html#SRE_FLAG_MULTILINE,Variable Martel.msre_parse.SRE_FLAG_MULTILINE=Martel.msre_parse-module.html#SRE_FLAG_MULTILINE"><a title="Martel.msre_constants.SRE_FLAG_MULTILINE Martel.msre_parse.SRE_FLAG_MULTILINE" class="py-name" href="#" onclick="return doclink('link-50', 'SRE_FLAG_MULTILINE', 'link-50');">SRE_FLAG_MULTILINE</a></tt><tt class="py-op">,</tt> </tt> <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-string">"s"</tt><tt class="py-op">:</tt> <tt id="link-51" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_DOTALL=Martel.msre_constants-module.html#SRE_FLAG_DOTALL,Variable Martel.msre_parse.SRE_FLAG_DOTALL=Martel.msre_parse-module.html#SRE_FLAG_DOTALL"><a title="Martel.msre_constants.SRE_FLAG_DOTALL Martel.msre_parse.SRE_FLAG_DOTALL" class="py-name" href="#" onclick="return doclink('link-51', 'SRE_FLAG_DOTALL', 'link-51');">SRE_FLAG_DOTALL</a></tt><tt class="py-op">,</tt> </tt> <a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-string">"x"</tt><tt class="py-op">:</tt> <tt id="link-52" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_VERBOSE=Martel.msre_constants-module.html#SRE_FLAG_VERBOSE,Variable Martel.msre_parse.SRE_FLAG_VERBOSE=Martel.msre_parse-module.html#SRE_FLAG_VERBOSE"><a title="Martel.msre_constants.SRE_FLAG_VERBOSE Martel.msre_parse.SRE_FLAG_VERBOSE" class="py-name" href="#" onclick="return doclink('link-52', 'SRE_FLAG_VERBOSE', 'link-52');">SRE_FLAG_VERBOSE</a></tt><tt class="py-op">,</tt> </tt> <a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># extensions</tt> </tt> <a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-string">"t"</tt><tt class="py-op">:</tt> <tt id="link-53" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_TEMPLATE=Martel.msre_constants-module.html#SRE_FLAG_TEMPLATE,Variable Martel.msre_parse.SRE_FLAG_TEMPLATE=Martel.msre_parse-module.html#SRE_FLAG_TEMPLATE"><a title="Martel.msre_constants.SRE_FLAG_TEMPLATE Martel.msre_parse.SRE_FLAG_TEMPLATE" class="py-name" href="#" onclick="return doclink('link-53', 'SRE_FLAG_TEMPLATE', 'link-53');">SRE_FLAG_TEMPLATE</a></tt><tt class="py-op">,</tt> </tt> <a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-string">"u"</tt><tt class="py-op">:</tt> <tt id="link-54" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_UNICODE=Martel.msre_constants-module.html#SRE_FLAG_UNICODE,Variable Martel.msre_parse.SRE_FLAG_UNICODE=Martel.msre_parse-module.html#SRE_FLAG_UNICODE"><a title="Martel.msre_constants.SRE_FLAG_UNICODE Martel.msre_parse.SRE_FLAG_UNICODE" class="py-name" href="#" onclick="return doclink('link-54', 'SRE_FLAG_UNICODE', 'link-54');">SRE_FLAG_UNICODE</a></tt><tt class="py-op">,</tt> </tt> <a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-op">}</tt> </tt> <a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> </tt> <a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-comment"># figure out best way to convert hex/octal numbers to integers</tt> </tt> <a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-string">"10"</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> </tt> <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">atoi</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-comment"># 2.0 and later</tt> </tt> <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt> <a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">atoi</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">atoi</tt> <tt class="py-comment"># 1.5.2</tt> </tt> <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt> <a name="Pattern"></a><div id="Pattern-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="Pattern-toggle" onclick="return toggle('Pattern');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.msre_parse.Pattern-class.html">Pattern</a><tt class="py-op">:</tt> </tt> </div><div id="Pattern-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Pattern-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-comment"># master pattern object. keeps track of global attributes</tt> </tt> <a name="Pattern.__init__"></a><div id="Pattern.__init__-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="Pattern.__init__-toggle" onclick="return toggle('Pattern.__init__');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Pattern-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Pattern.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Pattern.__init__-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Function Bio.Mindy.FlatDB.open()=Bio.Mindy.FlatDB-module.html#open,Function Bio.Mindy.open()=Bio.Mindy-module.html#open"><a title="Bio.Mindy.FlatDB.open Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-55', 'open', 'link-55');">open</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method Bio.Prosite.Pattern.PrositeMatch.groups()=Bio.Prosite.Pattern.PrositeMatch-class.html#groups"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-56', 'groups', 'link-56');">groups</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">groupdict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> </div><a name="Pattern.opengroup"></a><div id="Pattern.opengroup-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="Pattern.opengroup-toggle" onclick="return toggle('Pattern.opengroup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Pattern-class.html#opengroup">opengroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Pattern.opengroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Pattern.opengroup-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">gid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-57', 'groups', 'link-56');">groups</a></tt> </tt> <a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-58', 'groups', 'link-56');">groups</a></tt> <tt class="py-op">=</tt> <tt class="py-name">gid</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> <a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-59" class="py-name" targets="Variable Bio.Encodings.IUPACEncoding.name=Bio.Encodings.IUPACEncoding-module.html#name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-59', 'name', 'link-59');">name</a></tt><tt class="py-op">:</tt> </tt> <a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">groupdict</tt><tt class="py-op">[</tt><tt id="link-60" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-60', 'name', 'link-59');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">gid</tt> </tt> <a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="Bio.Mindy.FlatDB.open Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-61', 'open', 'link-55');">open</a></tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method Bio.Crystal.Chain.append()=Bio.Crystal.Chain-class.html#append,Method Bio.EUtils.POM.ElementNode.append()=Bio.EUtils.POM.ElementNode-class.html#append,Method Bio.EUtils.sourcegen.SourceFile.append()=Bio.EUtils.sourcegen.SourceFile-class.html#append,Method Bio.SCOP.Raf.SeqMap.append()=Bio.SCOP.Raf.SeqMap-class.html#append,Method Bio.Seq.MutableSeq.append()=Bio.Seq.MutableSeq-class.html#append,Method Bio.Wise.psw.Alignment.append()=Bio.Wise.psw.Alignment-class.html#append,Method Bio.Wise.psw.AlignmentColumn.append()=Bio.Wise.psw.AlignmentColumn-class.html#append,Method Martel.msre_parse.SubPattern.append()=Martel.msre_parse.SubPattern-class.html#append"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-62', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">gid</tt><tt class="py-op">)</tt> </tt> <a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">gid</tt> </tt> </div><a name="Pattern.closegroup"></a><div id="Pattern.closegroup-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="Pattern.closegroup-toggle" onclick="return toggle('Pattern.closegroup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Pattern-class.html#closegroup">closegroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">gid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Pattern.closegroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Pattern.closegroup-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="Bio.Mindy.FlatDB.open Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-63', 'open', 'link-55');">open</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method Bio.Crystal.Chain.remove()=Bio.Crystal.Chain-class.html#remove,Method Bio.GFF.GenericTools.TempFile.remove()=Bio.GFF.GenericTools.TempFile-class.html#remove,Method Bio.Graphics.BasicChromosome._ChromosomeComponent.remove()=Bio.Graphics.BasicChromosome._ChromosomeComponent-class.html#remove,Method Bio.Pathway.Rep.HashSet.HashSet.remove()=Bio.Pathway.Rep.HashSet.HashSet-class.html#remove,Method Bio.Restriction.Restriction.RestrictionBatch.remove()=Bio.Restriction.Restriction.RestrictionBatch-class.html#remove,Method Bio.Seq.MutableSeq.remove()=Bio.Seq.MutableSeq-class.html#remove,Method BioSQL.Loader.DatabaseRemover.remove()=BioSQL.Loader.DatabaseRemover-class.html#remove"><a title="Bio.Crystal.Chain.remove Bio.GFF.GenericTools.TempFile.remove Bio.Graphics.BasicChromosome._ChromosomeComponent.remove Bio.Pathway.Rep.HashSet.HashSet.remove Bio.Restriction.Restriction.RestrictionBatch.remove Bio.Seq.MutableSeq.remove BioSQL.Loader.DatabaseRemover.remove" class="py-name" href="#" onclick="return doclink('link-64', 'remove', 'link-64');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">gid</tt><tt class="py-op">)</tt> </tt> </div><a name="Pattern.checkgroup"></a><div id="Pattern.checkgroup-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="Pattern.checkgroup-toggle" onclick="return toggle('Pattern.checkgroup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Pattern-class.html#checkgroup">checkgroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">gid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Pattern.checkgroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Pattern.checkgroup-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">gid</tt> <tt class="py-op"><</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-65', 'groups', 'link-56');">groups</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">gid</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="Bio.Mindy.FlatDB.open Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-66', 'open', 'link-55');">open</a></tt> </tt> </div></div><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt> <a name="SubPattern"></a><div id="SubPattern-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="SubPattern-toggle" onclick="return toggle('SubPattern');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html">SubPattern</a><tt class="py-op">:</tt> </tt> </div><div id="SubPattern-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SubPattern-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-comment"># a subpattern, in intermediate form</tt> </tt> <a name="SubPattern.__init__"></a><div id="SubPattern.__init__-def"><a name="L98"></a><tt class="py-lineno"> 98</tt> <a class="py-toggle" href="#" id="SubPattern.__init__-toggle" onclick="return toggle('SubPattern.__init__');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pattern</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.__init__-expanded"><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method Bio.Prosite._RecordConsumer.pattern()=Bio.Prosite._RecordConsumer-class.html#pattern"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-67', 'pattern', 'link-67');">pattern</a></tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-68', 'pattern', 'link-67');">pattern</a></tt> </tt> <a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-69" class="py-name" targets="Variable BioSQL.BioSeq.DBSeq.data=BioSQL.BioSeq.DBSeq-class.html#data"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-69', 'data', 'link-69');">data</a></tt><tt class="py-op">:</tt> </tt> <a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt id="link-70" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-70', 'data', 'link-69');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-71', 'data', 'link-69');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-72', 'data', 'link-69');">data</a></tt> </tt> <a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> </div><a name="SubPattern.dump"></a><div id="SubPattern.dump-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="SubPattern.dump-toggle" onclick="return toggle('SubPattern.dump');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#dump">dump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.dump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.dump-expanded"><a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">op</tt><tt class="py-op">,</tt> <tt class="py-name">av</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-73', 'data', 'link-69');">data</a></tt><tt class="py-op">:</tt> </tt> <a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">level</tt><tt class="py-op">*</tt><tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">op</tt><tt class="py-op">,</tt><tt class="py-op">;</tt> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">op</tt> <tt class="py-op">==</tt> <tt class="py-string">"in"</tt><tt class="py-op">:</tt> </tt> <a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-comment"># member sublanguage</tt> </tt> <a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">print</tt><tt class="py-op">;</tt> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">op</tt><tt class="py-op">,</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">av</tt><tt class="py-op">:</tt> </tt> <a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">op</tt><tt class="py-op">,</tt> <tt class="py-name">a</tt> </tt> <a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">op</tt> <tt class="py-op">==</tt> <tt class="py-string">"branch"</tt><tt class="py-op">:</tt> </tt> <a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">print</tt><tt class="py-op">;</tt> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt id="link-74" class="py-name" targets="Variable Bio.PDB.Polypeptide.i=Bio.PDB.Polypeptide-module.html#i"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-74', 'i', 'link-74');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">av</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt> <a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-75" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-75', 'i', 'link-74');">i</a></tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> <a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">level</tt><tt class="py-op">*</tt><tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-string">"or"</tt> </tt> <a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name" targets="Method Bio.DocSQL.Query.dump()=Bio.DocSQL.Query-class.html#dump,Method Martel.msre_parse.SubPattern.dump()=Martel.msre_parse.SubPattern-class.html#dump,Method Martel.test.support.Storage.dump()=Martel.test.support.Storage-class.html#dump,Function Martel.test.test_swissprot38.dump()=Martel.test.test_swissprot38-module.html#dump"><a title="Bio.DocSQL.Query.dump Martel.msre_parse.SubPattern.dump Martel.test.support.Storage.dump Martel.test.test_swissprot38.dump" class="py-name" href="#" onclick="return doclink('link-76', 'dump', 'link-76');">dump</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt id="link-77" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-77', 'i', 'link-74');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-78" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-78', 'i', 'link-74');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> <a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-79" class="py-name" targets="Variable Bio.GenBank.LocationParser.Integer.type=Bio.GenBank.LocationParser.Integer-class.html#type,Variable Bio.GenBank.LocationParser.Symbol.type=Bio.GenBank.LocationParser.Symbol-class.html#type,Variable Bio.GenBank.LocationParser.UnsignedInteger.type=Bio.GenBank.LocationParser.UnsignedInteger-class.html#type"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-79', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">av</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-80', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-81" class="py-name"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-81', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">av</tt><tt class="py-op">:</tt> </tt> <a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-82" class="py-name" targets="Class Martel.msre_parse.SubPattern=Martel.msre_parse.SubPattern-class.html"><a title="Martel.msre_parse.SubPattern" class="py-name" href="#" onclick="return doclink('link-82', 'SubPattern', 'link-82');">SubPattern</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">nl</tt><tt class="py-op">:</tt> <tt class="py-keyword">print</tt> </tt> <a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="Bio.DocSQL.Query.dump Martel.msre_parse.SubPattern.dump Martel.test.support.Storage.dump Martel.test.test_swissprot38.dump" class="py-name" href="#" onclick="return doclink('link-83', 'dump', 'link-76');">dump</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-op">;</tt> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">av</tt><tt class="py-op">,</tt> <tt class="py-op">;</tt> <tt class="py-name">nl</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">nl</tt><tt class="py-op">:</tt> <tt class="py-keyword">print</tt> </tt> </div><a name="SubPattern.__repr__"></a><div id="SubPattern.__repr__-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="SubPattern.__repr__-toggle" onclick="return toggle('SubPattern.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.__repr__-expanded"><a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-84', 'data', 'link-69');">data</a></tt><tt class="py-op">)</tt> </tt> </div><a name="SubPattern.__len__"></a><div id="SubPattern.__len__-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="SubPattern.__len__-toggle" onclick="return toggle('SubPattern.__len__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#__len__">__len__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.__len__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.__len__-expanded"><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-85', 'data', 'link-69');">data</a></tt><tt class="py-op">)</tt> </tt> </div><a name="SubPattern.__delitem__"></a><div id="SubPattern.__delitem__-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="SubPattern.__delitem__-toggle" onclick="return toggle('SubPattern.__delitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#__delitem__">__delitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">index</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.__delitem__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.__delitem__-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-86', 'data', 'link-69');">data</a></tt><tt class="py-op">[</tt><tt id="link-87" class="py-name" targets="Method Bio.Crystal.Chain.index()=Bio.Crystal.Chain-class.html#index,Method Bio.EUtils.POM.ElementNode.index()=Bio.EUtils.POM.ElementNode-class.html#index,Method Bio.SCOP.Raf.SeqMap.index()=Bio.SCOP.Raf.SeqMap-class.html#index,Method Bio.Seq.MutableSeq.index()=Bio.Seq.MutableSeq-class.html#index"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-87', 'index', 'link-87');">index</a></tt><tt class="py-op">]</tt> </tt> </div><a name="SubPattern.__getitem__"></a><div id="SubPattern.__getitem__-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="SubPattern.__getitem__-toggle" onclick="return toggle('SubPattern.__getitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">index</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.__getitem__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.__getitem__-expanded"><a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-88', 'data', 'link-69');">data</a></tt><tt class="py-op">[</tt><tt id="link-89" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-89', 'index', 'link-87');">index</a></tt><tt class="py-op">]</tt> </tt> </div><a name="SubPattern.__setitem__"></a><div id="SubPattern.__setitem__-def"><a name="L139"></a><tt class="py-lineno">139</tt> <a class="py-toggle" href="#" id="SubPattern.__setitem__-toggle" onclick="return toggle('SubPattern.__setitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#__setitem__">__setitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">index</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.__setitem__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.__setitem__-expanded"><a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-90', 'data', 'link-69');">data</a></tt><tt class="py-op">[</tt><tt id="link-91" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-91', 'index', 'link-87');">index</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">code</tt> </tt> </div><a name="SubPattern.__getslice__"></a><div id="SubPattern.__getslice__-def"><a name="L141"></a><tt class="py-lineno">141</tt> <a class="py-toggle" href="#" id="SubPattern.__getslice__-toggle" onclick="return toggle('SubPattern.__getslice__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#__getslice__">__getslice__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">start</tt><tt class="py-op">,</tt> <tt class="py-param">stop</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.__getslice__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.__getslice__-expanded"><a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-92" class="py-name"><a title="Martel.msre_parse.SubPattern" class="py-name" href="#" onclick="return doclink('link-92', 'SubPattern', 'link-82');">SubPattern</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-93', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-94', 'data', 'link-69');">data</a></tt><tt class="py-op">[</tt><tt id="link-95" class="py-name" targets="Method Bio.GFF.easy.Location.start()=Bio.GFF.easy.Location-class.html#start,Method Bio.Prosite.Pattern.PrositeMatch.start()=Bio.Prosite.Pattern.PrositeMatch-class.html#start,Variable Bio.Restriction._Update.RestrictionCompiler.start=Bio.Restriction._Update.RestrictionCompiler-module.html#start,Method Martel.LAX.LAX.start()=Martel.LAX.LAX-class.html#start"><a title="Bio.GFF.easy.Location.start Bio.Prosite.Pattern.PrositeMatch.start Bio.Restriction._Update.RestrictionCompiler.start Martel.LAX.LAX.start" class="py-name" href="#" onclick="return doclink('link-95', 'start', 'link-95');">start</a></tt><tt class="py-op">:</tt><tt class="py-name">stop</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> </div><a name="SubPattern.insert"></a><div id="SubPattern.insert-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="SubPattern.insert-toggle" onclick="return toggle('SubPattern.insert');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#insert">insert</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">index</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.insert-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.insert-expanded"><a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-96', 'data', 'link-69');">data</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method Bio.Crystal.Chain.insert()=Bio.Crystal.Chain-class.html#insert,Method Bio.EUtils.POM.Comment.insert()=Bio.EUtils.POM.Comment-class.html#insert,Method Bio.EUtils.POM.ElementNode.insert()=Bio.EUtils.POM.ElementNode-class.html#insert,Method Bio.EUtils.POM.IndentedText.insert()=Bio.EUtils.POM.IndentedText-class.html#insert,Method Bio.Seq.MutableSeq.insert()=Bio.Seq.MutableSeq-class.html#insert,Method Martel.msre_parse.SubPattern.insert()=Martel.msre_parse.SubPattern-class.html#insert"><a title="Bio.Crystal.Chain.insert Bio.EUtils.POM.Comment.insert Bio.EUtils.POM.ElementNode.insert Bio.EUtils.POM.IndentedText.insert Bio.Seq.MutableSeq.insert Martel.msre_parse.SubPattern.insert" class="py-name" href="#" onclick="return doclink('link-97', 'insert', 'link-97');">insert</a></tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-98', 'index', 'link-87');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">code</tt><tt class="py-op">)</tt> </tt> </div><a name="SubPattern.append"></a><div id="SubPattern.append-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="SubPattern.append-toggle" onclick="return toggle('SubPattern.append');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#append">append</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.append-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.append-expanded"><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-99', 'data', 'link-69');">data</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-100', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">)</tt> </tt> </div><a name="SubPattern.getwidth"></a><div id="SubPattern.getwidth-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="SubPattern.getwidth-toggle" onclick="return toggle('SubPattern.getwidth');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.SubPattern-class.html#getwidth">getwidth</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SubPattern.getwidth-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubPattern.getwidth-expanded"><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-comment"># determine the width (min, max) for this subpattern</tt> </tt> <a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt><tt class="py-op">:</tt> </tt> <a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> </tt> <a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-number">0L</tt> </tt> <a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">op</tt><tt class="py-op">,</tt> <tt class="py-name">av</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-101', 'data', 'link-69');">data</a></tt><tt class="py-op">:</tt> </tt> <a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">op</tt> <tt class="py-keyword">is</tt> <tt id="link-102" class="py-name" targets="Variable Martel.msre_constants.BRANCH=Martel.msre_constants-module.html#BRANCH,Variable Martel.msre_parse.BRANCH=Martel.msre_parse-module.html#BRANCH"><a title="Martel.msre_constants.BRANCH Martel.msre_parse.BRANCH" class="py-name" href="#" onclick="return doclink('link-102', 'BRANCH', 'link-102');">BRANCH</a></tt><tt class="py-op">:</tt> </tt> <a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt id="link-103" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-103', 'i', 'link-74');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">maxint</tt> </tt> <a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">av</tt> <tt class="py-keyword">in</tt> <tt class="py-name">av</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt> <a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">l</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">av</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method Martel.msre_parse.SubPattern.getwidth()=Martel.msre_parse.SubPattern-class.html#getwidth"><a title="Martel.msre_parse.SubPattern.getwidth" class="py-name" href="#" onclick="return doclink('link-104', 'getwidth', 'link-104');">getwidth</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt id="link-105" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-105', 'i', 'link-74');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt id="link-106" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-106', 'i', 'link-74');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">)</tt> </tt> <a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">j</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">)</tt> </tt> <a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> <tt class="py-op">+</tt> <tt id="link-107" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-107', 'i', 'link-74');">i</a></tt> </tt> <a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">+</tt> <tt class="py-name">j</tt> </tt> <a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">op</tt> <tt class="py-keyword">is</tt> <tt id="link-108" class="py-name" targets="Variable Martel.msre_constants.CALL=Martel.msre_constants-module.html#CALL,Variable Martel.msre_parse.CALL=Martel.msre_parse-module.html#CALL"><a title="Martel.msre_constants.CALL Martel.msre_parse.CALL" class="py-name" href="#" onclick="return doclink('link-108', 'CALL', 'link-108');">CALL</a></tt><tt class="py-op">:</tt> </tt> <a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt id="link-109" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-109', 'i', 'link-74');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">av</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="Martel.msre_parse.SubPattern.getwidth" class="py-name" href="#" onclick="return doclink('link-110', 'getwidth', 'link-104');">getwidth</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> <tt class="py-op">+</tt> <tt id="link-111" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-111', 'i', 'link-74');">i</a></tt> </tt> <a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">+</tt> <tt class="py-name">j</tt> </tt> <a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">op</tt> <tt class="py-keyword">is</tt> <tt id="link-112" class="py-name" targets="Variable Martel.msre_constants.SUBPATTERN=Martel.msre_constants-module.html#SUBPATTERN,Variable Martel.msre_parse.SUBPATTERN=Martel.msre_parse-module.html#SUBPATTERN"><a title="Martel.msre_constants.SUBPATTERN Martel.msre_parse.SUBPATTERN" class="py-name" href="#" onclick="return doclink('link-112', 'SUBPATTERN', 'link-112');">SUBPATTERN</a></tt><tt class="py-op">:</tt> </tt> <a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt id="link-113" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-113', 'i', 'link-74');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">av</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="Martel.msre_parse.SubPattern.getwidth" class="py-name" href="#" onclick="return doclink('link-114', 'getwidth', 'link-104');">getwidth</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> <tt class="py-op">+</tt> <tt id="link-115" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-115', 'i', 'link-74');">i</a></tt> </tt> <a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">+</tt> <tt class="py-name">j</tt> </tt> <a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">op</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt id="link-116" class="py-name" targets="Variable Martel.msre_constants.MIN_REPEAT=Martel.msre_constants-module.html#MIN_REPEAT,Variable Martel.msre_parse.MIN_REPEAT=Martel.msre_parse-module.html#MIN_REPEAT"><a title="Martel.msre_constants.MIN_REPEAT Martel.msre_parse.MIN_REPEAT" class="py-name" href="#" onclick="return doclink('link-116', 'MIN_REPEAT', 'link-116');">MIN_REPEAT</a></tt><tt class="py-op">,</tt> <tt id="link-117" class="py-name" targets="Variable Martel.msre_constants.MAX_REPEAT=Martel.msre_constants-module.html#MAX_REPEAT,Variable Martel.msre_parse.MAX_REPEAT=Martel.msre_parse-module.html#MAX_REPEAT"><a title="Martel.msre_constants.MAX_REPEAT Martel.msre_parse.MAX_REPEAT" class="py-name" href="#" onclick="return doclink('link-117', 'MAX_REPEAT', 'link-117');">MAX_REPEAT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt id="link-118" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-118', 'i', 'link-74');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">av</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="Martel.msre_parse.SubPattern.getwidth" class="py-name" href="#" onclick="return doclink('link-119', 'getwidth', 'link-104');">getwidth</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> <tt class="py-op">+</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt id="link-120" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-120', 'i', 'link-74');">i</a></tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">av</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">+</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">j</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">av</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt> <a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">op</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt id="link-121" class="py-name" targets="Variable Bio.EUtils.POM.ANY=Bio.EUtils.POM-module.html#ANY,Variable Martel.msre_constants.ANY=Martel.msre_constants-module.html#ANY,Variable Martel.msre_parse.ANY=Martel.msre_parse-module.html#ANY"><a title="Bio.EUtils.POM.ANY Martel.msre_constants.ANY Martel.msre_parse.ANY" class="py-name" href="#" onclick="return doclink('link-121', 'ANY', 'link-121');">ANY</a></tt><tt class="py-op">,</tt> <tt id="link-122" class="py-name" targets="Variable Martel.msre_constants.RANGE=Martel.msre_constants-module.html#RANGE,Variable Martel.msre_parse.RANGE=Martel.msre_parse-module.html#RANGE"><a title="Martel.msre_constants.RANGE Martel.msre_parse.RANGE" class="py-name" href="#" onclick="return doclink('link-122', 'RANGE', 'link-122');">RANGE</a></tt><tt class="py-op">,</tt> <tt id="link-123" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-123', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt id="link-124" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-124', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt id="link-125" class="py-name" targets="Variable Martel.msre_constants.NOT_LITERAL=Martel.msre_constants-module.html#NOT_LITERAL,Variable Martel.msre_parse.NOT_LITERAL=Martel.msre_parse-module.html#NOT_LITERAL"><a title="Martel.msre_constants.NOT_LITERAL Martel.msre_parse.NOT_LITERAL" class="py-name" href="#" onclick="return doclink('link-125', 'NOT_LITERAL', 'link-125');">NOT_LITERAL</a></tt><tt class="py-op">,</tt> <tt id="link-126" class="py-name"><a title="Martel.msre_constants.CATEGORY Martel.msre_parse.CATEGORY" class="py-name" href="#" onclick="return doclink('link-126', 'CATEGORY', 'link-14');">CATEGORY</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> <a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> <a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">op</tt> <tt class="py-op">==</tt> <tt id="link-127" class="py-name" targets="Variable Martel.msre_constants.SUCCESS=Martel.msre_constants-module.html#SUCCESS,Variable Martel.msre_parse.SUCCESS=Martel.msre_parse-module.html#SUCCESS"><a title="Martel.msre_constants.SUCCESS Martel.msre_parse.SUCCESS" class="py-name" href="#" onclick="return doclink('link-127', 'SUCCESS', 'link-127');">SUCCESS</a></tt><tt class="py-op">:</tt> </tt> <a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">lo</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">maxint</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">hi</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">maxint</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> </tt> </div></div><a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> </tt> <a name="Tokenizer"></a><div id="Tokenizer-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="Tokenizer-toggle" onclick="return toggle('Tokenizer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.msre_parse.Tokenizer-class.html">Tokenizer</a><tt class="py-op">:</tt> </tt> </div><div id="Tokenizer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Tokenizer-expanded"><a name="Tokenizer.__init__"></a><div id="Tokenizer.__init__-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="Tokenizer.__init__-toggle" onclick="return toggle('Tokenizer.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Tokenizer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Tokenizer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Tokenizer.__init__-expanded"><a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt> </tt> <a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-128', 'index', 'link-87');">index</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Method Martel.msre_parse.Tokenizer.__next()=Martel.msre_parse.Tokenizer-class.html#__next"><a title="Martel.msre_parse.Tokenizer.__next" class="py-name" href="#" onclick="return doclink('link-129', '__next', 'link-129');">__next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> </div><a name="Tokenizer.__next"></a><div id="Tokenizer.__next-def"><a name="L187"></a><tt class="py-lineno">187</tt> <a class="py-toggle" href="#" id="Tokenizer.__next-toggle" onclick="return toggle('Tokenizer.__next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Tokenizer-class.html#__next">__next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Tokenizer.__next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Tokenizer.__next-expanded"><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-130', 'index', 'link-87');">index</a></tt> <tt class="py-op">>=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Method Bio.AlignIO.ClustalIO.ClustalIterator.next()=Bio.AlignIO.ClustalIO.ClustalIterator-class.html#next,Method Bio.AlignIO.EmbossIO.EmbossIterator.next()=Bio.AlignIO.EmbossIO.EmbossIterator-class.html#next,Method Bio.AlignIO.FastaIO.FastaM10Iterator.next()=Bio.AlignIO.FastaIO.FastaM10Iterator-class.html#next,Method Bio.AlignIO.Interfaces.AlignmentIterator.next()=Bio.AlignIO.Interfaces.AlignmentIterator-class.html#next,Method Bio.AlignIO.PhylipIO.PhylipIterator.next()=Bio.AlignIO.PhylipIO.PhylipIterator-class.html#next,Method Bio.AlignIO.StockholmIO.StockholmIterator.next()=Bio.AlignIO.StockholmIO.StockholmIterator-class.html#next,Method Bio.Blast.NCBIStandalone.Iterator.next()=Bio.Blast.NCBIStandalone.Iterator-class.html#next,Method Bio.Blast.ParseBlastTable.BlastTableReader.next()=Bio.Blast.ParseBlastTable.BlastTableReader-class.html#next,Method Bio.CDD.Iterator.next()=Bio.CDD.Iterator-class.html#next,Method Bio.Compass.Iterator.next()=Bio.Compass.Iterator-class.html#next,Method Bio.DocSQL.IterationCursor.next()=Bio.DocSQL.IterationCursor-class.html#next,Method Bio.ECell.Iterator.next()=Bio.ECell.Iterator-class.html#next,Method Bio.Enzyme.Iterator.next()=Bio.Enzyme.Iterator-class.html#next,Method Bio.Fasta.Iterator.next()=Bio.Fasta.Iterator-class.html#next,Method Bio.GenBank.Iterator.next()=Bio.GenBank.Iterator-class.html#next,Method Bio.Gobase.Iterator.next()=Bio.Gobase.Iterator-class.html#next,Method Bio.IntelliGenetics.IntelliGeneticsReader.next()=Bio.IntelliGenetics.IntelliGeneticsReader-class.html#next,Method Bio.IntelliGenetics.Iterator.next()=Bio.IntelliGenetics.Iterator-class.html#next,Method Bio.LocusLink.Iterator.next()=Bio.LocusLink.Iterator-class.html#next,Method Bio.Medline.Iterator.next()=Bio.Medline.Iterator-class.html#next,Method Bio.MetaTool.Iterator.next()=Bio.MetaTool.Iterator-class.html#next,Method Bio.NBRF.Iterator.next()=Bio.NBRF.Iterator-class.html#next,Method Bio.Nexus.Nexus.CharBuffer.next()=Bio.Nexus.Nexus.CharBuffer-class.html#next,Method Bio.Prosite.Iterator.next()=Bio.Prosite.Iterator-class.html#next,Method Bio.Prosite.Prodoc.Iterator.next()=Bio.Prosite.Prodoc.Iterator-class.html#next,Method Bio.Rebase.Iterator.next()=Bio.Rebase.Iterator-class.html#next,Method Bio.SCOP.Cla.Iterator.next()=Bio.SCOP.Cla.Iterator-class.html#next,Method Bio.SCOP.Des.Iterator.next()=Bio.SCOP.Des.Iterator-class.html#next,Method Bio.SCOP.Dom.Iterator.next()=Bio.SCOP.Dom.Iterator-class.html#next,Method Bio.SCOP.Hie.Iterator.next()=Bio.SCOP.Hie.Iterator-class.html#next,Method Bio.SCOP.Raf.Iterator.next()=Bio.SCOP.Raf.Iterator-class.html#next,Method Bio.Saf.Iterator.next()=Bio.Saf.Iterator-class.html#next,Method Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next()=Bio.SeqIO.Interfaces.InterlacedSequenceIterator-class.html#next,Method Bio.SeqIO.Interfaces.SequenceIterator.next()=Bio.SeqIO.Interfaces.SequenceIterator-class.html#next,Method Bio.Sequencing.Ace.Iterator.next()=Bio.Sequencing.Ace.Iterator-class.html#next,Method Bio.Sequencing.Phd.Iterator.next()=Bio.Sequencing.Phd.Iterator-class.html#next,Method Bio.SwissProt.SProt.Iterator.next()=Bio.SwissProt.SProt.Iterator-class.html#next,Method Bio.UniGene.Iterator.next()=Bio.UniGene.Iterator-class.html#next,Method Martel.Iterator.EventStream.next()=Martel.Iterator.EventStream-class.html#next,Method Martel.Iterator.HeaderFooterEventStream.next()=Martel.Iterator.HeaderFooterEventStream-class.html#next,Method Martel.Iterator.Iterate.next()=Martel.Iterator.Iterate-class.html#next,Method Martel.Iterator.RecordEventStream.next()=Martel.Iterator.RecordEventStream-class.html#next,Method Martel.RecordReader.CountLines.next()=Martel.RecordReader.CountLines-class.html#next,Method Martel.RecordReader.EndsWith.next()=Martel.RecordReader.EndsWith-class.html#next,Method Martel.RecordReader.Everything.next()=Martel.RecordReader.Everything-class.html#next,Method Martel.RecordReader.Nothing.next()=Martel.RecordReader.Nothing-class.html#next,Method Martel.RecordReader.RecordReader.next()=Martel.RecordReader.RecordReader-class.html#next,Method Martel.RecordReader.StartsWith.next()=Martel.RecordReader.StartsWith-class.html#next,Method Martel.RecordReader.Until.next()=Martel.RecordReader.Until-class.html#next"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-131', 'next', 'link-131');">next</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt> <a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-132', 'index', 'link-87');">index</a></tt><tt class="py-op">]</tt> </tt> <a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"\\"</tt><tt class="py-op">:</tt> </tt> <a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-133', 'index', 'link-87');">index</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> </tt> <a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt> <a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-134" class="py-name" targets="Method Bio.Parsers.spark.GenericParser.error()=Bio.Parsers.spark.GenericParser-class.html#error,Method Bio.Parsers.spark.GenericScanner.error()=Bio.Parsers.spark.GenericScanner-class.html#error,Method Martel.Iterator.StoreEvents.error()=Martel.Iterator.StoreEvents-class.html#error,Class Martel.msre_constants.error=Martel.msre_constants.error-class.html,Method Martel.test.support.Dump.error()=Martel.test.support.Dump-class.html#error,Method Martel.test.test_Parser.CountErrors.error()=Martel.test.test_Parser.CountErrors-class.html#error,Method Martel.test.test_optimize.GetErrorPos.error()=Martel.test.test_optimize.GetErrorPos-class.html#error"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-134', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bogus escape"</tt> </tt> <a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt class="py-name">char</tt> <tt class="py-op">+</tt> <tt class="py-name">c</tt> </tt> <a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-135', 'index', 'link-87');">index</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-136', 'index', 'link-87');">index</a></tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">char</tt><tt class="py-op">)</tt> </tt> <a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-137', 'next', 'link-131');">next</a></tt> <tt class="py-op">=</tt> <tt class="py-name">char</tt> </tt> </div><a name="Tokenizer.match"></a><div id="Tokenizer.match-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="Tokenizer.match-toggle" onclick="return toggle('Tokenizer.match');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Tokenizer-class.html#match">match</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">char</tt><tt class="py-op">,</tt> <tt class="py-param">skip</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Tokenizer.match-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Tokenizer.match-expanded"><a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-138', 'next', 'link-131');">next</a></tt><tt class="py-op">:</tt> </tt> <a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">skip</tt><tt class="py-op">:</tt> </tt> <a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="Martel.msre_parse.Tokenizer.__next" class="py-name" href="#" onclick="return doclink('link-139', '__next', 'link-129');">__next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> </tt> <a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> </div><a name="Tokenizer.get"></a><div id="Tokenizer.get-def"><a name="L206"></a><tt class="py-lineno">206</tt> <a class="py-toggle" href="#" id="Tokenizer.get-toggle" onclick="return toggle('Tokenizer.get');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Tokenizer-class.html#get">get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Tokenizer.get-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Tokenizer.get-expanded"><a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-140', 'next', 'link-131');">next</a></tt> </tt> <a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="Martel.msre_parse.Tokenizer.__next" class="py-name" href="#" onclick="return doclink('link-141', '__next', 'link-129');">__next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">this</tt> </tt> </div><a name="Tokenizer.tell"></a><div id="Tokenizer.tell-def"><a name="L210"></a><tt class="py-lineno">210</tt> <a class="py-toggle" href="#" id="Tokenizer.tell-toggle" onclick="return toggle('Tokenizer.tell');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Tokenizer-class.html#tell">tell</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Tokenizer.tell-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Tokenizer.tell-expanded"><a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-142', 'index', 'link-87');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-143', 'next', 'link-131');">next</a></tt> </tt> </div><a name="Tokenizer.seek"></a><div id="Tokenizer.seek-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="Tokenizer.seek-toggle" onclick="return toggle('Tokenizer.seek');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse.Tokenizer-class.html#seek">seek</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">index</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Tokenizer.seek-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Tokenizer.seek-expanded"><a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-144', 'index', 'link-87');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-145', 'next', 'link-131');">next</a></tt> <tt class="py-op">=</tt> <tt id="link-146" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-146', 'index', 'link-87');">index</a></tt> </tt> </div></div><a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> </tt> <a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-comment">### Martel changes to allow all XML identifiers</tt> </tt> <a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># '[a-zA-Z_:][-a-zA-Z0-9._:]*'</tt> </tt> <a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-comment"># Any (optional) attrs are stored after a '?'</tt> </tt> <a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># key/values are done in URL-style</tt> </tt> <a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># key1=value1&key2=value2;</tt> </tt> <a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># only [-a-zA-Z0-9._] are allowed to be unescaped</tt> </tt> <a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># escaping is done with URL-style hex escapes, so '=' becomes '%3D'</tt> </tt> <a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># For example:</tt> </tt> <a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># seqdb format="swissprot" version="38"</tt> </tt> <a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># can be represented as</tt> </tt> <a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># seqdb?format=swissprot&version=38</tt> </tt> <a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> </tt> <a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-comment"># Martel specific changes</tt> </tt> <a name="is_firstchar"></a><div id="is_firstchar-def"><a name="L230"></a><tt class="py-lineno">230</tt> <a class="py-toggle" href="#" id="is_firstchar-toggle" onclick="return toggle('is_firstchar');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#is_firstchar">is_firstchar</a><tt class="py-op">(</tt><tt class="py-param">char</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="is_firstchar-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_firstchar-expanded"><a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"a"</tt> <tt class="py-op"><=</tt> <tt class="py-name">char</tt> <tt class="py-op"><=</tt> <tt class="py-string">"z"</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"A"</tt> <tt class="py-op"><=</tt> <tt class="py-name">char</tt> <tt class="py-op"><=</tt> <tt class="py-string">"Z"</tt> <tt class="py-keyword">or</tt> <tt class="py-name">char</tt> <tt class="py-keyword">in</tt> <tt class="py-string">"_:"</tt> </tt> </div><a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> </tt> <a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-comment"># Martel specific changes</tt> </tt> <a name="is_char"></a><div id="is_char-def"><a name="L234"></a><tt class="py-lineno">234</tt> <a class="py-toggle" href="#" id="is_char-toggle" onclick="return toggle('is_char');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#is_char">is_char</a><tt class="py-op">(</tt><tt class="py-param">char</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="is_char-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_char-expanded"><a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"a"</tt> <tt class="py-op"><=</tt> <tt class="py-name">char</tt> <tt class="py-op"><=</tt> <tt class="py-string">"z"</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"A"</tt> <tt class="py-op"><=</tt> <tt class="py-name">char</tt> <tt class="py-op"><=</tt> <tt class="py-string">"Z"</tt> <tt class="py-keyword">or</tt> \ </tt> <a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-string">"0"</tt> <tt class="py-op"><=</tt> <tt class="py-name">char</tt> <tt class="py-op"><=</tt> <tt class="py-string">"9"</tt> <tt class="py-keyword">or</tt> <tt class="py-name">char</tt> <tt class="py-keyword">in</tt> <tt class="py-string">"._:-"</tt> </tt> </div><a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> </tt> <a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-comment"># Martel specific changes</tt> </tt> <a name="isname"></a><div id="isname-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="isname-toggle" onclick="return toggle('isname');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#isname">isname</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="isname-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="isname-expanded"><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-comment"># check that group name is a valid string</tt> </tt> <a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-147" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-147', 'name', 'link-59');">name</a></tt><tt class="py-op">:</tt> </tt> <a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> <a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-148" class="py-name" targets="Function Martel.msre_parse.is_firstchar()=Martel.msre_parse-module.html#is_firstchar"><a title="Martel.msre_parse.is_firstchar" class="py-name" href="#" onclick="return doclink('link-148', 'is_firstchar', 'link-148');">is_firstchar</a></tt><tt class="py-op">(</tt><tt id="link-149" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-149', 'name', 'link-59');">name</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> <a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">char</tt> <tt class="py-keyword">in</tt> <tt id="link-150" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-150', 'name', 'link-59');">name</a></tt><tt class="py-op">:</tt> </tt> <a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-151" class="py-name" targets="Function Martel.msre_parse.is_char()=Martel.msre_parse-module.html#is_char"><a title="Martel.msre_parse.is_char" class="py-name" href="#" onclick="return doclink('link-151', 'is_char', 'link-151');">is_char</a></tt><tt class="py-op">(</tt><tt class="py-name">char</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> <a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> </tt> </div><a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> </tt> <a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-comment"># More Martel specific changes</tt> </tt> <a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Checks if the serialized form of attrs is correct</tt> </tt> <a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-comment"></tt><tt id="link-152" class="py-name" targets="Variable Martel.msre_parse._name_with_attr_pattern=Martel.msre_parse-module.html#_name_with_attr_pattern"><a title="Martel.msre_parse._name_with_attr_pattern" class="py-name" href="#" onclick="return doclink('link-152', '_name_with_attr_pattern', 'link-152');">_name_with_attr_pattern</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Function Bio.Prosite.Pattern.compile()=Bio.Prosite.Pattern-module.html#compile"><a title="Bio.Prosite.Pattern.compile" class="py-name" href="#" onclick="return doclink('link-153', 'compile', 'link-153');">compile</a></tt><tt class="py-op">(</tt><tt class="py-string">r"""</tt> </tt> <a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-string">[a-zA-Z_:] # first character of the tag</tt> </tt> <a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-string">[-a-zA-Z0-9._:]* # rest of the tag</tt> </tt> <a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-string">(\? # optional attrs flagged with '?'</tt> </tt> <a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-string"> (</tt> </tt> <a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"><tt class="py-string"> ([-a-zA-Z0-9._]|(%[0-9A-Fa-f]{2}))+ # name can contain % escapes</tt> </tt> <a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-string"> = # '=' flags value</tt> </tt> <a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-string"> ([-a-zA-Z0-9._]|(%[0-9A-Fa-f]{2}))* # value can contain % escapes</tt> </tt> <a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-string"> (& # flag for additional args</tt> </tt> <a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-string"> ([-a-zA-Z0-9._]|(%[0-9A-Fa-f]{2}))+ # name</tt> </tt> <a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-string"> = # '='</tt> </tt> <a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-string"> ([-a-zA-Z0-9._]|(%[0-9A-Fa-f]{2}))* # value</tt> </tt> <a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-string"> )* # 0 or more add'l args</tt> </tt> <a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-string"> )? # can have nothing after the '?'</tt> </tt> <a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-string">)? # attrs are optional</tt> </tt> <a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-string">$ # must get full string</tt> </tt> <a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">X</tt><tt class="py-op">)</tt> </tt> <a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> </tt> <a name="isname_with_attrs"></a><div id="isname_with_attrs-def"><a name="L270"></a><tt class="py-lineno">270</tt> <a class="py-toggle" href="#" id="isname_with_attrs-toggle" onclick="return toggle('isname_with_attrs');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#isname_with_attrs">isname_with_attrs</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="isname_with_attrs-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="isname_with_attrs-expanded"><a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-comment"># check that group name is a valid string</tt> </tt> <a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-154" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-154', 'name', 'link-59');">name</a></tt><tt class="py-op">:</tt> </tt> <a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> <a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="Martel.msre_parse._name_with_attr_pattern" class="py-name" href="#" onclick="return doclink('link-155', '_name_with_attr_pattern', 'link-152');">_name_with_attr_pattern</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name" targets="Method Bio.Parsers.spark.GenericASTMatcher.match()=Bio.Parsers.spark.GenericASTMatcher-class.html#match,Method Bio.Prosite.Pattern.Prosite.match()=Bio.Prosite.Pattern.Prosite-class.html#match,Function Bio.triefind.match()=Bio.triefind-module.html#match,Method Martel.msre_parse.Tokenizer.match()=Martel.msre_parse.Tokenizer-class.html#match"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-156', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt id="link-157" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-157', 'name', 'link-59');">name</a></tt><tt class="py-op">)</tt> </tt> <a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">m</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> </tt> </div><a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> </tt> <a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> </tt> <a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-comment">### End of Martel changes</tt> </tt> <a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="_group"></a><div id="_group-def"><a name="L280"></a><tt class="py-lineno">280</tt> <a class="py-toggle" href="#" id="_group-toggle" onclick="return toggle('_group');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#_group">_group</a><tt class="py-op">(</tt><tt class="py-param">escape</tt><tt class="py-op">,</tt> <tt class="py-param">groups</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="_group-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_group-expanded"><a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-comment"># check if the escape string represents a valid group</tt> </tt> <a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-name">gid</tt> <tt class="py-op">=</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt id="link-158" class="py-name" targets="Function Martel.Dispatch.escape()=Martel.Dispatch-module.html#escape,Function Martel.Expression.escape()=Martel.Expression-module.html#escape"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-158', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">gid</tt> <tt class="py-keyword">and</tt> <tt class="py-name">gid</tt> <tt class="py-op"><</tt> <tt id="link-159" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-159', 'groups', 'link-56');">groups</a></tt><tt class="py-op">:</tt> </tt> <a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">gid</tt> </tt> <a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt> <a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> <a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> <tt class="py-comment"># not a valid group</tt> </tt> </div><a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> </tt> <a name="_class_escape"></a><div id="_class_escape-def"><a name="L290"></a><tt class="py-lineno">290</tt> <a class="py-toggle" href="#" id="_class_escape-toggle" onclick="return toggle('_class_escape');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#_class_escape">_class_escape</a><tt class="py-op">(</tt><tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">escape</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="_class_escape-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_class_escape-expanded"><a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-comment"># handle escape code inside character class</tt> </tt> <a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="Martel.msre_parse.ESCAPES" class="py-name" href="#" onclick="return doclink('link-160', 'ESCAPES', 'link-7');">ESCAPES</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name" targets="Method Bio.Crystal.Crystal.get()=Bio.Crystal.Crystal-class.html#get,Method Bio.Data.CodonTable.AmbiguousForwardTable.get()=Bio.Data.CodonTable.AmbiguousForwardTable-class.html#get,Method Bio.EUtils.MultiDict._BaseMultiDict.get()=Bio.EUtils.MultiDict._BaseMultiDict-class.html#get,Method Bio.EUtils.POM.ElementNode.get()=Bio.EUtils.POM.ElementNode-class.html#get,Method Bio.GenBank.NCBIDictionary.get()=Bio.GenBank.NCBIDictionary-class.html#get,Method Bio.Mindy.BaseDB.DictLookup.get()=Bio.Mindy.BaseDB.DictLookup-class.html#get,Method Bio.Prosite.ExPASyDictionary.get()=Bio.Prosite.ExPASyDictionary-class.html#get,Method Bio.Prosite.Prodoc.ExPASyDictionary.get()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#get,Method Bio.PubMed.Dictionary.get()=Bio.PubMed.Dictionary-class.html#get,Method Bio.Restriction.Restriction.RestrictionBatch.get()=Bio.Restriction.Restriction.RestrictionBatch-class.html#get,Method Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get()=Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder-class.html#get,Method Bio.SeqUtils.MissingTable.get()=Bio.SeqUtils.MissingTable-class.html#get,Method Bio.SwissProt.SProt.ExPASyDictionary.get()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#get,Method Bio.config.DBRegistry.DBGroup.get()=Bio.config.DBRegistry.DBGroup-class.html#get,Method Bio.config.DBRegistry.DBObject.get()=Bio.config.DBRegistry.DBObject-class.html#get,Method Bio.config.Registry.Registry.get()=Bio.config.Registry.Registry-class.html#get,Method Martel.Parser.MartelAttributeList.get()=Martel.Parser.MartelAttributeList-class.html#get,Method Martel.msre_parse.Tokenizer.get()=Martel.msre_parse.Tokenizer-class.html#get"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-161', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt id="link-162" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-162', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> </tt> <a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code</tt><tt class="py-op">:</tt> </tt> <a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">code</tt> </tt> <a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-163" class="py-name"><a title="Martel.msre_parse.CATEGORIES" class="py-name" href="#" onclick="return doclink('link-163', 'CATEGORIES', 'link-19');">CATEGORIES</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-164', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt id="link-165" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-165', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> </tt> <a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code</tt><tt class="py-op">:</tt> </tt> <a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">code</tt> </tt> <a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-166" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-166', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"x"</tt><tt class="py-op">:</tt> </tt> <a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-comment"># hexadecimal escape (exactly two digits)</tt> </tt> <a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt id="link-167" class="py-name" targets="Method Bio.GenBank._FeatureConsumer.source()=Bio.GenBank._FeatureConsumer-class.html#source,Method Bio.GenBank._RecordConsumer.source()=Bio.GenBank._RecordConsumer-class.html#source,Method Bio.Medline._RecordConsumer.source()=Bio.Medline._RecordConsumer-class.html#source,Method Bio.Pathway.Network.source()=Bio.Pathway.Network-class.html#source,Method Bio.Rebase._RecordConsumer.source()=Bio.Rebase._RecordConsumer-class.html#source"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-167', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-168', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-169" class="py-name"><a title="Martel.msre_parse.HEXDIGITS" class="py-name" href="#" onclick="return doclink('link-169', 'HEXDIGITS', 'link-5');">HEXDIGITS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-170" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-170', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt> <a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt id="link-171" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-171', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-172" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-172', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">+</tt> <tt id="link-173" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-173', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-174', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt id="link-175" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-175', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-176" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-176', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt> <a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-177" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-177', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt> <a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-178" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-178', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bogus escape: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-string">"\\"</tt> <tt class="py-op">+</tt> <tt id="link-179" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-179', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> </tt> <a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-180" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-180', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt id="link-181" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-181', 'escape', 'link-158');">escape</a></tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-number">0xff</tt> </tt> <a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-182" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-182', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt id="link-183" class="py-name"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-183', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt><tt class="py-op">:</tt> </tt> <a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-comment"># octal escape (up to three digits)</tt> </tt> <a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt id="link-184" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-184', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-185', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-186" class="py-name"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-186', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-187" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-187', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt> <a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt id="link-188" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-188', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-189" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-189', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">+</tt> <tt id="link-190" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-190', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-191', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt id="link-192" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-192', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-193" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-193', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt> <a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-194" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-194', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt id="link-195" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-195', 'escape', 'link-158');">escape</a></tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-number">0xff</tt> </tt> <a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-196" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-196', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt> <a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-197" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-197', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt id="link-198" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-198', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt> <a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> <a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-199" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-199', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bogus escape: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-200" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-200', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> </tt> <a name="_escape"></a><div id="_escape-def"><a name="L319"></a><tt class="py-lineno">319</tt> <a class="py-toggle" href="#" id="_escape-toggle" onclick="return toggle('_escape');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#_escape">_escape</a><tt class="py-op">(</tt><tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">escape</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="_escape-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_escape-expanded"><a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-comment"># handle escape code in expression</tt> </tt> <a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-201" class="py-name"><a title="Martel.msre_parse.CATEGORIES" class="py-name" href="#" onclick="return doclink('link-201', 'CATEGORIES', 'link-19');">CATEGORIES</a></tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-202', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt id="link-203" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-203', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> </tt> <a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code</tt><tt class="py-op">:</tt> </tt> <a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">code</tt> </tt> <a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-204" class="py-name"><a title="Martel.msre_parse.ESCAPES" class="py-name" href="#" onclick="return doclink('link-204', 'ESCAPES', 'link-7');">ESCAPES</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-205', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt id="link-206" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-206', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> </tt> <a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code</tt><tt class="py-op">:</tt> </tt> <a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">code</tt> </tt> <a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-207" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-207', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"x"</tt><tt class="py-op">:</tt> </tt> <a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-comment"># hexadecimal escape</tt> </tt> <a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt id="link-208" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-208', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-209', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-210" class="py-name"><a title="Martel.msre_parse.HEXDIGITS" class="py-name" href="#" onclick="return doclink('link-210', 'HEXDIGITS', 'link-5');">HEXDIGITS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-211" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-211', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt> <a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt id="link-212" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-212', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-213" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-213', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">+</tt> <tt id="link-214" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-214', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-215', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-216" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-216', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt> <a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt> </tt> <a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-217" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-217', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt id="link-218" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-218', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-number">0xff</tt> </tt> <a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-219" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-219', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"0"</tt><tt class="py-op">:</tt> </tt> <a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-comment"># octal escape</tt> </tt> <a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt id="link-220" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-220', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-221', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-222" class="py-name"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-222', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-223" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-223', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt> <a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt id="link-224" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-224', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-225', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">+</tt> <tt id="link-226" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-226', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-227', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-228" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-228', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt id="link-229" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-229', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-number">0xff</tt> </tt> <a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-230" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-230', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-231" class="py-name"><a title="Martel.msre_parse.DIGITS" class="py-name" href="#" onclick="return doclink('link-231', 'DIGITS', 'link-3');">DIGITS</a></tt><tt class="py-op">:</tt> </tt> <a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-comment"># octal escape *or* decimal group reference (sigh)</tt> </tt> <a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">here</tt> <tt class="py-op">=</tt> <tt id="link-232" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-232', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-233" class="py-name" targets="Method Bio.EUtils.ReseekFile.ReseekFile.tell()=Bio.EUtils.ReseekFile.ReseekFile-class.html#tell,Method Bio.File.UndoHandle.tell()=Bio.File.UndoHandle-class.html#tell,Method Martel.msre_parse.Tokenizer.tell()=Martel.msre_parse.Tokenizer-class.html#tell"><a title="Bio.EUtils.ReseekFile.ReseekFile.tell Bio.File.UndoHandle.tell Martel.msre_parse.Tokenizer.tell" class="py-name" href="#" onclick="return doclink('link-233', 'tell', 'link-233');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-234" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-234', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-235', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-236" class="py-name"><a title="Martel.msre_parse.DIGITS" class="py-name" href="#" onclick="return doclink('link-236', 'DIGITS', 'link-3');">DIGITS</a></tt><tt class="py-op">:</tt> </tt> <a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt id="link-237" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-237', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-238" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-238', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">+</tt> <tt id="link-239" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-239', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-240', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt id="link-241" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-241', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-242" class="py-name"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-242', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt> <tt class="py-keyword">and</tt> <tt id="link-243" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-243', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-244" class="py-name"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-244', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt> <tt class="py-keyword">and</tt> </tt> <a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt id="link-245" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-245', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-246', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-247" class="py-name"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-247', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-comment"># got three octal digits; this is an octal escape</tt> </tt> <a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-248" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-248', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">=</tt> <tt id="link-249" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-249', 'escape', 'link-158');">escape</a></tt> <tt class="py-op">+</tt> <tt id="link-250" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-250', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-251', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-252" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-252', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt id="link-253" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-253', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-number">0xff</tt> </tt> <a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-comment"># got at least one decimal digit; this is a group reference</tt> </tt> <a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-254" class="py-name" targets="Method Bio.Prosite.Pattern.PrositeMatch.group()=Bio.Prosite.Pattern.PrositeMatch-class.html#group"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-254', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name" targets="Function Martel._group()=Martel-module.html#_group,Function Martel.msre_parse._group()=Martel.msre_parse-module.html#_group"><a title="Martel._group Martel.msre_parse._group" class="py-name" href="#" onclick="return doclink('link-255', '_group', 'link-255');">_group</a></tt><tt class="py-op">(</tt><tt id="link-256" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-256', 'escape', 'link-158');">escape</a></tt><tt class="py-op">,</tt> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-257', 'groups', 'link-56');">groups</a></tt><tt class="py-op">)</tt> </tt> <a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-258" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-258', 'group', 'link-254');">group</a></tt><tt class="py-op">:</tt> </tt> <a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name" targets="Method Martel.convert_re.GroupNames.checkgroup()=Martel.convert_re.GroupNames-class.html#checkgroup,Method Martel.msre_parse.Pattern.checkgroup()=Martel.msre_parse.Pattern-class.html#checkgroup"><a title="Martel.convert_re.GroupNames.checkgroup Martel.msre_parse.Pattern.checkgroup" class="py-name" href="#" onclick="return doclink('link-259', 'checkgroup', 'link-259');">checkgroup</a></tt><tt class="py-op">(</tt><tt id="link-260" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-260', 'group', 'link-254');">group</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-261" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-261', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"cannot refer to open group"</tt> </tt> <a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-262" class="py-name" targets="Variable Martel.msre_constants.GROUPREF=Martel.msre_constants-module.html#GROUPREF,Variable Martel.msre_parse.GROUPREF=Martel.msre_parse-module.html#GROUPREF"><a title="Martel.msre_constants.GROUPREF Martel.msre_parse.GROUPREF" class="py-name" href="#" onclick="return doclink('link-262', 'GROUPREF', 'link-262');">GROUPREF</a></tt><tt class="py-op">,</tt> <tt id="link-263" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-263', 'group', 'link-254');">group</a></tt> </tt> <a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt> </tt> <a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-264" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-264', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt> <a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-265" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-265', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt id="link-266" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-266', 'escape', 'link-158');">escape</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt> <a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> <a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-267" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-267', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bogus escape: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-268" class="py-name"><a title="Martel.Dispatch.escape Martel.Expression.escape" class="py-name" href="#" onclick="return doclink('link-268', 'escape', 'link-158');">escape</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> </tt> <a name="_parse_sub"></a><div id="_parse_sub-def"><a name="L363"></a><tt class="py-lineno">363</tt> <a class="py-toggle" href="#" id="_parse_sub-toggle" onclick="return toggle('_parse_sub');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#_parse_sub">_parse_sub</a><tt class="py-op">(</tt><tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">,</tt> <tt class="py-param">nested</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="_parse_sub-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_parse_sub-expanded"><a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-comment"># parse an alternation: a|b|c</tt> </tt> <a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt id="link-269" class="py-name" targets="Method Bio.Crystal.Crystal.items()=Bio.Crystal.Crystal-class.html#items,Method Bio.EUtils.MultiDict._BaseMultiDict.items()=Bio.EUtils.MultiDict._BaseMultiDict-class.html#items,Variable Bio.Entrez.SerialSet.items=Bio.Entrez.SerialSet-module.html#items,Method Bio.GenBank.NCBIDictionary.items()=Bio.GenBank.NCBIDictionary-class.html#items,Method Bio.Mindy.BaseDB.DictLookup.items()=Bio.Mindy.BaseDB.DictLookup-class.html#items,Method Bio.Prosite.ExPASyDictionary.items()=Bio.Prosite.ExPASyDictionary-class.html#items,Method Bio.Prosite.Prodoc.ExPASyDictionary.items()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#items,Method Bio.PubMed.Dictionary.items()=Bio.PubMed.Dictionary-class.html#items,Method Bio.SwissProt.SProt.ExPASyDictionary.items()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#items,Method Bio.config.Registry.Registry.items()=Bio.config.Registry.Registry-class.html#items,Function Bio.listfns.items()=Bio.listfns-module.html#items,Method BioSQL.BioSeqDatabase.BioSeqDatabase.items()=BioSQL.BioSeqDatabase.BioSeqDatabase-class.html#items,Method BioSQL.BioSeqDatabase.DBServer.items()=BioSQL.BioSeqDatabase.DBServer-class.html#items,Method Martel.Parser.MartelAttributeList.items()=Martel.Parser.MartelAttributeList-class.html#items"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-269', 'items', 'link-269');">items</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt id="link-270" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-270', 'items', 'link-269');">items</a></tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-271', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt id="link-272" class="py-name" targets="Method Bio.Blast.NCBIStandalone._DescriptionConsumer._parse()=Bio.Blast.NCBIStandalone._DescriptionConsumer-class.html#_parse,Method Bio.Nexus.Trees.Tree._parse()=Bio.Nexus.Trees.Tree-class.html#_parse,Method Bio.PDB.PDBParser'.PDBParser._parse()=Bio.PDB.PDBParser%27.PDBParser-class.html#_parse,Method Bio.SCOP.Residues'.Residues._parse()=Bio.SCOP.Residues%27.Residues-class.html#_parse,Function Martel.msre_parse._parse()=Martel.msre_parse-module.html#_parse"><a title="Bio.Blast.NCBIStandalone._DescriptionConsumer._parse Bio.Nexus.Trees.Tree._parse Bio.PDB.PDBParser'.PDBParser._parse Bio.SCOP.Residues'.Residues._parse Martel.msre_parse._parse" class="py-name" href="#" onclick="return doclink('link-272', '_parse', 'link-272');">_parse</a></tt><tt class="py-op">(</tt><tt id="link-273" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-273', 'source', 'link-167');">source</a></tt><tt class="py-op">,</tt> <tt class="py-name">state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-274" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-274', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-275', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"|"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt> <a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">nested</tt><tt class="py-op">:</tt> </tt> <a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-276" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-276', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-277', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">or</tt> <tt id="link-278" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-278', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-279', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">")"</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-280" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-280', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"pattern not properly closed"</tt> </tt> <a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> </tt> <a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-281" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-281', 'items', 'link-269');">items</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-282" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-282', 'items', 'link-269');">items</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> </tt> <a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt> <tt class="py-op">=</tt> <tt id="link-283" class="py-name"><a title="Martel.msre_parse.SubPattern" class="py-name" href="#" onclick="return doclink('link-283', 'SubPattern', 'link-82');">SubPattern</a></tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">)</tt> </tt> <a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> </tt> <a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-comment"># check if all items share a common prefix</tt> </tt> <a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt id="link-284" class="py-name" targets="Variable Bio.DocSQL.Query.prefix=Bio.DocSQL.Query-class.html#prefix"><a title="Bio.DocSQL.Query.prefix" class="py-name" href="#" onclick="return doclink('link-284', 'prefix', 'link-284');">prefix</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-285" class="py-name" targets="Method Bio.EUtils.Datatypes.DBIds.item()=Bio.EUtils.Datatypes.DBIds-class.html#item"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-285', 'item', 'link-285');">item</a></tt> <tt class="py-keyword">in</tt> <tt id="link-286" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-286', 'items', 'link-269');">items</a></tt><tt class="py-op">:</tt> </tt> <a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-287" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-287', 'item', 'link-285');">item</a></tt><tt class="py-op">:</tt> </tt> <a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-288" class="py-name"><a title="Bio.DocSQL.Query.prefix" class="py-name" href="#" onclick="return doclink('link-288', 'prefix', 'link-284');">prefix</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt id="link-289" class="py-name"><a title="Bio.DocSQL.Query.prefix" class="py-name" href="#" onclick="return doclink('link-289', 'prefix', 'link-284');">prefix</a></tt> <tt class="py-op">=</tt> <tt id="link-290" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-290', 'item', 'link-285');">item</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-291" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-291', 'item', 'link-285');">item</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-292" class="py-name"><a title="Bio.DocSQL.Query.prefix" class="py-name" href="#" onclick="return doclink('link-292', 'prefix', 'link-284');">prefix</a></tt><tt class="py-op">:</tt> </tt> <a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-comment"># all subitems start with a common "prefix".</tt> </tt> <a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># move it out of the branch</tt> </tt> <a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-293" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-293', 'item', 'link-285');">item</a></tt> <tt class="py-keyword">in</tt> <tt id="link-294" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-294', 'items', 'link-269');">items</a></tt><tt class="py-op">:</tt> </tt> <a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-295" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-295', 'item', 'link-285');">item</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-296', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt id="link-297" class="py-name"><a title="Bio.DocSQL.Query.prefix" class="py-name" href="#" onclick="return doclink('link-297', 'prefix', 'link-284');">prefix</a></tt><tt class="py-op">)</tt> </tt> <a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> <tt class="py-comment"># check next one</tt> </tt> <a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> </tt> <a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-comment"># check if the branch can be replaced by a character set</tt> </tt> <a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-298" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-298', 'item', 'link-285');">item</a></tt> <tt class="py-keyword">in</tt> <tt id="link-299" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-299', 'items', 'link-269');">items</a></tt><tt class="py-op">:</tt> </tt> <a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-300" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-300', 'item', 'link-285');">item</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt id="link-301" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-301', 'item', 'link-285');">item</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-302" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-302', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">:</tt> </tt> <a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-comment"># we can store this as a character set instead of a</tt> </tt> <a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># branch (the compiler may optimize this even more)</tt> </tt> <a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-303" class="py-name" targets="Method Bio.Nexus.Nexus.StepMatrix.set()=Bio.Nexus.Nexus.StepMatrix-class.html#set,Method Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set()=Bio.SVDSuperimposer.SVDSuperimposer%27.SVDSuperimposer-class.html#set,Method Bio.config.DBRegistry.DBObject.set()=Bio.config.DBRegistry.DBObject-class.html#set"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-303', 'set', 'link-303');">set</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-304" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-304', 'item', 'link-285');">item</a></tt> <tt class="py-keyword">in</tt> <tt id="link-305" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-305', 'items', 'link-269');">items</a></tt><tt class="py-op">:</tt> </tt> <a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt id="link-306" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-306', 'set', 'link-303');">set</a></tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-307', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt id="link-308" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-308', 'item', 'link-285');">item</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-309', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-310" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-310', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt id="link-311" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-311', 'set', 'link-303');">set</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">subpattern</tt> </tt> <a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> </tt> <a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-312', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-313" class="py-name"><a title="Martel.msre_constants.BRANCH Martel.msre_parse.BRANCH" class="py-name" href="#" onclick="return doclink('link-313', 'BRANCH', 'link-102');">BRANCH</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-314" class="py-name"><a title="Bio.Crystal.Crystal.items Bio.EUtils.MultiDict._BaseMultiDict.items Bio.Entrez.SerialSet.items Bio.GenBank.NCBIDictionary.items Bio.Mindy.BaseDB.DictLookup.items Bio.Prosite.ExPASyDictionary.items Bio.Prosite.Prodoc.ExPASyDictionary.items Bio.PubMed.Dictionary.items Bio.SwissProt.SProt.ExPASyDictionary.items Bio.config.Registry.Registry.items Bio.listfns.items BioSQL.BioSeqDatabase.BioSeqDatabase.items BioSQL.BioSeqDatabase.DBServer.items Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-314', 'items', 'link-269');">items</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">subpattern</tt> </tt> </div><a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> </tt> <a name="_parse"></a><div id="_parse-def"><a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="_parse-toggle" onclick="return toggle('_parse');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#_parse">_parse</a><tt class="py-op">(</tt><tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="_parse-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_parse-expanded"><a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt class="py-comment"># parse a simple pattern</tt> </tt> <a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt> <tt class="py-op">=</tt> <tt id="link-315" class="py-name"><a title="Martel.msre_parse.SubPattern" class="py-name" href="#" onclick="return doclink('link-315', 'SubPattern', 'link-82');">SubPattern</a></tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">)</tt> </tt> <a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> </tt> <a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> </tt> <a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-316" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-316', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-317', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"|"</tt><tt class="py-op">,</tt> <tt class="py-string">")"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> <tt class="py-comment"># end of subpattern</tt> </tt> <a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt id="link-318" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-318', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-319" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-319', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> <tt class="py-comment"># end of pattern</tt> </tt> <a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> </tt> <a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt class="py-name">flags</tt> <tt class="py-op">&</tt> <tt id="link-320" class="py-name"><a title="Martel.msre_constants.SRE_FLAG_VERBOSE Martel.msre_parse.SRE_FLAG_VERBOSE" class="py-name" href="#" onclick="return doclink('link-320', 'SRE_FLAG_VERBOSE', 'link-52');">SRE_FLAG_VERBOSE</a></tt><tt class="py-op">:</tt> </tt> <a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-comment"># skip whitespace and comments</tt> </tt> <a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-keyword">in</tt> <tt id="link-321" class="py-name"><a title="Bio.Nexus.Nexus.WHITESPACE Martel.msre_parse.WHITESPACE" class="py-name" href="#" onclick="return doclink('link-321', 'WHITESPACE', 'link-6');">WHITESPACE</a></tt><tt class="py-op">:</tt> </tt> <a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt> <a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"#"</tt><tt class="py-op">:</tt> </tt> <a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt id="link-322" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-322', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-323', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt> <a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> </tt> <a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-keyword">and</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-324" class="py-name"><a title="Martel.msre_parse.SPECIAL_CHARS" class="py-name" href="#" onclick="return doclink('link-324', 'SPECIAL_CHARS', 'link-1');">SPECIAL_CHARS</a></tt><tt class="py-op">:</tt> </tt> <a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-325', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-326" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-326', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> </tt> <a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"["</tt><tt class="py-op">:</tt> </tt> <a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-comment"># character set</tt> </tt> <a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-327" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-327', 'set', 'link-303');">set</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"><tt class="py-comment">## if source.match(":"):</tt> </tt> <a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## pass # handle character classes</tt> </tt> <a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-328" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-328', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-329', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"^"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt id="link-330" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-330', 'set', 'link-303');">set</a></tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-331', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-332" class="py-name" targets="Variable Martel.msre_constants.NEGATE=Martel.msre_constants-module.html#NEGATE,Variable Martel.msre_parse.NEGATE=Martel.msre_parse-module.html#NEGATE"><a title="Martel.msre_constants.NEGATE Martel.msre_parse.NEGATE" class="py-name" href="#" onclick="return doclink('link-332', 'NEGATE', 'link-332');">NEGATE</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt class="py-comment"># check remaining characters</tt> </tt> <a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-333" class="py-name"><a title="Bio.GFF.easy.Location.start Bio.Prosite.Pattern.PrositeMatch.start Bio.Restriction._Update.RestrictionCompiler.start Martel.LAX.LAX.start" class="py-name" href="#" onclick="return doclink('link-333', 'start', 'link-95');">start</a></tt> <tt class="py-op">=</tt> <tt id="link-334" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-334', 'set', 'link-303');">set</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt> <a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt id="link-335" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-335', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-336', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"]"</tt> <tt class="py-keyword">and</tt> <tt id="link-337" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-337', 'set', 'link-303');">set</a></tt> <tt class="py-op">!=</tt> <tt id="link-338" class="py-name"><a title="Bio.GFF.easy.Location.start Bio.Prosite.Pattern.PrositeMatch.start Bio.Restriction._Update.RestrictionCompiler.start Martel.LAX.LAX.start" class="py-name" href="#" onclick="return doclink('link-338', 'start', 'link-95');">start</a></tt><tt class="py-op">:</tt> </tt> <a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-keyword">and</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"\\"</tt><tt class="py-op">:</tt> </tt> <a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt class="py-name">code1</tt> <tt class="py-op">=</tt> <tt id="link-339" class="py-name" targets="Function Martel.msre_parse._class_escape()=Martel.msre_parse-module.html#_class_escape"><a title="Martel.msre_parse._class_escape" class="py-name" href="#" onclick="return doclink('link-339', '_class_escape', 'link-339');">_class_escape</a></tt><tt class="py-op">(</tt><tt id="link-340" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-340', 'source', 'link-167');">source</a></tt><tt class="py-op">,</tt> <tt class="py-name">this</tt><tt class="py-op">)</tt> </tt> <a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt><tt class="py-op">:</tt> </tt> <a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-name">code1</tt> <tt class="py-op">=</tt> <tt id="link-341" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-341', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">)</tt> </tt> <a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-342" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-342', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unexpected end of regular expression"</tt> </tt> <a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-343" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-343', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-344" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-344', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"-"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-comment"># potential range</tt> </tt> <a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt id="link-345" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-345', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-346', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"]"</tt><tt class="py-op">:</tt> </tt> <a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code1</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt id="link-347" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-347', 'IN', 'link-13');">IN</a></tt><tt class="py-op">:</tt> </tt> <a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> <tt class="py-name">code1</tt> <tt class="py-op">=</tt> <tt class="py-name">code1</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt id="link-348" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-348', 'set', 'link-303');">set</a></tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-349', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">code1</tt><tt class="py-op">)</tt> </tt> <a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt id="link-350" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-350', 'set', 'link-303');">set</a></tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-351', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-352" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-352', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-string">"-"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"\\"</tt><tt class="py-op">:</tt> </tt> <a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> <tt class="py-name">code2</tt> <tt class="py-op">=</tt> <tt id="link-353" class="py-name"><a title="Martel.msre_parse._class_escape" class="py-name" href="#" onclick="return doclink('link-353', '_class_escape', 'link-339');">_class_escape</a></tt><tt class="py-op">(</tt><tt id="link-354" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-354', 'source', 'link-167');">source</a></tt><tt class="py-op">,</tt> <tt class="py-name">this</tt><tt class="py-op">)</tt> </tt> <a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> <tt class="py-name">code2</tt> <tt class="py-op">=</tt> <tt id="link-355" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-355', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">)</tt> </tt> <a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code1</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-356" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-356', 'LITERAL', 'link-8');">LITERAL</a></tt> <tt class="py-keyword">or</tt> <tt class="py-name">code2</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-357" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-357', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">:</tt> </tt> <a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-358" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-358', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bad character range"</tt> </tt> <a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">code1</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt> <a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">code2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt> <a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hi</tt> <tt class="py-op"><</tt> <tt class="py-name">lo</tt><tt class="py-op">:</tt> </tt> <a name="L483"></a><tt class="py-lineno">483</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-359" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-359', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bad character range"</tt> </tt> <a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"> <tt id="link-360" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-360', 'set', 'link-303');">set</a></tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-361', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-362" class="py-name"><a title="Martel.msre_constants.RANGE Martel.msre_parse.RANGE" class="py-name" href="#" onclick="return doclink('link-362', 'RANGE', 'link-122');">RANGE</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">lo</tt><tt class="py-op">,</tt> <tt class="py-name">hi</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code1</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt id="link-363" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-363', 'IN', 'link-13');">IN</a></tt><tt class="py-op">:</tt> </tt> <a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"> <tt class="py-name">code1</tt> <tt class="py-op">=</tt> <tt class="py-name">code1</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"> <tt id="link-364" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-364', 'set', 'link-303');">set</a></tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-365', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">code1</tt><tt class="py-op">)</tt> </tt> <a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"> </tt> <a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"> <tt class="py-comment"># XXX: <fl> should move set optimization to compiler!</tt> </tt> <a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-366" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-366', 'set', 'link-303');">set</a></tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt id="link-367" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-367', 'set', 'link-303');">set</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt id="link-368" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-368', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">:</tt> </tt> <a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-369', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt id="link-370" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-370', 'set', 'link-303');">set</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-comment"># optimization</tt> </tt> <a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-371" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-371', 'set', 'link-303');">set</a></tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">2</tt> <tt class="py-keyword">and</tt> <tt id="link-372" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-372', 'set', 'link-303');">set</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt id="link-373" class="py-name"><a title="Martel.msre_constants.NEGATE Martel.msre_parse.NEGATE" class="py-name" href="#" onclick="return doclink('link-373', 'NEGATE', 'link-332');">NEGATE</a></tt> <tt class="py-keyword">and</tt> <tt id="link-374" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-374', 'set', 'link-303');">set</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt id="link-375" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-375', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">:</tt> </tt> <a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-376', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-377" class="py-name"><a title="Martel.msre_constants.NOT_LITERAL Martel.msre_parse.NOT_LITERAL" class="py-name" href="#" onclick="return doclink('link-377', 'NOT_LITERAL', 'link-125');">NOT_LITERAL</a></tt><tt class="py-op">,</tt> <tt id="link-378" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-378', 'set', 'link-303');">set</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-comment"># optimization</tt> </tt> <a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L496"></a><tt class="py-lineno">496</tt> <tt class="py-line"> <tt class="py-comment"># XXX: <fl> should add charmap optimization here</tt> </tt> <a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-379', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-380" class="py-name"><a title="Martel.msre_constants.IN Martel.msre_parse.IN" class="py-name" href="#" onclick="return doclink('link-380', 'IN', 'link-13');">IN</a></tt><tt class="py-op">,</tt> <tt id="link-381" class="py-name"><a title="Bio.Nexus.Nexus.StepMatrix.set Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.set Bio.config.DBRegistry.DBObject.set" class="py-name" href="#" onclick="return doclink('link-381', 'set', 'link-303');">set</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"> </tt> <a name="L499"></a><tt class="py-lineno">499</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-keyword">and</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-382" class="py-name"><a title="Martel.msre_parse.REPEAT_CHARS" class="py-name" href="#" onclick="return doclink('link-382', 'REPEAT_CHARS', 'link-2');">REPEAT_CHARS</a></tt><tt class="py-op">:</tt> </tt> <a name="L500"></a><tt class="py-lineno">500</tt> <tt class="py-line"> <tt class="py-comment"># repeat previous item</tt> </tt> <a name="L501"></a><tt class="py-lineno">501</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"?"</tt><tt class="py-op">:</tt> </tt> <a name="L502"></a><tt class="py-lineno">502</tt> <tt class="py-line"> <tt class="py-name">min</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt> </tt> <a name="L503"></a><tt class="py-lineno">503</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"*"</tt><tt class="py-op">:</tt> </tt> <a name="L504"></a><tt class="py-lineno">504</tt> <tt class="py-line"> <tt class="py-name">min</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt id="link-383" class="py-name" targets="Variable Martel.Expression.MAXREPEAT=Martel.Expression-module.html#MAXREPEAT,Variable Martel.msre_constants.MAXREPEAT=Martel.msre_constants-module.html#MAXREPEAT,Variable Martel.msre_parse.MAXREPEAT=Martel.msre_parse-module.html#MAXREPEAT,Variable Martel.test.test_Expression.MAXREPEAT=Martel.test.test_Expression-module.html#MAXREPEAT"><a title="Martel.Expression.MAXREPEAT Martel.msre_constants.MAXREPEAT Martel.msre_parse.MAXREPEAT Martel.test.test_Expression.MAXREPEAT" class="py-name" href="#" onclick="return doclink('link-383', 'MAXREPEAT', 'link-383');">MAXREPEAT</a></tt> </tt> <a name="L505"></a><tt class="py-lineno">505</tt> <tt class="py-line"> </tt> <a name="L506"></a><tt class="py-lineno">506</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"+"</tt><tt class="py-op">:</tt> </tt> <a name="L507"></a><tt class="py-lineno">507</tt> <tt class="py-line"> <tt class="py-name">min</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt id="link-384" class="py-name"><a title="Martel.Expression.MAXREPEAT Martel.msre_constants.MAXREPEAT Martel.msre_parse.MAXREPEAT Martel.test.test_Expression.MAXREPEAT" class="py-name" href="#" onclick="return doclink('link-384', 'MAXREPEAT', 'link-383');">MAXREPEAT</a></tt> </tt> <a name="L508"></a><tt class="py-lineno">508</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"{"</tt><tt class="py-op">:</tt> </tt> <a name="L509"></a><tt class="py-lineno">509</tt> <tt class="py-line"> <tt class="py-name">here</tt> <tt class="py-op">=</tt> <tt id="link-385" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-385', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.tell Bio.File.UndoHandle.tell Martel.msre_parse.Tokenizer.tell" class="py-name" href="#" onclick="return doclink('link-386', 'tell', 'link-233');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L510"></a><tt class="py-lineno">510</tt> <tt class="py-line"> <tt class="py-name">min</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt id="link-387" class="py-name"><a title="Martel.Expression.MAXREPEAT Martel.msre_constants.MAXREPEAT Martel.msre_parse.MAXREPEAT Martel.test.test_Expression.MAXREPEAT" class="py-name" href="#" onclick="return doclink('link-387', 'MAXREPEAT', 'link-383');">MAXREPEAT</a></tt> </tt> <a name="L511"></a><tt class="py-lineno">511</tt> <tt class="py-line"><tt class="py-comment">### Martel changes to allow a named reference for the repeat count</tt> </tt> <a name="L512"></a><tt class="py-lineno">512</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># APD -- 21 Aug 2000</tt> </tt> <a name="L513"></a><tt class="py-lineno">513</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## lo = hi = ""</tt> </tt> <a name="L514"></a><tt class="py-lineno">514</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## while source.next in DIGITS:</tt> </tt> <a name="L515"></a><tt class="py-lineno">515</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## lo = lo + source.get()</tt> </tt> <a name="L516"></a><tt class="py-lineno">516</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## if source.match(","):</tt> </tt> <a name="L517"></a><tt class="py-lineno">517</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## while source.next in DIGITS:</tt> </tt> <a name="L518"></a><tt class="py-lineno">518</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## hi = hi + source.get()</tt> </tt> <a name="L519"></a><tt class="py-lineno">519</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## else:</tt> </tt> <a name="L520"></a><tt class="py-lineno">520</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## hi = lo</tt> </tt> <a name="L521"></a><tt class="py-lineno">521</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## if not source.match("}"):</tt> </tt> <a name="L522"></a><tt class="py-lineno">522</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## subpattern.append((LITERAL, ord(this)))</tt> </tt> <a name="L523"></a><tt class="py-lineno">523</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## source.seek(here)</tt> </tt> <a name="L524"></a><tt class="py-lineno">524</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## continue</tt> </tt> <a name="L525"></a><tt class="py-lineno">525</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## if lo:</tt> </tt> <a name="L526"></a><tt class="py-lineno">526</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## min = atoi(lo)</tt> </tt> <a name="L527"></a><tt class="py-lineno">527</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## if hi:</tt> </tt> <a name="L528"></a><tt class="py-lineno">528</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## max = atoi(hi)</tt> </tt> <a name="L529"></a><tt class="py-lineno">529</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L530"></a><tt class="py-lineno">530</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-388" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-388', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-389', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-390" class="py-name"><a title="Martel.msre_parse.DIGITS" class="py-name" href="#" onclick="return doclink('link-390', 'DIGITS', 'link-3');">DIGITS</a></tt> <tt class="py-keyword">or</tt> \ </tt> <a name="L531"></a><tt class="py-lineno">531</tt> <tt class="py-line"> <tt id="link-391" class="py-name" targets="Function Martel.msre_parse.isname()=Martel.msre_parse-module.html#isname"><a title="Martel.msre_parse.isname" class="py-name" href="#" onclick="return doclink('link-391', 'isname', 'link-391');">isname</a></tt><tt class="py-op">(</tt><tt class="py-name">lo</tt> <tt class="py-op">+</tt> <tt id="link-392" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-392', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-393', 'next', 'link-131');">next</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L532"></a><tt class="py-lineno">532</tt> <tt class="py-line"> <tt class="py-name">lo</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> <tt class="py-op">+</tt> <tt id="link-394" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-394', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-395', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L533"></a><tt class="py-lineno">533</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-396" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-396', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-397', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L534"></a><tt class="py-lineno">534</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-398" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-398', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-399', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-400" class="py-name"><a title="Martel.msre_parse.DIGITS" class="py-name" href="#" onclick="return doclink('link-400', 'DIGITS', 'link-3');">DIGITS</a></tt> <tt class="py-keyword">or</tt> \ </tt> <a name="L535"></a><tt class="py-lineno">535</tt> <tt class="py-line"> <tt id="link-401" class="py-name"><a title="Martel.msre_parse.isname" class="py-name" href="#" onclick="return doclink('link-401', 'isname', 'link-391');">isname</a></tt><tt class="py-op">(</tt><tt class="py-name">hi</tt> <tt class="py-op">+</tt> <tt id="link-402" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-402', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-403', 'next', 'link-131');">next</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L536"></a><tt class="py-lineno">536</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> <tt class="py-op">+</tt> <tt id="link-404" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-404', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-405', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L537"></a><tt class="py-lineno">537</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L538"></a><tt class="py-lineno">538</tt> <tt class="py-line"> <tt class="py-name">hi</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> </tt> <a name="L539"></a><tt class="py-lineno">539</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-406" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-406', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-407', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L540"></a><tt class="py-lineno">540</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-408', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-409" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-409', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L541"></a><tt class="py-lineno">541</tt> <tt class="py-line"> <tt id="link-410" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-410', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-411" class="py-name" targets="Method Bio.EUtils.ReseekFile.ReseekFile.seek()=Bio.EUtils.ReseekFile.ReseekFile-class.html#seek,Method Bio.File.UndoHandle.seek()=Bio.File.UndoHandle-class.html#seek,Method Martel.msre_parse.Tokenizer.seek()=Martel.msre_parse.Tokenizer-class.html#seek"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-411', 'seek', 'link-411');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">here</tt><tt class="py-op">)</tt> </tt> <a name="L542"></a><tt class="py-lineno">542</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt> <a name="L543"></a><tt class="py-lineno">543</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">lo</tt><tt class="py-op">:</tt> </tt> <a name="L544"></a><tt class="py-lineno">544</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-412" class="py-name"><a title="Martel.msre_parse.is_firstchar" class="py-name" href="#" onclick="return doclink('link-412', 'is_firstchar', 'link-148');">is_firstchar</a></tt><tt class="py-op">(</tt><tt class="py-name">lo</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L545"></a><tt class="py-lineno">545</tt> <tt class="py-line"> <tt class="py-name">min</tt> <tt class="py-op">=</tt> <tt class="py-name">lo</tt> </tt> <a name="L546"></a><tt class="py-lineno">546</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L547"></a><tt class="py-lineno">547</tt> <tt class="py-line"> <tt class="py-name">min</tt> <tt class="py-op">=</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt class="py-name">lo</tt><tt class="py-op">)</tt> </tt> <a name="L548"></a><tt class="py-lineno">548</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hi</tt><tt class="py-op">:</tt> </tt> <a name="L549"></a><tt class="py-lineno">549</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-413" class="py-name"><a title="Martel.msre_parse.is_firstchar" class="py-name" href="#" onclick="return doclink('link-413', 'is_firstchar', 'link-148');">is_firstchar</a></tt><tt class="py-op">(</tt><tt class="py-name">hi</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L550"></a><tt class="py-lineno">550</tt> <tt class="py-line"> <tt class="py-name">max</tt> <tt class="py-op">=</tt> <tt class="py-name">hi</tt> </tt> <a name="L551"></a><tt class="py-lineno">551</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L552"></a><tt class="py-lineno">552</tt> <tt class="py-line"> <tt class="py-name">max</tt> <tt class="py-op">=</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt class="py-name">hi</tt><tt class="py-op">)</tt> </tt> <a name="L553"></a><tt class="py-lineno">553</tt> <tt class="py-line"> </tt> <a name="L554"></a><tt class="py-lineno">554</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-414" class="py-name"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-414', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">lo</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-415" class="py-name"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-415', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">hi</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-416" class="py-name"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-416', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L555"></a><tt class="py-lineno">555</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">max</tt> <tt class="py-op"><</tt> <tt class="py-name">min</tt><tt class="py-op">:</tt> </tt> <a name="L556"></a><tt class="py-lineno">556</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-417" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-417', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bad repeat interval"</tt> </tt> <a name="L557"></a><tt class="py-lineno">557</tt> <tt class="py-line"><tt class="py-comment">### End of Martel named group repeat changes</tt> </tt> <a name="L558"></a><tt class="py-lineno">558</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L559"></a><tt class="py-lineno">559</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-418" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-418', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"not supported"</tt> </tt> <a name="L560"></a><tt class="py-lineno">560</tt> <tt class="py-line"> <tt class="py-comment"># figure out which item to repeat</tt> </tt> <a name="L561"></a><tt class="py-lineno">561</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">subpattern</tt><tt class="py-op">:</tt> </tt> <a name="L562"></a><tt class="py-lineno">562</tt> <tt class="py-line"> <tt id="link-419" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-419', 'item', 'link-285');">item</a></tt> <tt class="py-op">=</tt> <tt class="py-name">subpattern</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt> <a name="L563"></a><tt class="py-lineno">563</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L564"></a><tt class="py-lineno">564</tt> <tt class="py-line"> <tt id="link-420" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-420', 'item', 'link-285');">item</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L565"></a><tt class="py-lineno">565</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-421" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-421', 'item', 'link-285');">item</a></tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-422" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-422', 'item', 'link-285');">item</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt id="link-423" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-423', 'item', 'link-285');">item</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-424" class="py-name"><a title="Martel.msre_constants.AT Martel.msre_parse.AT" class="py-name" href="#" onclick="return doclink('link-424', 'AT', 'link-20');">AT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L566"></a><tt class="py-lineno">566</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-425" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-425', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"nothing to repeat"</tt> </tt> <a name="L567"></a><tt class="py-lineno">567</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-426" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-426', 'item', 'link-285');">item</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt id="link-427" class="py-name"><a title="Martel.msre_constants.MIN_REPEAT Martel.msre_parse.MIN_REPEAT" class="py-name" href="#" onclick="return doclink('link-427', 'MIN_REPEAT', 'link-116');">MIN_REPEAT</a></tt><tt class="py-op">,</tt> <tt id="link-428" class="py-name"><a title="Martel.msre_constants.MAX_REPEAT Martel.msre_parse.MAX_REPEAT" class="py-name" href="#" onclick="return doclink('link-428', 'MAX_REPEAT', 'link-117');">MAX_REPEAT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L568"></a><tt class="py-lineno">568</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-429" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-429', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"multiple repeat"</tt> </tt> <a name="L569"></a><tt class="py-lineno">569</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-430" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-430', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-431', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"?"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L570"></a><tt class="py-lineno">570</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-432" class="py-name"><a title="Martel.msre_constants.MIN_REPEAT Martel.msre_parse.MIN_REPEAT" class="py-name" href="#" onclick="return doclink('link-432', 'MIN_REPEAT', 'link-116');">MIN_REPEAT</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">min</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt><tt class="py-op">,</tt> <tt id="link-433" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-433', 'item', 'link-285');">item</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L571"></a><tt class="py-lineno">571</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L572"></a><tt class="py-lineno">572</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-434" class="py-name"><a title="Martel.msre_constants.MAX_REPEAT Martel.msre_parse.MAX_REPEAT" class="py-name" href="#" onclick="return doclink('link-434', 'MAX_REPEAT', 'link-117');">MAX_REPEAT</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">min</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt><tt class="py-op">,</tt> <tt id="link-435" class="py-name"><a title="Bio.EUtils.Datatypes.DBIds.item" class="py-name" href="#" onclick="return doclink('link-435', 'item', 'link-285');">item</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L573"></a><tt class="py-lineno">573</tt> <tt class="py-line"> </tt> <a name="L574"></a><tt class="py-lineno">574</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"."</tt><tt class="py-op">:</tt> </tt> <a name="L575"></a><tt class="py-lineno">575</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-436" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-436', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-437" class="py-name"><a title="Bio.EUtils.POM.ANY Martel.msre_constants.ANY Martel.msre_parse.ANY" class="py-name" href="#" onclick="return doclink('link-437', 'ANY', 'link-121');">ANY</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L576"></a><tt class="py-lineno">576</tt> <tt class="py-line"> </tt> <a name="L577"></a><tt class="py-lineno">577</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"("</tt><tt class="py-op">:</tt> </tt> <a name="L578"></a><tt class="py-lineno">578</tt> <tt class="py-line"> <tt id="link-438" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-438', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L579"></a><tt class="py-lineno">579</tt> <tt class="py-line"> <tt id="link-439" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-439', 'name', 'link-59');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L580"></a><tt class="py-lineno">580</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-440" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-440', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-441', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"?"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L581"></a><tt class="py-lineno">581</tt> <tt class="py-line"> <tt id="link-442" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-442', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L582"></a><tt class="py-lineno">582</tt> <tt class="py-line"> <tt class="py-comment"># options</tt> </tt> <a name="L583"></a><tt class="py-lineno">583</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-443" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-443', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-444', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"P"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L584"></a><tt class="py-lineno">584</tt> <tt class="py-line"> <tt class="py-comment"># python extensions</tt> </tt> <a name="L585"></a><tt class="py-lineno">585</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-445" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-445', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-446', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"<"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L586"></a><tt class="py-lineno">586</tt> <tt class="py-line"> <tt class="py-comment"># named group: skip forward to end of name</tt> </tt> <a name="L587"></a><tt class="py-lineno">587</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-447" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-447', 'name', 'link-59');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L588"></a><tt class="py-lineno">588</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L589"></a><tt class="py-lineno">589</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt id="link-448" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-448', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-449" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-449', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L590"></a><tt class="py-lineno">590</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L591"></a><tt class="py-lineno">591</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-450" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-450', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unterminated name"</tt> </tt> <a name="L592"></a><tt class="py-lineno">592</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-string">">"</tt><tt class="py-op">:</tt> </tt> <a name="L593"></a><tt class="py-lineno">593</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L594"></a><tt class="py-lineno">594</tt> <tt class="py-line"> <tt id="link-451" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-451', 'name', 'link-59');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-452" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-452', 'name', 'link-59');">name</a></tt> <tt class="py-op">+</tt> <tt class="py-name">char</tt> </tt> <a name="L595"></a><tt class="py-lineno">595</tt> <tt class="py-line"> <tt id="link-453" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-453', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L596"></a><tt class="py-lineno">596</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-454" class="py-name" targets="Function Martel.msre_parse.isname_with_attrs()=Martel.msre_parse-module.html#isname_with_attrs"><a title="Martel.msre_parse.isname_with_attrs" class="py-name" href="#" onclick="return doclink('link-454', 'isname_with_attrs', 'link-454');">isname_with_attrs</a></tt><tt class="py-op">(</tt><tt id="link-455" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-455', 'name', 'link-59');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L597"></a><tt class="py-lineno">597</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-456" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-456', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bad character in group name"</tt> </tt> <a name="L598"></a><tt class="py-lineno">598</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-457" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-457', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-458', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"="</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L599"></a><tt class="py-lineno">599</tt> <tt class="py-line"> <tt class="py-comment"># named backreference</tt> </tt> <a name="L600"></a><tt class="py-lineno">600</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-459" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-459', 'name', 'link-59');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L601"></a><tt class="py-lineno">601</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L602"></a><tt class="py-lineno">602</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt id="link-460" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-460', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-461', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L603"></a><tt class="py-lineno">603</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L604"></a><tt class="py-lineno">604</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-462" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-462', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unterminated name"</tt> </tt> <a name="L605"></a><tt class="py-lineno">605</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-string">")"</tt><tt class="py-op">:</tt> </tt> <a name="L606"></a><tt class="py-lineno">606</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L607"></a><tt class="py-lineno">607</tt> <tt class="py-line"> <tt id="link-463" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-463', 'name', 'link-59');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-464" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-464', 'name', 'link-59');">name</a></tt> <tt class="py-op">+</tt> <tt class="py-name">char</tt> </tt> <a name="L608"></a><tt class="py-lineno">608</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-465" class="py-name"><a title="Martel.msre_parse.isname" class="py-name" href="#" onclick="return doclink('link-465', 'isname', 'link-391');">isname</a></tt><tt class="py-op">(</tt><tt id="link-466" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-466', 'name', 'link-59');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L609"></a><tt class="py-lineno">609</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-467" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-467', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bad character in group name"</tt> </tt> <a name="L610"></a><tt class="py-lineno">610</tt> <tt class="py-line"> <tt class="py-name">gid</tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt class="py-name">groupdict</tt><tt class="py-op">.</tt><tt id="link-468" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-468', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt id="link-469" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-469', 'name', 'link-59');">name</a></tt><tt class="py-op">)</tt> </tt> <a name="L611"></a><tt class="py-lineno">611</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">gid</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L612"></a><tt class="py-lineno">612</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-470" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-470', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unknown group name"</tt> </tt> <a name="L613"></a><tt class="py-lineno">613</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-471', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-472" class="py-name"><a title="Martel.msre_constants.GROUPREF Martel.msre_parse.GROUPREF" class="py-name" href="#" onclick="return doclink('link-472', 'GROUPREF', 'link-262');">GROUPREF</a></tt><tt class="py-op">,</tt> <tt class="py-name">gid</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L614"></a><tt class="py-lineno">614</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt> <a name="L615"></a><tt class="py-lineno">615</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L616"></a><tt class="py-lineno">616</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt id="link-473" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-473', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-474', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L617"></a><tt class="py-lineno">617</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L618"></a><tt class="py-lineno">618</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-475" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-475', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unexpected end of pattern"</tt> </tt> <a name="L619"></a><tt class="py-lineno">619</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-476" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-476', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unknown specifier: ?P%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">char</tt> </tt> <a name="L620"></a><tt class="py-lineno">620</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-477" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-477', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-478', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">":"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L621"></a><tt class="py-lineno">621</tt> <tt class="py-line"> <tt class="py-comment"># non-capturing group</tt> </tt> <a name="L622"></a><tt class="py-lineno">622</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-479" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-479', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt> <a name="L623"></a><tt class="py-lineno">623</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-480" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-480', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-481', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"#"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L624"></a><tt class="py-lineno">624</tt> <tt class="py-line"> <tt class="py-comment"># comment</tt> </tt> <a name="L625"></a><tt class="py-lineno">625</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L626"></a><tt class="py-lineno">626</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-482" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-482', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-483', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt id="link-484" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-484', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-485', 'next', 'link-131');">next</a></tt> <tt class="py-op">==</tt> <tt class="py-string">")"</tt><tt class="py-op">:</tt> </tt> <a name="L627"></a><tt class="py-lineno">627</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L628"></a><tt class="py-lineno">628</tt> <tt class="py-line"> <tt id="link-486" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-486', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-487" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-487', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L629"></a><tt class="py-lineno">629</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-488" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-488', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-489', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">")"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L630"></a><tt class="py-lineno">630</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-490" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-490', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unbalanced parenthesis"</tt> </tt> <a name="L631"></a><tt class="py-lineno">631</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt> <a name="L632"></a><tt class="py-lineno">632</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-491" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-491', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-492', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"="</tt><tt class="py-op">,</tt> <tt class="py-string">"!"</tt><tt class="py-op">,</tt> <tt class="py-string">"<"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L633"></a><tt class="py-lineno">633</tt> <tt class="py-line"> <tt class="py-comment"># lookahead assertions</tt> </tt> <a name="L634"></a><tt class="py-lineno">634</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt id="link-493" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-493', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-494', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L635"></a><tt class="py-lineno">635</tt> <tt class="py-line"> <tt class="py-name">dir</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L636"></a><tt class="py-lineno">636</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-string">"<"</tt><tt class="py-op">:</tt> </tt> <a name="L637"></a><tt class="py-lineno">637</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-495" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-495', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-496', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"="</tt><tt class="py-op">,</tt> <tt class="py-string">"!"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L638"></a><tt class="py-lineno">638</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-497" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-497', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"syntax error"</tt> </tt> <a name="L639"></a><tt class="py-lineno">639</tt> <tt class="py-line"> <tt class="py-name">dir</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-comment"># lookbehind</tt> </tt> <a name="L640"></a><tt class="py-lineno">640</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt id="link-498" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-498', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-499', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L641"></a><tt class="py-lineno">641</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt id="link-500" class="py-name" targets="Function Martel.msre_parse._parse_sub()=Martel.msre_parse-module.html#_parse_sub"><a title="Martel.msre_parse._parse_sub" class="py-name" href="#" onclick="return doclink('link-500', '_parse_sub', 'link-500');">_parse_sub</a></tt><tt class="py-op">(</tt><tt id="link-501" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-501', 'source', 'link-167');">source</a></tt><tt class="py-op">,</tt> <tt class="py-name">state</tt><tt class="py-op">)</tt> </tt> <a name="L642"></a><tt class="py-lineno">642</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-502" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-502', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-503', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">")"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L643"></a><tt class="py-lineno">643</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-504" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-504', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unbalanced parenthesis"</tt> </tt> <a name="L644"></a><tt class="py-lineno">644</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-string">"="</tt><tt class="py-op">:</tt> </tt> <a name="L645"></a><tt class="py-lineno">645</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-505', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-506" class="py-name" targets="Variable Martel.msre_constants.ASSERT=Martel.msre_constants-module.html#ASSERT,Variable Martel.msre_parse.ASSERT=Martel.msre_parse-module.html#ASSERT"><a title="Martel.msre_constants.ASSERT Martel.msre_parse.ASSERT" class="py-name" href="#" onclick="return doclink('link-506', 'ASSERT', 'link-506');">ASSERT</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">dir</tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L646"></a><tt class="py-lineno">646</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L647"></a><tt class="py-lineno">647</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-507', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-508" class="py-name" targets="Variable Martel.msre_constants.ASSERT_NOT=Martel.msre_constants-module.html#ASSERT_NOT,Variable Martel.msre_parse.ASSERT_NOT=Martel.msre_parse-module.html#ASSERT_NOT"><a title="Martel.msre_constants.ASSERT_NOT Martel.msre_parse.ASSERT_NOT" class="py-name" href="#" onclick="return doclink('link-508', 'ASSERT_NOT', 'link-508');">ASSERT_NOT</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">dir</tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L648"></a><tt class="py-lineno">648</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt> <a name="L649"></a><tt class="py-lineno">649</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L650"></a><tt class="py-lineno">650</tt> <tt class="py-line"> <tt class="py-comment"># flags</tt> </tt> <a name="L651"></a><tt class="py-lineno">651</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-509" class="py-name"><a title="Martel.msre_parse.FLAGS" class="py-name" href="#" onclick="return doclink('link-509', 'FLAGS', 'link-47');">FLAGS</a></tt><tt class="py-op">.</tt><tt id="link-510" class="py-name" targets="Method Bio.Crystal.Crystal.has_key()=Bio.Crystal.Crystal-class.html#has_key,Method Bio.EUtils.POM.ElementNode.has_key()=Bio.EUtils.POM.ElementNode-class.html#has_key,Method Bio.GenBank.NCBIDictionary.has_key()=Bio.GenBank.NCBIDictionary-class.html#has_key,Method Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key()=Bio.PDB.AbstractPropertyMap.AbstractPropertyMap-class.html#has_key,Method Bio.PDB.FragmentMapper'.FragmentMapper.has_key()=Bio.PDB.FragmentMapper%27.FragmentMapper-class.html#has_key,Method Bio.Prosite.ExPASyDictionary.has_key()=Bio.Prosite.ExPASyDictionary-class.html#has_key,Method Bio.Prosite.Prodoc.ExPASyDictionary.has_key()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#has_key,Method Bio.PubMed.Dictionary.has_key()=Bio.PubMed.Dictionary-class.html#has_key,Method Bio.SwissProt.SProt.ExPASyDictionary.has_key()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#has_key,Method Martel.Parser.MartelAttributeList.has_key()=Martel.Parser.MartelAttributeList-class.html#has_key"><a title="Bio.Crystal.Crystal.has_key Bio.EUtils.POM.ElementNode.has_key Bio.GenBank.NCBIDictionary.has_key Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key Bio.PDB.FragmentMapper'.FragmentMapper.has_key Bio.Prosite.ExPASyDictionary.has_key Bio.Prosite.Prodoc.ExPASyDictionary.has_key Bio.PubMed.Dictionary.has_key Bio.SwissProt.SProt.ExPASyDictionary.has_key Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-510', 'has_key', 'link-510');">has_key</a></tt><tt class="py-op">(</tt><tt id="link-511" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-511', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-512" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-512', 'next', 'link-131');">next</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L652"></a><tt class="py-lineno">652</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-513" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-513', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unexpected end of pattern"</tt> </tt> <a name="L653"></a><tt class="py-lineno">653</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-514" class="py-name"><a title="Martel.msre_parse.FLAGS" class="py-name" href="#" onclick="return doclink('link-514', 'FLAGS', 'link-47');">FLAGS</a></tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="Bio.Crystal.Crystal.has_key Bio.EUtils.POM.ElementNode.has_key Bio.GenBank.NCBIDictionary.has_key Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key Bio.PDB.FragmentMapper'.FragmentMapper.has_key Bio.Prosite.ExPASyDictionary.has_key Bio.Prosite.Prodoc.ExPASyDictionary.has_key Bio.PubMed.Dictionary.has_key Bio.SwissProt.SProt.ExPASyDictionary.has_key Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-515', 'has_key', 'link-510');">has_key</a></tt><tt class="py-op">(</tt><tt id="link-516" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-516', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-517', 'next', 'link-131');">next</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L654"></a><tt class="py-lineno">654</tt> <tt class="py-line"> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt class="py-name">flags</tt> <tt class="py-op">|</tt> <tt id="link-518" class="py-name"><a title="Martel.msre_parse.FLAGS" class="py-name" href="#" onclick="return doclink('link-518', 'FLAGS', 'link-47');">FLAGS</a></tt><tt class="py-op">[</tt><tt id="link-519" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-519', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-520', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt> <a name="L655"></a><tt class="py-lineno">655</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-521" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-521', 'group', 'link-254');">group</a></tt><tt class="py-op">:</tt> </tt> <a name="L656"></a><tt class="py-lineno">656</tt> <tt class="py-line"> <tt class="py-comment"># parse group contents</tt> </tt> <a name="L657"></a><tt class="py-lineno">657</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-522" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-522', 'group', 'link-254');">group</a></tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt> <a name="L658"></a><tt class="py-lineno">658</tt> <tt class="py-line"> <tt class="py-comment"># anonymous group</tt> </tt> <a name="L659"></a><tt class="py-lineno">659</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-523" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-523', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L660"></a><tt class="py-lineno">660</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L661"></a><tt class="py-lineno">661</tt> <tt class="py-line"> <tt id="link-524" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-524', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name" targets="Method Martel.convert_re.GroupNames.opengroup()=Martel.convert_re.GroupNames-class.html#opengroup,Method Martel.msre_parse.Pattern.opengroup()=Martel.msre_parse.Pattern-class.html#opengroup"><a title="Martel.convert_re.GroupNames.opengroup Martel.msre_parse.Pattern.opengroup" class="py-name" href="#" onclick="return doclink('link-525', 'opengroup', 'link-525');">opengroup</a></tt><tt class="py-op">(</tt><tt id="link-526" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-526', 'name', 'link-59');">name</a></tt><tt class="py-op">)</tt> </tt> <a name="L662"></a><tt class="py-lineno">662</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt id="link-527" class="py-name"><a title="Martel.msre_parse._parse_sub" class="py-name" href="#" onclick="return doclink('link-527', '_parse_sub', 'link-500');">_parse_sub</a></tt><tt class="py-op">(</tt><tt id="link-528" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-528', 'source', 'link-167');">source</a></tt><tt class="py-op">,</tt> <tt class="py-name">state</tt><tt class="py-op">)</tt> </tt> <a name="L663"></a><tt class="py-lineno">663</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-529" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-529', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-530', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">")"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L664"></a><tt class="py-lineno">664</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-531" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-531', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unbalanced parenthesis"</tt> </tt> <a name="L665"></a><tt class="py-lineno">665</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-532" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-532', 'group', 'link-254');">group</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L666"></a><tt class="py-lineno">666</tt> <tt class="py-line"> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name" targets="Method Martel.convert_re.GroupNames.closegroup()=Martel.convert_re.GroupNames-class.html#closegroup,Method Martel.msre_parse.Pattern.closegroup()=Martel.msre_parse.Pattern-class.html#closegroup"><a title="Martel.convert_re.GroupNames.closegroup Martel.msre_parse.Pattern.closegroup" class="py-name" href="#" onclick="return doclink('link-533', 'closegroup', 'link-533');">closegroup</a></tt><tt class="py-op">(</tt><tt id="link-534" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-534', 'group', 'link-254');">group</a></tt><tt class="py-op">)</tt> </tt> <a name="L667"></a><tt class="py-lineno">667</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-535', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-536" class="py-name"><a title="Martel.msre_constants.SUBPATTERN Martel.msre_parse.SUBPATTERN" class="py-name" href="#" onclick="return doclink('link-536', 'SUBPATTERN', 'link-112');">SUBPATTERN</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-537" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-537', 'group', 'link-254');">group</a></tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L668"></a><tt class="py-lineno">668</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L669"></a><tt class="py-lineno">669</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L670"></a><tt class="py-lineno">670</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt id="link-538" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-538', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-539', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L671"></a><tt class="py-lineno">671</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L672"></a><tt class="py-lineno">672</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-540" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-540', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unexpected end of pattern"</tt> </tt> <a name="L673"></a><tt class="py-lineno">673</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-string">")"</tt><tt class="py-op">:</tt> </tt> <a name="L674"></a><tt class="py-lineno">674</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L675"></a><tt class="py-lineno">675</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-541" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-541', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unknown extension"</tt> </tt> <a name="L676"></a><tt class="py-lineno">676</tt> <tt class="py-line"> </tt> <a name="L677"></a><tt class="py-lineno">677</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"^"</tt><tt class="py-op">:</tt> </tt> <a name="L678"></a><tt class="py-lineno">678</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-542" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-542', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-543" class="py-name"><a title="Martel.msre_constants.AT Martel.msre_parse.AT" class="py-name" href="#" onclick="return doclink('link-543', 'AT', 'link-20');">AT</a></tt><tt class="py-op">,</tt> <tt id="link-544" class="py-name" targets="Variable Martel.msre_constants.AT_BEGINNING=Martel.msre_constants-module.html#AT_BEGINNING,Variable Martel.msre_parse.AT_BEGINNING=Martel.msre_parse-module.html#AT_BEGINNING"><a title="Martel.msre_constants.AT_BEGINNING Martel.msre_parse.AT_BEGINNING" class="py-name" href="#" onclick="return doclink('link-544', 'AT_BEGINNING', 'link-544');">AT_BEGINNING</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L679"></a><tt class="py-lineno">679</tt> <tt class="py-line"> </tt> <a name="L680"></a><tt class="py-lineno">680</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"$"</tt><tt class="py-op">:</tt> </tt> <a name="L681"></a><tt class="py-lineno">681</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-545', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-546" class="py-name"><a title="Martel.msre_constants.AT Martel.msre_parse.AT" class="py-name" href="#" onclick="return doclink('link-546', 'AT', 'link-20');">AT</a></tt><tt class="py-op">,</tt> <tt id="link-547" class="py-name" targets="Variable Martel.msre_constants.AT_END=Martel.msre_constants-module.html#AT_END,Variable Martel.msre_parse.AT_END=Martel.msre_parse-module.html#AT_END"><a title="Martel.msre_constants.AT_END Martel.msre_parse.AT_END" class="py-name" href="#" onclick="return doclink('link-547', 'AT_END', 'link-547');">AT_END</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L682"></a><tt class="py-lineno">682</tt> <tt class="py-line"> </tt> <a name="L683"></a><tt class="py-lineno">683</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">this</tt> <tt class="py-keyword">and</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"\\"</tt><tt class="py-op">:</tt> </tt> <a name="L684"></a><tt class="py-lineno">684</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-548" class="py-name" targets="Function Martel.msre_parse._escape()=Martel.msre_parse-module.html#_escape"><a title="Martel.msre_parse._escape" class="py-name" href="#" onclick="return doclink('link-548', '_escape', 'link-548');">_escape</a></tt><tt class="py-op">(</tt><tt id="link-549" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-549', 'source', 'link-167');">source</a></tt><tt class="py-op">,</tt> <tt class="py-name">this</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt><tt class="py-op">)</tt> </tt> <a name="L685"></a><tt class="py-lineno">685</tt> <tt class="py-line"> <tt class="py-name">subpattern</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-550', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">)</tt> </tt> <a name="L686"></a><tt class="py-lineno">686</tt> <tt class="py-line"> </tt> <a name="L687"></a><tt class="py-lineno">687</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L688"></a><tt class="py-lineno">688</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-551" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-551', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"parser error"</tt> </tt> <a name="L689"></a><tt class="py-lineno">689</tt> <tt class="py-line"> </tt> <a name="L690"></a><tt class="py-lineno">690</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">subpattern</tt> </tt> </div><a name="L691"></a><tt class="py-lineno">691</tt> <tt class="py-line"> </tt> <a name="parse"></a><div id="parse-def"><a name="L692"></a><tt class="py-lineno">692</tt> <a class="py-toggle" href="#" id="parse-toggle" onclick="return toggle('parse');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">str</tt><tt class="py-op">,</tt> <tt class="py-param">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-param">pattern</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="parse-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="parse-expanded"><a name="L693"></a><tt class="py-lineno">693</tt> <tt class="py-line"> <tt class="py-comment"># parse 're' pattern into list of (opcode, argument) tuples</tt> </tt> <a name="L694"></a><tt class="py-lineno">694</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L695"></a><tt class="py-lineno">695</tt> <tt class="py-line"> <tt id="link-552" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-552', 'source', 'link-167');">source</a></tt> <tt class="py-op">=</tt> <tt id="link-553" class="py-name" targets="Class Martel.msre_parse.Tokenizer=Martel.msre_parse.Tokenizer-class.html"><a title="Martel.msre_parse.Tokenizer" class="py-name" href="#" onclick="return doclink('link-553', 'Tokenizer', 'link-553');">Tokenizer</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> </tt> <a name="L696"></a><tt class="py-lineno">696</tt> <tt class="py-line"> </tt> <a name="L697"></a><tt class="py-lineno">697</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-554" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-554', 'pattern', 'link-67');">pattern</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L698"></a><tt class="py-lineno">698</tt> <tt class="py-line"> <tt id="link-555" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-555', 'pattern', 'link-67');">pattern</a></tt> <tt class="py-op">=</tt> <tt id="link-556" class="py-name" targets="Module Bio.NeuralNetwork.Gene.Pattern=Bio.NeuralNetwork.Gene.Pattern-module.html,Module Bio.Prosite.Pattern=Bio.Prosite.Pattern-module.html,Class Martel.msre_parse.Pattern=Martel.msre_parse.Pattern-class.html"><a title="Bio.NeuralNetwork.Gene.Pattern Bio.Prosite.Pattern Martel.msre_parse.Pattern" class="py-name" href="#" onclick="return doclink('link-556', 'Pattern', 'link-556');">Pattern</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L699"></a><tt class="py-lineno">699</tt> <tt class="py-line"> <tt id="link-557" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-557', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">.</tt><tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">flags</tt> </tt> <a name="L700"></a><tt class="py-lineno">700</tt> <tt class="py-line"> <tt id="link-558" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-558', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">.</tt><tt class="py-name">str</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt> </tt> <a name="L701"></a><tt class="py-lineno">701</tt> <tt class="py-line"> </tt> <a name="L702"></a><tt class="py-lineno">702</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt id="link-559" class="py-name"><a title="Martel.msre_parse._parse_sub" class="py-name" href="#" onclick="return doclink('link-559', '_parse_sub', 'link-500');">_parse_sub</a></tt><tt class="py-op">(</tt><tt id="link-560" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-560', 'source', 'link-167');">source</a></tt><tt class="py-op">,</tt> <tt id="link-561" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-561', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> <a name="L703"></a><tt class="py-lineno">703</tt> <tt class="py-line"> </tt> <a name="L704"></a><tt class="py-lineno">704</tt> <tt class="py-line"> <tt class="py-name">tail</tt> <tt class="py-op">=</tt> <tt id="link-562" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-562', 'source', 'link-167');">source</a></tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-563', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L705"></a><tt class="py-lineno">705</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tail</tt> <tt class="py-op">==</tt> <tt class="py-string">")"</tt><tt class="py-op">:</tt> </tt> <a name="L706"></a><tt class="py-lineno">706</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-564" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-564', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unbalanced parenthesis"</tt> </tt> <a name="L707"></a><tt class="py-lineno">707</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">tail</tt><tt class="py-op">:</tt> </tt> <a name="L708"></a><tt class="py-lineno">708</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-565" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-565', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bogus characters at end of regular expression"</tt> </tt> <a name="L709"></a><tt class="py-lineno">709</tt> <tt class="py-line"> </tt> <a name="L710"></a><tt class="py-lineno">710</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">flags</tt> <tt class="py-op">&</tt> <tt id="link-566" class="py-name" targets="Variable Martel.msre_constants.SRE_FLAG_DEBUG=Martel.msre_constants-module.html#SRE_FLAG_DEBUG,Variable Martel.msre_parse.SRE_FLAG_DEBUG=Martel.msre_parse-module.html#SRE_FLAG_DEBUG"><a title="Martel.msre_constants.SRE_FLAG_DEBUG Martel.msre_parse.SRE_FLAG_DEBUG" class="py-name" href="#" onclick="return doclink('link-566', 'SRE_FLAG_DEBUG', 'link-566');">SRE_FLAG_DEBUG</a></tt><tt class="py-op">:</tt> </tt> <a name="L711"></a><tt class="py-lineno">711</tt> <tt class="py-line"> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-567" class="py-name"><a title="Bio.DocSQL.Query.dump Martel.msre_parse.SubPattern.dump Martel.test.support.Storage.dump Martel.test.test_swissprot38.dump" class="py-name" href="#" onclick="return doclink('link-567', 'dump', 'link-76');">dump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L712"></a><tt class="py-lineno">712</tt> <tt class="py-line"> </tt> <a name="L713"></a><tt class="py-lineno">713</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">flags</tt> <tt class="py-op">&</tt> <tt id="link-568" class="py-name"><a title="Martel.msre_constants.SRE_FLAG_VERBOSE Martel.msre_parse.SRE_FLAG_VERBOSE" class="py-name" href="#" onclick="return doclink('link-568', 'SRE_FLAG_VERBOSE', 'link-52');">SRE_FLAG_VERBOSE</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-569" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-569', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">.</tt><tt class="py-name">flags</tt> <tt class="py-op">&</tt> <tt id="link-570" class="py-name"><a title="Martel.msre_constants.SRE_FLAG_VERBOSE Martel.msre_parse.SRE_FLAG_VERBOSE" class="py-name" href="#" onclick="return doclink('link-570', 'SRE_FLAG_VERBOSE', 'link-52');">SRE_FLAG_VERBOSE</a></tt><tt class="py-op">:</tt> </tt> <a name="L714"></a><tt class="py-lineno">714</tt> <tt class="py-line"> <tt class="py-comment"># the VERBOSE flag was switched on inside the pattern. to be</tt> </tt> <a name="L715"></a><tt class="py-lineno">715</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># on the safe side, we'll parse the whole thing again...</tt> </tt> <a name="L716"></a><tt class="py-lineno">716</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt id="link-571" class="py-name" targets="Method Bio.Affy.CelFile.CelParser.parse()=Bio.Affy.CelFile.CelParser-class.html#parse,Method Bio.AlignAce.Parser.AlignAceParser.parse()=Bio.AlignAce.Parser.AlignAceParser-class.html#parse,Method Bio.AlignAce.Parser.CompareAceParser.parse()=Bio.AlignAce.Parser.CompareAceParser-class.html#parse,Function Bio.AlignIO.parse()=Bio.AlignIO-module.html#parse,Method Bio.Blast.NCBIStandalone.BlastErrorParser.parse()=Bio.Blast.NCBIStandalone.BlastErrorParser-class.html#parse,Method Bio.Blast.NCBIStandalone.BlastParser.parse()=Bio.Blast.NCBIStandalone.BlastParser-class.html#parse,Method Bio.Blast.NCBIStandalone.PSIBlastParser.parse()=Bio.Blast.NCBIStandalone.PSIBlastParser-class.html#parse,Method Bio.Blast.NCBIWWW.BlastParser.parse()=Bio.Blast.NCBIWWW.BlastParser-class.html#parse,Method Bio.Blast.NCBIXML.BlastParser.parse()=Bio.Blast.NCBIXML.BlastParser-class.html#parse,Function Bio.Blast.NCBIXML.parse()=Bio.Blast.NCBIXML-module.html#parse,Method Bio.CDD.RecordParser.parse()=Bio.CDD.RecordParser-class.html#parse,Method Bio.Compass.RecordParser.parse()=Bio.Compass.RecordParser-class.html#parse,Function Bio.Decode.parse()=Bio.Decode-module.html#parse,Method Bio.ECell.RecordParser.parse()=Bio.ECell.RecordParser-class.html#parse,Method Bio.EUtils.POM.POMDocument.parse()=Bio.EUtils.POM.POMDocument-class.html#parse,Module Bio.EUtils.parse=Bio.EUtils.parse-module.html,Method Bio.Emboss.Primer.Primer3Parser.parse()=Bio.Emboss.Primer.Primer3Parser-class.html#parse,Method Bio.Emboss.Primer.PrimerSearchParser.parse()=Bio.Emboss.Primer.PrimerSearchParser-class.html#parse,Method Bio.Enzyme.RecordParser.parse()=Bio.Enzyme.RecordParser-class.html#parse,Method Bio.Fasta.RecordParser.parse()=Bio.Fasta.RecordParser-class.html#parse,Method Bio.Fasta.SequenceParser.parse()=Bio.Fasta.SequenceParser-class.html#parse,Method Bio.GenBank.FeatureParser.parse()=Bio.GenBank.FeatureParser-class.html#parse,Function Bio.GenBank.LocationParser.parse()=Bio.GenBank.LocationParser-module.html#parse,Method Bio.GenBank.RecordParser.parse()=Bio.GenBank.RecordParser-class.html#parse,Method Bio.GenBank.Scanner.InsdcScanner.parse()=Bio.GenBank.Scanner.InsdcScanner-class.html#parse,Function Bio.Geo.parse()=Bio.Geo-module.html#parse,Method Bio.Gobase.RecordParser.parse()=Bio.Gobase.RecordParser-class.html#parse,Method Bio.IntelliGenetics.RecordParser.parse()=Bio.IntelliGenetics.RecordParser-class.html#parse,Method Bio.InterPro.InterProParser.parse()=Bio.InterPro.InterProParser-class.html#parse,Function Bio.KEGG.Compound.parse()=Bio.KEGG.Compound-module.html#parse,Function Bio.KEGG.Enzyme.parse()=Bio.KEGG.Enzyme-module.html#parse,Function Bio.KEGG.Map.parse()=Bio.KEGG.Map-module.html#parse,Method Bio.LocusLink.RecordParser.parse()=Bio.LocusLink.RecordParser-class.html#parse,Method Bio.LocusLink.web_parse.LocusLinkParser.parse()=Bio.LocusLink.web_parse.LocusLinkParser-class.html#parse,Method Bio.MEME.Parser.MASTParser.parse()=Bio.MEME.Parser.MASTParser-class.html#parse,Method Bio.MEME.Parser.MEMEParser.parse()=Bio.MEME.Parser.MEMEParser-class.html#parse,Method Bio.Medline.RecordParser.parse()=Bio.Medline.RecordParser-class.html#parse,Method Bio.MetaTool.RecordParser.parse()=Bio.MetaTool.RecordParser-class.html#parse,Method Bio.NBRF.RecordParser.parse()=Bio.NBRF.RecordParser-class.html#parse,Method Bio.Ndb.NdbParser.parse()=Bio.Ndb.NdbParser-class.html#parse,Method Bio.ParserSupport.AbstractParser.parse()=Bio.ParserSupport.AbstractParser-class.html#parse,Method Bio.Parsers.spark.GenericParser.parse()=Bio.Parsers.spark.GenericParser-class.html#parse,Method Bio.PopGen.FDist.RecordParser.parse()=Bio.PopGen.FDist.RecordParser-class.html#parse,Method Bio.PopGen.GenePop.RecordParser.parse()=Bio.PopGen.GenePop.RecordParser-class.html#parse,Function Bio.PopGen.GenePop.parse()=Bio.PopGen.GenePop-module.html#parse,Method Bio.Prosite.Prodoc.RecordParser.parse()=Bio.Prosite.Prodoc.RecordParser-class.html#parse,Function Bio.Prosite.Prodoc.parse()=Bio.Prosite.Prodoc-module.html#parse,Method Bio.Prosite.RecordParser.parse()=Bio.Prosite.RecordParser-class.html#parse,Function Bio.Prosite.parse()=Bio.Prosite-module.html#parse,Method Bio.Rebase.RecordParser.parse()=Bio.Rebase.RecordParser-class.html#parse,Method Bio.SCOP.Cla.Parser.parse()=Bio.SCOP.Cla.Parser-class.html#parse,Function Bio.SCOP.Cla.parse()=Bio.SCOP.Cla-module.html#parse,Method Bio.SCOP.Des.Parser.parse()=Bio.SCOP.Des.Parser-class.html#parse,Function Bio.SCOP.Des.parse()=Bio.SCOP.Des-module.html#parse,Method Bio.SCOP.Dom.Parser.parse()=Bio.SCOP.Dom.Parser-class.html#parse,Function Bio.SCOP.Dom.parse()=Bio.SCOP.Dom-module.html#parse,Method Bio.SCOP.Hie.Parser.parse()=Bio.SCOP.Hie.Parser-class.html#parse,Function Bio.SCOP.Hie.parse()=Bio.SCOP.Hie-module.html#parse,Method Bio.SCOP.Raf.Parser.parse()=Bio.SCOP.Raf.Parser-class.html#parse,Function Bio.SCOP.Raf.parse()=Bio.SCOP.Raf-module.html#parse,Method Bio.Saf.RecordParser.parse()=Bio.Saf.RecordParser-class.html#parse,Function Bio.SeqIO.parse()=Bio.SeqIO-module.html#parse,Method Bio.Sequencing.Ace.ACEParser.parse()=Bio.Sequencing.Ace.ACEParser-class.html#parse,Method Bio.Sequencing.Ace.RecordParser.parse()=Bio.Sequencing.Ace.RecordParser-class.html#parse,Method Bio.Sequencing.Phd.RecordParser.parse()=Bio.Sequencing.Phd.RecordParser-class.html#parse,Method Bio.SwissProt.KeyWList.ListParser.parse()=Bio.SwissProt.KeyWList.ListParser-class.html#parse,Function Bio.SwissProt.KeyWList.parse()=Bio.SwissProt.KeyWList-module.html#parse,Method Bio.SwissProt.SProt.RecordParser.parse()=Bio.SwissProt.SProt.RecordParser-class.html#parse,Method Bio.SwissProt.SProt.SequenceParser.parse()=Bio.SwissProt.SProt.SequenceParser-class.html#parse,Function Bio.SwissProt.parse()=Bio.SwissProt-module.html#parse,Method Bio.UniGene.RecordParser.parse()=Bio.UniGene.RecordParser-class.html#parse,Function Bio.Wise.psw.parse()=Bio.Wise.psw-module.html#parse,Method Martel.Parser.HeaderFooterParser.parse()=Martel.Parser.HeaderFooterParser-class.html#parse,Method Martel.Parser.Parser.parse()=Martel.Parser.Parser-class.html#parse,Method Martel.Parser.RecordParser.parse()=Martel.Parser.RecordParser-class.html#parse,Function Martel.msre_parse.parse()=Martel.msre_parse-module.html#parse"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-571', 'parse', 'link-571');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-572" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-572', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">.</tt><tt class="py-name">flags</tt><tt class="py-op">)</tt> </tt> <a name="L717"></a><tt class="py-lineno">717</tt> <tt class="py-line"> </tt> <a name="L718"></a><tt class="py-lineno">718</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">p</tt> </tt> </div><a name="L719"></a><tt class="py-lineno">719</tt> <tt class="py-line"> </tt> <a name="parse_template"></a><div id="parse_template-def"><a name="L720"></a><tt class="py-lineno">720</tt> <a class="py-toggle" href="#" id="parse_template-toggle" onclick="return toggle('parse_template');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#parse_template">parse_template</a><tt class="py-op">(</tt><tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">pattern</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="parse_template-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="parse_template-expanded"><a name="L721"></a><tt class="py-lineno">721</tt> <tt class="py-line"> <tt class="py-comment"># parse 're' replacement string into list of literals and</tt> </tt> <a name="L722"></a><tt class="py-lineno">722</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># group references</tt> </tt> <a name="L723"></a><tt class="py-lineno">723</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-573" class="py-name" targets="Variable Martel.test.test_swissprot38.s=Martel.test.test_swissprot38-module.html#s"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-573', 's', 'link-573');">s</a></tt> <tt class="py-op">=</tt> <tt id="link-574" class="py-name"><a title="Martel.msre_parse.Tokenizer" class="py-name" href="#" onclick="return doclink('link-574', 'Tokenizer', 'link-553');">Tokenizer</a></tt><tt class="py-op">(</tt><tt id="link-575" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-575', 'source', 'link-167');">source</a></tt><tt class="py-op">)</tt> </tt> <a name="L724"></a><tt class="py-lineno">724</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L725"></a><tt class="py-lineno">725</tt> <tt class="py-line"> <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-576" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-576', 'append', 'link-62');">append</a></tt> </tt> <a name="L726"></a><tt class="py-lineno">726</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">literal</tt><tt class="py-op">(</tt><tt class="py-param">literal</tt><tt class="py-op">,</tt> <tt class="py-param">p</tt><tt class="py-op">=</tt><tt class="py-name">p</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L727"></a><tt class="py-lineno">727</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">p</tt> <tt class="py-keyword">and</tt> <tt class="py-name">p</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt id="link-577" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-577', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">:</tt> </tt> <a name="L728"></a><tt class="py-lineno">728</tt> <tt class="py-line"> <tt class="py-name">p</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-578" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-578', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">literal</tt> </tt> <a name="L729"></a><tt class="py-lineno">729</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L730"></a><tt class="py-lineno">730</tt> <tt class="py-line"> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-579', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-580" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-580', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">literal</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> </div><a name="L731"></a><tt class="py-lineno">731</tt> <tt class="py-line"> <tt class="py-name">sep</tt> <tt class="py-op">=</tt> <tt id="link-581" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-581', 'source', 'link-167');">source</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L732"></a><tt class="py-lineno">732</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-582" class="py-name"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-582', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">sep</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt id="link-583" class="py-name"><a title="Bio.GenBank.LocationParser.Integer.type Bio.GenBank.LocationParser.Symbol.type Bio.GenBank.LocationParser.UnsignedInteger.type" class="py-name" href="#" onclick="return doclink('link-583', 'type', 'link-79');">type</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L733"></a><tt class="py-lineno">733</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt class="py-name">chr</tt> </tt> <a name="L734"></a><tt class="py-lineno">734</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L735"></a><tt class="py-lineno">735</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt class="py-name">unichr</tt> </tt> <a name="L736"></a><tt class="py-lineno">736</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L737"></a><tt class="py-lineno">737</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt id="link-584" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-584', 's', 'link-573');">s</a></tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-585', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L738"></a><tt class="py-lineno">738</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L739"></a><tt class="py-lineno">739</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> <tt class="py-comment"># end of replacement string</tt> </tt> <a name="L740"></a><tt class="py-lineno">740</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-keyword">and</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"\\"</tt><tt class="py-op">:</tt> </tt> <a name="L741"></a><tt class="py-lineno">741</tt> <tt class="py-line"> <tt class="py-comment"># group</tt> </tt> <a name="L742"></a><tt class="py-lineno">742</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">this</tt> <tt class="py-op">==</tt> <tt class="py-string">"\\g"</tt><tt class="py-op">:</tt> </tt> <a name="L743"></a><tt class="py-lineno">743</tt> <tt class="py-line"> <tt id="link-586" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-586', 'name', 'link-59');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L744"></a><tt class="py-lineno">744</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-587" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-587', 's', 'link-573');">s</a></tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-588', 'match', 'link-156');">match</a></tt><tt class="py-op">(</tt><tt class="py-string">"<"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L745"></a><tt class="py-lineno">745</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L746"></a><tt class="py-lineno">746</tt> <tt class="py-line"> <tt class="py-name">char</tt> <tt class="py-op">=</tt> <tt id="link-589" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-589', 's', 'link-573');">s</a></tt><tt class="py-op">.</tt><tt id="link-590" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-590', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L747"></a><tt class="py-lineno">747</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L748"></a><tt class="py-lineno">748</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-591" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-591', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unterminated group name"</tt> </tt> <a name="L749"></a><tt class="py-lineno">749</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-string">">"</tt><tt class="py-op">:</tt> </tt> <a name="L750"></a><tt class="py-lineno">750</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L751"></a><tt class="py-lineno">751</tt> <tt class="py-line"> <tt id="link-592" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-592', 'name', 'link-59');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-593" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-593', 'name', 'link-59');">name</a></tt> <tt class="py-op">+</tt> <tt class="py-name">char</tt> </tt> <a name="L752"></a><tt class="py-lineno">752</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-594" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-594', 'name', 'link-59');">name</a></tt><tt class="py-op">:</tt> </tt> <a name="L753"></a><tt class="py-lineno">753</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-595" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-595', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bad group name"</tt> </tt> <a name="L754"></a><tt class="py-lineno">754</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L755"></a><tt class="py-lineno">755</tt> <tt class="py-line"> <tt id="link-596" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-596', 'index', 'link-87');">index</a></tt> <tt class="py-op">=</tt> <tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt id="link-597" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-597', 'name', 'link-59');">name</a></tt><tt class="py-op">)</tt> </tt> <a name="L756"></a><tt class="py-lineno">756</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt> <a name="L757"></a><tt class="py-lineno">757</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-598" class="py-name"><a title="Martel.msre_parse.isname" class="py-name" href="#" onclick="return doclink('link-598', 'isname', 'link-391');">isname</a></tt><tt class="py-op">(</tt><tt id="link-599" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-599', 'name', 'link-59');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L758"></a><tt class="py-lineno">758</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-600" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-600', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"bad character in group name"</tt> </tt> <a name="L759"></a><tt class="py-lineno">759</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L760"></a><tt class="py-lineno">760</tt> <tt class="py-line"> <tt id="link-601" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-601', 'index', 'link-87');">index</a></tt> <tt class="py-op">=</tt> <tt id="link-602" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-602', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">.</tt><tt class="py-name">groupindex</tt><tt class="py-op">[</tt><tt id="link-603" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-603', 'name', 'link-59');">name</a></tt><tt class="py-op">]</tt> </tt> <a name="L761"></a><tt class="py-lineno">761</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt> <a name="L762"></a><tt class="py-lineno">762</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt> <tt class="py-string">"unknown group name"</tt> </tt> <a name="L763"></a><tt class="py-lineno">763</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-604" class="py-name" targets="Variable Martel.msre_constants.MARK=Martel.msre_constants-module.html#MARK,Variable Martel.msre_parse.MARK=Martel.msre_parse-module.html#MARK"><a title="Martel.msre_constants.MARK Martel.msre_parse.MARK" class="py-name" href="#" onclick="return doclink('link-604', 'MARK', 'link-604');">MARK</a></tt><tt class="py-op">,</tt> <tt id="link-605" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-605', 'index', 'link-87');">index</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L764"></a><tt class="py-lineno">764</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-606" class="py-name"><a title="Martel.msre_parse.DIGITS" class="py-name" href="#" onclick="return doclink('link-606', 'DIGITS', 'link-3');">DIGITS</a></tt><tt class="py-op">:</tt> </tt> <a name="L765"></a><tt class="py-lineno">765</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L766"></a><tt class="py-lineno">766</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L767"></a><tt class="py-lineno">767</tt> <tt class="py-line"> <tt id="link-607" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-607', 'group', 'link-254');">group</a></tt> <tt class="py-op">=</tt> <tt id="link-608" class="py-name"><a title="Martel._group Martel.msre_parse._group" class="py-name" href="#" onclick="return doclink('link-608', '_group', 'link-255');">_group</a></tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">,</tt> <tt id="link-609" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-609', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">.</tt><tt id="link-610" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-610', 'groups', 'link-56');">groups</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt> <a name="L768"></a><tt class="py-lineno">768</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-611" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-611', 'group', 'link-254');">group</a></tt><tt class="py-op">:</tt> </tt> <a name="L769"></a><tt class="py-lineno">769</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt id="link-612" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-612', 's', 'link-573');">s</a></tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-613', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-614" class="py-name"><a title="Martel.msre_parse.DIGITS" class="py-name" href="#" onclick="return doclink('link-614', 'DIGITS', 'link-3');">DIGITS</a></tt> <tt class="py-keyword">or</tt> </tt> <a name="L770"></a><tt class="py-lineno">770</tt> <tt class="py-line"> <tt class="py-keyword">not</tt> <tt id="link-615" class="py-name"><a title="Martel._group Martel.msre_parse._group" class="py-name" href="#" onclick="return doclink('link-615', '_group', 'link-255');">_group</a></tt><tt class="py-op">(</tt><tt class="py-name">this</tt> <tt class="py-op">+</tt> <tt id="link-616" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-616', 's', 'link-573');">s</a></tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-617', 'next', 'link-131');">next</a></tt><tt class="py-op">,</tt> <tt id="link-618" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-618', 'pattern', 'link-67');">pattern</a></tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-619', 'groups', 'link-56');">groups</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L771"></a><tt class="py-lineno">771</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-620" class="py-name"><a title="Martel.msre_constants.MARK Martel.msre_parse.MARK" class="py-name" href="#" onclick="return doclink('link-620', 'MARK', 'link-604');">MARK</a></tt><tt class="py-op">,</tt> <tt id="link-621" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-621', 'group', 'link-254');">group</a></tt> </tt> <a name="L772"></a><tt class="py-lineno">772</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L773"></a><tt class="py-lineno">773</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-622" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-622', 's', 'link-573');">s</a></tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-623', 'next', 'link-131');">next</a></tt> <tt class="py-keyword">in</tt> <tt id="link-624" class="py-name"><a title="Martel.msre_parse.OCTDIGITS" class="py-name" href="#" onclick="return doclink('link-624', 'OCTDIGITS', 'link-4');">OCTDIGITS</a></tt><tt class="py-op">:</tt> </tt> <a name="L774"></a><tt class="py-lineno">774</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt class="py-name">this</tt> <tt class="py-op">+</tt> <tt id="link-625" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-625', 's', 'link-573');">s</a></tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="Bio.Crystal.Crystal.get Bio.Data.CodonTable.AmbiguousForwardTable.get Bio.EUtils.MultiDict._BaseMultiDict.get Bio.EUtils.POM.ElementNode.get Bio.GenBank.NCBIDictionary.get Bio.Mindy.BaseDB.DictLookup.get Bio.Prosite.ExPASyDictionary.get Bio.Prosite.Prodoc.ExPASyDictionary.get Bio.PubMed.Dictionary.get Bio.Restriction.Restriction.RestrictionBatch.get Bio.Restriction._Update.RestrictionCompiler.DictionaryBuilder.get Bio.SeqUtils.MissingTable.get Bio.SwissProt.SProt.ExPASyDictionary.get Bio.config.DBRegistry.DBGroup.get Bio.config.DBRegistry.DBObject.get Bio.config.Registry.Registry.get Martel.Parser.MartelAttributeList.get Martel.msre_parse.Tokenizer.get" class="py-name" href="#" onclick="return doclink('link-626', 'get', 'link-161');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L775"></a><tt class="py-lineno">775</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L776"></a><tt class="py-lineno">776</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L777"></a><tt class="py-lineno">777</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">code</tt><tt class="py-op">:</tt> </tt> <a name="L778"></a><tt class="py-lineno">778</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt> <a name="L779"></a><tt class="py-lineno">779</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-627" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-627', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">,</tt> <tt class="py-name">char</tt><tt class="py-op">(</tt><tt class="py-name">atoi</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">6</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-number">0xff</tt><tt class="py-op">)</tt> </tt> <a name="L780"></a><tt class="py-lineno">780</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt id="link-628" class="py-name"><a title="Martel.msre_constants.LITERAL Martel.msre_parse.LITERAL" class="py-name" href="#" onclick="return doclink('link-628', 'LITERAL', 'link-8');">LITERAL</a></tt><tt class="py-op">:</tt> </tt> <a name="L781"></a><tt class="py-lineno">781</tt> <tt class="py-line"> <tt class="py-name">literal</tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L782"></a><tt class="py-lineno">782</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L783"></a><tt class="py-lineno">783</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">)</tt> </tt> <a name="L784"></a><tt class="py-lineno">784</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L785"></a><tt class="py-lineno">785</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L786"></a><tt class="py-lineno">786</tt> <tt class="py-line"> <tt class="py-name">this</tt> <tt class="py-op">=</tt> <tt class="py-name">char</tt><tt class="py-op">(</tt><tt id="link-629" class="py-name"><a title="Martel.msre_parse.ESCAPES" class="py-name" href="#" onclick="return doclink('link-629', 'ESCAPES', 'link-7');">ESCAPES</a></tt><tt class="py-op">[</tt><tt class="py-name">this</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L787"></a><tt class="py-lineno">787</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt> <a name="L788"></a><tt class="py-lineno">788</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> <a name="L789"></a><tt class="py-lineno">789</tt> <tt class="py-line"> <tt class="py-name">literal</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">)</tt> </tt> <a name="L790"></a><tt class="py-lineno">790</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L791"></a><tt class="py-lineno">791</tt> <tt class="py-line"> <tt class="py-name">literal</tt><tt class="py-op">(</tt><tt class="py-name">this</tt><tt class="py-op">)</tt> </tt> <a name="L792"></a><tt class="py-lineno">792</tt> <tt class="py-line"> <tt class="py-comment"># convert template to groups and literals lists</tt> </tt> <a name="L793"></a><tt class="py-lineno">793</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-630" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-630', 'i', 'link-74');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L794"></a><tt class="py-lineno">794</tt> <tt class="py-line"> <tt id="link-631" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-631', 'groups', 'link-56');">groups</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L795"></a><tt class="py-lineno">795</tt> <tt class="py-line"> <tt class="py-name">literals</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L796"></a><tt class="py-lineno">796</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-632" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-632', 's', 'link-573');">s</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">p</tt><tt class="py-op">:</tt> </tt> <a name="L797"></a><tt class="py-lineno">797</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">c</tt> <tt class="py-keyword">is</tt> <tt id="link-633" class="py-name"><a title="Martel.msre_constants.MARK Martel.msre_parse.MARK" class="py-name" href="#" onclick="return doclink('link-633', 'MARK', 'link-604');">MARK</a></tt><tt class="py-op">:</tt> </tt> <a name="L798"></a><tt class="py-lineno">798</tt> <tt class="py-line"> <tt id="link-634" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-634', 'groups', 'link-56');">groups</a></tt><tt class="py-op">.</tt><tt id="link-635" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-635', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-636" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-636', 'i', 'link-74');">i</a></tt><tt class="py-op">,</tt> <tt id="link-637" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-637', 's', 'link-573');">s</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L799"></a><tt class="py-lineno">799</tt> <tt class="py-line"> <tt class="py-name">literals</tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-638', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt> <a name="L800"></a><tt class="py-lineno">800</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L801"></a><tt class="py-lineno">801</tt> <tt class="py-line"> <tt class="py-name">literals</tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-639', 'append', 'link-62');">append</a></tt><tt class="py-op">(</tt><tt id="link-640" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-640', 's', 'link-573');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L802"></a><tt class="py-lineno">802</tt> <tt class="py-line"> <tt id="link-641" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-641', 'i', 'link-74');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-642" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-642', 'i', 'link-74');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> <a name="L803"></a><tt class="py-lineno">803</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-643" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-643', 'groups', 'link-56');">groups</a></tt><tt class="py-op">,</tt> <tt class="py-name">literals</tt> </tt> </div><a name="L804"></a><tt class="py-lineno">804</tt> <tt class="py-line"> </tt> <a name="expand_template"></a><div id="expand_template-def"><a name="L805"></a><tt class="py-lineno">805</tt> <a class="py-toggle" href="#" id="expand_template-toggle" onclick="return toggle('expand_template');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.msre_parse-module.html#expand_template">expand_template</a><tt class="py-op">(</tt><tt class="py-param">template</tt><tt class="py-op">,</tt> <tt class="py-param">match</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="expand_template-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="expand_template-expanded"><a name="L806"></a><tt class="py-lineno">806</tt> <tt class="py-line"> <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-644" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-644', 'match', 'link-156');">match</a></tt><tt class="py-op">.</tt><tt id="link-645" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-645', 'group', 'link-254');">group</a></tt> </tt> <a name="L807"></a><tt class="py-lineno">807</tt> <tt class="py-line"> <tt class="py-name">sep</tt> <tt class="py-op">=</tt> <tt id="link-646" class="py-name"><a title="Bio.Parsers.spark.GenericASTMatcher.match Bio.Prosite.Pattern.Prosite.match Bio.triefind.match Martel.msre_parse.Tokenizer.match" class="py-name" href="#" onclick="return doclink('link-646', 'match', 'link-156');">match</a></tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt> <a name="L808"></a><tt class="py-lineno">808</tt> <tt class="py-line"> <tt id="link-647" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-647', 'groups', 'link-56');">groups</a></tt><tt class="py-op">,</tt> <tt class="py-name">literals</tt> <tt class="py-op">=</tt> <tt class="py-name">template</tt> </tt> <a name="L809"></a><tt class="py-lineno">809</tt> <tt class="py-line"> <tt class="py-name">literals</tt> <tt class="py-op">=</tt> <tt class="py-name">literals</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt> <a name="L810"></a><tt class="py-lineno">810</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L811"></a><tt class="py-lineno">811</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-648" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-648', 'index', 'link-87');">index</a></tt><tt class="py-op">,</tt> <tt id="link-649" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-649', 'group', 'link-254');">group</a></tt> <tt class="py-keyword">in</tt> <tt id="link-650" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-650', 'groups', 'link-56');">groups</a></tt><tt class="py-op">:</tt> </tt> <a name="L812"></a><tt class="py-lineno">812</tt> <tt class="py-line"> <tt class="py-name">literals</tt><tt class="py-op">[</tt><tt id="link-651" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-651', 'index', 'link-87');">index</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-652" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-652', 's', 'link-573');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">g</tt><tt class="py-op">(</tt><tt id="link-653" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-653', 'group', 'link-254');">group</a></tt><tt class="py-op">)</tt> </tt> <a name="L813"></a><tt class="py-lineno">813</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-654" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-654', 's', 'link-573');">s</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L814"></a><tt class="py-lineno">814</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IndexError</tt> </tt> <a name="L815"></a><tt class="py-lineno">815</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt> <a name="L816"></a><tt class="py-lineno">816</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-655" class="py-name"><a title="Bio.Parsers.spark.GenericParser.error Bio.Parsers.spark.GenericScanner.error Martel.Iterator.StoreEvents.error Martel.msre_constants.error Martel.test.support.Dump.error Martel.test.test_Parser.CountErrors.error Martel.test.test_optimize.GetErrorPos.error" class="py-name" href="#" onclick="return doclink('link-655', 'error', 'link-134');">error</a></tt><tt class="py-op">,</tt> <tt class="py-string">"empty group"</tt> </tt> <a name="L817"></a><tt class="py-lineno">817</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">literals</tt><tt class="py-op">,</tt> <tt class="py-name">sep</tt><tt class="py-op">)</tt> </tt> </div><a name="L818"></a><tt class="py-lineno">818</tt> <tt class="py-line"> </tt><script type="text/javascript"> <!-- expandto(location.href); // --> </script> </pre> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Mon Sep 15 09:26:57 2008 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>