5 #ifndef BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_HMMLIKELIHOOD_DF_H
6 #define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_HMMLIKELIHOOD_DF_H
12 #include "../DataFlow/LikelihoodCalculation.h"
13 #include "../DataFlow/TransitionMatrix.h"
56 std::shared_ptr<ConfiguredTransitionMatrix>
matrix_;
121 std::shared_ptr<HmmStateAlphabet> hiddenAlphabet,
122 std::shared_ptr<HmmTransitionMatrix> transitionMatrix,
123 std::shared_ptr<HmmPhyloEmissionProbabilities> emissionProbabilities,
124 const std::string& prefix =
"");
179 return mat.col(Eigen::Index(site));
186 return hmmEmis_->accessValueConst().col(
int(site)).dot(vec);
void setParametersValues(const ParameterList ¶meters) override
Context for dataflow node construction.
A simple implementation of hidden Markov models recursion, in DataFlow implementation.
Eigen::VectorXd getHiddenStatesPosteriorProbabilitiesForASite(size_t site) const
const Eigen::MatrixXd & getHiddenStatesPosteriorProbabilities() const
ValueRef< Eigen::MatrixXd > hmmTrans_
void setNamespace(const std::string &nameSpace)
HmmLikelihood_DF * clone() const
HmmLikelihood_DF(Context &context, std::shared_ptr< HmmStateAlphabet > hiddenAlphabet, std::shared_ptr< HmmTransitionMatrix > transitionMatrix, std::shared_ptr< HmmPhyloEmissionProbabilities > emissionProbabilities, const std::string &prefix="")
Build a new HmmLikelihood_DF object.
ValueRef< RowLik > forwardLik_
std::shared_ptr< HmmStateAlphabet > hiddenAlphabet_
The alphabet describing the hidden states.
DataLik getLikelihoodForASite(size_t site) const
const Eigen::MatrixXd & getHmmTransitionMatrix() const
std::shared_ptr< HmmPhyloEmissionProbabilities > emissionProbabilities_
HmmPhyloEmissionProbabilities & getHmmEmissionProbabilities()
ValueRef< MatrixLik > hmmEmis_
const HmmPhyloEmissionProbabilities & getHmmEmissionProbabilities() const
ValueRef< Eigen::MatrixXd > hiddenPostProb_
virtual ~HmmLikelihood_DF()
void setParameters(const ParameterList &pl)
const HmmStateAlphabet & hmmStateAlphabet() const
ValueRef< Eigen::MatrixXd > backwardLik_
std::shared_ptr< ConfiguredTransitionMatrix > matrix_
ValueRef< Eigen::VectorXd > hmmEq_
HmmLikelihood_DF(const HmmLikelihood_DF &lik)
HmmStateAlphabet & hmmStateAlphabet()
Emission probabilities in the context of DF phylolikeihoods.
Defines the basic types of data flow nodes.
std::shared_ptr< Value< T > > ValueRef
Shared pointer alias for Value<T>.