5 #ifndef BPP_PHYL_MODEL_EQUIPROBABLESUBSTITUTIONMODEL_H
6 #define BPP_PHYL_MODEL_EQUIPROBABLESUBSTITUTIONMODEL_H
125 std::shared_ptr<const Alphabet> alpha,
126 std::unique_ptr<FrequencySetInterface> freqSet,
127 bool initFreqs =
false);
152 double Pij_t (
size_t i,
size_t j,
double d)
const override;
153 double dPij_dt (
size_t i,
size_t j,
double d)
const override;
154 double d2Pij_dt2(
size_t i,
size_t j,
double d)
const override;
161 if (
freqSet_->getNamespace().find(
"+F.") != std::string::npos)
169 freqSet_->matchParametersValues(parameters);
183 void setFreq(std::map<int, double>&
freq)
override;
void addParameters_(const ParameterList ¶meters)
AbstractParameterAliasable & operator=(const AbstractParameterAliasable &ap)
Partial implementation of the ReversibleSubstitutionModel interface.
AbstractSubstitutionModel & operator=(const AbstractSubstitutionModel &model)
virtual void fireParameterChanged(const ParameterList ¶meters) override
Tells the model that a parameter value has changed.
Vdouble freq_
The vector of equilibrium frequencies.
virtual double freq(size_t i) const override
The EquiprobableSubstitutionModel substitution model for any kind of alphabet. Jukes-Cantor models ar...
double Pij_t(size_t i, size_t j, double d) const override
std::unique_ptr< FrequencySetInterface > freqSet_
EquiprobableSubstitutionModel & operator=(const EquiprobableSubstitutionModel &model)
const Matrix< double > & getd2Pij_dt2(double d) const override
const FrequencySetInterface & frequencySet() const override
void fireParameterChanged(const ParameterList ¶meters) override
Tells the model that a parameter value has changed.
void setFreq(std::map< int, double > &freq) override
Set equilibrium frequencies.
double d2Pij_dt2(size_t i, size_t j, double d) const override
EquiprobableSubstitutionModel(std::shared_ptr< const Alphabet > alpha)
Build a simple equiprobable model, with original equilibrium frequencies.
EquiprobableSubstitutionModel(const EquiprobableSubstitutionModel &model)
double dPij_dt(size_t i, size_t j, double d) const override
void updateMatrices_() override
void setFrequencySet(const FrequencySetInterface &freqSet)
const Matrix< double > & getdPij_dt(double d) const override
virtual ~EquiprobableSubstitutionModel()
EquiprobableSubstitutionModel * clone() const override
std::string getName() const override
Get the name of the model.
const Matrix< double > & getPij_t(double d) const override
Parametrize a set of state frequencies.
FrequencySetInterface * clone() const =0
Defines the basic types of data flow nodes.