Sophie

Sophie

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

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>Bio.HMM.MarkovModel</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="Bio-module.html">Package&nbsp;Bio</a> ::
        <a href="Bio.HMM-module.html">Package&nbsp;HMM</a> ::
        Module&nbsp;MarkovModel
      </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="Bio.HMM.MarkovModel-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="Bio.HMM.MarkovModel-module.html">Module Bio.HMM.MarkovModel</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""Deal with representations of Markov Models.</tt> </tt>
<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># standard modules</tt> </tt>
<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">import</tt> <tt id="link-0" 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-0', 'copy', 'link-0');">copy</a></tt> </tt>
<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">math</tt> </tt>
<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"> </tt>
<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"># biopython</tt> </tt>
<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package Bio=Bio-module.html"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-1', 'Bio', 'link-1');">Bio</a></tt><tt class="py-op">.</tt><tt id="link-2" 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-2', 'Seq', 'link-2');">Seq</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class Bio.Seq.MutableSeq=Bio.Seq.MutableSeq-class.html"><a title="Bio.Seq.MutableSeq" class="py-name" href="#" onclick="return doclink('link-3', 'MutableSeq', 'link-3');">MutableSeq</a></tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder"></a><div id="MarkovModelBuilder-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder-toggle" onclick="return toggle('MarkovModelBuilder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html">MarkovModelBuilder</a><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MarkovModelBuilder-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">    <tt class="py-docstring">"""Interface to build up a Markov Model.</tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    This class is designed to try to separate the task of specifying the</tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    Markov Model from the actual model itself. This is in hopes of making</tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    the actual Markov Model classes smaller.</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">    So, this builder class should be used to create Markov models instead</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    of trying to initiate a Markov Model directly.</tt> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt class="py-comment"># the default pseudo counts to use</tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt id="link-4" class="py-name" targets="Variable Bio.HMM.MarkovModel.MarkovModelBuilder.DEFAULT_PSEUDO=Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#DEFAULT_PSEUDO"><a title="Bio.HMM.MarkovModel.MarkovModelBuilder.DEFAULT_PSEUDO" class="py-name" href="#" onclick="return doclink('link-4', 'DEFAULT_PSEUDO', 'link-4');">DEFAULT_PSEUDO</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">     </tt>
<a name="MarkovModelBuilder.__init__"></a><div id="MarkovModelBuilder.__init__-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.__init__-toggle" onclick="return toggle('MarkovModelBuilder.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">state_alphabet</tt><tt class="py-op">,</tt> <tt class="py-param">emission_alphabet</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.__init__-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-docstring">"""Initialize a builder to create Markov Models.</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">        Arguments:</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">        o state_alphabet -- An alphabet containing all of the letters that</tt> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">        can appear in the states</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">        o emission_alphabet -- An alphabet containing all of the letters for</tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">        states that can be emitted by the HMM.</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_state_alphabet</tt> <tt class="py-op">=</tt> <tt class="py-name">state_alphabet</tt> </tt>
<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_emission_alphabet</tt> <tt class="py-op">=</tt> <tt class="py-name">emission_alphabet</tt> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">         </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-comment"># the probabilities for transitions and emissions</tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># by default we have no transitions and all possible emissions</tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method Bio.HMM.MarkovModel.MarkovModelBuilder._all_blank()=Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#_all_blank"><a title="Bio.HMM.MarkovModel.MarkovModelBuilder._all_blank" class="py-name" href="#" onclick="return doclink('link-5', '_all_blank', 'link-5');">_all_blank</a></tt><tt class="py-op">(</tt><tt class="py-name">state_alphabet</tt><tt class="py-op">,</tt> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">                                             <tt class="py-name">emission_alphabet</tt><tt class="py-op">)</tt> </tt>
<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-comment"># the default pseudocounts for transition and emission counting</tt> </tt>
<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_pseudo</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method Bio.HMM.MarkovModel.MarkovModelBuilder._all_pseudo()=Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#_all_pseudo"><a title="Bio.HMM.MarkovModel.MarkovModelBuilder._all_pseudo" class="py-name" href="#" onclick="return doclink('link-6', '_all_pseudo', 'link-6');">_all_pseudo</a></tt><tt class="py-op">(</tt><tt class="py-name">state_alphabet</tt><tt class="py-op">,</tt> </tt>
<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                                                <tt class="py-name">emission_alphabet</tt><tt class="py-op">)</tt> </tt>
</div><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder._all_blank"></a><div id="MarkovModelBuilder._all_blank-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder._all_blank-toggle" onclick="return toggle('MarkovModelBuilder._all_blank');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#_all_blank">_all_blank</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">first_alphabet</tt><tt class="py-op">,</tt> <tt class="py-param">second_alphabet</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder._all_blank-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder._all_blank-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-docstring">"""Return a dictionary with all counts set to zero.</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        This uses the letters in the first and second alphabet to create</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">        a dictionary with keys of two tuples organized as</tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">        (letter of first alphabet, letter of second alphabet). The values</tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">        are all set to 0.</tt> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">all_blank</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">first_state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">first_alphabet</tt><tt class="py-op">.</tt><tt id="link-7" 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-7', 'letters', 'link-7');">letters</a></tt><tt class="py-op">:</tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">second_state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">second_alphabet</tt><tt class="py-op">.</tt><tt id="link-8" 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-8', 'letters', 'link-7');">letters</a></tt><tt class="py-op">:</tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                <tt class="py-name">all_blank</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">first_state</tt><tt class="py-op">,</tt> <tt class="py-name">second_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">all_blank</tt> </tt>
</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder._all_pseudo"></a><div id="MarkovModelBuilder._all_pseudo-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder._all_pseudo-toggle" onclick="return toggle('MarkovModelBuilder._all_pseudo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#_all_pseudo">_all_pseudo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">first_alphabet</tt><tt class="py-op">,</tt> <tt class="py-param">second_alphabet</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder._all_pseudo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder._all_pseudo-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-docstring">"""Return a dictionary with all counts set to a default value.</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">        This takes the letters in first alphabet and second alphabet and</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">        creates a dictionary with keys of two tuples organized as:</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">        (letter of first alphabet, letter of second alphabet). The values</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">        are all set to the value of the class attribute DEFAULT_PSEUDO.</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">all_counts</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">first_state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">first_alphabet</tt><tt class="py-op">.</tt><tt id="link-9" 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-9', 'letters', 'link-7');">letters</a></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">second_state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">second_alphabet</tt><tt class="py-op">.</tt><tt id="link-10" 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-10', 'letters', 'link-7');">letters</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">all_counts</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">first_state</tt><tt class="py-op">,</tt> <tt class="py-name">second_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="Bio.HMM.MarkovModel.MarkovModelBuilder.DEFAULT_PSEUDO" class="py-name" href="#" onclick="return doclink('link-11', 'DEFAULT_PSEUDO', 'link-4');">DEFAULT_PSEUDO</a></tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">all_counts</tt> </tt>
</div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                 </tt>
<a name="MarkovModelBuilder.get_markov_model"></a><div id="MarkovModelBuilder.get_markov_model-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.get_markov_model-toggle" onclick="return toggle('MarkovModelBuilder.get_markov_model');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#get_markov_model">get_markov_model</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="MarkovModelBuilder.get_markov_model-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.get_markov_model-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-docstring">"""Return the markov model corresponding with the current parameters.</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">        Each markov model returned by a call to this function is unique</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">        (ie. they don't influence each other).</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">transition_prob</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><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-12', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">)</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">emission_prob</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><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-13', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">)</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">transition_pseudo</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><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-14', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</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">emission_pseudo</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><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-15', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_pseudo</tt><tt class="py-op">)</tt> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">         </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-16" class="py-name" targets="Class Bio.HMM.MarkovModel.HiddenMarkovModel=Bio.HMM.MarkovModel.HiddenMarkovModel-class.html"><a title="Bio.HMM.MarkovModel.HiddenMarkovModel" class="py-name" href="#" onclick="return doclink('link-16', 'HiddenMarkovModel', 'link-16');">HiddenMarkovModel</a></tt><tt class="py-op">(</tt><tt class="py-name">transition_prob</tt><tt class="py-op">,</tt> <tt class="py-name">emission_prob</tt><tt class="py-op">,</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                                 <tt class="py-name">transition_pseudo</tt><tt class="py-op">,</tt> <tt class="py-name">emission_pseudo</tt><tt class="py-op">)</tt> </tt>
</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder.set_equal_probabilities"></a><div id="MarkovModelBuilder.set_equal_probabilities-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.set_equal_probabilities-toggle" onclick="return toggle('MarkovModelBuilder.set_equal_probabilities');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#set_equal_probabilities">set_equal_probabilities</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="MarkovModelBuilder.set_equal_probabilities-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.set_equal_probabilities-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-docstring">"""Reset all probabilities to be an average value.</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        This resets the values of all allowed transitions and all allowed</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">        emissions to be equal to 1 divided by the number of possible elements.</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">        This is useful if you just want to initialize a Markov Model to</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">        starting values (ie. if you have no prior notions of what the</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">        probabilities should be -- or if you are just feeling too lazy</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">        to calculate them :-).</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">        Warning 1 -- this will reset all currently set probabilities.</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">        Warning 2 -- This just sets all probabilities for transitions and</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">        emissions to total up to 1, so it doesn't ensure that the sum of</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">        each set of transitions adds up to 1.</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-comment"># first set the transitions</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">new_trans_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method Bio.Crystal.Crystal.keys()=Bio.Crystal.Crystal-class.html#keys,Method Bio.EUtils.MultiDict._BaseMultiDict.keys()=Bio.EUtils.MultiDict._BaseMultiDict-class.html#keys,Method Bio.GenBank.NCBIDictionary.keys()=Bio.GenBank.NCBIDictionary-class.html#keys,Method Bio.Mindy.BaseDB.DictLookup.keys()=Bio.Mindy.BaseDB.DictLookup-class.html#keys,Method Bio.Mindy.BaseDB.OpenDB.keys()=Bio.Mindy.BaseDB.OpenDB-class.html#keys,Method Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys()=Bio.Mindy.BerkeleyDB.PrimaryNamespace-class.html#keys,Method Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys()=Bio.Mindy.BerkeleyDB.SecondaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.PrimaryNamespace.keys()=Bio.Mindy.FlatDB.PrimaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.PrimaryTable.keys()=Bio.Mindy.FlatDB.PrimaryTable-class.html#keys,Method Bio.Mindy.FlatDB.SecondaryNamespace.keys()=Bio.Mindy.FlatDB.SecondaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.SecondaryTable.keys()=Bio.Mindy.FlatDB.SecondaryTable-class.html#keys,Method Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys()=Bio.PDB.AbstractPropertyMap.AbstractPropertyMap-class.html#keys,Method Bio.Prosite.ExPASyDictionary.keys()=Bio.Prosite.ExPASyDictionary-class.html#keys,Method Bio.Prosite.Prodoc.ExPASyDictionary.keys()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#keys,Method Bio.PubMed.Dictionary.keys()=Bio.PubMed.Dictionary-class.html#keys,Method Bio.SwissProt.SProt.Dictionary.keys()=Bio.SwissProt.SProt.Dictionary-class.html#keys,Method Bio.SwissProt.SProt.ExPASyDictionary.keys()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#keys,Method Bio.config.Registry.Registry.keys()=Bio.config.Registry.Registry-class.html#keys,Method BioSQL.BioSeqDatabase.BioSeqDatabase.keys()=BioSQL.BioSeqDatabase.BioSeqDatabase-class.html#keys,Method BioSQL.BioSeqDatabase.DBServer.keys()=BioSQL.BioSeqDatabase.DBServer-class.html#keys,Method Martel.Parser.MartelAttributeList.keys()=Martel.Parser.MartelAttributeList-class.html#keys"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-17', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-18" 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-18', 'key', 'link-18');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-19', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">[</tt><tt id="link-20" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-20', 'key', 'link-18');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">new_trans_prob</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-comment"># now set the emissions</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">new_emission_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-21', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-22" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-22', 'key', 'link-18');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-23', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">[</tt><tt id="link-24" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-24', 'key', 'link-18');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">new_emission_prob</tt> </tt>
</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">             </tt>
<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder.set_random_probabilities"></a><div id="MarkovModelBuilder.set_random_probabilities-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.set_random_probabilities-toggle" onclick="return toggle('MarkovModelBuilder.set_random_probabilities');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#set_random_probabilities">set_random_probabilities</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="MarkovModelBuilder.set_random_probabilities-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.set_random_probabilities-expanded"><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-docstring">"""Set all probabilities to randomly generated numbers.</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        This will reset the value of all allowed transitions and emissions</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">        to random values.</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        Warning 1 -- This will reset any currently set probabibilities.</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        Warning 2 -- This does not check to ensure that the sum of</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">        all of the probabilities is less then 1. It just randomly assigns</tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">        a probability to each</tt> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-25" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-25', 'key', 'link-18');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-26', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">[</tt><tt id="link-27" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-27', 'key', 'link-18');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-28" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-28', 'key', 'link-18');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-29', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">[</tt><tt id="link-30" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-30', 'key', 'link-18');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-comment"># --- functions to deal with the transitions in the sequence</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="MarkovModelBuilder.allow_all_transitions"></a><div id="MarkovModelBuilder.allow_all_transitions-def"><a name="L141"></a><tt class="py-lineno">141</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.allow_all_transitions-toggle" onclick="return toggle('MarkovModelBuilder.allow_all_transitions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#allow_all_transitions">allow_all_transitions</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="MarkovModelBuilder.allow_all_transitions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.allow_all_transitions-expanded"><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-docstring">"""A convenience function to create transitions between all states.</tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        By default all transitions within the alphabet are disallowed; this</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">        is a way to change this to allow all possible transitions.</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-comment"># first get all probabilities and pseudo counts set</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># to the default values</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">all_probs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="Bio.HMM.MarkovModel.MarkovModelBuilder._all_blank" class="py-name" href="#" onclick="return doclink('link-31', '_all_blank', 'link-5');">_all_blank</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_state_alphabet</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">self</tt><tt class="py-op">.</tt><tt class="py-name">_state_alphabet</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-name">all_pseudo</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="Bio.HMM.MarkovModel.MarkovModelBuilder._all_pseudo" class="py-name" href="#" onclick="return doclink('link-32', '_all_pseudo', 'link-6');">_all_pseudo</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_state_alphabet</tt><tt class="py-op">,</tt> </tt>
<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                                      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_state_alphabet</tt><tt class="py-op">)</tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-comment"># now set any probabilities and pseudo counts that</tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># were previously set</tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">for</tt> <tt class="py-name">set_key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-33', 'keys', 'link-17');">keys</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-name">all_probs</tt><tt class="py-op">[</tt><tt class="py-name">set_key</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">transition_prob</tt><tt class="py-op">[</tt><tt class="py-name">set_key</tt><tt class="py-op">]</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">set_key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-34', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">all_pseudo</tt><tt class="py-op">[</tt><tt class="py-name">set_key</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">transition_pseudo</tt><tt class="py-op">[</tt><tt class="py-name">set_key</tt><tt class="py-op">]</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-comment"># finally reinitialize the transition probs and pseudo counts</tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">all_probs</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</tt> <tt class="py-op">=</tt> <tt class="py-name">all_pseudo</tt> </tt>
</div><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder.allow_transition"></a><div id="MarkovModelBuilder.allow_transition-def"><a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.allow_transition-toggle" onclick="return toggle('MarkovModelBuilder.allow_transition');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#allow_transition">allow_transition</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">from_state</tt><tt class="py-op">,</tt> <tt class="py-param">to_state</tt><tt class="py-op">,</tt> <tt class="py-param">probability</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                         <tt class="py-param">pseudocount</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="MarkovModelBuilder.allow_transition-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.allow_transition-expanded"><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-docstring">"""Set a transition as being possible between the two states.</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">        probability and pseudocount are optional arguments</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">        specifying the probabilities and pseudo counts for the transition.</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">        If these are not supplied, then the values are set to the</tt> </tt>
<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">        default values.</tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">        Raises:</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        KeyError -- if the two states already have an allowed transition.</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-comment"># check the sanity of adding these states</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">for</tt> <tt class="py-name">state</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-name">state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_state_alphabet</tt><tt class="py-op">,</tt> \ </tt>
<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                   <tt class="py-string">"State %s was not found in the sequence alphabet"</tt> <tt class="py-op">%</tt> <tt class="py-name">state</tt> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-comment"># ensure that the states are not already set</tt> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</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 class="py-name">transition_prob</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-35', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt>  </tt>
<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</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 class="py-name">transition_pseudo</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-36', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-comment"># set the initial probability</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">if</tt> <tt class="py-name">probability</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-name">probability</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">probability</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-comment"># set the initial pseudocounts</tt> </tt>
<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">if</tt> <tt class="py-name">pseudocount</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-name">pseudcount</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="Bio.HMM.MarkovModel.MarkovModelBuilder.DEFAULT_PSEUDO" class="py-name" href="#" onclick="return doclink('link-37', 'DEFAULT_PSEUDO', 'link-4');">DEFAULT_PSEUDO</a></tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">pseudocount</tt>  </tt>
<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"Transtion from %s to %s is already allowed."</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                           <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder.destroy_transition"></a><div id="MarkovModelBuilder.destroy_transition-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.destroy_transition-toggle" onclick="return toggle('MarkovModelBuilder.destroy_transition');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#destroy_transition">destroy_transition</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">from_state</tt><tt class="py-op">,</tt> <tt class="py-param">to_state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder.destroy_transition-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.destroy_transition-expanded"><a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-docstring">"""Restrict transitions between the two states.</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">        Raises:</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">        KeyError if the transition is not currently allowed.</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"Transition from %s to %s is already disallowed."</tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                           <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder.set_transition_score"></a><div id="MarkovModelBuilder.set_transition_score-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.set_transition_score-toggle" onclick="return toggle('MarkovModelBuilder.set_transition_score');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#set_transition_score">set_transition_score</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">from_state</tt><tt class="py-op">,</tt> <tt class="py-param">to_state</tt><tt class="py-op">,</tt> <tt class="py-param">probability</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder.set_transition_score-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.set_transition_score-expanded"><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-docstring">"""Set the probability of a transition between two states.</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">        Raises:</tt> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">        KeyError if the transition is not allowed.</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method Bio.Crystal.Crystal.has_key()=Bio.Crystal.Crystal-class.html#has_key,Method Bio.EUtils.POM.ElementNode.has_key()=Bio.EUtils.POM.ElementNode-class.html#has_key,Method Bio.GenBank.NCBIDictionary.has_key()=Bio.GenBank.NCBIDictionary-class.html#has_key,Method Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key()=Bio.PDB.AbstractPropertyMap.AbstractPropertyMap-class.html#has_key,Method Bio.PDB.FragmentMapper'.FragmentMapper.has_key()=Bio.PDB.FragmentMapper%27.FragmentMapper-class.html#has_key,Method Bio.Prosite.ExPASyDictionary.has_key()=Bio.Prosite.ExPASyDictionary-class.html#has_key,Method Bio.Prosite.Prodoc.ExPASyDictionary.has_key()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#has_key,Method Bio.PubMed.Dictionary.has_key()=Bio.PubMed.Dictionary-class.html#has_key,Method Bio.SwissProt.SProt.ExPASyDictionary.has_key()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#has_key,Method Martel.Parser.MartelAttributeList.has_key()=Martel.Parser.MartelAttributeList-class.html#has_key"><a title="Bio.Crystal.Crystal.has_key
Bio.EUtils.POM.ElementNode.has_key
Bio.GenBank.NCBIDictionary.has_key
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key
Bio.PDB.FragmentMapper'.FragmentMapper.has_key
Bio.Prosite.ExPASyDictionary.has_key
Bio.Prosite.Prodoc.ExPASyDictionary.has_key
Bio.PubMed.Dictionary.has_key
Bio.SwissProt.SProt.ExPASyDictionary.has_key
Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-38', 'has_key', 'link-38');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">probability</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"Transition from %s to %s is not allowed."</tt> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                           <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder.set_transition_pseudocount"></a><div id="MarkovModelBuilder.set_transition_pseudocount-def"><a name="L225"></a><tt class="py-lineno">225</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.set_transition_pseudocount-toggle" onclick="return toggle('MarkovModelBuilder.set_transition_pseudocount');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#set_transition_pseudocount">set_transition_pseudocount</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">from_state</tt><tt class="py-op">,</tt> <tt class="py-param">to_state</tt><tt class="py-op">,</tt> <tt class="py-param">count</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder.set_transition_pseudocount-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.set_transition_pseudocount-expanded"><a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-docstring">"""Set the default pseudocount for a transition.</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">        To avoid computational problems, it is helpful to be able to</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        set a 'default' pseudocount to start with for estimating</tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">        transition and emission probabilities (see p62 in Durbin et al</tt> </tt>
<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        for more discussion on this. By default, all transitions have</tt> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">        a pseudocount of 1.</tt> </tt>
<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">        Raises:</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">        KeyError if the transition is not allowed.</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="Bio.Crystal.Crystal.has_key
Bio.EUtils.POM.ElementNode.has_key
Bio.GenBank.NCBIDictionary.has_key
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key
Bio.PDB.FragmentMapper'.FragmentMapper.has_key
Bio.Prosite.ExPASyDictionary.has_key
Bio.Prosite.Prodoc.ExPASyDictionary.has_key
Bio.PubMed.Dictionary.has_key
Bio.SwissProt.SProt.ExPASyDictionary.has_key
Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-39', 'has_key', 'link-38');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_pseudo</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name" targets="Method Bio.Crystal.Chain.count()=Bio.Crystal.Chain-class.html#count,Method Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count()=Bio.NeuralNetwork.Gene.Pattern.PatternRepository-class.html#count,Method Bio.Seq.MutableSeq.count()=Bio.Seq.MutableSeq-class.html#count,Method Bio.Seq.Seq.count()=Bio.Seq.Seq-class.html#count,Function Bio.listfns.count()=Bio.listfns-module.html#count"><a title="Bio.Crystal.Chain.count
Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count
Bio.Seq.MutableSeq.count
Bio.Seq.Seq.count
Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-40', 'count', 'link-40');">count</a></tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"Transition from %s to %s is not allowed."</tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                           <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">from_state</tt><tt class="py-op">,</tt> <tt class="py-name">to_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">    <tt class="py-comment"># --- functions to deal with emissions from the sequence</tt> </tt>
<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="MarkovModelBuilder.set_emission_score"></a><div id="MarkovModelBuilder.set_emission_score-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.set_emission_score-toggle" onclick="return toggle('MarkovModelBuilder.set_emission_score');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#set_emission_score">set_emission_score</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">seq_state</tt><tt class="py-op">,</tt> <tt class="py-param">emission_state</tt><tt class="py-op">,</tt> <tt class="py-param">probability</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder.set_emission_score-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.set_emission_score-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-docstring">"""Set the probability of a emission from a particular state.</tt> </tt>
<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">        Raises:</tt> </tt>
<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">        KeyError if the emission from the given state is not allowed.</tt> </tt>
<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="Bio.Crystal.Crystal.has_key
Bio.EUtils.POM.ElementNode.has_key
Bio.GenBank.NCBIDictionary.has_key
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key
Bio.PDB.FragmentMapper'.FragmentMapper.has_key
Bio.Prosite.ExPASyDictionary.has_key
Bio.Prosite.Prodoc.ExPASyDictionary.has_key
Bio.PubMed.Dictionary.has_key
Bio.SwissProt.SProt.ExPASyDictionary.has_key
Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-41', 'has_key', 'link-38');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">seq_state</tt><tt class="py-op">,</tt> <tt class="py-name">emission_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">seq_state</tt><tt class="py-op">,</tt> <tt class="py-name">emission_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">probability</tt> </tt>
<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"Emission of %s from %s is not allowed."</tt> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                           <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">emission_state</tt><tt class="py-op">,</tt> <tt class="py-name">seq_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
<a name="MarkovModelBuilder.set_emission_pseudocount"></a><div id="MarkovModelBuilder.set_emission_pseudocount-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="MarkovModelBuilder.set_emission_pseudocount-toggle" onclick="return toggle('MarkovModelBuilder.set_emission_pseudocount');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.MarkovModelBuilder-class.html#set_emission_pseudocount">set_emission_pseudocount</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">seq_state</tt><tt class="py-op">,</tt> <tt class="py-param">emission_state</tt><tt class="py-op">,</tt> <tt class="py-param">count</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MarkovModelBuilder.set_emission_pseudocount-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MarkovModelBuilder.set_emission_pseudocount-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-docstring">"""Set the default pseudocount for an emission.</tt> </tt>
<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">        To avoid computational problems, it is helpful to be able to</tt> </tt>
<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">        set a 'default' pseudocount to start with for estimating</tt> </tt>
<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-docstring">        transition and emission probabilities (see p62 in Durbin et al</tt> </tt>
<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-docstring">        for more discussion on this. By default, all emissions have</tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-docstring">        a pseudocount of 1.</tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">        Raises:</tt> </tt>
<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">        KeyError if the emission from the given state is not allowed.</tt> </tt>
<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_pseudo</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="Bio.Crystal.Crystal.has_key
Bio.EUtils.POM.ElementNode.has_key
Bio.GenBank.NCBIDictionary.has_key
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key
Bio.PDB.FragmentMapper'.FragmentMapper.has_key
Bio.Prosite.ExPASyDictionary.has_key
Bio.Prosite.Prodoc.ExPASyDictionary.has_key
Bio.PubMed.Dictionary.has_key
Bio.SwissProt.SProt.ExPASyDictionary.has_key
Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-42', 'has_key', 'link-38');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">seq_state</tt><tt class="py-op">,</tt> <tt class="py-name">emission_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_pseudo</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">seq_state</tt><tt class="py-op">,</tt> <tt class="py-name">emission_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="Bio.Crystal.Chain.count
Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count
Bio.Seq.MutableSeq.count
Bio.Seq.Seq.count
Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-43', 'count', 'link-40');">count</a></tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"Emission of %s from %s is not allowed."</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                           <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">emission_state</tt><tt class="py-op">,</tt> <tt class="py-name">seq_state</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
<a name="HiddenMarkovModel"></a><div id="HiddenMarkovModel-def"><a name="L275"></a><tt class="py-lineno">275</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel-toggle" onclick="return toggle('HiddenMarkovModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html">HiddenMarkovModel</a><tt class="py-op">:</tt> </tt>
</div><div id="HiddenMarkovModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HiddenMarkovModel-expanded"><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">    <tt class="py-docstring">"""Represent a hidden markov model that can be used for state estimation.</tt> </tt>
<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="HiddenMarkovModel.__init__"></a><div id="HiddenMarkovModel.__init__-def"><a name="L278"></a><tt class="py-lineno">278</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel.__init__-toggle" onclick="return toggle('HiddenMarkovModel.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">transition_prob</tt><tt class="py-op">,</tt> <tt class="py-param">emission_prob</tt><tt class="py-op">,</tt> <tt class="py-param">transition_pseudo</tt><tt class="py-op">,</tt> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                 <tt class="py-param">emission_pseudo</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HiddenMarkovModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiddenMarkovModel.__init__-expanded"><a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-docstring">"""Initialize a Markov Model.</tt> </tt>
<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"><tt class="py-docstring">        Note: You should use the MarkovModelBuilder class instead of</tt> </tt>
<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-docstring">        initiating this class directly.</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring">        Arguments:</tt> </tt>
<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"><tt class="py-docstring">        o transition_prob -- A dictionary of transition probabilities for all</tt> </tt>
<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"><tt class="py-docstring">        possible transitions in the sequence.</tt> </tt>
<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"><tt class="py-docstring">        o emission_prob -- A dictionary of emissions probabilities for all</tt> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"><tt class="py-docstring">        possible emissions from the sequence states.</tt> </tt>
<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">        o transition_pseudo -- Pseudo-counts to be used for the transitions,</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">        when counting for purposes of estimating transition probabilities.</tt> </tt>
<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring">        o emission_pseduo -- Pseudo-counts fo tbe used for the emissions,</tt> </tt>
<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"><tt class="py-docstring">        when counting for purposes of estimating emission probabilities.</tt> </tt>
<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transition_pseudo</tt> <tt class="py-op">=</tt> <tt class="py-name">transition_pseudo</tt> </tt>
<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_emission_pseudo</tt> <tt class="py-op">=</tt> <tt class="py-name">emission_pseudo</tt> </tt>
<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">         </tt>
<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">transition_prob</tt> </tt>
<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">emission_prob</tt> </tt>
<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"> </tt>
<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">        <tt class="py-comment"># a dictionary of the possible transitions from one letter to the next</tt> </tt>
<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># the keys are the letter, and the values are lists of letters that</tt> </tt>
<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># can be transitioned to</tt> </tt>
<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transitions_from</tt> <tt class="py-op">=</tt> \ </tt>
<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">           <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method Bio.HMM.MarkovModel.HiddenMarkovModel._calculate_from_transitions()=Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#_calculate_from_transitions"><a title="Bio.HMM.MarkovModel.HiddenMarkovModel._calculate_from_transitions" class="py-name" href="#" onclick="return doclink('link-44', '_calculate_from_transitions', 'link-44');">_calculate_from_transitions</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">)</tt> </tt>
</div><a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"> </tt>
<a name="HiddenMarkovModel._calculate_from_transitions"></a><div id="HiddenMarkovModel._calculate_from_transitions-def"><a name="L311"></a><tt class="py-lineno">311</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel._calculate_from_transitions-toggle" onclick="return toggle('HiddenMarkovModel._calculate_from_transitions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#_calculate_from_transitions">_calculate_from_transitions</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">trans_probs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HiddenMarkovModel._calculate_from_transitions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiddenMarkovModel._calculate_from_transitions-expanded"><a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-docstring">"""Calculate which 'from transitions' are allowed for each letter.</tt> </tt>
<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">        This looks through all of the trans_probs, and uses this dictionary</tt> </tt>
<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring">        to determine allowed transitions. It converts this information into</tt> </tt>
<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-docstring">        a dictionary, whose keys are the transition letters and whose</tt> </tt>
<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">        values are a list of allowed letters to transition to.</tt> </tt>
<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt class="py-name">from_transitions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"> </tt>
<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-comment"># loop over all of the different transitions</tt> </tt>
<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">for</tt> <tt class="py-name">trans_key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">trans_probs</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-45', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-comment"># if the letter to 'transition from' already exists, add the</tt> </tt>
<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-comment"># new letter which can be 'transitioned to' to the list</tt> </tt>
<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                <tt class="py-name">from_transitions</tt><tt class="py-op">[</tt><tt class="py-name">trans_key</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-46" 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-46', 'append', 'link-46');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">trans_key</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="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-comment"># otherwise create the list and add the letter</tt> </tt>
<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                <tt class="py-name">from_transitions</tt><tt class="py-op">[</tt><tt class="py-name">trans_key</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                <tt class="py-name">from_transitions</tt><tt class="py-op">[</tt><tt class="py-name">trans_key</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-47" 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-47', 'append', 'link-46');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">trans_key</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="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"> </tt>
<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">from_transitions</tt> </tt>
</div><a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"> </tt>
<a name="HiddenMarkovModel.get_blank_transitions"></a><div id="HiddenMarkovModel.get_blank_transitions-def"><a name="L334"></a><tt class="py-lineno">334</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel.get_blank_transitions-toggle" onclick="return toggle('HiddenMarkovModel.get_blank_transitions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#get_blank_transitions">get_blank_transitions</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="HiddenMarkovModel.get_blank_transitions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiddenMarkovModel.get_blank_transitions-expanded"><a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-docstring">"""Get the default transitions for the model.</tt> </tt>
<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a dictionary of all of the default transitions between any</tt> </tt>
<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-docstring">        two letters in the sequence alphabet. The dictionary is structured</tt> </tt>
<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"><tt class="py-docstring">        with keys as (letter1, letter2) and values as the starting number</tt> </tt>
<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-docstring">        of transitions.</tt> </tt>
<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transition_pseudo</tt> </tt>
</div><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"> </tt>
<a name="HiddenMarkovModel.get_blank_emissions"></a><div id="HiddenMarkovModel.get_blank_emissions-def"><a name="L344"></a><tt class="py-lineno">344</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel.get_blank_emissions-toggle" onclick="return toggle('HiddenMarkovModel.get_blank_emissions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#get_blank_emissions">get_blank_emissions</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="HiddenMarkovModel.get_blank_emissions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiddenMarkovModel.get_blank_emissions-expanded"><a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt class="py-docstring">"""Get the starting default emmissions for each sequence.</tt> </tt>
<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">        This returns a dictionary of the default emmissions for each</tt> </tt>
<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring">        letter. The dictionary is structured with keys as</tt> </tt>
<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">        (seq_letter, emmission_letter) and values as the starting number</tt> </tt>
<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">        of emmissions.</tt> </tt>
<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_emission_pseudo</tt> </tt>
</div><a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"> </tt>
<a name="HiddenMarkovModel.transitions_from"></a><div id="HiddenMarkovModel.transitions_from-def"><a name="L354"></a><tt class="py-lineno">354</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel.transitions_from-toggle" onclick="return toggle('HiddenMarkovModel.transitions_from');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#transitions_from">transitions_from</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">state_letter</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HiddenMarkovModel.transitions_from-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiddenMarkovModel.transitions_from-expanded"><a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-docstring">"""Get all transitions which can happen from the given state.</tt> </tt>
<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">        This returns all letters which the given state_letter is allowed</tt> </tt>
<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">        to transition to. An empty list is returned if no letters are possible.</tt> </tt>
<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transitions_from</tt><tt class="py-op">[</tt><tt class="py-name">state_letter</tt><tt class="py-op">]</tt> </tt>
<a name="L362"></a><tt class="py-lineno">362</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="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
</div><a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">         </tt>
<a name="HiddenMarkovModel.viterbi"></a><div id="HiddenMarkovModel.viterbi-def"><a name="L365"></a><tt class="py-lineno">365</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel.viterbi-toggle" onclick="return toggle('HiddenMarkovModel.viterbi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#viterbi">viterbi</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sequence</tt><tt class="py-op">,</tt> <tt class="py-param">state_alphabet</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HiddenMarkovModel.viterbi-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiddenMarkovModel.viterbi-expanded"><a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">        <tt class="py-docstring">"""Calculate the most probable state path using the Viterbi algorithm.</tt> </tt>
<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">        This implements the Viterbi algorithm (see pgs 55-57 in Durbin et</tt> </tt>
<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-docstring">        al for a full explanation -- this is where I took my implementation</tt> </tt>
<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"><tt class="py-docstring">        ideas from), to allow decoding of the state path, given a sequence</tt> </tt>
<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"><tt class="py-docstring">        of emissions.</tt> </tt>
<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"><tt class="py-docstring">        Arguments:</tt> </tt>
<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"><tt class="py-docstring">        o sequence -- A Seq object with the emission sequence that we</tt> </tt>
<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"><tt class="py-docstring">        want to decode.</tt> </tt>
<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">        o state_alphabet -- The alphabet of the possible state sequences</tt> </tt>
<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring">        that can be generated.</tt> </tt>
<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">        <tt class="py-comment"># calculate logarithms of the transition and emission probs</tt> </tt>
<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">log_trans</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method Bio.HMM.MarkovModel.HiddenMarkovModel._log_transform()=Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#_log_transform"><a title="Bio.HMM.MarkovModel.HiddenMarkovModel._log_transform" class="py-name" href="#" onclick="return doclink('link-48', '_log_transform', 'link-48');">_log_transform</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transition_prob</tt><tt class="py-op">)</tt> </tt>
<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-name">log_emission</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="Bio.HMM.MarkovModel.HiddenMarkovModel._log_transform" class="py-name" href="#" onclick="return doclink('link-49', '_log_transform', 'link-48');">_log_transform</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">emission_prob</tt><tt class="py-op">)</tt> </tt>
<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"> </tt>
<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">        <tt class="py-name">viterbi_probs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">        <tt class="py-name">pred_state_seq</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-name">state_letters</tt> <tt class="py-op">=</tt> <tt class="py-name">state_alphabet</tt><tt class="py-op">.</tt><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-7');">letters</a></tt> </tt>
<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-comment"># --- initialization</tt> </tt>
<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#</tt> </tt>
<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># NOTE: My index numbers are one less than what is given in Durbin</tt> </tt>
<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># et al, since we are indexing the sequence going from 0 to</tt> </tt>
<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># (Length - 1) not 1 to Length, like in Durbin et al.</tt> </tt>
<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#</tt> </tt>
<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># v_{0}(0) = 1</tt> </tt>
<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">viterbi_probs</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">state_letters</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">        <tt class="py-comment"># v_{k}(0) = 0 for k &gt; 0</tt> </tt>
<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">for</tt> <tt class="py-name">state_letter</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state_letters</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="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">            <tt class="py-name">viterbi_probs</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">state_letter</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"> </tt>
<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">        <tt class="py-comment"># --- recursion</tt> </tt>
<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># loop over the training squence (i = 1 .. L)</tt> </tt>
<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">for</tt> <tt id="link-51" 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-51', 'i', 'link-51');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-52" class="py-name" targets="Method Bio.AlignAce.Parser.AlignAceConsumer.sequence()=Bio.AlignAce.Parser.AlignAceConsumer-class.html#sequence,Variable Bio.Emboss.primer3_format.sequence=Bio.Emboss.primer3_format-module.html#sequence,Method Bio.FSSP.FSSPAlignDict.sequence()=Bio.FSSP.FSSPAlignDict-class.html#sequence,Method Bio.GenBank._FeatureConsumer.sequence()=Bio.GenBank._FeatureConsumer-class.html#sequence,Method Bio.GenBank._RecordConsumer.sequence()=Bio.GenBank._RecordConsumer-class.html#sequence,Method Bio.IntelliGenetics._RecordConsumer.sequence()=Bio.IntelliGenetics._RecordConsumer-class.html#sequence,Method Bio.Rebase._RecordConsumer.sequence()=Bio.Rebase._RecordConsumer-class.html#sequence,Function Bio.Std.sequence()=Bio.Std-module.html#sequence,Module Bio.builders.SeqRecord.sequence=Bio.builders.SeqRecord.sequence-module.html,Variable Bio.expressions.fasta.sequence=Bio.expressions.fasta-module.html#sequence,Variable Bio.expressions.genbank.sequence=Bio.expressions.genbank-module.html#sequence,Variable Bio.expressions.swissprot.sprot38.sequence=Bio.expressions.swissprot.sprot38-module.html#sequence,Module Bio.formatdefs.sequence=Bio.formatdefs.sequence-module.html,Variable Bio.formatdefs.sequence.sequence=Bio.formatdefs.sequence-module.html#sequence,Variable Martel.test.test_swissprot38.sequence=Martel.test.test_swissprot38-module.html#sequence,Variable Martel.test.testformats.swissprot38.sequence=Martel.test.testformats.swissprot38-module.html#sequence"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence
Bio.Emboss.primer3_format.sequence
Bio.FSSP.FSSPAlignDict.sequence
Bio.GenBank._FeatureConsumer.sequence
Bio.GenBank._RecordConsumer.sequence
Bio.IntelliGenetics._RecordConsumer.sequence
Bio.Rebase._RecordConsumer.sequence
Bio.Std.sequence
Bio.builders.SeqRecord.sequence
Bio.expressions.fasta.sequence
Bio.expressions.genbank.sequence
Bio.expressions.swissprot.sprot38.sequence
Bio.formatdefs.sequence
Bio.formatdefs.sequence.sequence
Martel.test.test_swissprot38.sequence
Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-52', 'sequence', 'link-52');">sequence</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">            <tt class="py-comment"># now loop over all of the letters in the state path</tt> </tt>
<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">for</tt> <tt class="py-name">main_state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state_letters</tt><tt class="py-op">:</tt> </tt>
<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">                <tt class="py-comment"># e_{l}(x_{i})</tt> </tt>
<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">emission_part</tt> <tt class="py-op">=</tt> <tt class="py-name">log_emission</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">main_state</tt><tt class="py-op">,</tt> <tt id="link-53" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence
Bio.Emboss.primer3_format.sequence
Bio.FSSP.FSSPAlignDict.sequence
Bio.GenBank._FeatureConsumer.sequence
Bio.GenBank._RecordConsumer.sequence
Bio.IntelliGenetics._RecordConsumer.sequence
Bio.Rebase._RecordConsumer.sequence
Bio.Std.sequence
Bio.builders.SeqRecord.sequence
Bio.expressions.fasta.sequence
Bio.expressions.genbank.sequence
Bio.expressions.swissprot.sprot38.sequence
Bio.formatdefs.sequence
Bio.formatdefs.sequence.sequence
Martel.test.test_swissprot38.sequence
Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-53', 'sequence', 'link-52');">sequence</a></tt><tt class="py-op">[</tt><tt id="link-54" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-54', 'i', 'link-51');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"> </tt>
<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">                <tt class="py-comment"># loop over all possible states</tt> </tt>
<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">possible_state_probs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">cur_state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Method Bio.HMM.MarkovModel.HiddenMarkovModel.transitions_from()=Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#transitions_from"><a title="Bio.HMM.MarkovModel.HiddenMarkovModel.transitions_from" class="py-name" href="#" onclick="return doclink('link-55', 'transitions_from', 'link-55');">transitions_from</a></tt><tt class="py-op">(</tt><tt class="py-name">main_state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">                    <tt class="py-comment"># a_{kl}</tt> </tt>
<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"><tt class="py-comment"></tt>                    <tt class="py-name">trans_part</tt> <tt class="py-op">=</tt> <tt class="py-name">log_trans</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">cur_state</tt><tt class="py-op">,</tt> <tt class="py-name">main_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"> </tt>
<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">                    <tt class="py-comment"># v_{k}(i - 1)</tt> </tt>
<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"><tt class="py-comment"></tt>                    <tt class="py-name">viterbi_part</tt> <tt class="py-op">=</tt> <tt class="py-name">viterbi_probs</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">cur_state</tt><tt class="py-op">,</tt> <tt id="link-56" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-56', 'i', 'link-51');">i</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">                    <tt class="py-name">cur_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">viterbi_part</tt> <tt class="py-op">+</tt> <tt class="py-name">trans_part</tt> </tt>
<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">                    <tt class="py-name">possible_state_probs</tt><tt class="py-op">[</tt><tt class="py-name">cur_state</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cur_prob</tt> </tt>
<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"> </tt>
<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">                <tt class="py-comment"># finally calculate the viterbi probability using the max</tt> </tt>
<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">max_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">possible_state_probs</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method Bio.Crystal.Crystal.values()=Bio.Crystal.Crystal-class.html#values,Method Bio.EUtils.MultiDict._BaseMultiDict.values()=Bio.EUtils.MultiDict._BaseMultiDict-class.html#values,Method Bio.GenBank.NCBIDictionary.values()=Bio.GenBank.NCBIDictionary-class.html#values,Method Bio.Mindy.BaseDB.DictLookup.values()=Bio.Mindy.BaseDB.DictLookup-class.html#values,Method Bio.Prosite.ExPASyDictionary.values()=Bio.Prosite.ExPASyDictionary-class.html#values,Method Bio.Prosite.Prodoc.ExPASyDictionary.values()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#values,Method Bio.PubMed.Dictionary.values()=Bio.PubMed.Dictionary-class.html#values,Method Bio.SwissProt.SProt.ExPASyDictionary.values()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#values,Method Bio.config.Registry.Registry.values()=Bio.config.Registry.Registry-class.html#values,Method BioSQL.BioSeqDatabase.BioSeqDatabase.values()=BioSQL.BioSeqDatabase.BioSeqDatabase-class.html#values,Method BioSQL.BioSeqDatabase.DBServer.values()=BioSQL.BioSeqDatabase.DBServer-class.html#values,Method Martel.Parser.MartelAttributeList.values()=Martel.Parser.MartelAttributeList-class.html#values"><a title="Bio.Crystal.Crystal.values
Bio.EUtils.MultiDict._BaseMultiDict.values
Bio.GenBank.NCBIDictionary.values
Bio.Mindy.BaseDB.DictLookup.values
Bio.Prosite.ExPASyDictionary.values
Bio.Prosite.Prodoc.ExPASyDictionary.values
Bio.PubMed.Dictionary.values
Bio.SwissProt.SProt.ExPASyDictionary.values
Bio.config.Registry.Registry.values
BioSQL.BioSeqDatabase.BioSeqDatabase.values
BioSQL.BioSeqDatabase.DBServer.values
Martel.Parser.MartelAttributeList.values" class="py-name" href="#" onclick="return doclink('link-57', 'values', 'link-57');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">                <tt class="py-name">viterbi_probs</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">main_state</tt><tt class="py-op">,</tt> <tt id="link-58" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-58', 'i', 'link-51');">i</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-name">emission_part</tt> <tt class="py-op">+</tt> <tt class="py-name">max_prob</tt><tt class="py-op">)</tt> </tt>
<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"> </tt>
<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">                <tt class="py-comment"># now get the most likely state</tt> </tt>
<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-keyword">for</tt> <tt class="py-name">state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">possible_state_probs</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-59', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">possible_state_probs</tt><tt class="py-op">[</tt><tt class="py-name">state</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">max_prob</tt><tt class="py-op">:</tt> </tt>
<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">                        <tt class="py-name">pred_state_seq</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-60', 'i', 'link-51');">i</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt> </tt>
<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">                     </tt>
<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-comment"># --- termination</tt> </tt>
<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># calculate the probability of the state path</tt> </tt>
<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># loop over all letters</tt> </tt>
<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">all_probs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state_letters</tt><tt class="py-op">:</tt> </tt>
<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">            <tt class="py-comment"># v_{k}(L)</tt> </tt>
<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">viterbi_part</tt> <tt class="py-op">=</tt> <tt class="py-name">viterbi_probs</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence
Bio.Emboss.primer3_format.sequence
Bio.FSSP.FSSPAlignDict.sequence
Bio.GenBank._FeatureConsumer.sequence
Bio.GenBank._RecordConsumer.sequence
Bio.IntelliGenetics._RecordConsumer.sequence
Bio.Rebase._RecordConsumer.sequence
Bio.Std.sequence
Bio.builders.SeqRecord.sequence
Bio.expressions.fasta.sequence
Bio.expressions.genbank.sequence
Bio.expressions.swissprot.sprot38.sequence
Bio.formatdefs.sequence
Bio.formatdefs.sequence.sequence
Martel.test.test_swissprot38.sequence
Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-61', 'sequence', 'link-52');">sequence</a></tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-comment"># a_{k0}</tt> </tt>
<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">transition_part</tt> <tt class="py-op">=</tt> <tt class="py-name">log_trans</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">,</tt> <tt class="py-name">state_letters</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"> </tt>
<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-name">all_probs</tt><tt class="py-op">[</tt><tt class="py-name">state</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">viterbi_part</tt> <tt class="py-op">*</tt> <tt class="py-name">transition_part</tt> </tt>
<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line"> </tt>
<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt class="py-name">state_path_prob</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">all_probs</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="Bio.Crystal.Crystal.values
Bio.EUtils.MultiDict._BaseMultiDict.values
Bio.GenBank.NCBIDictionary.values
Bio.Mindy.BaseDB.DictLookup.values
Bio.Prosite.ExPASyDictionary.values
Bio.Prosite.Prodoc.ExPASyDictionary.values
Bio.PubMed.Dictionary.values
Bio.SwissProt.SProt.ExPASyDictionary.values
Bio.config.Registry.Registry.values
BioSQL.BioSeqDatabase.BioSeqDatabase.values
BioSQL.BioSeqDatabase.DBServer.values
Martel.Parser.MartelAttributeList.values" class="py-name" href="#" onclick="return doclink('link-62', 'values', 'link-57');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"> </tt>
<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-comment"># find the last pointer we need to trace back from</tt> </tt>
<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">last_state</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">state</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_probs</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-63', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">all_probs</tt><tt class="py-op">[</tt><tt class="py-name">state</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">state_path_prob</tt><tt class="py-op">:</tt> </tt>
<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">                <tt class="py-name">last_state</tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt> </tt>
<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line"> </tt>
<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">last_state</tt> <tt class="py-op">!=</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">"Didn't find the last state to trace from!"</tt> </tt>
<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">                 </tt>
<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">        <tt class="py-comment"># --- traceback</tt> </tt>
<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">traceback_seq</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name"><a title="Bio.Seq.MutableSeq" class="py-name" href="#" onclick="return doclink('link-64', 'MutableSeq', 'link-3');">MutableSeq</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">state_alphabet</tt><tt class="py-op">)</tt> </tt>
<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">         </tt>
<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-name">loop_seq</tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence
Bio.Emboss.primer3_format.sequence
Bio.FSSP.FSSPAlignDict.sequence
Bio.GenBank._FeatureConsumer.sequence
Bio.GenBank._RecordConsumer.sequence
Bio.IntelliGenetics._RecordConsumer.sequence
Bio.Rebase._RecordConsumer.sequence
Bio.Std.sequence
Bio.builders.SeqRecord.sequence
Bio.expressions.fasta.sequence
Bio.expressions.genbank.sequence
Bio.expressions.swissprot.sprot38.sequence
Bio.formatdefs.sequence
Bio.formatdefs.sequence.sequence
Martel.test.test_swissprot38.sequence
Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-65', 'sequence', 'link-52');">sequence</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">        <tt class="py-name">loop_seq</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method Bio.GFF.easy.Location.reverse()=Bio.GFF.easy.Location-class.html#reverse,Method Bio.Pathway.Reaction.reverse()=Bio.Pathway.Reaction-class.html#reverse,Method Bio.Seq.MutableSeq.reverse()=Bio.Seq.MutableSeq-class.html#reverse,Function Bio.SeqUtils.reverse()=Bio.SeqUtils-module.html#reverse"><a title="Bio.GFF.easy.Location.reverse
Bio.Pathway.Reaction.reverse
Bio.Seq.MutableSeq.reverse
Bio.SeqUtils.reverse" class="py-name" href="#" onclick="return doclink('link-66', 'reverse', 'link-66');">reverse</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"> </tt>
<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-name">cur_state</tt> <tt class="py-op">=</tt> <tt class="py-name">last_state</tt> </tt>
<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">        <tt class="py-keyword">for</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-51');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">loop_seq</tt><tt class="py-op">:</tt> </tt>
<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">            <tt class="py-name">traceback_seq</tt><tt class="py-op">.</tt><tt id="link-68" 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-68', 'append', 'link-46');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">cur_state</tt><tt class="py-op">)</tt> </tt>
<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">             </tt>
<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">            <tt class="py-name">cur_state</tt> <tt class="py-op">=</tt> <tt class="py-name">pred_state_seq</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-69" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-69', 'i', 'link-51');">i</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">cur_state</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"> </tt>
<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-comment"># put the traceback sequence in the proper orientation</tt> </tt>
<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">traceback_seq</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="Bio.GFF.easy.Location.reverse
Bio.Pathway.Reaction.reverse
Bio.Seq.MutableSeq.reverse
Bio.SeqUtils.reverse" class="py-name" href="#" onclick="return doclink('link-70', 'reverse', 'link-66');">reverse</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"> </tt>
<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">traceback_seq</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Method Bio.Seq.MutableSeq.toseq()=Bio.Seq.MutableSeq-class.html#toseq"><a title="Bio.Seq.MutableSeq.toseq" class="py-name" href="#" onclick="return doclink('link-71', 'toseq', 'link-71');">toseq</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">state_path_prob</tt> </tt>
</div><a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line"> </tt>
<a name="HiddenMarkovModel._log_transform"></a><div id="HiddenMarkovModel._log_transform-def"><a name="L469"></a><tt class="py-lineno">469</tt> <a class="py-toggle" href="#" id="HiddenMarkovModel._log_transform-toggle" onclick="return toggle('HiddenMarkovModel._log_transform');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#_log_transform">_log_transform</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">probability</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HiddenMarkovModel._log_transform-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiddenMarkovModel._log_transform-expanded"><a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">        <tt class="py-docstring">"""Return log transform of the given probability dictionary.</tt> </tt>
<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"><tt class="py-docstring">        When calculating the Viterbi equation, we need to deal with things</tt> </tt>
<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"><tt class="py-docstring">        as sums of logs instead of products of probabilities, so that we</tt> </tt>
<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line"><tt class="py-docstring">        don't get underflow errors.. This copies the given probability</tt> </tt>
<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"><tt class="py-docstring">        dictionary and returns the same dictionary with everything</tt> </tt>
<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"><tt class="py-docstring">        transformed with a log.</tt> </tt>
<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-name">log_prob</tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name"><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-72', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><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-73', 'copy', 'link-0');">copy</a></tt><tt class="py-op">(</tt><tt class="py-name">probability</tt><tt class="py-op">)</tt> </tt>
<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"> </tt>
<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-74" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-74', 'key', 'link-18');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">log_prob</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="Bio.Crystal.Crystal.keys
Bio.EUtils.MultiDict._BaseMultiDict.keys
Bio.GenBank.NCBIDictionary.keys
Bio.Mindy.BaseDB.DictLookup.keys
Bio.Mindy.BaseDB.OpenDB.keys
Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys
Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryNamespace.keys
Bio.Mindy.FlatDB.PrimaryTable.keys
Bio.Mindy.FlatDB.SecondaryNamespace.keys
Bio.Mindy.FlatDB.SecondaryTable.keys
Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys
Bio.Prosite.ExPASyDictionary.keys
Bio.Prosite.Prodoc.ExPASyDictionary.keys
Bio.PubMed.Dictionary.keys
Bio.SwissProt.SProt.Dictionary.keys
Bio.SwissProt.SProt.ExPASyDictionary.keys
Bio.config.Registry.Registry.keys
BioSQL.BioSeqDatabase.BioSeqDatabase.keys
BioSQL.BioSeqDatabase.DBServer.keys
Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-75', 'keys', 'link-17');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">            <tt class="py-name">log_prob</tt><tt class="py-op">[</tt><tt id="link-76" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-76', 'key', 'link-18');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Variable Bio.Affy.CelFile.log=Bio.Affy.CelFile-module.html#log,Variable Bio.LogisticRegression.log=Bio.LogisticRegression-module.html#log,Variable Bio.MarkovModel.log=Bio.MarkovModel-module.html#log,Variable Bio.MaxEntropy.log=Bio.MaxEntropy-module.html#log,Variable Bio.NaiveBayes.log=Bio.NaiveBayes-module.html#log,Variable Bio.Statistics.lowess.log=Bio.Statistics.lowess-module.html#log,Variable Bio.distance.log=Bio.distance-module.html#log,Variable Bio.kNN.log=Bio.kNN-module.html#log"><a title="Bio.Affy.CelFile.log
Bio.LogisticRegression.log
Bio.MarkovModel.log
Bio.MaxEntropy.log
Bio.NaiveBayes.log
Bio.Statistics.lowess.log
Bio.distance.log
Bio.kNN.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-77');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">log_prob</tt><tt class="py-op">[</tt><tt id="link-78" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-78', 'key', 'link-18');">key</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line"> </tt>
<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">log_prob</tt> </tt>
</div></div><a name="L484"></a><tt class="py-lineno">484</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:00 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>