5#ifndef BPP_PHYL_MODEL_NUCLEOTIDE_YPR_H
6#define BPP_PHYL_MODEL_NUCLEOTIDE_YPR_H
10#include "../AbstractSubstitutionModel.h"
90 std::unique_ptr<NucleotideSubstitutionModelInterface>
pmodel_;
101 std::shared_ptr<const RNY>,
102 std::unique_ptr<NucleotideSubstitutionModelInterface>
const,
103 const std::string& prefix);
121 double,
double,
double,
double);
142 pmodel_->matchParametersValues(parameters);
180 std::shared_ptr<const RNY> alph,
181 std::unique_ptr<NucleotideSubstitutionModelInterface> pm,
182 double CgT = 0.,
double TgC = 0.,
183 double CaT = 0.,
double TaC = 0.);
191 std::string
getName()
const override;
222 std::shared_ptr<const RNY> alph,
223 std::unique_ptr<NucleotideSubstitutionModelInterface> pm,
224 double CgT = 0.,
double cGA = 0.,
225 double TgC = 0.,
double tGA = 0.,
226 double CaT = 0.,
double cAG = 0.,
227 double TaC = 0.,
double tAG = 0.);
235 std::string
getName()
const override;
AbstractParameterAliasable & operator=(const AbstractParameterAliasable &ap)
AbstractSubstitutionModel & operator=(const AbstractSubstitutionModel &model)
virtual void fireParameterChanged(const ParameterList ¶meters) override
Tells the model that a parameter value has changed.
Specialisation interface for nucleotide substitution model.
Interface for all substitution models.
void updateMatrices_() override
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
YpR_Gen * clone() const override
std::string getName() const override
Get the name of the model.
YpR_Gen(std::shared_ptr< const RNY > alph, std::unique_ptr< NucleotideSubstitutionModelInterface > pm, double CgT=0., double cGA=0., double TgC=0., double tGA=0., double CaT=0., double cAG=0., double TaC=0., double tAG=0.)
Build a new YpR_Gen substitution model.
std::string getName() const override
Get the name of the model.
YpR_Sym(std::shared_ptr< const RNY > alph, std::unique_ptr< NucleotideSubstitutionModelInterface > pm, double CgT=0., double TgC=0., double CaT=0., double TaC=0.)
Build a new YpR_Sym substitution model.
YpR_Sym * clone() const override
void updateMatrices_() override
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
std::string nestedPrefix_
void checkModel(const SubstitutionModelInterface &model) const
virtual void updateMatrices_() override
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
size_t getNumberOfStates() const override
Get the number of states.
void fireParameterChanged(const ParameterList ¶meters) override
Tells the model that a parameter value has changed.
YpR(std::shared_ptr< const RNY >, std::unique_ptr< NucleotideSubstitutionModelInterface > const, const std::string &prefix)
Build a new YpR substitution model, with no dependency parameters.
std::unique_ptr< NucleotideSubstitutionModelInterface > pmodel_
YpR & operator=(const YpR &ypr)
string getNestedPrefix() const
virtual void setNamespace(const std::string &) override
const NucleotideSubstitutionModelInterface & nestedModel() const
Defines the basic types of data flow nodes.