Sophie

Sophie

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

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.HiddenMarkovModel</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> ::
        <a href="Bio.HMM.MarkovModel-module.html">Module&nbsp;MarkovModel</a> ::
        Class&nbsp;HiddenMarkovModel
      </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.HiddenMarkovModel-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class HiddenMarkovModel</h1><p class="nomargin-top"><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel">source&nbsp;code</a></span></p>
<p>Represent a hidden markov model that can be used for state 
  estimation.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">transition_prob</span>,
        <span class="summary-sig-arg">emission_prob</span>,
        <span class="summary-sig-arg">transition_pseudo</span>,
        <span class="summary-sig-arg">emission_pseudo</span>)</span><br />
      Initialize a Markov Model.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#_calculate_from_transitions" class="summary-sig-name" onclick="show_private();">_calculate_from_transitions</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">trans_probs</span>)</span><br />
      Calculate which 'from transitions' are allowed for each letter.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel._calculate_from_transitions">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#get_blank_transitions" class="summary-sig-name">get_blank_transitions</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Get the default transitions for the model.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.get_blank_transitions">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#get_blank_emissions" class="summary-sig-name">get_blank_emissions</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Get the starting default emmissions for each sequence.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.get_blank_emissions">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#transitions_from" class="summary-sig-name">transitions_from</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">state_letter</span>)</span><br />
      Get all transitions which can happen from the given state.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.transitions_from">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#viterbi" class="summary-sig-name">viterbi</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">sequence</span>,
        <span class="summary-sig-arg">state_alphabet</span>)</span><br />
      Calculate the most probable state path using the Viterbi algorithm.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.viterbi">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="Bio.HMM.MarkovModel.HiddenMarkovModel-class.html#_log_transform" class="summary-sig-name" onclick="show_private();">_log_transform</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">probability</span>)</span><br />
      Return log transform of the given probability dictionary.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel._log_transform">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">transition_prob</span>,
        <span class="sig-arg">emission_prob</span>,
        <span class="sig-arg">transition_pseudo</span>,
        <span class="sig-arg">emission_pseudo</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Initialize a Markov Model.</p>
  <p>Note: You should use the MarkovModelBuilder class instead of 
  initiating this class directly.</p>
  <p>Arguments:</p>
  <p>o transition_prob -- A dictionary of transition probabilities for all 
  possible transitions in the sequence.</p>
  <p>o emission_prob -- A dictionary of emissions probabilities for all 
  possible emissions from the sequence states.</p>
  <p>o transition_pseudo -- Pseudo-counts to be used for the transitions, 
  when counting for purposes of estimating transition probabilities.</p>
  <p>o emission_pseduo -- Pseudo-counts fo tbe used for the emissions, when
  counting for purposes of estimating emission probabilities.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_calculate_from_transitions"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_calculate_from_transitions</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">trans_probs</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel._calculate_from_transitions">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Calculate which 'from transitions' are allowed for each letter.</p>
  <p>This looks through all of the trans_probs, and uses this dictionary to
  determine allowed transitions. It converts this information into a 
  dictionary, whose keys are the transition letters and whose values are a 
  list of allowed letters to transition to.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="get_blank_transitions"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_blank_transitions</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.get_blank_transitions">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Get the default transitions for the model.</p>
  <p>Returns a dictionary of all of the default transitions between any two
  letters in the sequence alphabet. The dictionary is structured with keys 
  as (letter1, letter2) and values as the starting number of 
  transitions.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="get_blank_emissions"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_blank_emissions</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.get_blank_emissions">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Get the starting default emmissions for each sequence.</p>
  <p>This returns a dictionary of the default emmissions for each letter. 
  The dictionary is structured with keys as (seq_letter, emmission_letter) 
  and values as the starting number of emmissions.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="transitions_from"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">transitions_from</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">state_letter</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.transitions_from">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Get all transitions which can happen from the given state.</p>
  <p>This returns all letters which the given state_letter is allowed to 
  transition to. An empty list is returned if no letters are possible.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="viterbi"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">viterbi</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">sequence</span>,
        <span class="sig-arg">state_alphabet</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel.viterbi">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Calculate the most probable state path using the Viterbi 
  algorithm.</p>
  <p>This implements the Viterbi algorithm (see pgs 55-57 in Durbin et al 
  for a full explanation -- this is where I took my implementation ideas 
  from), to allow decoding of the state path, given a sequence of 
  emissions.</p>
  <p>Arguments:</p>
  <p>o sequence -- A Seq object with the emission sequence that we want to 
  decode.</p>
  <p>o state_alphabet -- The alphabet of the possible state sequences that 
  can be generated.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_log_transform"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_log_transform</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">probability</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="Bio.HMM.MarkovModel-pysrc.html#HiddenMarkovModel._log_transform">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Return log transform of the given probability dictionary.</p>
  <p>When calculating the Viterbi equation, we need to deal with things as 
  sums of logs instead of products of probabilities, so that we don't get 
  underflow errors.. This copies the given probability dictionary and 
  returns the same dictionary with everything transformed with a log.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

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

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Mon Sep 15 09:26:35 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>