Sophie

Sophie

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

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.convert_re</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;convert_re
      </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.convert_re-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="Martel.convert_re-module.html">Module Martel.convert_re</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-docstring">"""Converts a regular expression pattern string into an Expression tree.</tt> </tt>
<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">This is not meant to be an externally usable module.</tt> </tt>
<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">This works by using msre_parse.py to parse the pattern.  The result is</tt> </tt>
<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">a tree data structure, where the nodes in the tree are tuples.  The</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">first element of the tuple is the name of the node type.  The format</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">of the other elements depends on the type.</tt> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">The conversion routine is pretty simple - convert each msre_parse tuple</tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">node into a Martel Expression node.  It's a recusive implementation.</tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">'msre_parse.py' is a modified version of Secret Labs' 'sre_parse.py'</tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</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-op">,</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>
<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-comment"># The msre_parse parser uses a "master pattern object" which keeps</tt> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># track of the mapping from group id to group name.  This is okay for</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"># msre_parse because they only track the last group with a given name.</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"># I need to get all groups with the same name, so I need a new object</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"># which stores them in a list that I can use later.</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="GroupNames"></a><div id="GroupNames-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="GroupNames-toggle" onclick="return toggle('GroupNames');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.convert_re.GroupNames-class.html">GroupNames</a><tt class="py-op">:</tt> </tt>
</div><div id="GroupNames-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="GroupNames-expanded"><a name="GroupNames.__init__"></a><div id="GroupNames.__init__-def"><a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="GroupNames.__init__-toggle" onclick="return toggle('GroupNames.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re.GroupNames-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="GroupNames.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GroupNames.__init__-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Function Bio.Mindy.FlatDB.open()=Bio.Mindy.FlatDB-module.html#open,Function Bio.Mindy.open()=Bio.Mindy-module.html#open"><a title="Bio.Mindy.FlatDB.open
Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-2', 'open', 'link-2');">open</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method Bio.Prosite.Pattern.PrositeMatch.groups()=Bio.Prosite.Pattern.PrositeMatch-class.html#groups"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-3', 'groups', 'link-3');">groups</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">groupdict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
</div><a name="GroupNames.opengroup"></a><div id="GroupNames.opengroup-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="GroupNames.opengroup-toggle" onclick="return toggle('GroupNames.opengroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re.GroupNames-class.html#opengroup">opengroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="GroupNames.opengroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GroupNames.opengroup-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">gid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-4', 'groups', 'link-3');">groups</a></tt> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-5', 'groups', 'link-3');">groups</a></tt> <tt class="py-op">=</tt> <tt class="py-name">gid</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-6" 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-6', 'name', 'link-6');">name</a></tt><tt class="py-op">:</tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">groupdict</tt><tt class="py-op">[</tt><tt id="link-7" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-7', 'name', 'link-6');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">groupdict</tt><tt class="py-op">.</tt><tt id="link-8" 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-8', 'get', 'link-8');">get</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-6');">name</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">[</tt><tt class="py-name">gid</tt><tt class="py-op">]</tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="Bio.Mindy.FlatDB.open
Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-10', 'open', 'link-2');">open</a></tt><tt class="py-op">.</tt><tt id="link-11" 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-11', 'append', 'link-11');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">gid</tt><tt class="py-op">)</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">gid</tt> </tt>
</div><a name="GroupNames.closegroup"></a><div id="GroupNames.closegroup-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="GroupNames.closegroup-toggle" onclick="return toggle('GroupNames.closegroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re.GroupNames-class.html#closegroup">closegroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">gid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="GroupNames.closegroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GroupNames.closegroup-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="Bio.Mindy.FlatDB.open
Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-12', 'open', 'link-2');">open</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method Bio.Crystal.Chain.remove()=Bio.Crystal.Chain-class.html#remove,Method Bio.GFF.GenericTools.TempFile.remove()=Bio.GFF.GenericTools.TempFile-class.html#remove,Method Bio.Graphics.BasicChromosome._ChromosomeComponent.remove()=Bio.Graphics.BasicChromosome._ChromosomeComponent-class.html#remove,Method Bio.Pathway.Rep.HashSet.HashSet.remove()=Bio.Pathway.Rep.HashSet.HashSet-class.html#remove,Method Bio.Restriction.Restriction.RestrictionBatch.remove()=Bio.Restriction.Restriction.RestrictionBatch-class.html#remove,Method Bio.Seq.MutableSeq.remove()=Bio.Seq.MutableSeq-class.html#remove,Method BioSQL.Loader.DatabaseRemover.remove()=BioSQL.Loader.DatabaseRemover-class.html#remove"><a title="Bio.Crystal.Chain.remove
Bio.GFF.GenericTools.TempFile.remove
Bio.Graphics.BasicChromosome._ChromosomeComponent.remove
Bio.Pathway.Rep.HashSet.HashSet.remove
Bio.Restriction.Restriction.RestrictionBatch.remove
Bio.Seq.MutableSeq.remove
BioSQL.Loader.DatabaseRemover.remove" class="py-name" href="#" onclick="return doclink('link-13', 'remove', 'link-13');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">gid</tt><tt class="py-op">)</tt> </tt>
</div><a name="GroupNames.checkgroup"></a><div id="GroupNames.checkgroup-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="GroupNames.checkgroup-toggle" onclick="return toggle('GroupNames.checkgroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re.GroupNames-class.html#checkgroup">checkgroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">gid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="GroupNames.checkgroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GroupNames.checkgroup-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">gid</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="Bio.Prosite.Pattern.PrositeMatch.groups" class="py-name" href="#" onclick="return doclink('link-14', 'groups', 'link-3');">groups</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">gid</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="Bio.Mindy.FlatDB.open
Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-15', 'open', 'link-2');">open</a></tt> </tt>
</div><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
<a name="GroupNames.reverse_name"></a><div id="GroupNames.reverse_name-def"><a name="L47"></a><tt class="py-lineno"> 47</tt> <a class="py-toggle" href="#" id="GroupNames.reverse_name-toggle" onclick="return toggle('GroupNames.reverse_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re.GroupNames-class.html#reverse_name">reverse_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="GroupNames.reverse_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GroupNames.reverse_name-expanded"><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-docstring">"""group number -&gt; group name, or None if there is no name"""</tt> </tt>
<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-16" class="py-name" targets="Variable Bio.Translate.key=Bio.Translate-module.html#key"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-16', 'key', 'link-16');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">groupdict</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method Bio.Crystal.Crystal.items()=Bio.Crystal.Crystal-class.html#items,Method Bio.EUtils.MultiDict._BaseMultiDict.items()=Bio.EUtils.MultiDict._BaseMultiDict-class.html#items,Variable Bio.Entrez.SerialSet.items=Bio.Entrez.SerialSet-module.html#items,Method Bio.GenBank.NCBIDictionary.items()=Bio.GenBank.NCBIDictionary-class.html#items,Method Bio.Mindy.BaseDB.DictLookup.items()=Bio.Mindy.BaseDB.DictLookup-class.html#items,Method Bio.Prosite.ExPASyDictionary.items()=Bio.Prosite.ExPASyDictionary-class.html#items,Method Bio.Prosite.Prodoc.ExPASyDictionary.items()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#items,Method Bio.PubMed.Dictionary.items()=Bio.PubMed.Dictionary-class.html#items,Method Bio.SwissProt.SProt.ExPASyDictionary.items()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#items,Method Bio.config.Registry.Registry.items()=Bio.config.Registry.Registry-class.html#items,Function Bio.listfns.items()=Bio.listfns-module.html#items,Method BioSQL.BioSeqDatabase.BioSeqDatabase.items()=BioSQL.BioSeqDatabase.BioSeqDatabase-class.html#items,Method BioSQL.BioSeqDatabase.DBServer.items()=BioSQL.BioSeqDatabase.DBServer-class.html#items,Method Martel.Parser.MartelAttributeList.items()=Martel.Parser.MartelAttributeList-class.html#items"><a title="Bio.Crystal.Crystal.items
Bio.EUtils.MultiDict._BaseMultiDict.items
Bio.Entrez.SerialSet.items
Bio.GenBank.NCBIDictionary.items
Bio.Mindy.BaseDB.DictLookup.items
Bio.Prosite.ExPASyDictionary.items
Bio.Prosite.Prodoc.ExPASyDictionary.items
Bio.PubMed.Dictionary.items
Bio.SwissProt.SProt.ExPASyDictionary.items
Bio.config.Registry.Registry.items
Bio.listfns.items
BioSQL.BioSeqDatabase.BioSeqDatabase.items
BioSQL.BioSeqDatabase.DBServer.items
Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-17', 'items', 'link-17');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-18" class="py-name" targets="Variable Bio.Data.CodonTable.id=Bio.Data.CodonTable-module.html#id,Variable Bio.Encodings.IUPACEncoding.id=Bio.Encodings.IUPACEncoding-module.html#id,Method Bio.GFF.Feature.id()=Bio.GFF.Feature-class.html#id"><a title="Bio.Data.CodonTable.id
Bio.Encodings.IUPACEncoding.id
Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-18', 'id', 'link-18');">id</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">val</tt><tt class="py-op">:</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-19', 'key', 'link-16');">key</a></tt> </tt>
</div></div><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-comment"># Ignore non-named groups</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-comment"># Convert a 'literal' tuple into a Literal object</tt> </tt>
<a name="convert_literal"></a><div id="convert_literal-def"><a name="L57"></a><tt class="py-lineno"> 57</tt> <a class="py-toggle" href="#" id="convert_literal-toggle" onclick="return toggle('convert_literal');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_literal">convert_literal</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">val</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_literal-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_literal-expanded"><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-20" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-20', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-21" 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-21', 'Literal', 'link-21');">Literal</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
</div><a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-comment"># Convert a 'not_literal' tuple into a Literal object</tt> </tt>
<a name="convert_not_literal"></a><div id="convert_not_literal-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="convert_not_literal-toggle" onclick="return toggle('convert_not_literal');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_not_literal">convert_not_literal</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">val</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_not_literal-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_not_literal-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-22" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-22', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="Martel.Expression.Literal" class="py-name" href="#" onclick="return doclink('link-23', 'Literal', 'link-21');">Literal</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-comment"># Convert an 'at_beginning" tuple into an AtBeginning object</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Convert an 'at_end" tuple into an AtEnd object</tt> </tt>
<a name="convert_at"></a><div id="convert_at-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="convert_at-toggle" onclick="return toggle('convert_at');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_at">convert_at</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">where</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_at-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_at-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">where</tt> <tt class="py-op">==</tt> <tt class="py-string">"at_beginning"</tt><tt class="py-op">:</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-24" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-24', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-25" 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-25', 'AtBeginning', 'link-25');">AtBeginning</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">where</tt> <tt class="py-op">==</tt> <tt class="py-string">"at_end"</tt><tt class="py-op">:</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-26" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-26', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-27" 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-27', 'AtEnd', 'link-27');">AtEnd</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</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 at name: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">where</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-comment"># Convert an 'any' tuple into a Dot object</tt> </tt>
<a name="convert_any"></a><div id="convert_any-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="convert_any-toggle" onclick="return toggle('convert_any');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_any">convert_any</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">ignore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_any-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_any-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">ignore</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"what does it mean when the field is '%s'?"</tt> <tt class="py-op">%</tt> <tt class="py-name">ignore</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-28" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-28', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-29" 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-29', 'Dot', 'link-29');">Dot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-comment"># Convert an 'assert' tuple into a Assert object, as a positive assertion</tt> </tt>
<a name="convert_assert"></a><div id="convert_assert-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="convert_assert-toggle" onclick="return toggle('convert_assert');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_assert">convert_assert</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">direction</tt><tt class="py-op">,</tt> <tt class="py-param">terms</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_assert-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_assert-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">direction</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">"does not support lookbehind"</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-30" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-30', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-31" 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-31', 'Assert', 'link-31');">Assert</a></tt><tt class="py-op">(</tt><tt id="link-32" class="py-name" targets="Function Martel.convert_re.convert_list()=Martel.convert_re-module.html#convert_list"><a title="Martel.convert_re.convert_list" class="py-name" href="#" onclick="return doclink('link-32', 'convert_list', 'link-32');">convert_list</a></tt><tt class="py-op">(</tt><tt id="link-33" class="py-name" targets="Method Martel.Expression.Expression.group_names()=Martel.Expression.Expression-class.html#group_names,Method Martel.Expression.ExpressionList.group_names()=Martel.Expression.ExpressionList-class.html#group_names,Method Martel.Expression.Group.group_names()=Martel.Expression.Group-class.html#group_names,Method Martel.Expression.HeaderFooter.group_names()=Martel.Expression.HeaderFooter-class.html#group_names,Method Martel.Expression.MaxRepeat.group_names()=Martel.Expression.MaxRepeat-class.html#group_names,Method Martel.Expression.ParseRecords.group_names()=Martel.Expression.ParseRecords-class.html#group_names,Method Martel.Expression.PassThrough.group_names()=Martel.Expression.PassThrough-class.html#group_names"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-33', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">,</tt> <tt class="py-name">terms</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
</div><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-comment"># Convert an 'assert_not' tuple into a Assert object, as a negative assertion</tt> </tt>
<a name="convert_assert_not"></a><div id="convert_assert_not-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="convert_assert_not-toggle" onclick="return toggle('convert_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.convert_re-module.html#convert_assert_not">convert_assert_not</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">direction</tt><tt class="py-op">,</tt> <tt class="py-param">terms</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_assert_not-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_assert_not-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">direction</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">"does not support lookbehind"</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-34" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-34', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="Martel.Assert
Martel.Expression.Assert" class="py-name" href="#" onclick="return doclink('link-35', 'Assert', 'link-31');">Assert</a></tt><tt class="py-op">(</tt><tt id="link-36" class="py-name"><a title="Martel.convert_re.convert_list" class="py-name" href="#" onclick="return doclink('link-36', 'convert_list', 'link-32');">convert_list</a></tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-37', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">,</tt> <tt class="py-name">terms</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
</div><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-comment"># Convert a 'branch' tuple into an Alt object</tt> </tt>
<a name="convert_branch"></a><div id="convert_branch-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="convert_branch-toggle" onclick="return toggle('convert_branch');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_branch">convert_branch</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">ignore</tt><tt class="py-op">,</tt> <tt class="py-param">branches</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_branch-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_branch-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">ignore</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"what is %s?"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">ignore</tt><tt class="py-op">)</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">branch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">branches</tt><tt class="py-op">:</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">results</tt><tt class="py-op">.</tt><tt id="link-38" 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-38', 'append', 'link-11');">append</a></tt><tt class="py-op">(</tt><tt id="link-39" class="py-name"><a title="Martel.convert_re.convert_list" class="py-name" href="#" onclick="return doclink('link-39', 'convert_list', 'link-32');">convert_list</a></tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-40', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">,</tt> <tt class="py-name">branch</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">results</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="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">results</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-41" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-41', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-42" 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-42', 'Alt', 'link-42');">Alt</a></tt><tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">results</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-comment"># I know, it's only good for ASCII...</tt> </tt>
<a name="invert"></a><div id="invert-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="invert-toggle" onclick="return toggle('invert');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#invert">invert</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="invert-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="invert-expanded"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-docstring">"""s -&gt; a string containing all the characters not present in s"""</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt id="link-43" class="py-name" targets="Variable Bio.Alphabet.Alphabet.letters=Bio.Alphabet.Alphabet-class.html#letters,Variable Bio.Alphabet.IUPAC.ExtendedIUPACDNA.letters=Bio.Alphabet.IUPAC.ExtendedIUPACDNA-class.html#letters,Variable Bio.Alphabet.IUPAC.ExtendedIUPACProtein.letters=Bio.Alphabet.IUPAC.ExtendedIUPACProtein-class.html#letters,Variable Bio.Alphabet.IUPAC.IUPACAmbiguousDNA.letters=Bio.Alphabet.IUPAC.IUPACAmbiguousDNA-class.html#letters,Variable Bio.Alphabet.IUPAC.IUPACAmbiguousRNA.letters=Bio.Alphabet.IUPAC.IUPACAmbiguousRNA-class.html#letters,Variable Bio.Alphabet.IUPAC.IUPACProtein.letters=Bio.Alphabet.IUPAC.IUPACProtein-class.html#letters,Variable Bio.Alphabet.IUPAC.IUPACUnambiguousDNA.letters=Bio.Alphabet.IUPAC.IUPACUnambiguousDNA-class.html#letters,Variable Bio.Alphabet.IUPAC.IUPACUnambiguousRNA.letters=Bio.Alphabet.IUPAC.IUPACUnambiguousRNA-class.html#letters,Variable Bio.Alphabet.Reduced.HPModel.letters=Bio.Alphabet.Reduced.HPModel-class.html#letters,Variable Bio.Alphabet.Reduced.Murphy10.letters=Bio.Alphabet.Reduced.Murphy10-class.html#letters,Variable Bio.Alphabet.Reduced.Murphy15.letters=Bio.Alphabet.Reduced.Murphy15-class.html#letters,Variable Bio.Alphabet.Reduced.Murphy4.letters=Bio.Alphabet.Reduced.Murphy4-class.html#letters,Variable Bio.Alphabet.Reduced.Murphy8.letters=Bio.Alphabet.Reduced.Murphy8-class.html#letters,Variable Bio.Alphabet.Reduced.PC5.letters=Bio.Alphabet.Reduced.PC5-class.html#letters,Variable Bio.Alphabet.SecondaryStructure.letters=Bio.Alphabet.SecondaryStructure-class.html#letters,Variable Bio.Alphabet.SingleLetterAlphabet.letters=Bio.Alphabet.SingleLetterAlphabet-class.html#letters,Variable Bio.Alphabet.ThreeLetterProtein.letters=Bio.Alphabet.ThreeLetterProtein-class.html#letters,Variable Bio.NeuralNetwork.Gene.Schema.SchemaDNAAlphabet.letters=Bio.NeuralNetwork.Gene.Schema.SchemaDNAAlphabet-class.html#letters,Variable Bio.SeqUtils.ProteinX.letters=Bio.SeqUtils.ProteinX-class.html#letters"><a title="Bio.Alphabet.Alphabet.letters
Bio.Alphabet.IUPAC.ExtendedIUPACDNA.letters
Bio.Alphabet.IUPAC.ExtendedIUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousRNA.letters
Bio.Alphabet.IUPAC.IUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousRNA.letters
Bio.Alphabet.Reduced.HPModel.letters
Bio.Alphabet.Reduced.Murphy10.letters
Bio.Alphabet.Reduced.Murphy15.letters
Bio.Alphabet.Reduced.Murphy4.letters
Bio.Alphabet.Reduced.Murphy8.letters
Bio.Alphabet.Reduced.PC5.letters
Bio.Alphabet.SecondaryStructure.letters
Bio.Alphabet.SingleLetterAlphabet.letters
Bio.Alphabet.ThreeLetterProtein.letters
Bio.NeuralNetwork.Gene.Schema.SchemaDNAAlphabet.letters
Bio.SeqUtils.ProteinX.letters" class="py-name" href="#" onclick="return doclink('link-43', 'letters', 'link-43');">letters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-44" 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-44', 's', 'link-44');">s</a></tt><tt class="py-op">,</tt> <tt id="link-45" 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-45', 'type', 'link-45');">type</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-46', 's', 'link-44');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-47', 's', 'link-44');">s</a></tt><tt class="py-op">)</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-48" class="py-name" targets="Method Bio.GFF.FeatureAggregate.map()=Bio.GFF.FeatureAggregate-class.html#map"><a title="Bio.GFF.FeatureAggregate.map" class="py-name" href="#" onclick="return doclink('link-48', 'map', 'link-48');">map</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">,</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">256</tt><tt class="py-op">)</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">if</tt> <tt class="py-name">c</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-49" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-49', 's', 'link-44');">s</a></tt><tt class="py-op">:</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt id="link-50" class="py-name"><a title="Bio.Alphabet.Alphabet.letters
Bio.Alphabet.IUPAC.ExtendedIUPACDNA.letters
Bio.Alphabet.IUPAC.ExtendedIUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousRNA.letters
Bio.Alphabet.IUPAC.IUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousRNA.letters
Bio.Alphabet.Reduced.HPModel.letters
Bio.Alphabet.Reduced.Murphy10.letters
Bio.Alphabet.Reduced.Murphy15.letters
Bio.Alphabet.Reduced.Murphy4.letters
Bio.Alphabet.Reduced.Murphy8.letters
Bio.Alphabet.Reduced.PC5.letters
Bio.Alphabet.SecondaryStructure.letters
Bio.Alphabet.SingleLetterAlphabet.letters
Bio.Alphabet.ThreeLetterProtein.letters
Bio.NeuralNetwork.Gene.Schema.SchemaDNAAlphabet.letters
Bio.SeqUtils.ProteinX.letters" class="py-name" href="#" onclick="return doclink('link-50', 'letters', 'link-43');">letters</a></tt><tt class="py-op">.</tt><tt id="link-51" 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-51', 'append', 'link-11');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="Bio.Alphabet.Alphabet.letters
Bio.Alphabet.IUPAC.ExtendedIUPACDNA.letters
Bio.Alphabet.IUPAC.ExtendedIUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousRNA.letters
Bio.Alphabet.IUPAC.IUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousRNA.letters
Bio.Alphabet.Reduced.HPModel.letters
Bio.Alphabet.Reduced.Murphy10.letters
Bio.Alphabet.Reduced.Murphy15.letters
Bio.Alphabet.Reduced.Murphy4.letters
Bio.Alphabet.Reduced.Murphy8.letters
Bio.Alphabet.Reduced.PC5.letters
Bio.Alphabet.SecondaryStructure.letters
Bio.Alphabet.SingleLetterAlphabet.letters
Bio.Alphabet.ThreeLetterProtein.letters
Bio.NeuralNetwork.Gene.Schema.SchemaDNAAlphabet.letters
Bio.SeqUtils.ProteinX.letters" class="py-name" href="#" onclick="return doclink('link-52', 'letters', 'link-43');">letters</a></tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt>  </tt>
</div><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-comment"># Map from the msre_parse category names into actual characters.</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"># I can do this here since I don't worry about non-ASCII character sets.</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt id="link-53" class="py-name" targets="Variable Martel.convert_re.categories=Martel.convert_re-module.html#categories,Variable Martel.test.test_convert_re.categories=Martel.test.test_convert_re-module.html#categories"><a title="Martel.convert_re.categories
Martel.test.test_convert_re.categories" class="py-name" href="#" onclick="return doclink('link-53', 'categories', 'link-53');">categories</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-string">"category_word"</tt><tt class="py-op">:</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="Bio.Alphabet.Alphabet.letters
Bio.Alphabet.IUPAC.ExtendedIUPACDNA.letters
Bio.Alphabet.IUPAC.ExtendedIUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousRNA.letters
Bio.Alphabet.IUPAC.IUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousRNA.letters
Bio.Alphabet.Reduced.HPModel.letters
Bio.Alphabet.Reduced.Murphy10.letters
Bio.Alphabet.Reduced.Murphy15.letters
Bio.Alphabet.Reduced.Murphy4.letters
Bio.Alphabet.Reduced.Murphy8.letters
Bio.Alphabet.Reduced.PC5.letters
Bio.Alphabet.SecondaryStructure.letters
Bio.Alphabet.SingleLetterAlphabet.letters
Bio.Alphabet.ThreeLetterProtein.letters
Bio.NeuralNetwork.Gene.Schema.SchemaDNAAlphabet.letters
Bio.SeqUtils.ProteinX.letters" class="py-name" href="#" onclick="return doclink('link-54', 'letters', 'link-43');">letters</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"0123456789_"</tt><tt class="py-op">,</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-string">"category_digit"</tt><tt class="py-op">:</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Variable Bio.MetaTool.metatool_format.digits=Bio.MetaTool.metatool_format-module.html#digits,Variable Bio.Saf.saf_format.digits=Bio.Saf.saf_format-module.html#digits"><a title="Bio.MetaTool.metatool_format.digits
Bio.Saf.saf_format.digits" class="py-name" href="#" onclick="return doclink('link-55', 'digits', 'link-55');">digits</a></tt><tt class="py-op">,</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-string">"category_space"</tt><tt class="py-op">:</tt> <tt class="py-string">"\t\n\v\f\r "</tt><tt class="py-op">,</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    <tt class="py-string">"category_newline"</tt><tt class="py-op">:</tt> <tt class="py-string">"\n\r"</tt><tt class="py-op">,</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">  </tt>
<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-string">"category_not_word"</tt><tt class="py-op">:</tt> <tt id="link-56" 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-56', 'invert', 'link-56');">invert</a></tt><tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="Bio.Alphabet.Alphabet.letters
Bio.Alphabet.IUPAC.ExtendedIUPACDNA.letters
Bio.Alphabet.IUPAC.ExtendedIUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACAmbiguousRNA.letters
Bio.Alphabet.IUPAC.IUPACProtein.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousDNA.letters
Bio.Alphabet.IUPAC.IUPACUnambiguousRNA.letters
Bio.Alphabet.Reduced.HPModel.letters
Bio.Alphabet.Reduced.Murphy10.letters
Bio.Alphabet.Reduced.Murphy15.letters
Bio.Alphabet.Reduced.Murphy4.letters
Bio.Alphabet.Reduced.Murphy8.letters
Bio.Alphabet.Reduced.PC5.letters
Bio.Alphabet.SecondaryStructure.letters
Bio.Alphabet.SingleLetterAlphabet.letters
Bio.Alphabet.ThreeLetterProtein.letters
Bio.NeuralNetwork.Gene.Schema.SchemaDNAAlphabet.letters
Bio.SeqUtils.ProteinX.letters" class="py-name" href="#" onclick="return doclink('link-57', 'letters', 'link-43');">letters</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"0123456789_"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-string">"category_not_digit"</tt><tt class="py-op">:</tt> <tt id="link-58" 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-58', 'invert', 'link-56');">invert</a></tt><tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="Bio.MetaTool.metatool_format.digits
Bio.Saf.saf_format.digits" class="py-name" href="#" onclick="return doclink('link-59', 'digits', 'link-55');">digits</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-string">"category_not_space"</tt><tt class="py-op">:</tt> <tt id="link-60" 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-60', 'invert', 'link-56');">invert</a></tt><tt class="py-op">(</tt><tt class="py-string">"\t\n\v\f\r "</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-comment"># Convert an 'in' tuple into an Any object</tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Pass in the negate flag if given.</tt> </tt>
<a name="convert_in"></a><div id="convert_in-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="convert_in-toggle" onclick="return toggle('convert_in');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_in">convert_in</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">terms</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_in-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_in-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-name">negate</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">terms</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'negate'</tt><tt class="py-op">)</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt id="link-61" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-61', 's', 'link-44');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">terms</tt><tt class="py-op">[</tt><tt class="py-name">negate</tt><tt class="py-op">:</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 class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'literal'</tt><tt class="py-op">:</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt id="link-62" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-62', 's', 'link-44');">s</a></tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-63', 's', 'link-44');">s</a></tt> <tt class="py-op">+</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">c</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="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'range'</tt><tt class="py-op">:</tt> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-64" 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-64', 'i', 'link-64');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                <tt id="link-65" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-65', 's', 'link-44');">s</a></tt> <tt class="py-op">=</tt> <tt id="link-66" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-66', 's', 'link-44');">s</a></tt> <tt class="py-op">+</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-67" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-67', 'i', 'link-64');">i</a></tt><tt class="py-op">)</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'category'</tt><tt class="py-op">:</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt id="link-68" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-68', 's', 'link-44');">s</a></tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-69', 's', 'link-44');">s</a></tt> <tt class="py-op">+</tt> <tt id="link-70" class="py-name"><a title="Martel.convert_re.categories
Martel.test.test_convert_re.categories" class="py-name" href="#" onclick="return doclink('link-70', 'categories', 'link-53');">categories</a></tt><tt class="py-op">[</tt><tt class="py-name">c</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="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</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 option for 'in': %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">c</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="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-71" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-71', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-72" 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-72', 'Any', 'link-72');">Any</a></tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-73', 's', 'link-44');">s</a></tt><tt class="py-op">,</tt> <tt class="py-name">negate</tt><tt class="py-op">)</tt> </tt>
</div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
<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"># Convert a 'subpattern' tuple into a Group object</tt> </tt>
<a name="convert_subpattern"></a><div id="convert_subpattern-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="convert_subpattern-toggle" onclick="return toggle('convert_subpattern');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_subpattern">convert_subpattern</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">terms</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_subpattern-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_subpattern-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-name">pattern_name</tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-74', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method Martel.convert_re.GroupNames.reverse_name()=Martel.convert_re.GroupNames-class.html#reverse_name"><a title="Martel.convert_re.GroupNames.reverse_name" class="py-name" href="#" onclick="return doclink('link-75', 'reverse_name', 'link-75');">reverse_name</a></tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="Bio.Data.CodonTable.id
Bio.Encodings.IUPACEncoding.id
Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-76', 'id', 'link-18');">id</a></tt><tt class="py-op">)</tt> </tt>
<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"># The name in the ?P&lt;group&gt; may contain attr information</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># serialized in a URL-encoded form; if present, deconvolute.</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt id="link-77" 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-77', 'attrs', 'link-77');">attrs</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">pattern_name</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method Bio.EUtils.POM.ElementNode.find()=Bio.EUtils.POM.ElementNode-class.html#find,Method Bio.NeuralNetwork.Gene.Motif.MotifFinder.find()=Bio.NeuralNetwork.Gene.Motif.MotifFinder-class.html#find,Method Bio.NeuralNetwork.Gene.Schema.SchemaFinder.find()=Bio.NeuralNetwork.Gene.Schema.SchemaFinder-class.html#find,Method Bio.NeuralNetwork.Gene.Signature.SignatureFinder.find()=Bio.NeuralNetwork.Gene.Signature.SignatureFinder-class.html#find,Method Bio.biblio.Biblio.find()=Bio.biblio.Biblio-class.html#find,Function Bio.triefind.find()=Bio.triefind-module.html#find"><a title="Bio.EUtils.POM.ElementNode.find
Bio.NeuralNetwork.Gene.Motif.MotifFinder.find
Bio.NeuralNetwork.Gene.Schema.SchemaFinder.find
Bio.NeuralNetwork.Gene.Signature.SignatureFinder.find
Bio.biblio.Biblio.find
Bio.triefind.find" class="py-name" href="#" onclick="return doclink('link-78', 'find', 'link-78');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">pattern_name</tt><tt class="py-op">,</tt> <tt class="py-string">"?"</tt><tt class="py-op">)</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">     </tt>
<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">pos</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="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">cgi</tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">qs</tt> <tt class="py-op">=</tt> <tt class="py-name">pattern_name</tt><tt class="py-op">[</tt><tt class="py-name">pos</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="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">qs</tt><tt class="py-op">:</tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-comment"># cgi.parse_qs doesn't like parsing the empty string</tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt id="link-79" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-79', 'attrs', 'link-77');">attrs</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt id="link-80" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-80', 'attrs', 'link-77');">attrs</a></tt> <tt class="py-op">=</tt> <tt class="py-name">cgi</tt><tt class="py-op">.</tt><tt class="py-name">parse_qs</tt><tt class="py-op">(</tt><tt class="py-name">pattern_name</tt><tt class="py-op">[</tt><tt class="py-name">pos</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                                 <tt class="py-name">keep_blank_values</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                                 <tt class="py-name">strict_parsing</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">pattern_name</tt> <tt class="py-op">=</tt> <tt class="py-name">pattern_name</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">pos</tt><tt class="py-op">]</tt> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt id="link-81" class="py-name" targets="Variable Martel.Time.v=Martel.Time-module.html#v"><a title="Martel.Time.v" class="py-name" href="#" onclick="return doclink('link-81', 'v', 'link-81');">v</a></tt> <tt class="py-keyword">in</tt> <tt id="link-82" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-82', 'attrs', 'link-77');">attrs</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="Bio.Crystal.Crystal.items
Bio.EUtils.MultiDict._BaseMultiDict.items
Bio.Entrez.SerialSet.items
Bio.GenBank.NCBIDictionary.items
Bio.Mindy.BaseDB.DictLookup.items
Bio.Prosite.ExPASyDictionary.items
Bio.Prosite.Prodoc.ExPASyDictionary.items
Bio.PubMed.Dictionary.items
Bio.SwissProt.SProt.ExPASyDictionary.items
Bio.config.Registry.Registry.items
Bio.listfns.items
BioSQL.BioSeqDatabase.BioSeqDatabase.items
BioSQL.BioSeqDatabase.DBServer.items
Martel.Parser.MartelAttributeList.items" class="py-name" href="#" onclick="return doclink('link-83', 'items', 'link-17');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</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-84" class="py-name"><a title="Martel.Time.v" class="py-name" href="#" onclick="return doclink('link-84', 'v', 'link-81');">v</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="L166"></a><tt class="py-lineno">166</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="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-string">"The attribute name %s was found more than once (%d times) in the tag %s"</tt> <tt class="py-op">%</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="Martel.Time.v" class="py-name" href="#" onclick="return doclink('link-85', 'v', 'link-81');">v</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">pattern_name</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt id="link-86" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-86', 'attrs', 'link-77');">attrs</a></tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-87" class="py-name"><a title="Martel.Time.v" class="py-name" href="#" onclick="return doclink('link-87', 'v', 'link-81');">v</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">     </tt>
<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-88" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-88', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-89" 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-89', 'Group', 'link-89');">Group</a></tt><tt class="py-op">(</tt><tt class="py-name">pattern_name</tt><tt class="py-op">,</tt> <tt id="link-90" class="py-name"><a title="Martel.convert_re.convert_list" class="py-name" href="#" onclick="return doclink('link-90', 'convert_list', 'link-32');">convert_list</a></tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-91', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">,</tt> <tt class="py-name">terms</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                            <tt id="link-92" class="py-name"><a title="Martel.Time.attrs" class="py-name" href="#" onclick="return doclink('link-92', 'attrs', 'link-77');">attrs</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-comment"># Convert a 'newline' tuple into an AnyEol object</tt> </tt>
<a name="convert_newline"></a><div id="convert_newline-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="convert_newline-toggle" onclick="return toggle('convert_newline');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_newline">convert_newline</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">ignore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_newline-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_newline-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">ignore</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"what does it mean when field is %s?"</tt> <tt class="py-op">%</tt> <tt class="py-op">`</tt><tt class="py-name">ignore</tt><tt class="py-op">`</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-93" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-93', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-94" 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-94', 'AnyEol', 'link-94');">AnyEol</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-comment"># Convert a 'max_repeat' tuple into a MaxRepeat object</tt> </tt>
<a name="convert_max_repeat"></a><div id="convert_max_repeat-def"><a name="L181"></a><tt class="py-lineno">181</tt> <a class="py-toggle" href="#" id="convert_max_repeat-toggle" onclick="return toggle('convert_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.convert_re-module.html#convert_max_repeat">convert_max_repeat</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</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-param">terms</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_max_repeat-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_max_repeat-expanded"><a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-95" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-95', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-96" 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-96', 'MaxRepeat', 'link-96');">MaxRepeat</a></tt><tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="Martel.convert_re.convert_list" class="py-name" href="#" onclick="return doclink('link-97', 'convert_list', 'link-32');">convert_list</a></tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-98', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">,</tt> <tt class="py-name">terms</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                                <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>
</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-comment"># Convert a 'groupref' tuple into a GroupRef object</tt> </tt>
<a name="convert_groupref"></a><div id="convert_groupref-def"><a name="L186"></a><tt class="py-lineno">186</tt> <a class="py-toggle" href="#" id="convert_groupref-toggle" onclick="return toggle('convert_groupref');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_groupref">convert_groupref</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_groupref-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_groupref-expanded"><a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt id="link-99" 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-99', 'type', 'link-45');">type</a></tt><tt class="py-op">(</tt><tt id="link-100" class="py-name"><a title="Bio.Data.CodonTable.id
Bio.Encodings.IUPACEncoding.id
Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-100', 'id', 'link-18');">id</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt id="link-101" 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-101', 'type', 'link-45');">type</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">           <tt class="py-string">"Martel cannot use numbered group reference: %d"</tt> <tt class="py-op">%</tt> <tt id="link-102" class="py-name"><a title="Bio.Data.CodonTable.id
Bio.Encodings.IUPACEncoding.id
Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-102', 'id', 'link-18');">id</a></tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-comment"># msre_parse returns the list from the GroupNames</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Map that back to a number.</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">pattern_name</tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-103', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="Martel.convert_re.GroupNames.reverse_name" class="py-name" href="#" onclick="return doclink('link-104', 'reverse_name', 'link-75');">reverse_name</a></tt><tt class="py-op">(</tt><tt id="link-105" class="py-name"><a title="Bio.Data.CodonTable.id
Bio.Encodings.IUPACEncoding.id
Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-105', 'id', 'link-18');">id</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-106" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-106', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-107" 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-107', 'GroupRef', 'link-107');">GroupRef</a></tt><tt class="py-op">(</tt><tt class="py-name">pattern_name</tt><tt class="py-op">)</tt> </tt>
</div><a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-comment"># Map from the tuple typename into the function used to convert the</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"># tuple into an Expression.</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt id="link-108" class="py-name" targets="Variable Martel.convert_re.converter_table=Martel.convert_re-module.html#converter_table,Variable Martel.test.test_convert_re.converter_table=Martel.test.test_convert_re-module.html#converter_table"><a title="Martel.convert_re.converter_table
Martel.test.test_convert_re.converter_table" class="py-name" href="#" onclick="return doclink('link-108', 'converter_table', 'link-108');">converter_table</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-string">"any"</tt><tt class="py-op">:</tt> <tt id="link-109" class="py-name" targets="Function Martel.convert_re.convert_any()=Martel.convert_re-module.html#convert_any"><a title="Martel.convert_re.convert_any" class="py-name" href="#" onclick="return doclink('link-109', 'convert_any', 'link-109');">convert_any</a></tt><tt class="py-op">,</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt class="py-string">"assert"</tt><tt class="py-op">:</tt> <tt id="link-110" class="py-name" targets="Function Martel.convert_re.convert_assert()=Martel.convert_re-module.html#convert_assert"><a title="Martel.convert_re.convert_assert" class="py-name" href="#" onclick="return doclink('link-110', 'convert_assert', 'link-110');">convert_assert</a></tt><tt class="py-op">,</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-string">"assert_not"</tt><tt class="py-op">:</tt> <tt id="link-111" class="py-name" targets="Function Martel.convert_re.convert_assert_not()=Martel.convert_re-module.html#convert_assert_not"><a title="Martel.convert_re.convert_assert_not" class="py-name" href="#" onclick="return doclink('link-111', 'convert_assert_not', 'link-111');">convert_assert_not</a></tt><tt class="py-op">,</tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-string">"at"</tt><tt class="py-op">:</tt> <tt id="link-112" class="py-name" targets="Function Martel.convert_re.convert_at()=Martel.convert_re-module.html#convert_at"><a title="Martel.convert_re.convert_at" class="py-name" href="#" onclick="return doclink('link-112', 'convert_at', 'link-112');">convert_at</a></tt><tt class="py-op">,</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">    <tt class="py-string">"branch"</tt><tt class="py-op">:</tt> <tt id="link-113" class="py-name" targets="Function Martel.convert_re.convert_branch()=Martel.convert_re-module.html#convert_branch"><a title="Martel.convert_re.convert_branch" class="py-name" href="#" onclick="return doclink('link-113', 'convert_branch', 'link-113');">convert_branch</a></tt><tt class="py-op">,</tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt class="py-string">"groupref"</tt><tt class="py-op">:</tt> <tt id="link-114" class="py-name" targets="Function Martel.convert_re.convert_groupref()=Martel.convert_re-module.html#convert_groupref"><a title="Martel.convert_re.convert_groupref" class="py-name" href="#" onclick="return doclink('link-114', 'convert_groupref', 'link-114');">convert_groupref</a></tt><tt class="py-op">,</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-string">"in"</tt><tt class="py-op">:</tt> <tt id="link-115" class="py-name" targets="Function Martel.convert_re.convert_in()=Martel.convert_re-module.html#convert_in"><a title="Martel.convert_re.convert_in" class="py-name" href="#" onclick="return doclink('link-115', 'convert_in', 'link-115');">convert_in</a></tt><tt class="py-op">,</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-string">"literal"</tt><tt class="py-op">:</tt> <tt id="link-116" class="py-name" targets="Function Martel.convert_re.convert_literal()=Martel.convert_re-module.html#convert_literal"><a title="Martel.convert_re.convert_literal" class="py-name" href="#" onclick="return doclink('link-116', 'convert_literal', 'link-116');">convert_literal</a></tt><tt class="py-op">,</tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-string">"max_repeat"</tt><tt class="py-op">:</tt>  <tt id="link-117" class="py-name" targets="Function Martel.convert_re.convert_max_repeat()=Martel.convert_re-module.html#convert_max_repeat"><a title="Martel.convert_re.convert_max_repeat" class="py-name" href="#" onclick="return doclink('link-117', 'convert_max_repeat', 'link-117');">convert_max_repeat</a></tt><tt class="py-op">,</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-string">"newline"</tt><tt class="py-op">:</tt> <tt id="link-118" class="py-name" targets="Function Martel.convert_re.convert_newline()=Martel.convert_re-module.html#convert_newline"><a title="Martel.convert_re.convert_newline" class="py-name" href="#" onclick="return doclink('link-118', 'convert_newline', 'link-118');">convert_newline</a></tt><tt class="py-op">,</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-string">"not_literal"</tt><tt class="py-op">:</tt> <tt id="link-119" class="py-name" targets="Function Martel.convert_re.convert_not_literal()=Martel.convert_re-module.html#convert_not_literal"><a title="Martel.convert_re.convert_not_literal" class="py-name" href="#" onclick="return doclink('link-119', 'convert_not_literal', 'link-119');">convert_not_literal</a></tt><tt class="py-op">,</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-string">"subpattern"</tt><tt class="py-op">:</tt>  <tt id="link-120" class="py-name" targets="Function Martel.convert_re.convert_subpattern()=Martel.convert_re-module.html#convert_subpattern"><a title="Martel.convert_re.convert_subpattern" class="py-name" href="#" onclick="return doclink('link-120', 'convert_subpattern', 'link-120');">convert_subpattern</a></tt><tt class="py-op">,</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-op">}</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-comment"># Convert a list of msre_parse tuples into a Seq</tt> </tt>
<a name="convert_list"></a><div id="convert_list-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="convert_list-toggle" onclick="return toggle('convert_list');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#convert_list">convert_list</a><tt class="py-op">(</tt><tt class="py-param">group_names</tt><tt class="py-op">,</tt> <tt class="py-param">terms</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="convert_list-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="convert_list-expanded"><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-comment"># This is always a sequence of terms</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">term</tt> <tt class="py-keyword">in</tt> <tt class="py-name">terms</tt><tt class="py-op">:</tt> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt id="link-121" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-121', 'name', 'link-6');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">term</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-name">func</tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name"><a title="Martel.convert_re.converter_table
Martel.test.test_convert_re.converter_table" class="py-name" href="#" onclick="return doclink('link-122', 'converter_table', 'link-108');">converter_table</a></tt><tt class="py-op">[</tt><tt id="link-123" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-123', 'name', 'link-6');">name</a></tt><tt class="py-op">]</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</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="L221"></a><tt class="py-lineno">221</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">"Do not understand sre expression %s"</tt> <tt class="py-op">%</tt> \ </tt>
<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                  <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-124" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-124', 'name', 'link-6');">name</a></tt><tt class="py-op">)</tt> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                   </tt>
<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">results</tt><tt class="py-op">.</tt><tt id="link-125" 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-125', 'append', 'link-11');">append</a></tt><tt class="py-op">(</tt> <tt class="py-name">func</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt id="link-126" class="py-name"><a title="Martel.Expression.Expression.group_names
Martel.Expression.ExpressionList.group_names
Martel.Expression.Group.group_names
Martel.Expression.HeaderFooter.group_names
Martel.Expression.MaxRepeat.group_names
Martel.Expression.ParseRecords.group_names
Martel.Expression.PassThrough.group_names" class="py-name" href="#" onclick="return doclink('link-126', 'group_names', 'link-33');">group_names</a></tt><tt class="py-op">,</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">term</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">results</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="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">results</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-127" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-127', 'Expression', 'link-1');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-128" 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-128', 'Seq', 'link-128');">Seq</a></tt><tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">results</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">         </tt>
<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">     </tt>
<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-comment"># Primary entry point</tt> </tt>
<a name="make_expression"></a><div id="make_expression-def"><a name="L231"></a><tt class="py-lineno">231</tt> <a class="py-toggle" href="#" id="make_expression-toggle" onclick="return toggle('make_expression');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.convert_re-module.html#make_expression">make_expression</a><tt class="py-op">(</tt><tt class="py-param">pattern</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="make_expression-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="make_expression-expanded"><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-docstring">"""pattern -&gt; the Expression tree for the given pattern string"""</tt> </tt>
<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">    <tt class="py-comment"># In the following, the "pattern =" and "x.pattern" are the names</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># used by msre_parse.  They have nothing to do the input pattern.</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-comment"></tt>     </tt>
<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">    <tt class="py-comment"># Make the msre_parse tuple tree from the string ...</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt id="link-129" 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-129', 'x', 'link-129');">x</a></tt> <tt class="py-op">=</tt> <tt id="link-130" class="py-name"><a title="Martel.msre_parse" class="py-name" href="#" onclick="return doclink('link-130', 'msre_parse', 'link-0');">msre_parse</a></tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Method Bio.Affy.CelFile.CelParser.parse()=Bio.Affy.CelFile.CelParser-class.html#parse,Method Bio.AlignAce.Parser.AlignAceParser.parse()=Bio.AlignAce.Parser.AlignAceParser-class.html#parse,Method Bio.AlignAce.Parser.CompareAceParser.parse()=Bio.AlignAce.Parser.CompareAceParser-class.html#parse,Function Bio.AlignIO.parse()=Bio.AlignIO-module.html#parse,Method Bio.Blast.NCBIStandalone.BlastErrorParser.parse()=Bio.Blast.NCBIStandalone.BlastErrorParser-class.html#parse,Method Bio.Blast.NCBIStandalone.BlastParser.parse()=Bio.Blast.NCBIStandalone.BlastParser-class.html#parse,Method Bio.Blast.NCBIStandalone.PSIBlastParser.parse()=Bio.Blast.NCBIStandalone.PSIBlastParser-class.html#parse,Method Bio.Blast.NCBIWWW.BlastParser.parse()=Bio.Blast.NCBIWWW.BlastParser-class.html#parse,Method Bio.Blast.NCBIXML.BlastParser.parse()=Bio.Blast.NCBIXML.BlastParser-class.html#parse,Function Bio.Blast.NCBIXML.parse()=Bio.Blast.NCBIXML-module.html#parse,Method Bio.CDD.RecordParser.parse()=Bio.CDD.RecordParser-class.html#parse,Method Bio.Compass.RecordParser.parse()=Bio.Compass.RecordParser-class.html#parse,Function Bio.Decode.parse()=Bio.Decode-module.html#parse,Method Bio.ECell.RecordParser.parse()=Bio.ECell.RecordParser-class.html#parse,Method Bio.EUtils.POM.POMDocument.parse()=Bio.EUtils.POM.POMDocument-class.html#parse,Module Bio.EUtils.parse=Bio.EUtils.parse-module.html,Method Bio.Emboss.Primer.Primer3Parser.parse()=Bio.Emboss.Primer.Primer3Parser-class.html#parse,Method Bio.Emboss.Primer.PrimerSearchParser.parse()=Bio.Emboss.Primer.PrimerSearchParser-class.html#parse,Method Bio.Enzyme.RecordParser.parse()=Bio.Enzyme.RecordParser-class.html#parse,Method Bio.Fasta.RecordParser.parse()=Bio.Fasta.RecordParser-class.html#parse,Method Bio.Fasta.SequenceParser.parse()=Bio.Fasta.SequenceParser-class.html#parse,Method Bio.GenBank.FeatureParser.parse()=Bio.GenBank.FeatureParser-class.html#parse,Function Bio.GenBank.LocationParser.parse()=Bio.GenBank.LocationParser-module.html#parse,Method Bio.GenBank.RecordParser.parse()=Bio.GenBank.RecordParser-class.html#parse,Method Bio.GenBank.Scanner.InsdcScanner.parse()=Bio.GenBank.Scanner.InsdcScanner-class.html#parse,Function Bio.Geo.parse()=Bio.Geo-module.html#parse,Method Bio.Gobase.RecordParser.parse()=Bio.Gobase.RecordParser-class.html#parse,Method Bio.IntelliGenetics.RecordParser.parse()=Bio.IntelliGenetics.RecordParser-class.html#parse,Method Bio.InterPro.InterProParser.parse()=Bio.InterPro.InterProParser-class.html#parse,Function Bio.KEGG.Compound.parse()=Bio.KEGG.Compound-module.html#parse,Function Bio.KEGG.Enzyme.parse()=Bio.KEGG.Enzyme-module.html#parse,Function Bio.KEGG.Map.parse()=Bio.KEGG.Map-module.html#parse,Method Bio.LocusLink.RecordParser.parse()=Bio.LocusLink.RecordParser-class.html#parse,Method Bio.LocusLink.web_parse.LocusLinkParser.parse()=Bio.LocusLink.web_parse.LocusLinkParser-class.html#parse,Method Bio.MEME.Parser.MASTParser.parse()=Bio.MEME.Parser.MASTParser-class.html#parse,Method Bio.MEME.Parser.MEMEParser.parse()=Bio.MEME.Parser.MEMEParser-class.html#parse,Method Bio.Medline.RecordParser.parse()=Bio.Medline.RecordParser-class.html#parse,Method Bio.MetaTool.RecordParser.parse()=Bio.MetaTool.RecordParser-class.html#parse,Method Bio.NBRF.RecordParser.parse()=Bio.NBRF.RecordParser-class.html#parse,Method Bio.Ndb.NdbParser.parse()=Bio.Ndb.NdbParser-class.html#parse,Method Bio.ParserSupport.AbstractParser.parse()=Bio.ParserSupport.AbstractParser-class.html#parse,Method Bio.Parsers.spark.GenericParser.parse()=Bio.Parsers.spark.GenericParser-class.html#parse,Method Bio.PopGen.FDist.RecordParser.parse()=Bio.PopGen.FDist.RecordParser-class.html#parse,Method Bio.PopGen.GenePop.RecordParser.parse()=Bio.PopGen.GenePop.RecordParser-class.html#parse,Function Bio.PopGen.GenePop.parse()=Bio.PopGen.GenePop-module.html#parse,Method Bio.Prosite.Prodoc.RecordParser.parse()=Bio.Prosite.Prodoc.RecordParser-class.html#parse,Function Bio.Prosite.Prodoc.parse()=Bio.Prosite.Prodoc-module.html#parse,Method Bio.Prosite.RecordParser.parse()=Bio.Prosite.RecordParser-class.html#parse,Function Bio.Prosite.parse()=Bio.Prosite-module.html#parse,Method Bio.Rebase.RecordParser.parse()=Bio.Rebase.RecordParser-class.html#parse,Method Bio.SCOP.Cla.Parser.parse()=Bio.SCOP.Cla.Parser-class.html#parse,Function Bio.SCOP.Cla.parse()=Bio.SCOP.Cla-module.html#parse,Method Bio.SCOP.Des.Parser.parse()=Bio.SCOP.Des.Parser-class.html#parse,Function Bio.SCOP.Des.parse()=Bio.SCOP.Des-module.html#parse,Method Bio.SCOP.Dom.Parser.parse()=Bio.SCOP.Dom.Parser-class.html#parse,Function Bio.SCOP.Dom.parse()=Bio.SCOP.Dom-module.html#parse,Method Bio.SCOP.Hie.Parser.parse()=Bio.SCOP.Hie.Parser-class.html#parse,Function Bio.SCOP.Hie.parse()=Bio.SCOP.Hie-module.html#parse,Method Bio.SCOP.Raf.Parser.parse()=Bio.SCOP.Raf.Parser-class.html#parse,Function Bio.SCOP.Raf.parse()=Bio.SCOP.Raf-module.html#parse,Method Bio.Saf.RecordParser.parse()=Bio.Saf.RecordParser-class.html#parse,Function Bio.SeqIO.parse()=Bio.SeqIO-module.html#parse,Method Bio.Sequencing.Ace.ACEParser.parse()=Bio.Sequencing.Ace.ACEParser-class.html#parse,Method Bio.Sequencing.Ace.RecordParser.parse()=Bio.Sequencing.Ace.RecordParser-class.html#parse,Method Bio.Sequencing.Phd.RecordParser.parse()=Bio.Sequencing.Phd.RecordParser-class.html#parse,Method Bio.SwissProt.KeyWList.ListParser.parse()=Bio.SwissProt.KeyWList.ListParser-class.html#parse,Function Bio.SwissProt.KeyWList.parse()=Bio.SwissProt.KeyWList-module.html#parse,Method Bio.SwissProt.SProt.RecordParser.parse()=Bio.SwissProt.SProt.RecordParser-class.html#parse,Method Bio.SwissProt.SProt.SequenceParser.parse()=Bio.SwissProt.SProt.SequenceParser-class.html#parse,Function Bio.SwissProt.parse()=Bio.SwissProt-module.html#parse,Method Bio.UniGene.RecordParser.parse()=Bio.UniGene.RecordParser-class.html#parse,Function Bio.Wise.psw.parse()=Bio.Wise.psw-module.html#parse,Method Martel.Parser.HeaderFooterParser.parse()=Martel.Parser.HeaderFooterParser-class.html#parse,Method Martel.Parser.Parser.parse()=Martel.Parser.Parser-class.html#parse,Method Martel.Parser.RecordParser.parse()=Martel.Parser.RecordParser-class.html#parse,Function Martel.msre_parse.parse()=Martel.msre_parse-module.html#parse"><a title="Bio.Affy.CelFile.CelParser.parse
Bio.AlignAce.Parser.AlignAceParser.parse
Bio.AlignAce.Parser.CompareAceParser.parse
Bio.AlignIO.parse
Bio.Blast.NCBIStandalone.BlastErrorParser.parse
Bio.Blast.NCBIStandalone.BlastParser.parse
Bio.Blast.NCBIStandalone.PSIBlastParser.parse
Bio.Blast.NCBIWWW.BlastParser.parse
Bio.Blast.NCBIXML.BlastParser.parse
Bio.Blast.NCBIXML.parse
Bio.CDD.RecordParser.parse
Bio.Compass.RecordParser.parse
Bio.Decode.parse
Bio.ECell.RecordParser.parse
Bio.EUtils.POM.POMDocument.parse
Bio.EUtils.parse
Bio.Emboss.Primer.Primer3Parser.parse
Bio.Emboss.Primer.PrimerSearchParser.parse
Bio.Enzyme.RecordParser.parse
Bio.Fasta.RecordParser.parse
Bio.Fasta.SequenceParser.parse
Bio.GenBank.FeatureParser.parse
Bio.GenBank.LocationParser.parse
Bio.GenBank.RecordParser.parse
Bio.GenBank.Scanner.InsdcScanner.parse
Bio.Geo.parse
Bio.Gobase.RecordParser.parse
Bio.IntelliGenetics.RecordParser.parse
Bio.InterPro.InterProParser.parse
Bio.KEGG.Compound.parse
Bio.KEGG.Enzyme.parse
Bio.KEGG.Map.parse
Bio.LocusLink.RecordParser.parse
Bio.LocusLink.web_parse.LocusLinkParser.parse
Bio.MEME.Parser.MASTParser.parse
Bio.MEME.Parser.MEMEParser.parse
Bio.Medline.RecordParser.parse
Bio.MetaTool.RecordParser.parse
Bio.NBRF.RecordParser.parse
Bio.Ndb.NdbParser.parse
Bio.ParserSupport.AbstractParser.parse
Bio.Parsers.spark.GenericParser.parse
Bio.PopGen.FDist.RecordParser.parse
Bio.PopGen.GenePop.RecordParser.parse
Bio.PopGen.GenePop.parse
Bio.Prosite.Prodoc.RecordParser.parse
Bio.Prosite.Prodoc.parse
Bio.Prosite.RecordParser.parse
Bio.Prosite.parse
Bio.Rebase.RecordParser.parse
Bio.SCOP.Cla.Parser.parse
Bio.SCOP.Cla.parse
Bio.SCOP.Des.Parser.parse
Bio.SCOP.Des.parse
Bio.SCOP.Dom.Parser.parse
Bio.SCOP.Dom.parse
Bio.SCOP.Hie.Parser.parse
Bio.SCOP.Hie.parse
Bio.SCOP.Raf.Parser.parse
Bio.SCOP.Raf.parse
Bio.Saf.RecordParser.parse
Bio.SeqIO.parse
Bio.Sequencing.Ace.ACEParser.parse
Bio.Sequencing.Ace.RecordParser.parse
Bio.Sequencing.Phd.RecordParser.parse
Bio.SwissProt.KeyWList.ListParser.parse
Bio.SwissProt.KeyWList.parse
Bio.SwissProt.SProt.RecordParser.parse
Bio.SwissProt.SProt.SequenceParser.parse
Bio.SwissProt.parse
Bio.UniGene.RecordParser.parse
Bio.Wise.psw.parse
Martel.Parser.HeaderFooterParser.parse
Martel.Parser.Parser.parse
Martel.Parser.RecordParser.parse
Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-131', 'parse', 'link-131');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name" targets="Method Bio.Prosite._RecordConsumer.pattern()=Bio.Prosite._RecordConsumer-class.html#pattern"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-132', 'pattern', 'link-132');">pattern</a></tt><tt class="py-op">,</tt> <tt id="link-133" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-133', 'pattern', 'link-132');">pattern</a></tt> <tt class="py-op">=</tt> <tt id="link-134" class="py-name" targets="Class Martel.convert_re.GroupNames=Martel.convert_re.GroupNames-class.html"><a title="Martel.convert_re.GroupNames" class="py-name" href="#" onclick="return doclink('link-134', 'GroupNames', 'link-134');">GroupNames</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-comment"># ... and convert it into an Expression</tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">return</tt> <tt id="link-135" class="py-name"><a title="Martel.convert_re.convert_list" class="py-name" href="#" onclick="return doclink('link-135', 'convert_list', 'link-32');">convert_list</a></tt><tt class="py-op">(</tt><tt id="link-136" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-136', 'x', 'link-129');">x</a></tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="Bio.Prosite._RecordConsumer.pattern" class="py-name" href="#" onclick="return doclink('link-137', 'pattern', 'link-132');">pattern</a></tt><tt class="py-op">,</tt> <tt id="link-138" class="py-name"><a title="Bio.MarkovModel.x
Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-138', 'x', 'link-129');">x</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L242"></a><tt class="py-lineno">242</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:27:16 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>