40 #ifndef _LOWMEMORYRESCALEDHMMLIKELIHOOD_H_ 41 #define _LOWMEMORYRESCALEDHMMLIKELIHOOD_H_ 44 #include "../AbstractParametrizable.h" 45 #include "../Matrix/Matrix.h" 112 const std::string& prefix,
113 size_t maxSize = 1000000) throw (
Exception);
137 AbstractParametrizable::operator=(lik);
157 #ifndef NO_VIRTUAL_COV 195 throw (
NotImplementedException(
"LowMemoryRescaledHmmLikelihood::getLikelihoodForASite. This class can't compute posterior probabilities, use RescaledHmmLikelihood instead."));
201 throw (
NotImplementedException(
"LowMemoryRescaledHmmLikelihood::getLikelihoodForEachSite. This class can't compute posterior probabilities, use RescaledHmmLikelihood instead."));
206 throw (
NotImplementedException(
"LowMemoryRescaledHmmLikelihood::getHiddenStatesPosteriorProbabilitiesForASite. This class can't compute posterior probabilities, use RescaledHmmLikelihood instead."));
211 throw (
NotImplementedException(
"LowMemoryRescaledHmmLikelihood::getHiddenStatesPosteriorProbabilities. This class can't compute posterior probabilities, use RescaledHmmLikelihood instead."));
230 #endif // _LOWMEMORYRESCALEDHMMLIKELIHOOD_H_
const HmmStateAlphabet & getHmmStateAlphabet() const
HmmStateAlphabet & getHmmStateAlphabet()
const std::vector< size_t > & getBreakPoints() const
void getHiddenStatesPosteriorProbabilities(std::vector< std::vector< double > > &probs, bool append=false) const
Vdouble getHiddenStatesPosteriorProbabilitiesForASite(size_t site) const
This class allows to perform a correspondence analysis.
std::auto_ptr< HmmStateAlphabet > hiddenAlphabet_
The alphabet describing the hidden states.
std::auto_ptr< HmmEmissionProbabilities > emissionProbabilities_
A partial implementation of the Parametrizable interface.
std::auto_ptr< HmmTransitionMatrix > transitionMatrix_
A modified implementation of the RescaledHmmLikelihood implementation, with lower memory usage...
Interface for computing emission probabilities in a Hidden Markov Model.
virtual ~LowMemoryRescaledHmmLikelihood()
The parameter list object.
Vdouble getLikelihoodForEachSite() const
Get the likelihood for each site.
This expeption is sent when a given method is not implemented.
void computeDLikelihood_() const
const HmmTransitionMatrix & getHmmTransitionMatrix() const
HmmEmissionProbabilities & getHmmEmissionProbabilities()
std::vector< double > Vdouble
double getLikelihoodForASite(size_t site) const
Get the likelihood for a site.
double getLogLikelihood() const
LowMemoryRescaledHmmLikelihood * clone() const
Create a copy of this object and send a pointer to it.
void setParametersValues(const ParameterList ¶meters)
Update the parameters from parameters.
The Clonable interface (allow an object to be cloned).
void setBreakPoints(const std::vector< size_t > &breakPoints)
void computeD2Likelihood_() const
AbstractHmmLikelihood & operator=(const AbstractHmmLikelihood &adhlik)
const HmmEmissionProbabilities & getHmmEmissionProbabilities() const
LowMemoryRescaledHmmLikelihood(HmmStateAlphabet *hiddenAlphabet, HmmTransitionMatrix *transitionMatrix, HmmEmissionProbabilities *emissionProbabilities, const std::string &prefix, size_t maxSize=1000000)
Build a new LowMemoryRescaledHmmLikelihood object.
double getValue() const
Get the value of the function at the current point.
void fireParameterChanged(const ParameterList &pl)
Notify the class when one or several parameters have changed.
std::vector< double > likelihood2_
std::vector< double > likelihood1_
The likelihood array.
HmmTransitionMatrix & getHmmTransitionMatrix()
LowMemoryRescaledHmmLikelihood & operator=(const LowMemoryRescaledHmmLikelihood &lik)
Describe the transition probabilities between hidden states of a Hidden Markov Model.
std::vector< size_t > breakPoints_
void setParameters(const ParameterList &pl)
Set the point where the function must be computed.