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 |