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 |