Hidden Markov Model implementation of PILIS. More...
#include <OpenMS/ANALYSIS/ID/HiddenMarkovModel.h>
| Public Member Functions | |
| HiddenMarkovModel & | operator= (const HiddenMarkovModel &) | 
| assignment operator  More... | |
| Constructors and destructors | |
| HiddenMarkovModel () | |
| default constructor  More... | |
| HiddenMarkovModel (const HiddenMarkovModel &hmm_new) | |
| copy constructor  More... | |
| virtual | ~HiddenMarkovModel () | 
| destructor  More... | |
| void | writeGraphMLFile (const String &filename) | 
| writes the HMM into a file in GraphML format  More... | |
| void | write (std::ostream &out) const | 
| writes the HMM into an outstream  More... | |
| DoubleReal | getTransitionProbability (const String &s1, const String &s2) const | 
| returns the transition probability of the given state names  More... | |
| void | setTransitionProbability (const String &s1, const String &s2, DoubleReal prob) | 
| sets the transition probability of the given state names to prob  More... | |
| Size | getNumberOfStates () const | 
| return the number of states  More... | |
| void | addNewState (HMMState *state) | 
| registers a new state to the HMM  More... | |
| void | addNewState (const String &name) | 
| registers a new state to the HMM  More... | |
| void | addSynonymTransition (const String &name1, const String &name2, const String &synonym1, const String &synonym2) | 
| add a new synonym transition to the given state names  More... | |
| void | evaluate () | 
| evaluate the HMM, estimates the transition probabilities from the training  More... | |
| void | train () | 
| trains the HMM; initial probabilities and emission probabilities of the emitting states should be set  More... | |
| void | setInitialTransitionProbability (const String &state, DoubleReal prob) | 
| sets the initial transition probability of the given state to prob  More... | |
| void | clearInitialTransitionProbabilities () | 
| clears the initial probabilities  More... | |
| void | setTrainingEmissionProbability (const String &state, DoubleReal prob) | 
| sets the emission probability of the given state to prob  More... | |
| void | clearTrainingEmissionProbabilities () | 
| clear the emission probabilities  More... | |
| void | enableTransition (const String &s1, const String &s2) | 
| enables a transition; adds s1 to the predecessor list of s2 and s2 to the successor list of s1  More... | |
| void | disableTransition (const String &s1, const String &s2) | 
| disables the transition; deletes the nodes from the predeccessor/successor list repsectively  More... | |
| void | disableTransitions () | 
| disables all transitions  More... | |
| void | calculateEmissionProbabilities (Map< HMMState *, DoubleReal > &emission_probs) | 
| calculates the emission probabilities of the HMM (of course only of the non-hidden states)  More... | |
| void | dump () | 
| writes some stats to cerr  More... | |
| void | forwardDump () | 
| writes some info of the forward "matrix" to cerr  More... | |
| void | estimateUntrainedTransitions () | 
| builds a synonyms structure, needed when synonyms are used  More... | |
| HMMState * | getState (const String &name) | 
| returns the state with the given name  More... | |
| const HMMState * | getState (const String &name) const | 
| returns the state with the given name  More... | |
| void | clear () | 
| clears all data  More... | |
| void | setPseudoCounts (DoubleReal pseudo_counts) | 
| sets the pseudo count that are added instead of zero  More... | |
| DoubleReal | getPseudoCounts () const | 
| returns the pseudo counts  More... | |
| void | setVariableModifications (const StringList &modifications) | 
| Protected Member Functions | |
| void | disableTransition_ (HMMState *s1, HMMState *s2) | 
| disables the transition; deletes the nodes from the predeccessor/successor list repsectively  More... | |
| void | enableTransition_ (HMMState *s1, HMMState *s2) | 
| enables a transition; adds s1 to the predecessor list of s2 and s2 to the successor list of s1  More... | |
| void | setTrainingEmissionProbability_ (HMMState *state, DoubleReal prob) | 
| sets the emission probability of the given state to prob  More... | |
| void | setTransitionProbability_ (HMMState *s1, HMMState *s2, DoubleReal prob) | 
| sets the transition probability of the given states to prob  More... | |
| DoubleReal | getTransitionProbability_ (HMMState *s1, HMMState *s2) const | 
| returns the transition probability of the given states  More... | |
| void | calculateForwardPart_ () | 
| performs the forward algorithm  More... | |
| void | calculateBackwardPart_ () | 
| performs the backward algorithm  More... | |
| DoubleReal | getForwardVariable_ (HMMState *) | 
| returns the forward variable  More... | |
| DoubleReal | getBackwardVariable_ (HMMState *) | 
| returns the backward variable  More... | |
| Private Member Functions | |
| void | copy_ (const HiddenMarkovModel &source) | 
| Private Attributes | |
| Map< HMMState *, Map< HMMState *, DoubleReal > > | trans_ | 
| Map< HMMState *, Map< HMMState *, DoubleReal > > | count_trans_ | 
| Map< HMMState *, Map< HMMState *, std::vector< DoubleReal > > > | count_trans_all_ | 
| Map< HMMState *, Map< HMMState *, std::vector< DoubleReal > > > | train_count_trans_all_ | 
| Map< HMMState *, Map< HMMState *, Size > > | training_steps_count_ | 
| Map< HMMState *, DoubleReal > | forward_ | 
| Map< HMMState *, DoubleReal > | backward_ | 
| Map< String, HMMState * > | name_to_state_ | 
| Map< HMMState *, DoubleReal > | train_emission_prob_ | 
| Map< HMMState *, DoubleReal > | init_prob_ | 
| std::set< HMMState * > | states_ | 
| std::set< std::pair< HMMState *, HMMState * > > | trained_trans_ | 
| Map< String, Map< String, std::pair< String, String > > > | synonym_trans_names_ | 
| Map< HMMState *, Map< HMMState *, std::pair< HMMState *, HMMState * > > > | synonym_trans_ | 
| Map< HMMState *, std::set < HMMState * > > | enabled_trans_ | 
| DoubleReal | pseudo_counts_ | 
| StringList | var_modifications_ | 
Hidden Markov Model implementation of PILIS.
Hidden Markov Model implementation suitable for forward conncected HMMs. The HMM is mostly used within PILIS. For further details have a look at the docs of PILIS.
default constructor
| HiddenMarkovModel | ( | const HiddenMarkovModel & | hmm_new | ) | 
copy constructor
| 
 | virtual | 
