biopython v1.71.0 Bio.HMM.DynamicProgramming.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 straightforward then log transformation but may still give underflow errors for some types of models. In these cases, the LogDPAlgorithms class should be used.

Link to this section Summary

Functions

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

Link to this section Functions

Initialize the scaled approach to calculating probabilities.

Arguments:

  • markov_model — The current Markov model we are working with.
  • sequence — A TrainingSequence object that must have a set of emissions to work with.
Link to this function _backward_recursion()

Calculate the value of the backward recursion.

Arguments:

  • cur_state — The letter of the state we are calculating the forward variable for.
  • sequence_pos — The position we are at in the training seq.
  • backward_vars — The current set of backward variables
Link to this function _calculate_s_value()

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:

  • seq_pos — The current position we are at in the sequence.
  • previous_vars — All of the forward or backward variables calculated so far.

Returns:

  • The calculated scaling variable for the sequence item.
Link to this function _forward_recursion()

Calculate the value of the forward recursion.

Arguments:

  • cur_state — The letter of the state we are calculating the forward variable for.
  • sequence_pos — The position we are at in the training seq.
  • forward_vars — The current set of forward variables