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... | |
double | 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, double 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, double 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, double 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 predecessor/successor list respectively More... | |
void | disableTransitions () |
disables all transitions More... | |
void | calculateEmissionProbabilities (Map< HMMState *, double > &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 (double pseudo_counts) |
sets the pseudo count that are added instead of zero More... | |
double | 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 predecessor/successor list respectively 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, double prob) |
sets the emission probability of the given state to prob More... | |
void | setTransitionProbability_ (HMMState *s1, HMMState *s2, double prob) |
sets the transition probability of the given states to prob More... | |
double | 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... | |
double | getForwardVariable_ (HMMState *) |
returns the forward variable More... | |
double | getBackwardVariable_ (HMMState *) |
returns the backward variable More... | |
Private Member Functions | |
void | copy_ (const HiddenMarkovModel &source) |
Private Attributes | |
Map< HMMState *, Map< HMMState *, double > > | trans_ |
Map< HMMState *, Map< HMMState *, double > > | count_trans_ |
Map< HMMState *, Map< HMMState *, std::vector< double > > > | count_trans_all_ |
Map< HMMState *, Map< HMMState *, std::vector< double > > > | train_count_trans_all_ |
Map< HMMState *, Map< HMMState *, Size > > | training_steps_count_ |
Map< HMMState *, double > | forward_ |
Map< HMMState *, double > | backward_ |
Map< String, HMMState * > | name_to_state_ |
Map< HMMState *, double > | train_emission_prob_ |
Map< HMMState *, double > | 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_ |
double | pseudo_counts_ |
StringList | var_modifications_ |
Hidden Markov Model implementation of PILIS.
Hidden Markov Model implementation suitable for forward connected 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
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 predecessor/successor list respectively
disables the transition; deletes the nodes from the predecessor/successor list respectively
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
Size getNumberOfStates | ( | ) | const |
return the number of states
double getPseudoCounts | ( | ) | const |
returns the pseudo counts
returns the transition probability of the given state names
returns the transition probability of the given states
HiddenMarkovModel& operator= | ( | const HiddenMarkovModel & | ) |
assignment operator
sets the initial transition probability of the given state to prob
void setPseudoCounts | ( | double | pseudo_counts | ) |
sets the pseudo count that are added instead of zero
sets the emission probability of the given state to prob
sets the emission probability of the given state to prob
sets the transition probability of the given state names to prob
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 |
OpenMS / TOPP release 2.3.0 | Documentation generated on Tue Jan 9 2018 18:22:09 using doxygen 1.8.13 |