destructor
| void addNewState | ( | HMMState * | state | ) | 
registers a new state to the HMM
| void addNewState | ( | const String & | name | ) | 
registers a new state to the HMM
| void addSynonymTransition | ( | const String & | name1, | 
| const String & | name2, | ||
| const String & | synonym1, | ||
| const String & | synonym2 | ||
| ) | 
add a new synonym transition to the given state names
| 
 | protected | 
performs the backward algorithm
| void calculateEmissionProbabilities | ( | Map< HMMState *, DoubleReal > & | emission_probs | ) | 
calculates the emission probabilities of the HMM (of course only of the non-hidden states)
| 
 | protected | 
performs the forward algorithm
| void clear | ( | ) | 
clears all data
| void clearInitialTransitionProbabilities | ( | ) | 
clears the initial probabilities
| void clearTrainingEmissionProbabilities | ( | ) | 
clear the emission probabilities
| 
 | private | 
disables the transition; deletes the nodes from the predeccessor/successor list repsectively
disables the transition; deletes the nodes from the predeccessor/successor list repsectively
| void disableTransitions | ( | ) | 
disables all transitions
| void dump | ( | ) | 
writes some stats to cerr
enables a transition; adds s1 to the predecessor list of s2 and s2 to the successor list of s1
enables a transition; adds s1 to the predecessor list of s2 and s2 to the successor list of s1
| void estimateUntrainedTransitions | ( | ) | 
builds a synonyms structure, needed when synonyms are used
estimates the transition probabilities of not trained transitions by averages similar trained ones
| void evaluate | ( | ) | 
evaluate the HMM, estimates the transition probabilities from the training
| void forwardDump | ( | ) | 
writes some info of the forward "matrix" to cerr
| 
 | protected | 
returns the backward variable
| 
 | protected | 
returns the forward variable
| Size getNumberOfStates | ( | ) | const | 
return the number of states
| DoubleReal getPseudoCounts | ( | ) | const | 
returns the pseudo counts
| DoubleReal getTransitionProbability | ( | const String & | s1, | 
| const String & | s2 | ||
| ) | const | 
returns the transition probability of the given state names
| 
 | protected | 
returns the transition probability of the given states
| HiddenMarkovModel& operator= | ( | const HiddenMarkovModel & | ) | 
assignment operator
| void setInitialTransitionProbability | ( | const String & | state, | 
| DoubleReal | prob | ||
| ) | 
sets the initial transition probability of the given state to prob
| void setPseudoCounts | ( | DoubleReal | pseudo_counts | ) | 
sets the pseudo count that are added instead of zero
| void setTrainingEmissionProbability | ( | const String & | state, | 
| DoubleReal | prob | ||
| ) | 
sets the emission probability of the given state to prob
| 
 | protected | 
sets the emission probability of the given state to prob
| void setTransitionProbability | ( | const String & | s1, | 
| const String & | s2, | ||
| DoubleReal | prob | ||
| ) | 
sets the transition probability of the given state names to prob
| 
 | protected | 
sets the transition probability of the given states to prob
| void setVariableModifications | ( | const StringList & | modifications | ) | 
| void train | ( | ) | 
trains the HMM; initial probabilities and emission probabilities of the emitting states should be set
| void write | ( | std::ostream & | out | ) | const | 
writes the HMM into an outstream
| void writeGraphMLFile | ( | const String & | filename | ) | 
writes the HMM into a file in GraphML format
Accessors A detailed description of the GraphML format can be found under http://graphml.graphdrawing.org/
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| OpenMS / TOPP release 1.11.1 | Documentation generated on Thu Nov 14 2013 11:19:26 using doxygen 1.8.5 |