5 #ifndef BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_HMMOFALIGNEDPHYLOLIKELIHOOD_H
6 #define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_HMMOFALIGNEDPHYLOLIKELIHOOD_H
34 std::shared_ptr<HmmPhyloAlphabet>
hma_;
36 std::shared_ptr<FullHmmTransitionMatrix>
htm_;
38 std::shared_ptr<HmmPhyloEmissionProbabilities>
hpep_;
40 mutable std::shared_ptr<HmmLikelihood_DF>
hmm_;
45 std::shared_ptr<PhyloLikelihoodContainer> pC,
46 const std::vector<size_t>& nPhylo,
47 bool inCollection =
true);
80 void setNamespace(
const std::string& nameSpace)
override;
127 auto mat =
hmm_->getHiddenStatesPosteriorProbabilities().transpose();
135 auto mat =
hmm_->getHiddenStatesPosteriorProbabilitiesForASite(site);
142 return hmm_->getHmmTransitionMatrix();
The AlignedPhyloLikelihoodSet abstract class.
AbstractAlignedPhyloLikelihoodSet & operator=(const AbstractAlignedPhyloLikelihoodSet &soap)
The PhyloLikelihoodSet class, to manage a subset of PhyloLikelihoods from a given PhyloLikelihoodCont...
const Context & context() const override
Likelihood framework based on a hmm of simple likelihoods.
std::shared_ptr< HmmPhyloEmissionProbabilities > hpep_
AlignedLikelihoodCalculation & alignedLikelihoodCalculation() const override
std::shared_ptr< LikelihoodCalculation > getLikelihoodCalculation() const override
AlignedPhyloLikelihoodHmm(Context &context, std::shared_ptr< PhyloLikelihoodContainer > pC, const std::vector< size_t > &nPhylo, bool inCollection=true)
void fireParameterChanged(const ParameterList ¶meters) override
Vdouble getPosteriorProbabilitiesForASitePerAligned(size_t site) const
AlignedPhyloLikelihoodHmm & operator=(const AlignedPhyloLikelihoodHmm &mlc)
std::shared_ptr< FullHmmTransitionMatrix > htm_
std::shared_ptr< const HmmPhyloAlphabet > getHmmStateAlphabet() const
const HmmPhyloAlphabet hmmStateAlphabet() const
std::shared_ptr< HmmLikelihood_DF > hmm_
VVdouble getPosteriorProbabilitiesPerSitePerAligned() const
std::shared_ptr< HmmPhyloAlphabet > hma_
void setNamespace(const std::string &nameSpace) override
const Eigen::MatrixXd & getHmmTransitionMatrix() const
std::shared_ptr< AlignedLikelihoodCalculation > getAlignedLikelihoodCalculation() const override
AlignedPhyloLikelihoodHmm * clone() const override
virtual ~AlignedPhyloLikelihoodHmm()
LikelihoodCalculation & likelihoodCalculation() const override
AlignedPhyloLikelihoodHmm(const AlignedPhyloLikelihoodHmm &mlc)
Context for dataflow node construction.
Defines the basic types of data flow nodes.
std::vector< double > Vdouble
template void copyEigenToBpp(const ExtendedFloatMatrixXd &eigenMatrix, std::vector< std::vector< double >> &bppMatrix)
std::vector< Vdouble > VVdouble