Sophie

Sophie

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

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.optimize</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;optimize
      </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.optimize-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="Martel.optimize-module.html">Module Martel.optimize</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">"""Optimize 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">  - remove Group nodes with no name</tt> </tt>
<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">  - merge successive Str, single character positive Any nodes and positive</tt> </tt>
<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">        Literals</tt> </tt>
<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" 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-0', 'Expression', 'link-0');">Expression</a></tt> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
<a name="skip_empty_group"></a><div id="skip_empty_group-def"><a name="L13"></a><tt class="py-lineno"> 13</tt> <a class="py-toggle" href="#" id="skip_empty_group-toggle" onclick="return toggle('skip_empty_group');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.optimize-module.html#skip_empty_group">skip_empty_group</a><tt class="py-op">(</tt><tt class="py-param">exp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="skip_empty_group-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="skip_empty_group-expanded"><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1" class="py-name" targets="Variable Bio.Affy.CelFile.exp=Bio.Affy.CelFile-module.html#exp,Variable Bio.LogisticRegression.exp=Bio.LogisticRegression-module.html#exp,Variable Bio.MarkovModel.exp=Bio.MarkovModel-module.html#exp,Variable Bio.MaxEntropy.exp=Bio.MaxEntropy-module.html#exp,Variable Bio.NaiveBayes.exp=Bio.NaiveBayes-module.html#exp,Variable Bio.Statistics.lowess.exp=Bio.Statistics.lowess-module.html#exp,Variable Bio.distance.exp=Bio.distance-module.html#exp,Variable Bio.kNN.exp=Bio.kNN-module.html#exp"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-1', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-2" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-2', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-3" 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-3', 'Group', 'link-3');">Group</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt id="link-4" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-4', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-5" 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-5', 'name', 'link-5');">name</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-6', 'exp', 'link-1');">exp</a></tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-7', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">expression</tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-8" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-8', 'exp', 'link-1');">exp</a></tt> </tt>
</div><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"># The only thing this does is remove Groups with no names</tt> </tt>
<a name="optimize_unnamed_groups_recursive"></a><div id="optimize_unnamed_groups_recursive-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="optimize_unnamed_groups_recursive-toggle" onclick="return toggle('optimize_unnamed_groups_recursive');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.optimize-module.html#optimize_unnamed_groups_recursive">optimize_unnamed_groups_recursive</a><tt class="py-op">(</tt><tt class="py-param">exp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="optimize_unnamed_groups_recursive-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="optimize_unnamed_groups_recursive-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-9', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-10', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-11" 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-11', 'MaxRepeat', 'link-11');">MaxRepeat</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">       <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-12" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-12', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-13', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="Martel.Expression.Group
Martel.Group" class="py-name" href="#" onclick="return doclink('link-14', 'Group', 'link-3');">Group</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt id="link-15" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-15', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">expression</tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name" targets="Function Martel.optimize.skip_empty_group()=Martel.optimize-module.html#skip_empty_group"><a title="Martel.optimize.skip_empty_group" class="py-name" href="#" onclick="return doclink('link-16', 'skip_empty_group', 'link-16');">skip_empty_group</a></tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-17', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-18', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-19', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Class Martel.Expression.ExpressionList=Martel.Expression.ExpressionList-class.html"><a title="Martel.Expression.ExpressionList" class="py-name" href="#" onclick="return doclink('link-20', 'ExpressionList', 'link-20');">ExpressionList</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">subexps</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">subexp</tt> <tt class="py-keyword">in</tt> <tt id="link-21" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-21', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Package Bio.expressions=Bio.expressions-module.html"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-22', 'expressions', 'link-22');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-name">subexp</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="Martel.optimize.skip_empty_group" class="py-name" href="#" onclick="return doclink('link-23', 'skip_empty_group', 'link-16');">skip_empty_group</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt class="py-name">subexps</tt><tt class="py-op">.</tt><tt id="link-24" 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-24', 'append', 'link-24');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt id="link-25" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-25', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-26', 'expressions', 'link-22');">expressions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">subexps</tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-27" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-27', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt class="py-string">"expression"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt id="link-28" class="py-name" targets="Function Martel.optimize.optimize_unnamed_groups_recursive()=Martel.optimize-module.html#optimize_unnamed_groups_recursive"><a title="Martel.optimize.optimize_unnamed_groups_recursive" class="py-name" href="#" onclick="return doclink('link-28', 'optimize_unnamed_groups_recursive', 'link-28');">optimize_unnamed_groups_recursive</a></tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-29', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-30', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt class="py-string">"expressions"</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-keyword">for</tt> <tt id="link-31" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-31', 'exp', 'link-1');">exp</a></tt> <tt class="py-keyword">in</tt> <tt id="link-32" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-32', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-33', 'expressions', 'link-22');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">            <tt id="link-34" class="py-name"><a title="Martel.optimize.optimize_unnamed_groups_recursive" class="py-name" href="#" onclick="return doclink('link-34', 'optimize_unnamed_groups_recursive', 'link-28');">optimize_unnamed_groups_recursive</a></tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-35', 'exp', 'link-1');">exp</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
<a name="optimize_unnamed_groups"></a><div id="optimize_unnamed_groups-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="optimize_unnamed_groups-toggle" onclick="return toggle('optimize_unnamed_groups');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.optimize-module.html#optimize_unnamed_groups">optimize_unnamed_groups</a><tt class="py-op">(</tt><tt class="py-param">exp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="optimize_unnamed_groups-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="optimize_unnamed_groups-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-docstring">"""return an equivalent expression tree but without unnamed groups</tt> </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">    WARNING: has side-effect</tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt id="link-36" class="py-name"><a title="Martel.optimize.optimize_unnamed_groups_recursive" class="py-name" href="#" onclick="return doclink('link-36', 'optimize_unnamed_groups_recursive', 'link-28');">optimize_unnamed_groups_recursive</a></tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-37', 'exp', 'link-1');">exp</a></tt><tt class="py-op">)</tt> </tt>
<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-38" class="py-name"><a title="Martel.optimize.skip_empty_group" class="py-name" href="#" onclick="return doclink('link-38', 'skip_empty_group', 'link-16');">skip_empty_group</a></tt><tt class="py-op">(</tt><tt id="link-39" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-39', 'exp', 'link-1');">exp</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
<a name="is_mergeable"></a><div id="is_mergeable-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="is_mergeable-toggle" onclick="return toggle('is_mergeable');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.optimize-module.html#is_mergeable">is_mergeable</a><tt class="py-op">(</tt><tt class="py-param">exp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="is_mergeable-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_mergeable-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-40', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</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-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Class Martel.Expression.Str=Martel.Expression.Str-class.html,Function Martel.Str()=Martel-module.html#Str"><a title="Martel.Expression.Str
Martel.Str" class="py-name" href="#" onclick="return doclink('link-42', 'Str', 'link-42');">Str</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">           <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-43', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-44', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-45" 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-45', 'Literal', 'link-45');">Literal</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt id="link-46" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-46', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-47" 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-47', 'invert', 'link-47');">invert</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">           <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-48" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-48', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-49" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-49', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-50" 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-50', 'Any', 'link-50');">Any</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-51" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-51', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">chars</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> \ </tt>
<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt id="link-52" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-52', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-53" 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-53', 'invert', 'link-47');">invert</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
</div><a name="get_merge_text"></a><div id="get_merge_text-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="get_merge_text-toggle" onclick="return toggle('get_merge_text');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.optimize-module.html#get_merge_text">get_merge_text</a><tt class="py-op">(</tt><tt class="py-param">exp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="get_merge_text-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_merge_text-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-54', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-55', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="Martel.Expression.Str
Martel.Str" class="py-name" href="#" onclick="return doclink('link-56', 'Str', 'link-42');">Str</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-57" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-57', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">string</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-58', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-59', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="Martel.Expression.Literal" class="py-name" href="#" onclick="return doclink('link-60', 'Literal', 'link-45');">Literal</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt id="link-61" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-61', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-62" 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-62', 'invert', 'link-47');">invert</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-63" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-63', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">char</tt> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-64" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-64', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-65', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="Martel.Any
Martel.Expression.Any" class="py-name" href="#" onclick="return doclink('link-66', 'Any', 'link-50');">Any</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-67" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-67', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">chars</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt id="link-68" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-68', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-69" 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-69', 'invert', 'link-47');">invert</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-70" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-70', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">chars</tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</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 exp: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-71" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-71', 'exp', 'link-1');">exp</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
<a name="merge_strings"></a><div id="merge_strings-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="merge_strings-toggle" onclick="return toggle('merge_strings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.optimize-module.html#merge_strings">merge_strings</a><tt class="py-op">(</tt><tt class="py-param">exp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="merge_strings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="merge_strings-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-docstring">"""merge successive strings and string-like terms into a single Str</tt> </tt>
<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    WARNING: has side-effects</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-comment"># Merge all of the children first - might promote a</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Str("A") + (Str("B") + Str("C")) into an Str("A") + Str("BC")</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># before we do the merge into Str("ABC")</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-comment"></tt>     </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-72" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-72', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt class="py-string">"expression"</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 id="link-73" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-73', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">expression</tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name" targets="Function Martel.optimize.merge_strings()=Martel.optimize-module.html#merge_strings"><a title="Martel.optimize.merge_strings" class="py-name" href="#" onclick="return doclink('link-74', 'merge_strings', 'link-74');">merge_strings</a></tt><tt class="py-op">(</tt><tt id="link-75" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-75', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt class="py-name">expression</tt><tt class="py-op">)</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-76', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt class="py-string">"expressions"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">subexps</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">subexp</tt> <tt class="py-keyword">in</tt> <tt id="link-77" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-77', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-78', 'expressions', 'link-22');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">subexps</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="Bio.Crystal.Chain.append
Bio.EUtils.POM.ElementNode.append
Bio.EUtils.sourcegen.SourceFile.append
Bio.SCOP.Raf.SeqMap.append
Bio.Seq.MutableSeq.append
Bio.Wise.psw.Alignment.append
Bio.Wise.psw.AlignmentColumn.append
Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-79', 'append', 'link-24');">append</a></tt><tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="Martel.optimize.merge_strings" class="py-name" href="#" onclick="return doclink('link-80', 'merge_strings', 'link-74');">merge_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt id="link-81" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-81', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-82', 'expressions', 'link-22');">expressions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">subexps</tt> </tt>
<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-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-83', 'exp', 'link-1');">exp</a></tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name"><a title="Bio.EUtils.Datatypes.Expression
Martel.Expression
Martel.Expression.Expression" class="py-name" href="#" onclick="return doclink('link-84', 'Expression', 'link-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-85" 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-85', 'Seq', 'link-85');">Seq</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">all_strings</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">subexps</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">subexp</tt> <tt class="py-keyword">in</tt> <tt id="link-86" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-86', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="Bio.expressions" class="py-name" href="#" onclick="return doclink('link-87', 'expressions', 'link-22');">expressions</a></tt><tt class="py-op">:</tt> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">subexps</tt><tt class="py-op">:</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">subexps</tt><tt class="py-op">.</tt><tt id="link-88" 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-88', 'append', 'link-24');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt id="link-89" class="py-name" targets="Function Martel.optimize.is_mergeable()=Martel.optimize-module.html#is_mergeable"><a title="Martel.optimize.is_mergeable" class="py-name" href="#" onclick="return doclink('link-89', 'is_mergeable', 'link-89');">is_mergeable</a></tt><tt class="py-op">(</tt><tt class="py-name">subexps</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-name">all_strings</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt class="py-name">subexps</tt><tt class="py-op">.</tt><tt id="link-90" 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-90', 'append', 'link-24');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt id="link-91" class="py-name"><a title="Martel.optimize.is_mergeable" class="py-name" href="#" onclick="return doclink('link-91', 'is_mergeable', 'link-89');">is_mergeable</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-name">all_strings</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-name">subexps</tt><tt class="py-op">.</tt><tt id="link-92" 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-92', 'append', 'link-24');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt> </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                <tt class="py-comment"># Previous and current are mergeable</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">subexps</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-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-0');">Expression</a></tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="Martel.Expression.Str
Martel.Str" class="py-name" href="#" onclick="return doclink('link-94', 'Str', 'link-42');">Str</a></tt><tt class="py-op">(</tt><tt id="link-95" class="py-name" targets="Function Martel.optimize.get_merge_text()=Martel.optimize-module.html#get_merge_text"><a title="Martel.optimize.get_merge_text" class="py-name" href="#" onclick="return doclink('link-95', 'get_merge_text', 'link-95');">get_merge_text</a></tt><tt class="py-op">(</tt><tt class="py-name">subexps</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                                             <tt id="link-96" class="py-name"><a title="Martel.optimize.get_merge_text" class="py-name" href="#" onclick="return doclink('link-96', 'get_merge_text', 'link-95');">get_merge_text</a></tt><tt class="py-op">(</tt><tt class="py-name">subexp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all_strings</tt> <tt class="py-keyword">and</tt> <tt class="py-name">subexps</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">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">subexps</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</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">subexps</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>
<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-97" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-97', 'exp', 'link-1');">exp</a></tt> </tt>
</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">     </tt>
<a name="optimize"></a><div id="optimize-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="optimize-toggle" onclick="return toggle('optimize');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.optimize-module.html#optimize">optimize</a><tt class="py-op">(</tt><tt class="py-param">exp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="optimize-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="optimize-expanded"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-docstring">"""expression tree -&gt; optimized expression tree</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">    Apply various optimizations to the expression tree.</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">     </tt>
<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt id="link-98" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-98', 'exp', 'link-1');">exp</a></tt> <tt class="py-op">=</tt> <tt id="link-99" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-99', 'exp', 'link-1');">exp</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method Bio.Crystal.Crystal.copy()=Bio.Crystal.Crystal-class.html#copy,Method Bio.GA.Organism.Organism.copy()=Bio.GA.Organism.Organism-class.html#copy,Method Bio.GenBank.NCBIDictionary.copy()=Bio.GenBank.NCBIDictionary-class.html#copy,Method Bio.PDB.Vector'.Vector.copy()=Bio.PDB.Vector%27.Vector-class.html#copy,Method Bio.Prosite.ExPASyDictionary.copy()=Bio.Prosite.ExPASyDictionary-class.html#copy,Method Bio.Prosite.Pattern.PrositeTerm.copy()=Bio.Prosite.Pattern.PrositeTerm-class.html#copy,Method Bio.Prosite.Prodoc.ExPASyDictionary.copy()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#copy,Method Bio.PubMed.Dictionary.copy()=Bio.PubMed.Dictionary-class.html#copy,Method Bio.SwissProt.SProt.ExPASyDictionary.copy()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#copy,Method Martel.Expression.Any.copy()=Martel.Expression.Any-class.html#copy,Method Martel.Expression.AnyEol.copy()=Martel.Expression.AnyEol-class.html#copy,Method Martel.Expression.Assert.copy()=Martel.Expression.Assert-class.html#copy,Method Martel.Expression.AtBeginning.copy()=Martel.Expression.AtBeginning-class.html#copy,Method Martel.Expression.AtEnd.copy()=Martel.Expression.AtEnd-class.html#copy,Method Martel.Expression.Debug.copy()=Martel.Expression.Debug-class.html#copy,Method Martel.Expression.Dot.copy()=Martel.Expression.Dot-class.html#copy,Method Martel.Expression.Expression.copy()=Martel.Expression.Expression-class.html#copy,Method Martel.Expression.ExpressionList.copy()=Martel.Expression.ExpressionList-class.html#copy,Method Martel.Expression.FastFeature.copy()=Martel.Expression.FastFeature-class.html#copy,Method Martel.Expression.Group.copy()=Martel.Expression.Group-class.html#copy,Method Martel.Expression.GroupRef.copy()=Martel.Expression.GroupRef-class.html#copy,Method Martel.Expression.HeaderFooter.copy()=Martel.Expression.HeaderFooter-class.html#copy,Method Martel.Expression.Literal.copy()=Martel.Expression.Literal-class.html#copy,Method Martel.Expression.MaxRepeat.copy()=Martel.Expression.MaxRepeat-class.html#copy,Method Martel.Expression.NullOp.copy()=Martel.Expression.NullOp-class.html#copy,Method Martel.Expression.ParseRecords.copy()=Martel.Expression.ParseRecords-class.html#copy,Method Martel.Expression.PassThrough.copy()=Martel.Expression.PassThrough-class.html#copy,Method Martel.Expression.Str.copy()=Martel.Expression.Str-class.html#copy,Method Martel.IterParser.IterHeaderFooter.copy()=Martel.IterParser.IterHeaderFooter-class.html#copy,Method Martel.IterParser.IterRecords.copy()=Martel.IterParser.IterRecords-class.html#copy,Method Martel.Iterator.IteratorRecords.copy()=Martel.Iterator.IteratorRecords-class.html#copy,Method Martel.Parser.HeaderFooterParser.copy()=Martel.Parser.HeaderFooterParser-class.html#copy,Method Martel.Parser.Parser.copy()=Martel.Parser.Parser-class.html#copy,Method Martel.Parser.RecordParser.copy()=Martel.Parser.RecordParser-class.html#copy"><a title="Bio.Crystal.Crystal.copy
Bio.GA.Organism.Organism.copy
Bio.GenBank.NCBIDictionary.copy
Bio.PDB.Vector'.Vector.copy
Bio.Prosite.ExPASyDictionary.copy
Bio.Prosite.Pattern.PrositeTerm.copy
Bio.Prosite.Prodoc.ExPASyDictionary.copy
Bio.PubMed.Dictionary.copy
Bio.SwissProt.SProt.ExPASyDictionary.copy
Martel.Expression.Any.copy
Martel.Expression.AnyEol.copy
Martel.Expression.Assert.copy
Martel.Expression.AtBeginning.copy
Martel.Expression.AtEnd.copy
Martel.Expression.Debug.copy
Martel.Expression.Dot.copy
Martel.Expression.Expression.copy
Martel.Expression.ExpressionList.copy
Martel.Expression.FastFeature.copy
Martel.Expression.Group.copy
Martel.Expression.GroupRef.copy
Martel.Expression.HeaderFooter.copy
Martel.Expression.Literal.copy
Martel.Expression.MaxRepeat.copy
Martel.Expression.NullOp.copy
Martel.Expression.ParseRecords.copy
Martel.Expression.PassThrough.copy
Martel.Expression.Str.copy
Martel.IterParser.IterHeaderFooter.copy
Martel.IterParser.IterRecords.copy
Martel.Iterator.IteratorRecords.copy
Martel.Parser.HeaderFooterParser.copy
Martel.Parser.Parser.copy
Martel.Parser.RecordParser.copy" class="py-name" href="#" onclick="return doclink('link-100', 'copy', 'link-100');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt id="link-101" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-101', 'exp', 'link-1');">exp</a></tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name" targets="Function Martel.optimize.optimize_unnamed_groups()=Martel.optimize-module.html#optimize_unnamed_groups"><a title="Martel.optimize.optimize_unnamed_groups" class="py-name" href="#" onclick="return doclink('link-102', 'optimize_unnamed_groups', 'link-102');">optimize_unnamed_groups</a></tt><tt class="py-op">(</tt><tt id="link-103" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-103', 'exp', 'link-1');">exp</a></tt><tt class="py-op">)</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt id="link-104" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-104', 'exp', 'link-1');">exp</a></tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="Martel.optimize.merge_strings" class="py-name" href="#" onclick="return doclink('link-105', 'merge_strings', 'link-74');">merge_strings</a></tt><tt class="py-op">(</tt><tt id="link-106" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-106', 'exp', 'link-1');">exp</a></tt><tt class="py-op">)</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-107" class="py-name"><a title="Bio.Affy.CelFile.exp
Bio.LogisticRegression.exp
Bio.MarkovModel.exp
Bio.MaxEntropy.exp
Bio.NaiveBayes.exp
Bio.Statistics.lowess.exp
Bio.distance.exp
Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-107', 'exp', 'link-1');">exp</a></tt> </tt>
</div><a name="L110"></a><tt class="py-lineno">110</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:26:52 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>