5 #include "../DataFlow/CollectionNodes.h"
13 MultiProcessSequencePhyloLikelihood::MultiProcessSequencePhyloLikelihood(
14 std::shared_ptr<const AlignmentDataInterface> data,
15 std::shared_ptr<MultiProcessSequenceEvolution> processSeqEvol,
16 std::shared_ptr<CollectionNodes> collNodes,
23 mSeqEvol_(processSeqEvol),
29 const vector<size_t>& nProc = processSeqEvol->getSubstitutionProcessNumbers();
33 auto liksing = std::make_shared<LikelihoodCalculationSingleProcess>(collNodes,
36 liksing->makeLikelihoods();
59 for (
size_t i = 0; i < l.size(); ++i)
63 for (
size_t c = 0; c < l_i->size(); ++c)
size_t getNumberOfSites() const
Get the number of sites in the dataset.
virtual void shareParameters_(const ParameterList ¶meters)
virtual void setData(std::shared_ptr< const AlignmentDataInterface > sites, size_t nData=0)
Set the dataset for which the likelihood must be evaluated.
std::vector< std::shared_ptr< LikelihoodCalculationSingleProcess > > vLikCal_
size_t getNumberOfSubstitutionProcess() const
Return the number of process used for computation.
void setData(std::shared_ptr< const AlignmentDataInterface > sites, size_t nData=0) override
Set the dataset for which the likelihood must be evaluated.
DataLik getLikelihoodForASiteForAProcess(size_t site, size_t p) const
Get the likelihood for a site for a process.
VVdouble getLikelihoodPerSitePerProcess() const
Defines the basic types of data flow nodes.
std::vector< double > Vdouble
double convert(const bpp::ExtendedFloat &ef)
std::vector< Vdouble > VVdouble