5 #ifndef BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_HMMPHYLOALPHABET_H
6 #define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_HMMPHYLOALPHABET_H
35 std::vector<std::shared_ptr<AlignedPhyloLikelihoodInterface>>
vAP_;
48 for (
size_t i = 0; i < nphyl.size(); ++i)
66 for (
size_t i = 0; i < nb; i++)
73 else if (
nbSites_ != spl->getNumberOfSites())
74 throw BadSizeException(
"HmmPhyloAlphabet::HmmPhyloAlphabet : different numbers of sites", spl->getNumberOfSites(),
nbSites_);
103 return *
vAP_[stateIndex];
108 return *
vAP_[stateIndex];
113 return vAP_[stateIndex];
136 return &stateAlphabet ==
this;
virtual void includeParameters_(const ParameterList ¶meters)
const ParameterList & getParameters() const override
The AlignedPhyloLikelihood interface, for phylogenetic likelihood.
virtual size_t getNumberOfSites() const =0
Get the number of sites in the dataset.
Joint interface SetOf+Aligned PhylLikelihood.
virtual std::shared_ptr< const AlignedPhyloLikelihoodInterface > getAlignedPhyloLikelihood(size_t nPhyl) const =0
Context for dataflow node construction.
std::shared_ptr< const AlignedPhyloLikelihoodInterface > getAlignedPhyloLikelihood(size_t stateIndex) const
bool worksWith(const HmmStateAlphabet &stateAlphabet) const override
Tell if this instance can work with the instance of alphabet given as input.
HmmPhyloAlphabet * clone() const override
virtual ~HmmPhyloAlphabet()
HmmPhyloAlphabet(const HmmPhyloAlphabet &hpa)
const AlignedPhyloLikelihoodInterface & alignedPhyloLikelihood(size_t stateIndex) const
size_t getNumberOfSites() const
HmmPhyloAlphabet(AlignedPhyloLikelihoodSetInterface &soap)
HmmPhyloAlphabet(MultiProcessSequencePhyloLikelihood &mpsp)
const Clonable & getState(size_t stateIndex) const override
std::vector< std::shared_ptr< AlignedPhyloLikelihoodInterface > > vAP_
vector of aligned phylolikelihoods. These phylolikelihoods are not owned by the alphabet.
size_t getNumberOfStates() const override
Partial implementation of the Likelihood interface for multiple processes.
size_t getNumberOfSubstitutionProcess() const
Return the number of process used for computation.
std::shared_ptr< LikelihoodCalculationSingleProcess > getLikelihoodCalculationForAProcess(size_t p)
virtual const std::vector< size_t > & getNumbersOfPhyloLikelihoods() const =0
Defines the basic types of data flow nodes.