Bio.MarkovModel module¶
A state-emitting MarkovModel.
Note terminology similar to Manning and Schutze is used.
Functions: train_bw Train a markov model using the Baum-Welch algorithm. train_visible Train a visible markov model using MLE. find_states Find the a state sequence that explains some observations.
load Load a MarkovModel. save Save a MarkovModel.
Classes: MarkovModel Holds the description of a markov model
- Bio.MarkovModel.itemindex(values)¶
Return a dictionary of values with their sequence offset as keys.
- class Bio.MarkovModel.MarkovModel(states, alphabet, p_initial=None, p_transition=None, p_emission=None)¶
Bases:
object
Create a state-emitting MarkovModel object.
- __init__(self, states, alphabet, p_initial=None, p_transition=None, p_emission=None)¶
Initialize the class.
- __str__(self)¶
Create a string representation of the MarkovModel object.
- Bio.MarkovModel.load(handle)¶
Parse a file handle into a MarkovModel object.
- Bio.MarkovModel.save(mm, handle)¶
Save MarkovModel object into handle.
- Bio.MarkovModel.train_bw(states, alphabet, training_data, pseudo_initial=None, pseudo_transition=None, pseudo_emission=None, update_fn=None)¶
Train a MarkovModel using the Baum-Welch algorithm.
Train a MarkovModel using the Baum-Welch algorithm. states is a list of strings that describe the names of each state. alphabet is a list of objects that indicate the allowed outputs. training_data is a list of observations. Each observation is a list of objects from the alphabet.
pseudo_initial, pseudo_transition, and pseudo_emission are optional parameters that you can use to assign pseudo-counts to different matrices. They should be matrices of the appropriate size that contain numbers to add to each parameter matrix, before normalization.
update_fn is an optional callback that takes parameters (iteration, log_likelihood). It is called once per iteration.
- Bio.MarkovModel.train_visible(states, alphabet, training_data, pseudo_initial=None, pseudo_transition=None, pseudo_emission=None)¶
Train a visible MarkovModel using maximum likelihoood estimates for each of the parameters.
Train a visible MarkovModel using maximum likelihoood estimates for each of the parameters. states is a list of strings that describe the names of each state. alphabet is a list of objects that indicate the allowed outputs. training_data is a list of (outputs, observed states) where outputs is a list of the emission from the alphabet, and observed states is a list of states from states.
pseudo_initial, pseudo_transition, and pseudo_emission are optional parameters that you can use to assign pseudo-counts to different matrices. They should be matrices of the appropriate size that contain numbers to add to each parameter matrix.
- Bio.MarkovModel.find_states(markov_model, output)¶
Find states in the given Markov model output.
Returns a list of (states, score) tuples.