5 #ifndef BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_SEQUENCEPHYLOLIKELIHOOD_H
6 #define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_SEQUENCEPHYLOLIKELIHOOD_H
16 #include "../SequenceEvolution.h"
67 std::shared_ptr<SequenceEvolution> se,
73 (se->getSubstitutionProcessNumbers().size() != 0) ? se->substitutionProcess(se->getSubstitutionProcessNumbers()[0]).
getNumberOfStates() : 0, nData),
118 if (
seqEvol_->getSubstitutionProcessNumbers().size() == 0)
121 return seqEvol_->substitutionProcess(
seqEvol_->getSubstitutionProcessNumbers()[0]).getModel(0, 0)->getAlphabet();
133 std::shared_ptr<SequenceEvolution> se,
152 AbstractParametrizable::operator=(apspl);
159 seqEvol_->matchParametersValues(parameters);
163 void setData(std::shared_ptr<const AlignmentDataInterface> sites,
size_t nData = 0)
override
176 return seqEvol_->getNonDerivableParameters();
181 return seqEvol_->getBranchLengthParameters(
true);
186 return seqEvol_->getBranchLengthParameters(
true);
191 return seqEvol_->getRootFrequenciesParameters(
true);
196 return seqEvol_->getRateDistributionParameters(
true);
201 return seqEvol_->getSubstitutionModelParameters(
true);
206 return seqEvol_->getSubstitutionProcessParameters(
true);
ParameterList getRootFrequenciesParameters() const override
Get the independent parameters associated to the root frequencies(s).
virtual void fireParameterChanged(const ParameterList ¶meters) override
AbstractParametrizableSequencePhyloLikelihood(Context &context, std::shared_ptr< SequenceEvolution > se, size_t nSE=0, size_t nData=0)
ParameterList getDerivableParameters() const override
void setData(std::shared_ptr< const AlignmentDataInterface > sites, size_t nData=0) override
Set the dataset for which the likelihood must be evaluated.
ParameterList getBranchLengthParameters() const override
Get the independent branch lengths parameters.
ParameterList getNonDerivableParameters() const override
void setNamespace(const std::string &nameSpace) override
virtual ParameterList getSubstitutionProcessParameters() const
AbstractParametrizableSequencePhyloLikelihood(const AbstractParametrizableSequencePhyloLikelihood &apspl)
ParameterList getSubstitutionModelParameters() const override
Get the independent parameters associated to substitution model(s).
ParameterList getRateDistributionParameters() const override
Get the independent parameters associated to the rate distribution(s).
AbstractParametrizableSequencePhyloLikelihood & operator=(const AbstractParametrizableSequencePhyloLikelihood &apspl)
virtual void addParameters_(const ParameterList ¶meters)
const Context & context() const override
size_t nSeqEvol_
the Sequence Evolution number
AbstractSequencePhyloLikelihood & operator=(const AbstractSequencePhyloLikelihood &aspl)
AbstractSequencePhyloLikelihood(const AbstractSequencePhyloLikelihood &aspl)
std::shared_ptr< const Alphabet > getAlphabet() const override
Get the alphabet associated to the dataset.
const SequenceEvolution & sequenceEvolution() const override
The Sequence Evolution.
AbstractSequencePhyloLikelihood(Context &context, std::shared_ptr< SequenceEvolution > se, size_t nSE=0, size_t nData=0)
const size_t getSequenceEvolutionNumber() const override
std::shared_ptr< const SequenceEvolution > getSequenceEvolution() const override
std::shared_ptr< SequenceEvolution > seqEvol_
the Sequence Evolution
AbstractSingleDataPhyloLikelihood & operator=(const AbstractSingleDataPhyloLikelihood &asdpl)
virtual void setData(std::shared_ptr< const AlignmentDataInterface > sites, size_t nData=0)
Set the dataset for which the likelihood must be evaluated.
size_t getNumberOfStates() const
Get the number the states.
Context for dataflow node construction.
This interface describes the evolution process of a sequence.
PhyloLikelihoods based on Sequence Evolution class, ie for which there is a (set of) processes able t...
virtual const size_t getSequenceEvolutionNumber() const =0
virtual const SequenceEvolution & sequenceEvolution() const =0
The Sequence Evolution.
SequencePhyloLikelihoodInterface * clone() const override=0
virtual ~SequencePhyloLikelihoodInterface()
virtual std::shared_ptr< const SequenceEvolution > getSequenceEvolution() const =0
The SingleDataPhyloLikelihood interface, for phylogenetic likelihood.
Defines the basic types of data flow nodes.