Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 763d6289e1351f2d34257ce697a3ccb7 > files > 1784

biopython-doc-1.47-2mdv2008.1.x86_64.rpm

<?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.Generate</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>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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&nbsp;Martel</a> ::
        Module&nbsp;Generate
      </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&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="Martel.Generate-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="Martel.Generate-module.html">Module Martel.Generate</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2000-2001, Dalke Scientific Software, LLC</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"># Distributed under the Biopython License Agreement (see the LICENSE file).</tt> </tt>
<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># Create the tables needed for mxTextTools</tt> </tt>
<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"> </tt>
<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">mx</tt> <tt class="py-keyword">import</tt> <tt class="py-name">TextTools</tt> <tt class="py-keyword">as</tt> <tt class="py-name">TT</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">TextTools</tt> <tt class="py-keyword">as</tt> <tt class="py-name">TT</tt> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module Martel.msre_parse=Martel.msre_parse-module.html"><a title="Martel.msre_parse" class="py-name" href="#" onclick="return doclink('link-0', 'msre_parse', 'link-0');">msre_parse</a></tt>  <tt class="py-comment"># Modified version of Secret Labs' sre_parse</tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Class Bio.EUtils.Datatypes.Expression=Bio.EUtils.Datatypes.Expression-class.html,Module Martel.Expression=Martel.Expression-module.html,Class Martel.Expression.Expression=Martel.Expression.Expression-class.html"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-1', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">,</tt> <tt id="link-2" class="py-name" targets="Module Martel.convert_re=Martel.convert_re-module.html"><a title="Martel.convert_re" class="py-name" href="#" onclick="return doclink('link-2', 'convert_re', 'link-2');">convert_re</a></tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module Bio.AlignAce.Parser=Bio.AlignAce.Parser-module.html,Module Bio.Entrez.Parser=Bio.Entrez.Parser-module.html,Module Bio.MEME.Parser=Bio.MEME.Parser-module.html,Class Bio.SCOP.Cla.Parser=Bio.SCOP.Cla.Parser-class.html,Class Bio.SCOP.Des.Parser=Bio.SCOP.Des.Parser-class.html,Class Bio.SCOP.Dom.Parser=Bio.SCOP.Dom.Parser-class.html,Class Bio.SCOP.Hie.Parser=Bio.SCOP.Hie.Parser-class.html,Class Bio.SCOP.Raf.Parser=Bio.SCOP.Raf.Parser-class.html,Module Martel.Parser=Martel.Parser-module.html,Class Martel.Parser.Parser=Martel.Parser.Parser-class.html"><a title="Bio.AlignAce.Parser
Bio.Entrez.Parser
Bio.MEME.Parser
Bio.SCOP.Cla.Parser
Bio.SCOP.Des.Parser
Bio.SCOP.Dom.Parser
Bio.SCOP.Hie.Parser
Bio.SCOP.Raf.Parser
Martel.Parser
Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-3', 'Parser', 'link-3');">Parser</a></tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"># This was added with mxTextTools 1.2</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt id="link-4" class="py-name" targets="Variable Martel.Generate.supports_lookahead=Martel.Generate-module.html#supports_lookahead,Variable Martel.test.test_Generate.supports_lookahead=Martel.test.test_Generate-module.html#supports_lookahead"><a title="Martel.Generate.supports_lookahead
Martel.test.test_Generate.supports_lookahead" class="py-name" href="#" onclick="return doclink('link-4', 'supports_lookahead', 'link-4');">supports_lookahead</a></tt> <tt class="py-op">=</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">TT</tt><tt class="py-op">,</tt> <tt class="py-string">"LookAhead"</tt><tt class="py-op">)</tt> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-comment"># NOTE:</tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  I use some notation in the comments below, which I'll define here</tt> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-comment">#   "+1/-1 trick"</tt> </tt>
<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  mxTextTools doesn't like "Call"s which don't consume any</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  characters.  To get around that, I have successful matches return</tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  the end position + 1, so that it seems to consume a character.</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  Then I Skip -1 characters to get back to the correct loction.</tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    mxTextTools 1.2 and later has a 'LookAhead' command so this</tt> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  trick is not needed for that version</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-comment">#    "&gt;ignore"</tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  Sometimes the tagtables descends into another tagtable.</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  mxTextTools requires there be a tag name for all such descents, for</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  otherwise it cannot create the taglist for the descent.  If there</tt> </tt>
<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  isn't a name, the fake name "&gt;ignore" is used, which is an illegal</tt> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  XML name.  The Parser knows to ignore this tag when generating</tt> </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  callbacks.</tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-comment"># With the current implementations, each of the generate_* functions</tt> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># return a Parser with a tagtable that starts parsing with the first</tt> </tt>
<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># element in the table and succeeds by jumping one past the last</tt> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># element.</tt> </tt>
<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-comment"># This is single threaded!</tt> </tt>
<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt id="link-5" class="py-name" targets="Variable Martel.Generate._generate_count=Martel.Generate-module.html#_generate_count"><a title="Martel.Generate._generate_count" class="py-name" href="#" onclick="return doclink('link-5', '_generate_count', 'link-5');">_generate_count</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
<a name="GeneratorState"></a><div id="GeneratorState-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="GeneratorState-toggle" onclick="return toggle('GeneratorState');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.GeneratorState-class.html">GeneratorState</a><tt class="py-op">:</tt> </tt>
</div><div id="GeneratorState-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="GeneratorState-expanded"><a name="GeneratorState.__init__"></a><div id="GeneratorState.__init__-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="GeneratorState.__init__-toggle" onclick="return toggle('GeneratorState.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.GeneratorState-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">groupref_names</tt><tt class="py-op">,</tt> <tt class="py-param">debug_level</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="GeneratorState.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GeneratorState.__init__-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">groupref_names</tt> <tt class="py-op">=</tt> <tt class="py-name">groupref_names</tt> </tt>
<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> <tt class="py-op">=</tt> <tt class="py-name">debug_level</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method Bio.Mindy.BaseDB.OpenDB.lookup()=Bio.Mindy.BaseDB.OpenDB-class.html#lookup,Method BioSQL.BioSeqDatabase.BioSeqDatabase.lookup()=BioSQL.BioSeqDatabase.BioSeqDatabase-class.html#lookup"><a title="Bio.Mindy.BaseDB.OpenDB.lookup
BioSQL.BioSeqDatabase.BioSeqDatabase.lookup" class="py-name" href="#" onclick="return doclink('link-6', 'lookup', 'link-6');">lookup</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
</div><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">         </tt>
<a name="GeneratorState.add_group"></a><div id="GeneratorState.add_group-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="GeneratorState.add_group-toggle" onclick="return toggle('GeneratorState.add_group');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.GeneratorState-class.html#add_group">add_group</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">group</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="GeneratorState.add_group-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GeneratorState.add_group-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt id="link-7" 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-7', 'name', 'link-7');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-8" 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-8', 'group', 'link-8');">group</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-9', 'name', 'link-7');">name</a></tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt id="link-10" class="py-name" targets="Variable Martel.Time.attrs=Martel.Time-module.html#attrs"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-10', 'attrs', 'link-10');">attrs</a></tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.group" class="py-name" href="#" onclick="return doclink('link-11', 'group', 'link-8');">group</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-12', 'attrs', 'link-10');">attrs</a></tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt id="link-13" class="py-name" targets="Variable Martel.Time.tag=Martel.Time-module.html#tag"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-13', 'tag', 'link-13');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method Martel.Generate.GeneratorState.new_group_tag()=Martel.Generate.GeneratorState-class.html#new_group_tag"><a title="Martel.Generate.GeneratorState.new_group_tag" class="py-name" href="#" onclick="return doclink('link-14', 'new_group_tag', 'link-14');">new_group_tag</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-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="Bio.Mindy.BaseDB.OpenDB.lookup
BioSQL.BioSeqDatabase.BioSeqDatabase.lookup" class="py-name" href="#" onclick="return doclink('link-15', 'lookup', 'link-6');">lookup</a></tt><tt class="py-op">[</tt><tt id="link-16" class="py-name"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-16', 'tag', 'link-13');">tag</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-17', 'name', 'link-7');">name</a></tt><tt class="py-op">,</tt> <tt id="link-18" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-18', 'attrs', 'link-10');">attrs</a></tt><tt class="py-op">)</tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-19', 'tag', 'link-13');">tag</a></tt> </tt>
</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">     </tt>
<a name="GeneratorState.new_group_tag"></a><div id="GeneratorState.new_group_tag-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="GeneratorState.new_group_tag-toggle" onclick="return toggle('GeneratorState.new_group_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.GeneratorState-class.html#new_group_tag">new_group_tag</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="GeneratorState.new_group_tag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GeneratorState.new_group_tag-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt id="link-20" class="py-name"><a title="Martel.Generate._generate_count" class="py-name" href="#" onclick="return doclink('link-20', '_generate_count', 'link-5');">_generate_count</a></tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt id="link-21" 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-21', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="Martel.Generate._generate_count" class="py-name" href="#" onclick="return doclink('link-22', '_generate_count', 'link-5');">_generate_count</a></tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt id="link-23" class="py-name"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-23', 'tag', 'link-13');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"&gt;G%d"</tt> <tt class="py-op">%</tt> <tt id="link-24" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-24', 'i', 'link-21');">i</a></tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt id="link-25" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-25', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-26', 'i', 'link-21');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt id="link-27" class="py-name"><a title="Martel.Generate._generate_count" class="py-name" href="#" onclick="return doclink('link-27', '_generate_count', 'link-5');">_generate_count</a></tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-28', 'i', 'link-21');">i</a></tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-29" class="py-name"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-29', 'tag', 'link-13');">tag</a></tt> </tt>
</div></div><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>
<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-comment"># ==============</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-comment">#  a|b|c|d|...</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Implemented by creating N subtables.  If table i fails, try i+i.  If</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it succeeds, jump to 1 past the end.</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#   1. try table1: on fail +1, on success +N+1</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#   2. try table2: on fail +1, on success +N</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#   3. try table3: on fail +1, on success +N-1</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#   ...</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#   N. try tableN: on fail +1, on success +2</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># N+1. Fail</tt> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># N+2. &lt;past the end of table&gt;</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#   </tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># XXX Don't need to create a Table.  Could use a single tagtable by</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># merging into one table and retargeting "succeeded" transitions</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (which jumped to the end+1 of the given table) to transition to the</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># end of the merged table.</tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="generate_alt"></a><div id="generate_alt-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="generate_alt-toggle" onclick="return toggle('generate_alt');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_alt">generate_alt</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_alt-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_alt-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-comment"># Get the tagtables for each of the subexpressions</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">tables</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">expr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Package Bio.expressions=Bio.expressions-module.html"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-30', 'expressions', 'link-30');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">tables</tt><tt class="py-op">.</tt><tt id="link-31" 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-31', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt><tt id="link-32" class="py-name" targets="Function Martel.Generate._generate()=Martel.Generate-module.html#_generate"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-32', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expr</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-comment"># Make a set of branches testing each one</tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt id="link-33" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-33', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tables</tt><tt class="py-op">)</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt id="link-34" class="py-name" targets="Variable Bio.CDD.cdd_format.table=Bio.CDD.cdd_format-module.html#table,Variable Bio.expressions.blast.ncbiblast.table=Bio.expressions.blast.ncbiblast-module.html#table"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-34', 'table', 'link-34');">table</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tables</tt><tt class="py-op">:</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-35" 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-35', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> \ </tt>
<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-string">"&gt;ignore"</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Table</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt id="link-36" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-36', 'table', 'link-34');">table</a></tt><tt class="py-op">)</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-name">n</tt><tt class="py-op">-</tt><tt id="link-37" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-37', 'i', 'link-21');">i</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-op">)</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt id="link-38" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-38', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-39', 'i', 'link-21');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-comment"># Jumps here</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-40" 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-40', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Fail</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Here</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-comment">#  sequence of successive regexps: abcdef...</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Simply catenate the tagtables together, in order.  Works because falling</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># off the end of one table means success for that table, so try the next.</tt> </tt>
<a name="generate_seq"></a><div id="generate_seq-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="generate_seq-toggle" onclick="return toggle('generate_seq');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_seq">generate_seq</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_seq-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_seq-expanded"><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</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">if</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-41" class="py-name" targets="Variable Bio.Affy.CelFile.exp=Bio.Affy.CelFile-module.html#exp,Variable Bio.LogisticRegression.exp=Bio.LogisticRegression-module.html#exp,Variable Bio.MarkovModel.exp=Bio.MarkovModel-module.html#exp,Variable Bio.MaxEntropy.exp=Bio.MaxEntropy-module.html#exp,Variable Bio.NaiveBayes.exp=Bio.NaiveBayes-module.html#exp,Variable Bio.Statistics.lowess.exp=Bio.Statistics.lowess-module.html#exp,Variable Bio.distance.exp=Bio.distance-module.html#exp,Variable Bio.kNN.exp=Bio.kNN-module.html#exp"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-41', 'exp', 'link-41');">exp</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-42', 'expressions', 'link-30');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt id="link-43" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-43', 'table', 'link-34');">table</a></tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-44', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-45', 'exp', 'link-41');">exp</a></tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method Bio.EUtils.POM.ElementNode.extend()=Bio.EUtils.POM.ElementNode-class.html#extend,Method Bio.SCOP.Raf.SeqMap.extend()=Bio.SCOP.Raf.SeqMap-class.html#extend,Method Bio.Seq.MutableSeq.extend()=Bio.Seq.MutableSeq-class.html#extend"><a title="Bio.EUtils.POM.ElementNode.extend
Bio.SCOP.Raf.SeqMap.extend
Bio.Seq.MutableSeq.extend" class="py-name" href="#" onclick="return doclink('link-46', 'extend', 'link-46');">extend</a></tt><tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-47', 'table', 'link-34');">table</a></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">elif</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-48" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-48', 'exp', 'link-41');">exp</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-49', 'expressions', 'link-30');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt id="link-50" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-50', 'table', 'link-34');">table</a></tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-51', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-52', 'exp', 'link-41');">exp</a></tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="Bio.EUtils.POM.ElementNode.extend
Bio.SCOP.Raf.SeqMap.extend
Bio.Seq.MutableSeq.extend" class="py-name" href="#" onclick="return doclink('link-53', 'extend', 'link-46');">extend</a></tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-54', 'table', 'link-34');">table</a></tt><tt class="py-op">)</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-55" 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-55', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-56" class="py-name" targets="Function Martel.Generate.track_position()=Martel.Generate-module.html#track_position"><a title="Martel.Generate.track_position" class="py-name" href="#" onclick="return doclink('link-56', 'track_position', 'link-56');">track_position</a></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>
<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> <tt class="py-op">==</tt> <tt class="py-number">2</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">for</tt> <tt id="link-57" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-57', 'exp', 'link-41');">exp</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-58', 'expressions', 'link-30');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt id="link-59" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-59', 'table', 'link-34');">table</a></tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-60', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-61', 'exp', 'link-41');">exp</a></tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="Bio.EUtils.POM.ElementNode.extend
Bio.SCOP.Raf.SeqMap.extend
Bio.Seq.MutableSeq.extend" class="py-name" href="#" onclick="return doclink('link-62', 'extend', 'link-46');">extend</a></tt><tt class="py-op">(</tt><tt id="link-63" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-63', 'table', 'link-34');">table</a></tt><tt class="py-op">)</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-64" 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-64', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="Martel.Generate.track_position" class="py-name" href="#" onclick="return doclink('link-65', 'track_position', 'link-56');">track_position</a></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>
<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt id="link-66" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-66', 'table', 'link-34');">table</a></tt><tt class="py-op">.</tt><tt id="link-67" 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-67', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name" targets="Class Martel.Generate.print_info=Martel.Generate.print_info-class.html"><a title="Martel.Generate.print_info" class="py-name" href="#" onclick="return doclink('link-68', 'print_info', 'link-68');">print_info</a></tt><tt class="py-op">(</tt><tt id="link-69" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-69', 'exp', 'link-41');">exp</a></tt><tt class="py-op">)</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>
<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">             </tt>
<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-comment"># A literal character, or a character which isn't the given character</tt> </tt>
<a name="generate_literal"></a><div id="generate_literal-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="generate_literal-toggle" onclick="return toggle('generate_literal');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_literal">generate_literal</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_literal-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_literal-expanded"><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Variable Bio.Affy.CelFile.invert=Bio.Affy.CelFile-module.html#invert,Variable Bio.LogisticRegression.invert=Bio.LogisticRegression-module.html#invert,Variable Bio.MarkovModel.invert=Bio.MarkovModel-module.html#invert,Variable Bio.MaxEntropy.invert=Bio.MaxEntropy-module.html#invert,Variable Bio.NaiveBayes.invert=Bio.NaiveBayes-module.html#invert,Method Bio.Nexus.Nexus.Nexus.invert()=Bio.Nexus.Nexus.Nexus-class.html#invert,Variable Bio.Statistics.lowess.invert=Bio.Statistics.lowess-module.html#invert,Variable Bio.distance.invert=Bio.distance-module.html#invert,Variable Bio.kNN.invert=Bio.kNN-module.html#invert,Function Martel.convert_re.invert()=Martel.convert_re-module.html#invert"><a title="Bio.Affy.CelFile.invert
Bio.LogisticRegression.invert
Bio.MarkovModel.invert
Bio.MaxEntropy.invert
Bio.NaiveBayes.invert
Bio.Nexus.Nexus.Nexus.invert
Bio.Statistics.lowess.invert
Bio.distance.invert
Bio.kNN.invert
Martel.convert_re.invert" class="py-name" href="#" onclick="return doclink('link-70', 'invert', 'link-70');">invert</a></tt><tt class="py-op">:</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-comment"># Can't use "InNot" since it can match EOF</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">IsIn</tt><tt class="py-op">,</tt> <tt id="link-71" class="py-name"><a title="Martel.convert_re" class="py-name" href="#" onclick="return doclink('link-71', 'convert_re', 'link-2');">convert_re</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="Bio.Affy.CelFile.invert
Bio.LogisticRegression.invert
Bio.MarkovModel.invert
Bio.MaxEntropy.invert
Bio.NaiveBayes.invert
Bio.Nexus.Nexus.Nexus.invert
Bio.Statistics.lowess.invert
Bio.distance.invert
Bio.kNN.invert
Martel.convert_re.invert" class="py-name" href="#" onclick="return doclink('link-72', 'invert', 'link-70');">invert</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">char</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                              </tt>
<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Is</tt><tt class="py-op">,</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">char</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-comment"># A string</tt> </tt>
<a name="generate_str"></a><div id="generate_str-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="generate_str-toggle" onclick="return toggle('generate_str');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_str">generate_str</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_str-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_str-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name" targets="Function Martel.Word()=Martel-module.html#Word"><a title="Martel.Word" class="py-name" href="#" onclick="return doclink('link-73', 'Word', 'link-73');">Word</a></tt><tt class="py-op">,</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
</div><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-comment"># Any character in the given list of characters</tt> </tt>
<a name="generate_any"></a><div id="generate_any-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="generate_any-toggle" onclick="return toggle('generate_any');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_any">generate_any</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_any-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_any-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="Bio.Affy.CelFile.invert
Bio.LogisticRegression.invert
Bio.MarkovModel.invert
Bio.MaxEntropy.invert
Bio.NaiveBayes.invert
Bio.Nexus.Nexus.Nexus.invert
Bio.Statistics.lowess.invert
Bio.distance.invert
Bio.kNN.invert
Martel.convert_re.invert" class="py-name" href="#" onclick="return doclink('link-74', 'invert', 'link-70');">invert</a></tt><tt class="py-op">:</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-comment"># I don't use "IsNotIn" since that allows EOF</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">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">IsIn</tt><tt class="py-op">,</tt> <tt id="link-75" class="py-name"><a title="Martel.convert_re" class="py-name" href="#" onclick="return doclink('link-75', 'convert_re', 'link-2');">convert_re</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="Bio.Affy.CelFile.invert
Bio.LogisticRegression.invert
Bio.MarkovModel.invert
Bio.MaxEntropy.invert
Bio.NaiveBayes.invert
Bio.Nexus.Nexus.Nexus.invert
Bio.Statistics.lowess.invert
Bio.distance.invert
Bio.kNN.invert
Martel.convert_re.invert" class="py-name" href="#" onclick="return doclink('link-76', 'invert', 'link-70');">invert</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">chars</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                              </tt>
<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">IsIn</tt><tt class="py-op">,</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">chars</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
</div><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-comment"># Support class for group matches.  Stores the contents of a match so</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it can be used by a future back reference or named group repeat.</tt> </tt>
<a name="SetGroupValue"></a><div id="SetGroupValue-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="SetGroupValue-toggle" onclick="return toggle('SetGroupValue');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.SetGroupValue-class.html">SetGroupValue</a><tt class="py-op">:</tt> </tt>
</div><div id="SetGroupValue-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SetGroupValue-expanded"><a name="SetGroupValue.__init__"></a><div id="SetGroupValue.__init__-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="SetGroupValue.__init__-toggle" onclick="return toggle('SetGroupValue.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.SetGroupValue-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">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SetGroupValue.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SetGroupValue.__init__-expanded"><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-77', 'name', 'link-7');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-78" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-78', 'name', 'link-7');">name</a></tt> </tt>
</div><a name="SetGroupValue.__call__"></a><div id="SetGroupValue.__call__-def"><a name="L159"></a><tt class="py-lineno">159</tt> <a class="py-toggle" href="#" id="SetGroupValue.__call__-toggle" onclick="return toggle('SetGroupValue.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.SetGroupValue-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">taglist</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">l</tt><tt class="py-op">,</tt> <tt class="py-param">r</tt><tt class="py-op">,</tt> <tt class="py-param">subtags</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SetGroupValue.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SetGroupValue.__call__-expanded"><a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">taglist</tt><tt class="py-op">.</tt><tt id="link-79" 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-79', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-80', 'name', 'link-7');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">,</tt> <tt class="py-name">r</tt><tt class="py-op">,</tt> <tt class="py-name">subtags</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt id="link-81" class="py-name"><a title="Bio.AlignAce.Parser
Bio.Entrez.Parser
Bio.MEME.Parser
Bio.SCOP.Cla.Parser
Bio.SCOP.Des.Parser
Bio.SCOP.Dom.Parser
Bio.SCOP.Hie.Parser
Bio.SCOP.Raf.Parser
Martel.Parser
Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-81', 'Parser', 'link-3');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name" targets="Variable Martel.Parser._match_group=Martel.Parser-module.html#_match_group"><a title="Martel.Parser._match_group" class="py-name" href="#" onclick="return doclink('link-82', '_match_group', 'link-82');">_match_group</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-83', 'name', 'link-7');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-84" class="py-name" targets="Method Bio.EUtils.POM.ElementNode.text()=Bio.EUtils.POM.ElementNode-class.html#text,Method Bio.Prosite.Prodoc._RecordConsumer.text()=Bio.Prosite.Prodoc._RecordConsumer-class.html#text,Variable Martel.test.test_Iterator.text=Martel.test.test_Iterator-module.html#text,Variable Martel.test.test_ParseRecords.text=Martel.test.test_ParseRecords-module.html#text"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-84', 'text', 'link-84');">text</a></tt><tt class="py-op">[</tt><tt class="py-name">l</tt><tt class="py-op">:</tt><tt class="py-name">r</tt><tt class="py-op">]</tt> </tt>
</div></div><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-comment"># A 'group', either named or unnamed</tt> </tt>
<a name="generate_group"></a><div id="generate_group-def"><a name="L164"></a><tt class="py-lineno">164</tt> <a class="py-toggle" href="#" id="generate_group-toggle" onclick="return toggle('generate_group');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_group">generate_group</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_group-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_group-expanded"><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">    <tt class="py-name">tagtable</tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-85', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">    <tt id="link-86" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-86', 'name', 'link-7');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-87', 'name', 'link-7');">name</a></tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-88" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-88', 'name', 'link-7');">name</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-89', 'attrs', 'link-10');">attrs</a></tt><tt class="py-op">,</tt> <tt class="py-string">"unnamed group can't have attrs!"</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-comment"># Don't really need to do anything, do I?</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">return</tt> <tt class="py-name">tagtable</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">         </tt>
<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">groupref_names</tt><tt class="py-op">.</tt><tt id="link-90" 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-90', 'get', 'link-90');">get</a></tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-91', 'name', 'link-7');">name</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="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-92', 'attrs', 'link-10');">attrs</a></tt><tt class="py-op">:</tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt id="link-93" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-93', 'name', 'link-7');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method Martel.Generate.GeneratorState.add_group()=Martel.Generate.GeneratorState-class.html#add_group"><a title="Martel.Generate.GeneratorState.add_group" class="py-name" href="#" onclick="return doclink('link-94', 'add_group', 'link-94');">add_group</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-95', 'name', 'link-7');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Table</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-comment"># generate the code to save the match information</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-96', 'attrs', 'link-10');">attrs</a></tt><tt class="py-op">:</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt id="link-97" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-97', 'name', 'link-7');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="Martel.Generate.GeneratorState.add_group" class="py-name" href="#" onclick="return doclink('link-98', 'add_group', 'link-94');">add_group</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-99" class="py-name" targets="Class Martel.Generate.SetGroupValue=Martel.Generate.SetGroupValue-class.html"><a title="Martel.Generate.SetGroupValue" class="py-name" href="#" onclick="return doclink('link-99', 'SetGroupValue', 'link-99');">SetGroupValue</a></tt><tt class="py-op">(</tt><tt id="link-100" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-100', 'name', 'link-7');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Table</tt><tt class="py-op">+</tt><tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">CallTag</tt><tt class="py-op">,</tt> </tt>
<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                                      <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt> </tt>
</div><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-comment"># Uglyness to handle named group repeats.</tt> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-comment"># There are two entry points for this class.  One is 'call', which is</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># called by the TextTools 'Call' tag command to test for a match.  The</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># other is 'calltag', which is called by the TextTools 'CallTag' tag</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># command after a match is found.</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-comment"># Uses the +1/-1 trick since the match can be of size 0.</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-comment"># Store the taglist on success as an instance variable so the</tt> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># "CallTag" can append the matches.  Again, this is SINGLE-THREADED</tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># CODE, but the best I can do with the current version of mxTextTools.</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="HandleRepeatCount"></a><div id="HandleRepeatCount-def"><a name="L197"></a><tt class="py-lineno">197</tt> <a class="py-toggle" href="#" id="HandleRepeatCount-toggle" onclick="return toggle('HandleRepeatCount');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.HandleRepeatCount-class.html">HandleRepeatCount</a><tt class="py-op">:</tt> </tt>
</div><div id="HandleRepeatCount-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HandleRepeatCount-expanded"><a name="HandleRepeatCount.__init__"></a><div id="HandleRepeatCount.__init__-def"><a name="L198"></a><tt class="py-lineno">198</tt> <a class="py-toggle" href="#" id="HandleRepeatCount.__init__-toggle" onclick="return toggle('HandleRepeatCount.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.HandleRepeatCount-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">tagtable</tt><tt class="py-op">,</tt> <tt class="py-param">min_count</tt><tt class="py-op">,</tt> <tt class="py-param">max_count</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HandleRepeatCount.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HandleRepeatCount.__init__-expanded"><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 class="py-name">tagtable</tt> <tt class="py-op">=</tt> <tt class="py-name">tagtable</tt>    <tt class="py-comment"># The regexp to match</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt> <tt class="py-op">=</tt> <tt class="py-name">min_count</tt>  <tt class="py-comment"># For now, min_count and max_count</tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt> <tt class="py-op">=</tt> <tt class="py-name">max_count</tt>  <tt class="py-comment">#   must be the same string</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </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 class="py-name">taglist</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
</div><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"> </tt>
<a name="HandleRepeatCount._get_ranges"></a><div id="HandleRepeatCount._get_ranges-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="HandleRepeatCount._get_ranges-toggle" onclick="return toggle('HandleRepeatCount._get_ranges');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.HandleRepeatCount-class.html#_get_ranges">_get_ranges</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="HandleRepeatCount._get_ranges-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HandleRepeatCount._get_ranges-expanded"><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-comment"># Look up the min/max counts and convert to integers</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">min_count</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-101" 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-101', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">min_count</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-102" 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-102', 'type', 'link-101');">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="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-name">min_count</tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="Bio.AlignAce.Parser
Bio.Entrez.Parser
Bio.MEME.Parser
Bio.SCOP.Cla.Parser
Bio.SCOP.Des.Parser
Bio.SCOP.Dom.Parser
Bio.SCOP.Hie.Parser
Bio.SCOP.Raf.Parser
Martel.Parser
Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-103', 'Parser', 'link-3');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="Martel.Parser._match_group" class="py-name" href="#" onclick="return doclink('link-104', '_match_group', 'link-82');">_match_group</a></tt><tt class="py-op">[</tt><tt class="py-name">min_count</tt><tt class="py-op">]</tt> <tt class="py-comment"># group must already exist!</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">min_count</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-op">(</tt><tt class="py-name">min_count</tt><tt class="py-op">)</tt>  <tt class="py-comment"># requires an integer!</tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">         </tt>
<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">max_count</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt> </tt>
<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-105" 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-105', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">max_count</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-106" 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-106', 'type', 'link-101');">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="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-name">max_count</tt> <tt class="py-op">=</tt> <tt id="link-107" class="py-name"><a title="Bio.AlignAce.Parser
Bio.Entrez.Parser
Bio.MEME.Parser
Bio.SCOP.Cla.Parser
Bio.SCOP.Des.Parser
Bio.SCOP.Dom.Parser
Bio.SCOP.Hie.Parser
Bio.SCOP.Raf.Parser
Martel.Parser
Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-107', 'Parser', 'link-3');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="Martel.Parser._match_group" class="py-name" href="#" onclick="return doclink('link-108', '_match_group', 'link-82');">_match_group</a></tt><tt class="py-op">[</tt><tt class="py-name">max_count</tt><tt class="py-op">]</tt> <tt class="py-comment"># group must already exist!</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-name">max_count</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-op">(</tt><tt class="py-name">max_count</tt><tt class="py-op">)</tt>  <tt class="py-comment"># requires an integer!</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">min_count</tt><tt class="py-op">,</tt> <tt class="py-name">max_count</tt> </tt>
</div><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">     </tt>
<a name="HandleRepeatCount.call"></a><div id="HandleRepeatCount.call-def"><a name="L219"></a><tt class="py-lineno">219</tt> <a class="py-toggle" href="#" id="HandleRepeatCount.call-toggle" onclick="return toggle('HandleRepeatCount.call');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.HandleRepeatCount-class.html#call">call</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HandleRepeatCount.call-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HandleRepeatCount.call-expanded"><a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-comment"># Called by 'TextTools.Call' to detect a match.</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"># I do the full match here and store the results for later use.</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"># If successful, I return x+1, else return x+0 (the +1/-1 trick)</tt> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">min_count</tt><tt class="py-op">,</tt> <tt class="py-name">max_count</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name" targets="Method Martel.Generate.HandleRepeatCount._get_ranges()=Martel.Generate.HandleRepeatCount-class.html#_get_ranges"><a title="Martel.Generate.HandleRepeatCount._get_ranges" class="py-name" href="#" onclick="return doclink('link-109', '_get_ranges', 'link-109');">_get_ranges</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">min_count</tt> <tt class="py-op">==</tt> <tt class="py-name">max_count</tt><tt class="py-op">,</tt> \ </tt>
<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">               <tt class="py-string">"cannot have different sizes: %s %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">min_count</tt><tt class="py-op">,</tt> <tt class="py-name">max_count</tt><tt class="py-op">)</tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">         </tt>
<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">tagtable</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tagtable</tt> <tt class="py-op">*</tt> <tt class="py-name">min_count</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt class="py-name">taglist</tt><tt class="py-op">,</tt> <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-110', 'tag', 'link-13');">tag</a></tt><tt class="py-op">(</tt><tt id="link-111" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-111', 'text', 'link-84');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">tagtable</tt><tt class="py-op">,</tt> <tt id="link-112" class="py-name" targets="Variable Bio.MarkovModel.x=Bio.MarkovModel-module.html#x,Variable Bio.Statistics.lowess.x=Bio.Statistics.lowess-module.html#x"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-112', 'x', 'link-112');">x</a></tt><tt class="py-op">,</tt> <tt id="link-113" class="py-name" targets="Method Bio.GFF.easy.Location.end()=Bio.GFF.easy.Location-class.html#end,Method Bio.Prosite.Pattern.PrositeMatch.end()=Bio.Prosite.Pattern.PrositeMatch-class.html#end,Variable Bio.expressions.blocks.end=Bio.expressions.blocks-module.html#end,Variable Bio.expressions.embl.embl65.end=Bio.expressions.embl.embl65-module.html#end,Variable Bio.expressions.swissprot.sprot38.end=Bio.expressions.swissprot.sprot38-module.html#end,Method Martel.LAX.LAX.end()=Martel.LAX.LAX-class.html#end,Variable Martel.test.test_swissprot38.end=Martel.test.test_swissprot38-module.html#end,Variable Martel.test.testformats.swissprot38.end=Martel.test.testformats.swissprot38-module.html#end"><a title="Bio.GFF.easy.Location.end
Bio.Prosite.Pattern.PrositeMatch.end
Bio.expressions.blocks.end
Bio.expressions.embl.embl65.end
Bio.expressions.swissprot.sprot38.end
Martel.LAX.LAX.end
Martel.test.test_swissprot38.end
Martel.test.testformats.swissprot38.end" class="py-name" href="#" onclick="return doclink('link-113', 'end', 'link-113');">end</a></tt><tt class="py-op">)</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-comment"># Store the taglist for later use</tt> </tt>
<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">taglist</tt> <tt class="py-op">=</tt> <tt class="py-name">taglist</tt> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">pos</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt>  <tt class="py-comment"># +1 because {0} is allowed; Skip -1 later</tt> </tt>
<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">taglist</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-114" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-114', 'x', 'link-112');">x</a></tt> </tt>
</div><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">         </tt>
<a name="HandleRepeatCount.calltag"></a><div id="HandleRepeatCount.calltag-def"><a name="L237"></a><tt class="py-lineno">237</tt> <a class="py-toggle" href="#" id="HandleRepeatCount.calltag-toggle" onclick="return toggle('HandleRepeatCount.calltag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.HandleRepeatCount-class.html#calltag">calltag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">taglist</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">l</tt><tt class="py-op">,</tt> <tt class="py-param">r</tt><tt class="py-op">,</tt> <tt class="py-param">subtags</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HandleRepeatCount.calltag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HandleRepeatCount.calltag-expanded"><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-comment"># Called by 'CallTag' to say I matched the above 'call'</tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">subtags</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">subtags</tt><tt class="py-op">)</tt> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-comment"># Append the taglist which we saved from an earlier good match.</tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># The '-1' is because of the +1/-1 hack.</tt> </tt>
<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">taglist</tt><tt class="py-op">.</tt><tt id="link-115" 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-115', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">"&gt;ignore"</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">,</tt> <tt class="py-name">r</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">taglist</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
</div></div><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">         </tt>
<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-comment"># These objects forward calls to HandleRepeatCount methods.</tt> </tt>
<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Would like to start the methods directly but methods cannot be pickled.</tt> </tt>
<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="_call_calltag"></a><div id="_call_calltag-def"><a name="L248"></a><tt class="py-lineno">248</tt> <a class="py-toggle" href="#" id="_call_calltag-toggle" onclick="return toggle('_call_calltag');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate._call_calltag-class.html">_call_calltag</a><tt class="py-op">:</tt> </tt>
</div><div id="_call_calltag-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_call_calltag-expanded"><a name="_call_calltag.__init__"></a><div id="_call_calltag.__init__-def"><a name="L249"></a><tt class="py-lineno">249</tt> <a class="py-toggle" href="#" id="_call_calltag.__init__-toggle" onclick="return toggle('_call_calltag.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate._call_calltag-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">obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_call_calltag.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_call_calltag.__init__-expanded"><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name" targets="Variable Bio.Encodings.IUPACEncoding.obj=Bio.Encodings.IUPACEncoding-module.html#obj"><a title="Bio.Encodings.IUPACEncoding.obj" class="py-name" href="#" onclick="return doclink('link-116', 'obj', 'link-116');">obj</a></tt> <tt class="py-op">=</tt> <tt id="link-117" class="py-name"><a title="Bio.Encodings.IUPACEncoding.obj" class="py-name" href="#" onclick="return doclink('link-117', 'obj', 'link-116');">obj</a></tt> </tt>
</div><a name="_call_calltag.__call__"></a><div id="_call_calltag.__call__-def"><a name="L251"></a><tt class="py-lineno">251</tt> <a class="py-toggle" href="#" id="_call_calltag.__call__-toggle" onclick="return toggle('_call_calltag.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate._call_calltag-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">taglist</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">l</tt><tt class="py-op">,</tt> <tt class="py-param">r</tt><tt class="py-op">,</tt> <tt class="py-param">subtags</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_call_calltag.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_call_calltag.__call__-expanded"><a name="L252"></a><tt class="py-lineno">252</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-118" class="py-name"><a title="Bio.Encodings.IUPACEncoding.obj" class="py-name" href="#" onclick="return doclink('link-118', 'obj', 'link-116');">obj</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method Martel.Generate.HandleRepeatCount.calltag()=Martel.Generate.HandleRepeatCount-class.html#calltag"><a title="Martel.Generate.HandleRepeatCount.calltag" class="py-name" href="#" onclick="return doclink('link-119', 'calltag', 'link-119');">calltag</a></tt><tt class="py-op">(</tt><tt class="py-name">taglist</tt><tt class="py-op">,</tt> <tt id="link-120" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-120', 'text', 'link-84');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">,</tt> <tt class="py-name">r</tt><tt class="py-op">,</tt> <tt class="py-name">subtags</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"> </tt>
<a name="_call_call"></a><div id="_call_call-def"><a name="L254"></a><tt class="py-lineno">254</tt> <a class="py-toggle" href="#" id="_call_call-toggle" onclick="return toggle('_call_call');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate._call_call-class.html">_call_call</a><tt class="py-op">:</tt> </tt>
</div><div id="_call_call-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_call_call-expanded"><a name="_call_call.__init__"></a><div id="_call_call.__init__-def"><a name="L255"></a><tt class="py-lineno">255</tt> <a class="py-toggle" href="#" id="_call_call.__init__-toggle" onclick="return toggle('_call_call.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate._call_call-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">obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_call_call.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_call_call.__init__-expanded"><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="Bio.Encodings.IUPACEncoding.obj" class="py-name" href="#" onclick="return doclink('link-121', 'obj', 'link-116');">obj</a></tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name"><a title="Bio.Encodings.IUPACEncoding.obj" class="py-name" href="#" onclick="return doclink('link-122', 'obj', 'link-116');">obj</a></tt> </tt>
</div><a name="_call_call.__call__"></a><div id="_call_call.__call__-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="_call_call.__call__-toggle" onclick="return toggle('_call_call.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate._call_call-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_call_call.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_call_call.__call__-expanded"><a name="L258"></a><tt class="py-lineno">258</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-123" class="py-name"><a title="Bio.Encodings.IUPACEncoding.obj" class="py-name" href="#" onclick="return doclink('link-123', 'obj', 'link-116');">obj</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Method Martel.Generate.HandleRepeatCount.call()=Martel.Generate.HandleRepeatCount-class.html#call"><a title="Martel.Generate.HandleRepeatCount.call" class="py-name" href="#" onclick="return doclink('link-124', 'call', 'link-124');">call</a></tt><tt class="py-op">(</tt><tt id="link-125" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-125', 'text', 'link-84');">text</a></tt><tt class="py-op">,</tt> <tt id="link-126" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-126', 'x', 'link-112');">x</a></tt><tt class="py-op">,</tt> <tt id="link-127" class="py-name"><a title="Bio.GFF.easy.Location.end
Bio.Prosite.Pattern.PrositeMatch.end
Bio.expressions.blocks.end
Bio.expressions.embl.embl65.end
Bio.expressions.swissprot.sprot38.end
Martel.LAX.LAX.end
Martel.test.test_swissprot38.end
Martel.test.testformats.swissprot38.end" class="py-name" href="#" onclick="return doclink('link-127', 'end', 'link-113');">end</a></tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">     </tt>
<a name="generate_named_max_repeat"></a><div id="generate_named_max_repeat-def"><a name="L260"></a><tt class="py-lineno">260</tt> <a class="py-toggle" href="#" id="generate_named_max_repeat-toggle" onclick="return toggle('generate_named_max_repeat');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_named_max_repeat">generate_named_max_repeat</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_named_max_repeat-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_named_max_repeat-expanded"><a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-128" 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-128', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt id="link-129" 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-129', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">       <tt id="link-130" 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-130', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt id="link-131" 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-131', 'type', 'link-101');">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="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">"Cannot mix numeric and named repeat counts"</tt><tt class="py-op">)</tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt> <tt class="py-op">!=</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt><tt class="py-op">:</tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">"Only a single named repeat count allowed"</tt><tt class="py-op">)</tt> </tt>
<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">     </tt>
<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-name">tagtable</tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-132', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt id="link-133" class="py-name" targets="Class Martel.Generate.HandleRepeatCount=Martel.Generate.HandleRepeatCount-class.html"><a title="Martel.Generate.HandleRepeatCount" class="py-name" href="#" onclick="return doclink('link-133', 'HandleRepeatCount', 'link-133');">HandleRepeatCount</a></tt><tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                                <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt><tt class="py-op">,</tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                                <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt><tt class="py-op">)</tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-comment"># You see the +1/-1 trick implemented here</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Don't use the 'supports_lookahead' here since that complicates matters</tt> </tt>
<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">return</tt> \ </tt>
<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">           <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-134" class="py-name" targets="Class Martel.Generate._call_calltag=Martel.Generate._call_calltag-class.html"><a title="Martel.Generate._call_calltag" class="py-name" href="#" onclick="return doclink('link-134', '_call_calltag', 'link-134');">_call_calltag</a></tt><tt class="py-op">(</tt><tt class="py-name">counter</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt> <tt class="py-op">+</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">CallTag</tt><tt class="py-op">,</tt> </tt>
<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">             <tt id="link-135" class="py-name" targets="Class Martel.Generate._call_call=Martel.Generate._call_call-class.html"><a title="Martel.Generate._call_call" class="py-name" href="#" onclick="return doclink('link-135', '_call_call', 'link-135');">_call_call</a></tt><tt class="py-op">(</tt><tt class="py-name">counter</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>  </tt>
<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Skip</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-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-op">]</tt> </tt>
</div><a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-comment"># It isn't as bad as it looks :)</tt> </tt>
<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Basically, call some other code for named group repeats.</tt> </tt>
<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Everything else is of the form {i,j}.</tt> </tt>
<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Get the subexpression table:</tt> </tt>
<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    generate i copies which must work</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    generate j-i copies which may work, but fail okay.</tt> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    special case when j == 65535, which standard for "unbounded"</tt> </tt>
<a name="generate_max_repeat"></a><div id="generate_max_repeat-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="generate_max_repeat-toggle" onclick="return toggle('generate_max_repeat');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_max_repeat">generate_max_repeat</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_max_repeat-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_max_repeat-expanded"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-name">expr</tt> <tt class="py-op">=</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">expression</tt> </tt>
<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">    <tt class="py-name">min_count</tt> <tt class="py-op">=</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt> </tt>
<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">    <tt class="py-name">max_count</tt> <tt class="py-op">=</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt> </tt>
<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">    <tt class="py-comment"># Call some other code for named group repeats</tt> </tt>
<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">if</tt> <tt id="link-136" 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-136', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">min_count</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-137" 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-137', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt id="link-138" 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-138', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">max_count</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">""</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">return</tt> <tt id="link-139" class="py-name" targets="Function Martel.Generate.generate_named_max_repeat()=Martel.Generate-module.html#generate_named_max_repeat"><a title="Martel.Generate.generate_named_max_repeat" class="py-name" href="#" onclick="return doclink('link-139', 'generate_named_max_repeat', 'link-139');">generate_named_max_repeat</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"> </tt>
<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-number">0</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">min_count</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">max_count</tt><tt class="py-op">,</tt> <tt class="py-string">"bad ranges (%sd, %d)"</tt> <tt class="py-op">%</tt> \ </tt>
<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">           <tt class="py-op">(</tt><tt class="py-name">min_count</tt><tt class="py-op">,</tt> <tt class="py-name">max_count</tt><tt class="py-op">)</tt> </tt>
<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"> </tt>
<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">    <tt class="py-name">tagtable</tt> <tt class="py-op">=</tt> <tt id="link-140" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-140', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expr</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-comment"># Must repeat at least "i" times.</tt> </tt>
<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">for</tt> <tt id="link-141" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-141', 'i', 'link-21');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">min_count</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 class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-142" 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-142', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">SubTable</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</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>
<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-comment"># Special case for when the max count means "unbounded"</tt> </tt>
<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">if</tt> <tt class="py-name">max_count</tt> <tt class="py-op">==</tt> <tt id="link-143" class="py-name"><a title="Martel.msre_parse" class="py-name" href="#" onclick="return doclink('link-143', 'msre_parse', 'link-0');">msre_parse</a></tt><tt class="py-op">.</tt><tt id="link-144" 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-144', 'MAXREPEAT', 'link-144');">MAXREPEAT</a></tt><tt class="py-op">:</tt> </tt>
<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-145" 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-145', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">SubTable</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                                  <tt class="py-op">+</tt><tt class="py-number">1</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="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">min_count</tt> <tt class="py-op">==</tt> <tt class="py-name">max_count</tt><tt class="py-op">:</tt> </tt>
<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-comment"># Special case when i == j</tt> </tt>
<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">pass</tt> </tt>
<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-comment"># Generate j-i more tagtables, but allow failures</tt> </tt>
<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">max_count</tt> <tt class="py-op">-</tt> <tt class="py-name">min_count</tt> </tt>
<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-146" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-146', 'i', 'link-21');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-147" 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-147', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">"&gt;ignore"</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Table</tt><tt class="py-op">,</tt> </tt>
<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                              <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                              <tt class="py-op">+</tt><tt class="py-name">offset</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="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">            <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">offset</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"> </tt>
<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-comment"># Doesn't do anything</tt> </tt>
<a name="generate_null_op"></a><div id="generate_null_op-def"><a name="L323"></a><tt class="py-lineno">323</tt> <a class="py-toggle" href="#" id="generate_null_op-toggle" onclick="return toggle('generate_null_op');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_null_op">generate_null_op</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_null_op-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_null_op-expanded"><a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
</div><a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
<a name="print_debug"></a><div id="print_debug-def"><a name="L326"></a><tt class="py-lineno">326</tt> <a class="py-toggle" href="#" id="print_debug-toggle" onclick="return toggle('print_debug');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.print_debug-class.html">print_debug</a><tt class="py-op">:</tt> </tt>
</div><div id="print_debug-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="print_debug-expanded"><a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">    <tt class="py-docstring">"""Print debug information"""</tt> </tt>
<a name="print_debug.__init__"></a><div id="print_debug.__init__-def"><a name="L328"></a><tt class="py-lineno">328</tt> <a class="py-toggle" href="#" id="print_debug.__init__-toggle" onclick="return toggle('print_debug.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.print_debug-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">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="print_debug.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="print_debug.__init__-expanded"><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt> </tt>
</div><a name="print_debug.__call__"></a><div id="print_debug.__call__-def"><a name="L330"></a><tt class="py-lineno">330</tt> <a class="py-toggle" href="#" id="print_debug.__call__-toggle" onclick="return toggle('print_debug.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.print_debug-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="print_debug.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="print_debug.__call__-expanded"><a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Martel:"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">msg</tt> </tt>
<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-148" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-148', 'x', 'link-112');">x</a></tt> </tt>
</div></div><a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"> </tt>
<a name="generate_debug"></a><div id="generate_debug-def"><a name="L334"></a><tt class="py-lineno">334</tt> <a class="py-toggle" href="#" id="generate_debug-toggle" onclick="return toggle('generate_debug');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_debug">generate_debug</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_debug-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_debug-expanded"><a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-149" class="py-name" targets="Class Martel.Generate.print_debug=Martel.Generate.print_debug-class.html"><a title="Martel.Generate.print_debug" class="py-name" href="#" onclick="return doclink('link-149', 'print_debug', 'link-149');">print_debug</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">msg</tt><tt class="py-op">)</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>
</div><a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"> </tt>
<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-comment"># XXX Is this correct?  This is the multiline behaviour which allows</tt> </tt>
<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># "^" to match the beginning of a line.</tt> </tt>
<a name="check_at_beginning"></a><div id="check_at_beginning-def"><a name="L339"></a><tt class="py-lineno">339</tt> <a class="py-toggle" href="#" id="check_at_beginning-toggle" onclick="return toggle('check_at_beginning');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#check_at_beginning">check_at_beginning</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="check_at_beginning-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_at_beginning-expanded"><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-150" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-150', 'x', 'link-112');">x</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-151" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-151', 'x', 'link-112');">x</a></tt> </tt>
<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-152" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-152', 'text', 'link-84');">text</a></tt><tt class="py-op">[</tt><tt id="link-153" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-153', 'x', 'link-112');">x</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-string">"\n"</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">return</tt> <tt id="link-154" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-154', 'x', 'link-112');">x</a></tt> </tt>
<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-155" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-155', 'x', 'link-112');">x</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
</div><a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"> </tt>
<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-comment"># XXX Consider this code broken!</tt> </tt>
<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Uses the +1/-1 trick.</tt> </tt>
<a name="generate_at_beginning"></a><div id="generate_at_beginning-def"><a name="L349"></a><tt class="py-lineno">349</tt> <a class="py-toggle" href="#" id="generate_at_beginning-toggle" onclick="return toggle('generate_at_beginning');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_at_beginning">generate_at_beginning</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_at_beginning-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_at_beginning-expanded"><a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-156" class="py-name"><a title="Martel.Generate.supports_lookahead
Martel.test.test_Generate.supports_lookahead" class="py-name" href="#" onclick="return doclink('link-156', 'supports_lookahead', 'link-4');">supports_lookahead</a></tt><tt class="py-op">:</tt> </tt>
<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt> <tt class="py-op">+</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">LookAhead</tt><tt class="py-op">,</tt> <tt id="link-157" class="py-name" targets="Function Martel.Generate.check_at_beginning()=Martel.Generate-module.html#check_at_beginning"><a title="Martel.Generate.check_at_beginning" class="py-name" href="#" onclick="return doclink('link-157', 'check_at_beginning', 'link-157');">check_at_beginning</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="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">                 <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</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">else</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">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-158" class="py-name"><a title="Martel.Generate.check_at_beginning" class="py-name" href="#" onclick="return doclink('link-158', 'check_at_beginning', 'link-157');">check_at_beginning</a></tt><tt class="py-op">,</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-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Skip</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-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">                <tt class="py-op">]</tt> </tt>
</div><a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"> </tt>
<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"> </tt>
<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-comment"># XXX Consider this code broken!</tt> </tt>
<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># XXX If 'check_at_beginning' is correct, then this is wrong since it</tt> </tt>
<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># doesn't implement the multiline behaviour.  </tt> </tt>
<a name="generate_at_end"></a><div id="generate_at_end-def"><a name="L363"></a><tt class="py-lineno">363</tt> <a class="py-toggle" href="#" id="generate_at_end-toggle" onclick="return toggle('generate_at_end');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_at_end">generate_at_end</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_at_end-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_at_end-expanded"><a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Here</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
</div><a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"> </tt>
<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-comment"># Match any character except newline (by which I mean just "\012")</tt> </tt>
<a name="generate_dot"></a><div id="generate_dot-def"><a name="L368"></a><tt class="py-lineno">368</tt> <a class="py-toggle" href="#" id="generate_dot-toggle" onclick="return toggle('generate_dot');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_dot">generate_dot</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_dot-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_dot-expanded"><a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">IsInSet</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">invset</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 class="py-op">]</tt> </tt>
</div><a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"> </tt>
<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"><tt class="py-comment"># Match any of the three standard newline conventions</tt> </tt>
<a name="generate_eol"></a><div id="generate_eol-def"><a name="L372"></a><tt class="py-lineno">372</tt> <a class="py-toggle" href="#" id="generate_eol-toggle" onclick="return toggle('generate_eol');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_eol">generate_eol</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_eol-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_eol-expanded"><a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Is</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-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">+</tt><tt class="py-number">3</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-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Is</tt><tt class="py-op">,</tt> <tt class="py-string">'\r'</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</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="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Is</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-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>
<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">            <tt class="py-op">]</tt> </tt>
</div><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-comment"># Used during a negative lookhead test.</tt> </tt>
<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Note the +1/-1 trick.</tt> </tt>
<a name="check_assert_not"></a><div id="check_assert_not-def"><a name="L380"></a><tt class="py-lineno">380</tt> <a class="py-toggle" href="#" id="check_assert_not-toggle" onclick="return toggle('check_assert_not');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#check_assert_not">check_assert_not</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">,</tt> <tt class="py-param">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="check_assert_not-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_assert_not-expanded"><a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt class="py-name">taglist</tt><tt class="py-op">,</tt> <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-159', 'tag', 'link-13');">tag</a></tt><tt class="py-op">(</tt><tt id="link-160" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-160', 'text', 'link-84');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">tagtable</tt><tt class="py-op">,</tt> <tt id="link-161" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-161', 'x', 'link-112');">x</a></tt><tt class="py-op">,</tt> <tt id="link-162" class="py-name"><a title="Bio.GFF.easy.Location.end
Bio.Prosite.Pattern.PrositeMatch.end
Bio.expressions.blocks.end
Bio.expressions.embl.embl65.end
Bio.expressions.swissprot.sprot38.end
Martel.LAX.LAX.end
Martel.test.test_swissprot38.end
Martel.test.testformats.swissprot38.end" class="py-name" href="#" onclick="return doclink('link-162', 'end', 'link-113');">end</a></tt><tt class="py-op">)</tt> </tt>
<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-comment"># This failed</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">return</tt> <tt id="link-163" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-163', 'x', 'link-112');">x</a></tt> </tt>
<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">    <tt class="py-comment"># On success, move forward 1, to be removed later</tt> </tt>
<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">return</tt> <tt id="link-164" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-164', 'x', 'link-112');">x</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
</div><a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"> </tt>
<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-comment"># Called by the 'Call' tag command when doing negative lookaheads</tt> </tt>
<a name="CheckAssertNot"></a><div id="CheckAssertNot-def"><a name="L389"></a><tt class="py-lineno">389</tt> <a class="py-toggle" href="#" id="CheckAssertNot-toggle" onclick="return toggle('CheckAssertNot');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.CheckAssertNot-class.html">CheckAssertNot</a><tt class="py-op">:</tt> </tt>
</div><div id="CheckAssertNot-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CheckAssertNot-expanded"><a name="CheckAssertNot.__init__"></a><div id="CheckAssertNot.__init__-def"><a name="L390"></a><tt class="py-lineno">390</tt> <a class="py-toggle" href="#" id="CheckAssertNot.__init__-toggle" onclick="return toggle('CheckAssertNot.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.CheckAssertNot-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">tag_words</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CheckAssertNot.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CheckAssertNot.__init__-expanded"><a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_words</tt> <tt class="py-op">=</tt> <tt class="py-name">tag_words</tt> </tt>
</div><a name="CheckAssertNot.__call__"></a><div id="CheckAssertNot.__call__-def"><a name="L392"></a><tt class="py-lineno">392</tt> <a class="py-toggle" href="#" id="CheckAssertNot.__call__-toggle" onclick="return toggle('CheckAssertNot.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.CheckAssertNot-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CheckAssertNot.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CheckAssertNot.__call__-expanded"><a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name" targets="Function Martel.Generate.check_assert_not()=Martel.Generate-module.html#check_assert_not"><a title="Martel.Generate.check_assert_not" class="py-name" href="#" onclick="return doclink('link-165', 'check_assert_not', 'link-165');">check_assert_not</a></tt><tt class="py-op">(</tt><tt id="link-166" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-166', 'text', 'link-84');">text</a></tt><tt class="py-op">,</tt> <tt id="link-167" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-167', 'x', 'link-112');">x</a></tt><tt class="py-op">,</tt> <tt id="link-168" class="py-name"><a title="Bio.GFF.easy.Location.end
Bio.Prosite.Pattern.PrositeMatch.end
Bio.expressions.blocks.end
Bio.expressions.embl.embl65.end
Bio.expressions.swissprot.sprot38.end
Martel.LAX.LAX.end
Martel.test.test_swissprot38.end
Martel.test.testformats.swissprot38.end" class="py-name" href="#" onclick="return doclink('link-168', 'end', 'link-113');">end</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_words</tt><tt class="py-op">)</tt> </tt>
<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">pos</tt> </tt>
</div></div><a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"> </tt>
<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"> </tt>
<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-comment"># Used during a positive lookhead test.</tt> </tt>
<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Note the +1/-1 trick.</tt> </tt>
<a name="check_assert"></a><div id="check_assert-def"><a name="L399"></a><tt class="py-lineno">399</tt> <a class="py-toggle" href="#" id="check_assert-toggle" onclick="return toggle('check_assert');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#check_assert">check_assert</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">,</tt> <tt class="py-param">tag_words</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="check_assert-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_assert-expanded"><a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt class="py-name">taglist</tt><tt class="py-op">,</tt> <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="Martel.Time.tag" class="py-name" href="#" onclick="return doclink('link-169', 'tag', 'link-13');">tag</a></tt><tt class="py-op">(</tt><tt id="link-170" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-170', 'text', 'link-84');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">tag_words</tt><tt class="py-op">,</tt> <tt id="link-171" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-171', 'x', 'link-112');">x</a></tt><tt class="py-op">,</tt> <tt id="link-172" class="py-name"><a title="Bio.GFF.easy.Location.end
Bio.Prosite.Pattern.PrositeMatch.end
Bio.expressions.blocks.end
Bio.expressions.embl.embl65.end
Bio.expressions.swissprot.sprot38.end
Martel.LAX.LAX.end
Martel.test.test_swissprot38.end
Martel.test.testformats.swissprot38.end" class="py-name" href="#" onclick="return doclink('link-172', 'end', 'link-113');">end</a></tt><tt class="py-op">)</tt> </tt>
<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-comment"># This succeeded, move forward 1, to be removed later</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">return</tt> <tt id="link-173" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-173', 'x', 'link-112');">x</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">    <tt class="py-comment"># failed</tt> </tt>
<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">return</tt> <tt id="link-174" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-174', 'x', 'link-112');">x</a></tt> </tt>
</div><a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"> </tt>
<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"><tt class="py-comment"># Called by the 'Call' tag command when doing negative lookaheads</tt> </tt>
<a name="CheckAssert"></a><div id="CheckAssert-def"><a name="L408"></a><tt class="py-lineno">408</tt> <a class="py-toggle" href="#" id="CheckAssert-toggle" onclick="return toggle('CheckAssert');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.CheckAssert-class.html">CheckAssert</a><tt class="py-op">:</tt> </tt>
</div><div id="CheckAssert-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CheckAssert-expanded"><a name="CheckAssert.__init__"></a><div id="CheckAssert.__init__-def"><a name="L409"></a><tt class="py-lineno">409</tt> <a class="py-toggle" href="#" id="CheckAssert.__init__-toggle" onclick="return toggle('CheckAssert.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.CheckAssert-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">tag_words</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CheckAssert.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CheckAssert.__init__-expanded"><a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_words</tt> <tt class="py-op">=</tt> <tt class="py-name">tag_words</tt> </tt>
</div><a name="CheckAssert.__call__"></a><div id="CheckAssert.__call__-def"><a name="L411"></a><tt class="py-lineno">411</tt> <a class="py-toggle" href="#" id="CheckAssert.__call__-toggle" onclick="return toggle('CheckAssert.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.CheckAssert-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CheckAssert.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CheckAssert.__call__-expanded"><a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt id="link-175" class="py-name" targets="Function Martel.Generate.check_assert()=Martel.Generate-module.html#check_assert"><a title="Martel.Generate.check_assert" class="py-name" href="#" onclick="return doclink('link-175', 'check_assert', 'link-175');">check_assert</a></tt><tt class="py-op">(</tt><tt id="link-176" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-176', 'text', 'link-84');">text</a></tt><tt class="py-op">,</tt> <tt id="link-177" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-177', 'x', 'link-112');">x</a></tt><tt class="py-op">,</tt> <tt id="link-178" class="py-name"><a title="Bio.GFF.easy.Location.end
Bio.Prosite.Pattern.PrositeMatch.end
Bio.expressions.blocks.end
Bio.expressions.embl.embl65.end
Bio.expressions.swissprot.sprot38.end
Martel.LAX.LAX.end
Martel.test.test_swissprot38.end
Martel.test.testformats.swissprot38.end" class="py-name" href="#" onclick="return doclink('link-178', 'end', 'link-113');">end</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_words</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">pos</tt> </tt>
</div></div><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-comment"># Create the tagtable for doing a lookahead assertion.</tt> </tt>
<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Uses the +1/-1 trick.</tt> </tt>
<a name="generate_assert"></a><div id="generate_assert-def"><a name="L417"></a><tt class="py-lineno">417</tt> <a class="py-toggle" href="#" id="generate_assert-toggle" onclick="return toggle('generate_assert');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_assert">generate_assert</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_assert-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_assert-expanded"><a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">    <tt class="py-name">tagtable</tt> <tt class="py-op">=</tt> <tt id="link-179" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-179', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="Bio.Affy.CelFile.invert
Bio.LogisticRegression.invert
Bio.MarkovModel.invert
Bio.MaxEntropy.invert
Bio.NaiveBayes.invert
Bio.Nexus.Nexus.Nexus.invert
Bio.Statistics.lowess.invert
Bio.distance.invert
Bio.kNN.invert
Martel.convert_re.invert" class="py-name" href="#" onclick="return doclink('link-180', 'invert', 'link-70');">invert</a></tt><tt class="py-op">:</tt> </tt>
<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">        <tt class="py-name">func</tt> <tt class="py-op">=</tt> <tt id="link-181" class="py-name" targets="Class Martel.Generate.CheckAssertNot=Martel.Generate.CheckAssertNot-class.html"><a title="Martel.Generate.CheckAssertNot" class="py-name" href="#" onclick="return doclink('link-181', 'CheckAssertNot', 'link-181');">CheckAssertNot</a></tt> </tt>
<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-name">func</tt> <tt class="py-op">=</tt> <tt id="link-182" class="py-name" targets="Class Martel.Generate.CheckAssert=Martel.Generate.CheckAssert-class.html"><a title="Martel.Generate.CheckAssert" class="py-name" href="#" onclick="return doclink('link-182', 'CheckAssert', 'link-182');">CheckAssert</a></tt> </tt>
<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-183" class="py-name"><a title="Martel.Generate.supports_lookahead
Martel.test.test_Generate.supports_lookahead" class="py-name" href="#" onclick="return doclink('link-183', 'supports_lookahead', 'link-4');">supports_lookahead</a></tt><tt class="py-op">:</tt> </tt>
<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt> </tt>
<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt> <tt class="py-op">+</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">LookAhead</tt><tt class="py-op">,</tt> <tt class="py-name">func</tt><tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</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-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">            <tt class="py-op">]</tt> </tt>
<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">    <tt class="py-keyword">else</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">return</tt> <tt class="py-op">[</tt> </tt>
<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt class="py-name">func</tt><tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">             <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Skip</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-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">            <tt class="py-op">]</tt> </tt>
</div><a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"> </tt>
<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"><tt class="py-comment"># Create an object which can be called by a 'Call' tag command to</tt> </tt>
<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># match the text found by the named group.</tt> </tt>
<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Uses the +1/-1 trick.</tt> </tt>
<a name="CheckGroupRef"></a><div id="CheckGroupRef-def"><a name="L438"></a><tt class="py-lineno">438</tt> <a class="py-toggle" href="#" id="CheckGroupRef-toggle" onclick="return toggle('CheckGroupRef');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.CheckGroupRef-class.html">CheckGroupRef</a><tt class="py-op">:</tt> </tt>
</div><div id="CheckGroupRef-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CheckGroupRef-expanded"><a name="CheckGroupRef.__init__"></a><div id="CheckGroupRef.__init__-def"><a name="L439"></a><tt class="py-lineno">439</tt> <a class="py-toggle" href="#" id="CheckGroupRef.__init__-toggle" onclick="return toggle('CheckGroupRef.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.CheckGroupRef-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">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CheckGroupRef.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CheckGroupRef.__init__-expanded"><a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-184', 'name', 'link-7');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-185" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-185', 'name', 'link-7');">name</a></tt> </tt>
</div><a name="CheckGroupRef.__call__"></a><div id="CheckGroupRef.__call__-def"><a name="L441"></a><tt class="py-lineno">441</tt> <a class="py-toggle" href="#" id="CheckGroupRef.__call__-toggle" onclick="return toggle('CheckGroupRef.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.CheckGroupRef-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CheckGroupRef.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CheckGroupRef.__call__-expanded"><a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt class="py-name">match_text</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="Bio.AlignAce.Parser
Bio.Entrez.Parser
Bio.MEME.Parser
Bio.SCOP.Cla.Parser
Bio.SCOP.Des.Parser
Bio.SCOP.Dom.Parser
Bio.SCOP.Hie.Parser
Bio.SCOP.Raf.Parser
Martel.Parser
Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-186', 'Parser', 'link-3');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="Martel.Parser._match_group" class="py-name" href="#" onclick="return doclink('link-187', '_match_group', 'link-82');">_match_group</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-188', 'name', 'link-7');">name</a></tt><tt class="py-op">]</tt>  <tt class="py-comment"># group name not yet found</tt> </tt>
<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-189" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-189', 'text', 'link-84');">text</a></tt><tt class="py-op">[</tt><tt id="link-190" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-190', 'x', 'link-112');">x</a></tt><tt class="py-op">:</tt><tt id="link-191" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-191', 'x', 'link-112');">x</a></tt><tt class="py-op">+</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">match_text</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">match_text</tt><tt class="py-op">:</tt> </tt>
<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-192" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-192', 'x', 'link-112');">x</a></tt> </tt>
<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-193" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-193', 'x', 'link-112');">x</a></tt><tt class="py-op">+</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">match_text</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
</div></div><a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"> </tt>
<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"><tt class="py-comment"># Make the tagtable needed for a named group backreference.</tt> </tt>
<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Uses the +1/-1 trick.</tt> </tt>
<a name="generate_groupref"></a><div id="generate_groupref-def"><a name="L449"></a><tt class="py-lineno">449</tt> <a class="py-toggle" href="#" id="generate_groupref-toggle" onclick="return toggle('generate_groupref');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_groupref">generate_groupref</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_groupref-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_groupref-expanded"><a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">    <tt class="py-comment"># Look up the string from the match group</tt> </tt>
<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># It can be of length 0 or more, so use the +1/-1 trick.</tt> </tt>
<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt> </tt>
<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-194" class="py-name" targets="Class Martel.Generate.CheckGroupRef=Martel.Generate.CheckGroupRef-class.html"><a title="Martel.Generate.CheckGroupRef" class="py-name" href="#" onclick="return doclink('link-194', 'CheckGroupRef', 'link-194');">CheckGroupRef</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-195', 'name', 'link-7');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</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-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Skip</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-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">MatchFail</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-op">]</tt> </tt>
</div><a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"> </tt>
<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"><tt class="py-comment"># Used to define parsers which read a record at time.  They contain no</tt> </tt>
<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># parse information themselves, but only in their children</tt> </tt>
<a name="generate_pass_through"></a><div id="generate_pass_through-def"><a name="L459"></a><tt class="py-lineno">459</tt> <a class="py-toggle" href="#" id="generate_pass_through-toggle" onclick="return toggle('generate_pass_through');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_pass_through">generate_pass_through</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="generate_pass_through-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_pass_through-expanded"><a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-196" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-196', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
</div><a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"> </tt>
<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-comment"># Mapping from Expression type to function used to generate the tagtable</tt> </tt>
<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt id="link-197" class="py-name" targets="Variable Martel.Generate.generate_table=Martel.Generate-module.html#generate_table,Variable Martel.test.test_Generate.generate_table=Martel.test.test_Generate-module.html#generate_table"><a title="Martel.Generate.generate_table
Martel.test.test_Generate.generate_table" class="py-name" href="#" onclick="return doclink('link-197', 'generate_table', 'link-197');">generate_table</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">    <tt id="link-198" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-198', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-199" class="py-name" targets="Function Martel.Alt()=Martel-module.html#Alt,Class Martel.Expression.Alt=Martel.Expression.Alt-class.html"><a title="Martel.Alt
Martel.Expression.Alt" class="py-name" href="#" onclick="return doclink('link-199', 'Alt', 'link-199');">Alt</a></tt><tt class="py-op">:</tt> <tt id="link-200" class="py-name" targets="Function Martel.Generate.generate_alt()=Martel.Generate-module.html#generate_alt"><a title="Martel.Generate.generate_alt" class="py-name" href="#" onclick="return doclink('link-200', 'generate_alt', 'link-200');">generate_alt</a></tt><tt class="py-op">,</tt> </tt>
<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">    <tt id="link-201" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-201', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-202" class="py-name" targets="Function Martel.Any()=Martel-module.html#Any,Class Martel.Expression.Any=Martel.Expression.Any-class.html"><a title="Martel.Any
Martel.Expression.Any" class="py-name" href="#" onclick="return doclink('link-202', 'Any', 'link-202');">Any</a></tt><tt class="py-op">:</tt> <tt id="link-203" class="py-name" targets="Function Martel.Generate.generate_any()=Martel.Generate-module.html#generate_any"><a title="Martel.Generate.generate_any" class="py-name" href="#" onclick="return doclink('link-203', 'generate_any', 'link-203');">generate_any</a></tt><tt class="py-op">,</tt> </tt>
<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">    <tt id="link-204" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-204', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name" targets="Function Martel.Assert()=Martel-module.html#Assert,Class Martel.Expression.Assert=Martel.Expression.Assert-class.html"><a title="Martel.Assert
Martel.Expression.Assert" class="py-name" href="#" onclick="return doclink('link-205', 'Assert', 'link-205');">Assert</a></tt><tt class="py-op">:</tt> <tt id="link-206" class="py-name" targets="Function Martel.Generate.generate_assert()=Martel.Generate-module.html#generate_assert"><a title="Martel.Generate.generate_assert" class="py-name" href="#" onclick="return doclink('link-206', 'generate_assert', 'link-206');">generate_assert</a></tt><tt class="py-op">,</tt> </tt>
<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">    <tt id="link-207" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-207', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-208" class="py-name" targets="Class Martel.Expression.AtBeginning=Martel.Expression.AtBeginning-class.html"><a title="Martel.Expression.AtBeginning" class="py-name" href="#" onclick="return doclink('link-208', 'AtBeginning', 'link-208');">AtBeginning</a></tt><tt class="py-op">:</tt> <tt id="link-209" class="py-name" targets="Function Martel.Generate.generate_at_beginning()=Martel.Generate-module.html#generate_at_beginning"><a title="Martel.Generate.generate_at_beginning" class="py-name" href="#" onclick="return doclink('link-209', 'generate_at_beginning', 'link-209');">generate_at_beginning</a></tt><tt class="py-op">,</tt> </tt>
<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">    <tt id="link-210" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-210', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-211" class="py-name" targets="Class Martel.Expression.AtEnd=Martel.Expression.AtEnd-class.html"><a title="Martel.Expression.AtEnd" class="py-name" href="#" onclick="return doclink('link-211', 'AtEnd', 'link-211');">AtEnd</a></tt><tt class="py-op">:</tt> <tt id="link-212" class="py-name" targets="Function Martel.Generate.generate_at_end()=Martel.Generate-module.html#generate_at_end"><a title="Martel.Generate.generate_at_end" class="py-name" href="#" onclick="return doclink('link-212', 'generate_at_end', 'link-212');">generate_at_end</a></tt><tt class="py-op">,</tt> </tt>
<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">    <tt id="link-213" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-213', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-214" class="py-name" targets="Class Martel.Expression.Debug=Martel.Expression.Debug-class.html"><a title="Martel.Expression.Debug" class="py-name" href="#" onclick="return doclink('link-214', 'Debug', 'link-214');">Debug</a></tt><tt class="py-op">:</tt> <tt id="link-215" class="py-name" targets="Function Martel.Generate.generate_debug()=Martel.Generate-module.html#generate_debug"><a title="Martel.Generate.generate_debug" class="py-name" href="#" onclick="return doclink('link-215', 'generate_debug', 'link-215');">generate_debug</a></tt><tt class="py-op">,</tt> </tt>
<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">    <tt id="link-216" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-216', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-217" class="py-name" targets="Class Martel.Expression.Dot=Martel.Expression.Dot-class.html"><a title="Martel.Expression.Dot" class="py-name" href="#" onclick="return doclink('link-217', 'Dot', 'link-217');">Dot</a></tt><tt class="py-op">:</tt> <tt id="link-218" class="py-name" targets="Function Martel.Generate.generate_dot()=Martel.Generate-module.html#generate_dot"><a title="Martel.Generate.generate_dot" class="py-name" href="#" onclick="return doclink('link-218', 'generate_dot', 'link-218');">generate_dot</a></tt><tt class="py-op">,</tt> </tt>
<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">    <tt id="link-219" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-219', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name" targets="Class Martel.Expression.AnyEol=Martel.Expression.AnyEol-class.html"><a title="Martel.Expression.AnyEol" class="py-name" href="#" onclick="return doclink('link-220', 'AnyEol', 'link-220');">AnyEol</a></tt><tt class="py-op">:</tt> <tt id="link-221" class="py-name" targets="Function Martel.Generate.generate_eol()=Martel.Generate-module.html#generate_eol"><a title="Martel.Generate.generate_eol" class="py-name" href="#" onclick="return doclink('link-221', 'generate_eol', 'link-221');">generate_eol</a></tt><tt class="py-op">,</tt> </tt>
<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">    <tt id="link-222" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-222', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name" targets="Class Martel.Expression.Group=Martel.Expression.Group-class.html,Function Martel.Group()=Martel-module.html#Group"><a title="Martel.Expression.Group
Martel.Group" class="py-name" href="#" onclick="return doclink('link-223', 'Group', 'link-223');">Group</a></tt><tt class="py-op">:</tt> <tt id="link-224" class="py-name" targets="Function Martel.Generate.generate_group()=Martel.Generate-module.html#generate_group"><a title="Martel.Generate.generate_group" class="py-name" href="#" onclick="return doclink('link-224', 'generate_group', 'link-224');">generate_group</a></tt><tt class="py-op">,</tt> </tt>
<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">    <tt id="link-225" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-225', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-226" class="py-name" targets="Class Martel.Expression.GroupRef=Martel.Expression.GroupRef-class.html"><a title="Martel.Expression.GroupRef" class="py-name" href="#" onclick="return doclink('link-226', 'GroupRef', 'link-226');">GroupRef</a></tt><tt class="py-op">:</tt> <tt id="link-227" class="py-name" targets="Function Martel.Generate.generate_groupref()=Martel.Generate-module.html#generate_groupref"><a title="Martel.Generate.generate_groupref" class="py-name" href="#" onclick="return doclink('link-227', 'generate_groupref', 'link-227');">generate_groupref</a></tt><tt class="py-op">,</tt> </tt>
<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">    <tt id="link-228" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-228', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-229" class="py-name" targets="Class Martel.Expression.Literal=Martel.Expression.Literal-class.html"><a title="Martel.Expression.Literal" class="py-name" href="#" onclick="return doclink('link-229', 'Literal', 'link-229');">Literal</a></tt><tt class="py-op">:</tt> <tt id="link-230" class="py-name" targets="Function Martel.Generate.generate_literal()=Martel.Generate-module.html#generate_literal"><a title="Martel.Generate.generate_literal" class="py-name" href="#" onclick="return doclink('link-230', 'generate_literal', 'link-230');">generate_literal</a></tt><tt class="py-op">,</tt> </tt>
<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">    <tt id="link-231" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-231', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-232" class="py-name" targets="Class Martel.Expression.MaxRepeat=Martel.Expression.MaxRepeat-class.html,Function Martel.MaxRepeat()=Martel-module.html#MaxRepeat"><a title="Martel.Expression.MaxRepeat
Martel.MaxRepeat" class="py-name" href="#" onclick="return doclink('link-232', 'MaxRepeat', 'link-232');">MaxRepeat</a></tt><tt class="py-op">:</tt> <tt id="link-233" class="py-name" targets="Function Martel.Generate.generate_max_repeat()=Martel.Generate-module.html#generate_max_repeat"><a title="Martel.Generate.generate_max_repeat" class="py-name" href="#" onclick="return doclink('link-233', 'generate_max_repeat', 'link-233');">generate_max_repeat</a></tt><tt class="py-op">,</tt> </tt>
<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">    <tt id="link-234" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-234', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name" targets="Class Martel.Expression.NullOp=Martel.Expression.NullOp-class.html"><a title="Martel.Expression.NullOp" class="py-name" href="#" onclick="return doclink('link-235', 'NullOp', 'link-235');">NullOp</a></tt><tt class="py-op">:</tt> <tt id="link-236" class="py-name" targets="Function Martel.Generate.generate_null_op()=Martel.Generate-module.html#generate_null_op"><a title="Martel.Generate.generate_null_op" class="py-name" href="#" onclick="return doclink('link-236', 'generate_null_op', 'link-236');">generate_null_op</a></tt><tt class="py-op">,</tt> </tt>
<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">    <tt id="link-237" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-237', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-238" class="py-name" targets="Module Bio.Seq=Bio.Seq-module.html,Class Bio.Seq.Seq=Bio.Seq.Seq-class.html,Class Martel.Expression.Seq=Martel.Expression.Seq-class.html,Function Martel.Seq()=Martel-module.html#Seq"><a title="Bio.Seq
Bio.Seq.Seq
Martel.Expression.Seq
Martel.Seq" class="py-name" href="#" onclick="return doclink('link-238', 'Seq', 'link-238');">Seq</a></tt><tt class="py-op">:</tt> <tt id="link-239" class="py-name" targets="Function Martel.Generate.generate_seq()=Martel.Generate-module.html#generate_seq"><a title="Martel.Generate.generate_seq" class="py-name" href="#" onclick="return doclink('link-239', 'generate_seq', 'link-239');">generate_seq</a></tt><tt class="py-op">,</tt> </tt>
<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">    <tt id="link-240" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-240', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-241" class="py-name" targets="Class Martel.Expression.Str=Martel.Expression.Str-class.html,Function Martel.Str()=Martel-module.html#Str"><a title="Martel.Expression.Str
Martel.Str" class="py-name" href="#" onclick="return doclink('link-241', 'Str', 'link-241');">Str</a></tt><tt class="py-op">:</tt> <tt id="link-242" class="py-name" targets="Function Martel.Generate.generate_str()=Martel.Generate-module.html#generate_str"><a title="Martel.Generate.generate_str" class="py-name" href="#" onclick="return doclink('link-242', 'generate_str', 'link-242');">generate_str</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-op">}</tt> </tt>
<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line"> </tt>
<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line"><tt id="link-243" class="py-name" targets="Variable Martel.Generate._position=Martel.Generate-module.html#_position"><a title="Martel.Generate._position" class="py-name" href="#" onclick="return doclink('link-243', '_position', 'link-243');">_position</a></tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
<a name="track_position"></a><div id="track_position-def"><a name="L482"></a><tt class="py-lineno">482</tt> <a class="py-toggle" href="#" id="track_position-toggle" onclick="return toggle('track_position');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#track_position">track_position</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="track_position-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="track_position-expanded"><a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">    <tt class="py-docstring">"""store the start position of the farthest successful match</tt> </tt>
<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"><tt class="py-docstring">    This value is more useful than mxTextTools' default, which only</tt> </tt>
<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line"><tt class="py-docstring">    points out the last text region successfully tagged at the top</tt> </tt>
<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"><tt class="py-docstring">    level.  This value is the last region successfully tagged</tt> </tt>
<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"><tt class="py-docstring">    anywhere.</tt> </tt>
<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line"><tt class="py-docstring">    Uses a global variable so this is SINGLE THREADED!</tt> </tt>
<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">     </tt>
<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt id="link-244" class="py-name"><a title="Martel.Generate._position" class="py-name" href="#" onclick="return doclink('link-244', '_position', 'link-243');">_position</a></tt> </tt>
<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">    <tt id="link-245" class="py-name"><a title="Martel.Generate._position" class="py-name" href="#" onclick="return doclink('link-245', '_position', 'link-243');">_position</a></tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt id="link-246" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-246', 'x', 'link-112');">x</a></tt><tt class="py-op">,</tt> <tt id="link-247" class="py-name"><a title="Martel.Generate._position" class="py-name" href="#" onclick="return doclink('link-247', '_position', 'link-243');">_position</a></tt><tt class="py-op">)</tt> </tt>
<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-248" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-248', 'x', 'link-112');">x</a></tt> </tt>
</div><a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line"> </tt>
<a name="print_info"></a><div id="print_info-def"><a name="L498"></a><tt class="py-lineno">498</tt> <a class="py-toggle" href="#" id="print_info-toggle" onclick="return toggle('print_info');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.Generate.print_info-class.html">print_info</a><tt class="py-op">:</tt> </tt>
</div><div id="print_info-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="print_info-expanded"><a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">    <tt class="py-docstring">"""Print information after each expression match"""</tt> </tt>
<a name="print_info.__init__"></a><div id="print_info.__init__-def"><a name="L500"></a><tt class="py-lineno">500</tt> <a class="py-toggle" href="#" id="print_info.__init__-toggle" onclick="return toggle('print_info.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.print_info-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">expression</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="print_info.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="print_info.__init__-expanded"><a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt id="link-249" 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-249', 's', 'link-249');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L502"></a><tt class="py-lineno">502</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-250" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-250', 's', 'link-249');">s</a></tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">            <tt id="link-251" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-251', 's', 'link-249');">s</a></tt> <tt class="py-op">=</tt> <tt id="link-252" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-252', 's', 'link-249');">s</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">17</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" ... "</tt> <tt class="py-op">+</tt> <tt id="link-253" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-253', 's', 'link-249');">s</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">17</tt><tt class="py-op">:</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">self</tt><tt class="py-op">.</tt><tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-254" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-254', 's', 'link-249');">s</a></tt> </tt>
</div><a name="print_info.__call__"></a><div id="print_info.__call__-def"><a name="L505"></a><tt class="py-lineno">505</tt> <a class="py-toggle" href="#" id="print_info.__call__-toggle" onclick="return toggle('print_info.__call__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate.print_info-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="print_info.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="print_info.__call__-expanded"><a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Match %s (x=%d): %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-255" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text
Bio.Prosite.Prodoc._RecordConsumer.text
Martel.test.test_Iterator.text
Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-255', 'text', 'link-84');">text</a></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-256" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-256', 'x', 'link-112');">x</a></tt><tt class="py-op">-</tt><tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt id="link-257" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-257', 'x', 'link-112');">x</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-op">,</tt> <tt id="link-258" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-258', 'x', 'link-112');">x</a></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">repr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-259" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-259', 'x', 'link-112');">x</a></tt> </tt>
</div></div><a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line"> </tt>
<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line"><tt class="py-comment"># The internal recursive call</tt> </tt>
<a name="_generate"></a><div id="_generate-def"><a name="L511"></a><tt class="py-lineno">511</tt> <a class="py-toggle" href="#" id="_generate-toggle" onclick="return toggle('_generate');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#_generate">_generate</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">genstate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_generate-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_generate-expanded"><a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">        <tt class="py-name">func</tt> <tt class="py-op">=</tt> <tt id="link-260" class="py-name"><a title="Martel.Generate.generate_table
Martel.test.test_Generate.generate_table" class="py-name" href="#" onclick="return doclink('link-260', 'generate_table', 'link-197');">generate_table</a></tt><tt class="py-op">[</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">]</tt> </tt>
<a name="L514"></a><tt class="py-lineno">514</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="L515"></a><tt class="py-lineno">515</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">expression</tt><tt class="py-op">,</tt> <tt id="link-261" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-261', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-262" class="py-name" targets="Class Martel.Expression.PassThrough=Martel.Expression.PassThrough-class.html"><a title="Martel.Expression.PassThrough" class="py-name" href="#" onclick="return doclink('link-262', 'PassThrough', 'link-262');">PassThrough</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">            <tt class="py-name">func</tt> <tt class="py-op">=</tt> <tt id="link-263" class="py-name" targets="Function Martel.Generate.generate_pass_through()=Martel.Generate-module.html#generate_pass_through"><a title="Martel.Generate.generate_pass_through" class="py-name" href="#" onclick="return doclink('link-263', 'generate_pass_through', 'link-263');">generate_pass_through</a></tt> </tt>
<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">,</tt> \ </tt>
<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">                  <tt class="py-string">"Unknown Expression object: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">    <tt id="link-264" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-264', 'table', 'link-34');">table</a></tt> <tt class="py-op">=</tt> <tt class="py-name">func</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line"> </tt>
<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt id="link-265" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-265', 'table', 'link-34');">table</a></tt><tt class="py-op">:</tt> </tt>
<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">        <tt id="link-266" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-266', 'table', 'link-34');">table</a></tt><tt class="py-op">.</tt><tt id="link-267" 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-267', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-268" class="py-name"><a title="Martel.Generate.track_position" class="py-name" href="#" onclick="return doclink('link-268', 'track_position', 'link-56');">track_position</a></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>
<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">        <tt id="link-269" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-269', 'table', 'link-34');">table</a></tt><tt class="py-op">.</tt><tt id="link-270" 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-270', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-271" class="py-name"><a title="Martel.Generate.track_position" class="py-name" href="#" onclick="return doclink('link-271', 'track_position', 'link-56');">track_position</a></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>
<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt id="link-272" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-272', 'table', 'link-34');">table</a></tt><tt class="py-op">.</tt><tt id="link-273" 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-273', 'append', 'link-31');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">Call</tt><tt class="py-op">,</tt> <tt id="link-274" class="py-name"><a title="Martel.Generate.print_info" class="py-name" href="#" onclick="return doclink('link-274', 'print_info', 'link-68');">print_info</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</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>
<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">,</tt> <tt class="py-string">"Unknown debug level: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt class="py-name">debug_level</tt> </tt>
<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">         </tt>
<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-275" class="py-name"><a title="Bio.CDD.cdd_format.table
Bio.expressions.blast.ncbiblast.table" class="py-name" href="#" onclick="return doclink('link-275', 'table', 'link-34');">table</a></tt> </tt>
</div><a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line"> </tt>
<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line"><tt class="py-comment"># Get the tagtable and the want_groupref_names</tt> </tt>
<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Main entry point for record oriented readers</tt> </tt>
<a name="generate"></a><div id="generate-def"><a name="L536"></a><tt class="py-lineno">536</tt> <a class="py-toggle" href="#" id="generate-toggle" onclick="return toggle('generate');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate">generate</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">debug_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="generate-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate-expanded"><a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">    <tt class="py-docstring">"""expression -&gt; Parser for the Expression tree"""</tt> </tt>
<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">    <tt class="py-name">groupref_names</tt> <tt class="py-op">=</tt> <tt id="link-276" class="py-name" targets="Function Martel.Generate._find_wanted_groupref_names()=Martel.Generate-module.html#_find_wanted_groupref_names"><a title="Martel.Generate._find_wanted_groupref_names" class="py-name" href="#" onclick="return doclink('link-276', '_find_wanted_groupref_names', 'link-276');">_find_wanted_groupref_names</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">    <tt class="py-name">genstate</tt> <tt class="py-op">=</tt> <tt id="link-277" class="py-name" targets="Class Martel.Generate.GeneratorState=Martel.Generate.GeneratorState-class.html"><a title="Martel.Generate.GeneratorState" class="py-name" href="#" onclick="return doclink('link-277', 'GeneratorState', 'link-277');">GeneratorState</a></tt><tt class="py-op">(</tt><tt class="py-name">groupref_names</tt><tt class="py-op">,</tt> <tt class="py-name">debug_level</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">tagtable</tt> <tt class="py-op">=</tt> <tt id="link-278" class="py-name"><a title="Martel.Generate._generate" class="py-name" href="#" onclick="return doclink('link-278', '_generate', 'link-32');">_generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">)</tt> </tt>
<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">groupref_names</tt><tt class="py-op">:</tt> </tt>
<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">        <tt class="py-name">want_groupref_names</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">        <tt class="py-name">want_groupref_names</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">want_groupref_names</tt><tt class="py-op">,</tt> <tt class="py-name">genstate</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="Bio.Mindy.BaseDB.OpenDB.lookup
BioSQL.BioSeqDatabase.BioSeqDatabase.lookup" class="py-name" href="#" onclick="return doclink('link-279', 'lookup', 'link-6');">lookup</a></tt> </tt>
</div><a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line"> </tt>
<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line"><tt class="py-comment"># Get the parser.  Main entry point for everything except record</tt> </tt>
<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># oriented readers</tt> </tt>
<a name="generate_parser"></a><div id="generate_parser-def"><a name="L549"></a><tt class="py-lineno">549</tt> <a class="py-toggle" href="#" id="generate_parser-toggle" onclick="return toggle('generate_parser');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#generate_parser">generate_parser</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">,</tt> <tt class="py-param">debug_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="generate_parser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_parser-expanded"><a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">    <tt class="py-name">tagtable</tt><tt class="py-op">,</tt> <tt class="py-name">want_groupref_names</tt><tt class="py-op">,</tt> <tt class="py-name">attrlookup</tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name" targets="Function Martel.Generate.generate()=Martel.Generate-module.html#generate"><a title="Martel.Generate.generate" class="py-name" href="#" onclick="return doclink('link-280', 'generate', 'link-280');">generate</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-281" class="py-name"><a title="Bio.AlignAce.Parser
Bio.Entrez.Parser
Bio.MEME.Parser
Bio.SCOP.Cla.Parser
Bio.SCOP.Des.Parser
Bio.SCOP.Dom.Parser
Bio.SCOP.Hie.Parser
Bio.SCOP.Raf.Parser
Martel.Parser
Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-281', 'Parser', 'link-3');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="Bio.AlignAce.Parser
Bio.Entrez.Parser
Bio.MEME.Parser
Bio.SCOP.Cla.Parser
Bio.SCOP.Des.Parser
Bio.SCOP.Dom.Parser
Bio.SCOP.Hie.Parser
Bio.SCOP.Raf.Parser
Martel.Parser
Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-282', 'Parser', 'link-3');">Parser</a></tt><tt class="py-op">(</tt><tt class="py-name">tagtable</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">want_groupref_names</tt><tt class="py-op">,</tt> <tt class="py-name">debug_level</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">attrlookup</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><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>
<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"><tt class="py-comment"># This code is ugly.  There are couple possible fixes:</tt> </tt>
<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  1) write a tree iterator which visits each node of the Expression tree.</tt> </tt>
<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Using it would remove the extra code for doing recursion.</tt> </tt>
<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#  2) add a new method to each Expression type to get the names.</tt> </tt>
<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Using it would remove the many 'if' statements.</tt> </tt>
<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># There will probably be code in the future to optimize an Expression</tt> </tt>
<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># tree.  That code will have tools to manipulate a tree.  I'll wait</tt> </tt>
<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># until then to work decide which option to take, or if there's a</tt> </tt>
<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># third.</tt> </tt>
<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="_find_wanted_groupref_names"></a><div id="_find_wanted_groupref_names-def"><a name="L566"></a><tt class="py-lineno">566</tt> <a class="py-toggle" href="#" id="_find_wanted_groupref_names-toggle" onclick="return toggle('_find_wanted_groupref_names');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.Generate-module.html#_find_wanted_groupref_names">_find_wanted_groupref_names</a><tt class="py-op">(</tt><tt class="py-param">expression</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_find_wanted_groupref_names-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_find_wanted_groupref_names-expanded"><a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">    <tt class="py-docstring">"""expression -&gt; dict of group names wanted by elements of the tree</tt> </tt>
<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line"><tt class="py-docstring">    The dict is used to during tagtable generation to specify which</tt> </tt>
<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line"><tt class="py-docstring">    groups need to save their match text.  There's match-time overhead</tt> </tt>
<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"><tt class="py-docstring">    for doing that, and the code isn't thread safe, so the intent is</tt> </tt>
<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"><tt class="py-docstring">    to save only those groups that are needed.</tt> </tt>
<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line"><tt class="py-docstring">    The dict value is 1 if the group name is needed, else there is</tt> </tt>
<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line"><tt class="py-docstring">    no entry in the dict.</tt> </tt>
<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line"><tt class="py-docstring">    XXX need to make this a method!</tt> </tt>
<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">    <tt class="py-name">want_names</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L580"></a><tt class="py-lineno">580</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">expression</tt><tt class="py-op">,</tt> <tt id="link-283" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-283', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="Martel.Alt
Martel.Expression.Alt" class="py-name" href="#" onclick="return doclink('link-284', 'Alt', 'link-199');">Alt</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">       <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-285" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-285', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="Bio.Seq
Bio.Seq.Seq
Martel.Expression.Seq
Martel.Seq" class="py-name" href="#" onclick="return doclink('link-286', 'Seq', 'link-238');">Seq</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-287" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-287', 'x', 'link-112');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-288', 'expressions', 'link-30');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">            <tt class="py-name">want_names</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name" targets="Method Bio.GenBank.NCBIDictionary.update()=Bio.GenBank.NCBIDictionary-class.html#update,Method Bio.Index._InMemoryIndex.update()=Bio.Index._InMemoryIndex-class.html#update,Method Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update()=Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer-class.html#update,Method Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update()=Bio.NeuralNetwork.BackPropagation.Layer.InputLayer-class.html#update,Method Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update()=Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer-class.html#update,Method Bio.Prosite.ExPASyDictionary.update()=Bio.Prosite.ExPASyDictionary-class.html#update,Method Bio.Prosite.Prodoc.ExPASyDictionary.update()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#update,Method Bio.PubMed.Dictionary.update()=Bio.PubMed.Dictionary-class.html#update,Method Bio.Restriction._Update.Update.RebaseUpdate.update()=Bio.Restriction._Update.Update.RebaseUpdate-class.html#update,Method Bio.SwissProt.SProt.ExPASyDictionary.update()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#update"><a title="Bio.GenBank.NCBIDictionary.update
Bio.Index._InMemoryIndex.update
Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update
Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update
Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update
Bio.Prosite.ExPASyDictionary.update
Bio.Prosite.Prodoc.ExPASyDictionary.update
Bio.PubMed.Dictionary.update
Bio.Restriction._Update.Update.RebaseUpdate.update
Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-289', 'update', 'link-289');">update</a></tt><tt class="py-op">(</tt><tt id="link-290" class="py-name"><a title="Martel.Generate._find_wanted_groupref_names" class="py-name" href="#" onclick="return doclink('link-290', '_find_wanted_groupref_names', 'link-276');">_find_wanted_groupref_names</a></tt><tt class="py-op">(</tt><tt id="link-291" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-291', 'x', 'link-112');">x</a></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>
<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-292" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-292', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="Martel.Expression.Group
Martel.Group" class="py-name" href="#" onclick="return doclink('link-293', 'Group', 'link-223');">Group</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-294" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-294', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="Martel.Assert
Martel.Expression.Assert" class="py-name" href="#" onclick="return doclink('link-295', 'Assert', 'link-205');">Assert</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-296" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-296', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="Martel.Expression.PassThrough" class="py-name" href="#" onclick="return doclink('link-297', 'PassThrough', 'link-262');">PassThrough</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">        <tt class="py-name">want_names</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update
Bio.Index._InMemoryIndex.update
Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update
Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update
Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update
Bio.Prosite.ExPASyDictionary.update
Bio.Prosite.Prodoc.ExPASyDictionary.update
Bio.PubMed.Dictionary.update
Bio.Restriction._Update.Update.RebaseUpdate.update
Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-298', 'update', 'link-289');">update</a></tt><tt class="py-op">(</tt><tt id="link-299" class="py-name"><a title="Martel.Generate._find_wanted_groupref_names" class="py-name" href="#" onclick="return doclink('link-299', '_find_wanted_groupref_names', 'link-276');">_find_wanted_groupref_names</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line"> </tt>
<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-300" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-300', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="Martel.Expression.MaxRepeat
Martel.MaxRepeat" class="py-name" href="#" onclick="return doclink('link-301', 'MaxRepeat', 'link-232');">MaxRepeat</a></tt><tt class="py-op">)</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">if</tt> <tt id="link-302" 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-302', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-303" 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-303', 'type', 'link-101');">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="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">            <tt class="py-name">want_names</tt><tt class="py-op">[</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">min_count</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-304" 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-304', 'type', 'link-101');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-305" 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-305', 'type', 'link-101');">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="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">            <tt class="py-name">want_names</tt><tt class="py-op">[</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">max_count</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">        <tt class="py-name">want_names</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update
Bio.Index._InMemoryIndex.update
Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update
Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update
Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update
Bio.Prosite.ExPASyDictionary.update
Bio.Prosite.Prodoc.ExPASyDictionary.update
Bio.PubMed.Dictionary.update
Bio.Restriction._Update.Update.RebaseUpdate.update
Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-306', 'update', 'link-289');">update</a></tt><tt class="py-op">(</tt><tt id="link-307" class="py-name"><a title="Martel.Generate._find_wanted_groupref_names" class="py-name" href="#" onclick="return doclink('link-307', '_find_wanted_groupref_names', 'link-276');">_find_wanted_groupref_names</a></tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line"> </tt>
<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-308" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-308', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="Martel.Expression.GroupRef" class="py-name" href="#" onclick="return doclink('link-309', 'GroupRef', 'link-226');">GroupRef</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt class="py-name">want_names</tt><tt class="py-op">[</tt><tt class="py-name">expression</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-310', 'name', 'link-7');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line"> </tt>
<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-311" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-311', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="Martel.Expression.Literal" class="py-name" href="#" onclick="return doclink('link-312', 'Literal', 'link-229');">Literal</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-313" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-313', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="Martel.Expression.Str
Martel.Str" class="py-name" href="#" onclick="return doclink('link-314', 'Str', 'link-241');">Str</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-315" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-315', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="Martel.Any
Martel.Expression.Any" class="py-name" href="#" onclick="return doclink('link-316', 'Any', 'link-202');">Any</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-317" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-317', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="Martel.Expression.AtBeginning" class="py-name" href="#" onclick="return doclink('link-318', 'AtBeginning', 'link-208');">AtBeginning</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-319" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-319', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-320" class="py-name"><a title="Martel.Expression.AtEnd" class="py-name" href="#" onclick="return doclink('link-320', 'AtEnd', 'link-211');">AtEnd</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-321" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-321', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="Martel.Expression.Dot" class="py-name" href="#" onclick="return doclink('link-322', 'Dot', 'link-217');">Dot</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-323" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-323', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="Martel.Expression.AnyEol" class="py-name" href="#" onclick="return doclink('link-324', 'AnyEol', 'link-220');">AnyEol</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-325" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-325', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="Martel.Expression.Debug" class="py-name" href="#" onclick="return doclink('link-326', 'Debug', 'link-214');">Debug</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">         <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">,</tt> <tt id="link-327" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-327', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="Martel.Expression.NullOp" class="py-name" href="#" onclick="return doclink('link-328', 'NullOp', 'link-235');">NullOp</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">pass</tt> </tt>
<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line"> </tt>
<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">    <tt class="py-keyword">else</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 class="py-name">NotImplementedError</tt><tt class="py-op">,</tt> <tt class="py-string">"What is a %s?"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line"> </tt>
<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">want_names</tt> </tt>
</div><a name="L615"></a><tt class="py-lineno">615</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>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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:28:11 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>