Trees | Index | Help |
---|
Package Bio :: Package HMM :: Module DynamicProgramming :: Class ScaledDPAlgorithms |
|
AbstractDPAlgorithms
--+
|
ScaledDPAlgorithms
Implement forward and backward algorithms using a rescaling approach.
This scales the f and b variables, so that they remain within a manageable numerical interval during calculations. This approach is described in Durbin et al. on p 78.
This approach is a little more straightfoward then log transformation but may still give underflow errors for some types of models. In these cases, the LogDPAlgorithms class should be used.Method Summary | |
---|---|
Initialize the scaled approach to calculating probabilities. | |
Calculate the value of the backward recursion | |
Calculate the next scaling variable for a sequence position. | |
Calculate the value of the forward recursion. | |
Inherited from AbstractDPAlgorithms | |
Calculate sequence probability using the backward algorithm. | |
Calculate sequence probability using the forward algorithm. | |
Calculate the forward recursion value. |
Method Details |
---|
__init__(self,
markov_model,
sequence)
|
_backward_recursion(self, cur_state, sequence_pos, backward_vars)Calculate the value of the backward recursion Arguments: o cur_state -- The letter of the state we are calculating the forward variable for. o sequence_pos -- The position we are at in the training seq. o backward_vars -- The current set of backward variables |
_calculate_s_value(self, seq_pos, previous_vars)Calculate the next scaling variable for a sequence position. This utilizes the approach of choosing s values such that the sum of all of the scaled f values is equal to 1. Arguments: o seq_pos -- The current position we are at in the sequence. o previous_vars -- All of the forward or backward variables calculated so far. Returns: o The calculated scaling variable for the sequence item. |
_forward_recursion(self, cur_state, sequence_pos, forward_vars)Calculate the value of the forward recursion. Arguments: o cur_state -- The letter of the state we are calculating the forward variable for. o sequence_pos -- The position we are at in the training seq. o forward_vars -- The current set of forward variables |
Trees | Index | Help |
---|
Generated by Epydoc 2.1 on Mon Aug 27 16:12:10 2007 | http://epydoc.sf.net |