Package org.biojava.bio.dp

HMM and Dynamic Programming Algorithms.

See:
          Description

Interface Summary
DotState A Dot state.
DPMatrix  
EmissionState A state in a markov process that has an emission spectrum.
MarkovModel A markov model.
ModelInState A state that contains an entire sub-model.
ModelTrainer Encapsulates the training of an entire model.
State A state in a markov process.
StatePath Extends the Alignment interface so that it is explicitly used to represent a state path through an HMM, and the associated emitted sequence and likelyhoods.
StoppingCriteria  
Trainable Flags an object as being able to register itself with a model trainer.
TrainingAlgorithm  
TransitionListener  
TransitionTrainer An object that can be used to train the transitions within a MarkovModel.
WeightMatrix A log odds weight matrix.
 

Class Summary
AbstractTrainer  
BaumWelchSampler  
BaumWelchTrainer  
DP  
DP.ReverseIterator  
DPFactory  
MagicalState Start/end state for HMMs.
ModelChangeEvent  
ModelView A model that exposes some translated view of another model.
PairDPMatrix Storage structure for intermediate values from a pairwise dynamic programming run.
PairwiseDP Algorithms for dynamic programming (alignments) between pairs of SymbolLists.
ProfileHMM  
SimpleDotState A Dot state that you can make and use.
SimpleEmissionState  
SimpleMarkovModel  
SimpleModelInState  
SimpleModelTrainer  
SimpleStatePath A no-frills implementation of StatePath.
SimpleTransitionTrainer A simple implementation of a TransitionTrainer.
SimpleWeightMatrix  
TrainerTransition This is a small and ugly class for storing a trainer and a transition.
Transition This is a small and ugly class for storing a transition.
TransitionEvent  
WeightMatrixAnnotator Annotates a sequence with hits to a weight-matrix.
WMAsMM Wraps a weight matrix up so that it appears to be a very simple hmm.
XmlMarkovModel  
 

Exception Summary
IllegalTransitionException This exception indicates that there is no transition between two states.
ModelVetoException  
 

Package org.biojava.bio.dp Description

HMM and Dynamic Programming Algorithms.

This package deals with dynamic programming. It uses the same notions of sequences, alphabets and alignments as org.biojava.bio.seq, and extends them to encorporate HMMs, HMM states and state paths. As far as possible, the implementation detail is hidden from the casual observer, so that these objects can be used as black-boxes. Alternatively, there is scope for you to implement your own efficient representations of states and dynamic programming algorithms.

HMMs are defined by a finite set of states and a finite set of transitions. The states are encapsulated as subinterfaces of Symbols, so that we can re-use alphabets and SymbolList to stoor legal states and sequences of states. States that emit residues must implement EmissionState. They define a probability distribution over an alphabet. Other states may contain entire HMMs, or be non-emitting states which make the model easier to wire. An HMM contains an alphabet of states and a set of transitions with scores. They realy resemble directed weighted graphs with the nodes being the states and the arcs being the transitions.

A simple HMM can be aligned to a single sequence at a time. This effectively finds the most likely way that the HMM could have emitted that sequence. Mode complex algorithms may align more than one sequence to a model symultaneously. For example, Smith-Waterman is a three-state model that aligns two sequences to each other and to the model. These more complex models can still be represented as producing a single sequence, but in this case the sequence is an alignment of the two input sequences against one-another (including gap characters where apropreate).