5 #ifndef BPP_PHYL_MODEL_PROTEIN_JCPROT_H
6 #define BPP_PHYL_MODEL_PROTEIN_JCPROT_H
10 #include "../AbstractSubstitutionModel.h"
11 #include "../FrequencySet/ProteinFrequencySet.h"
105 std::unique_ptr<ProteinFrequencySetInterface>
freqSet_;
114 JCprot(std::shared_ptr<const ProteicAlphabet> alpha);
125 std::shared_ptr<const ProteicAlphabet> alpha,
126 std::unique_ptr<ProteinFrequencySetInterface> freqSet,
127 bool initFreqs =
false);
154 double Pij_t (
size_t i,
size_t j,
double d)
const override;
155 double dPij_dt (
size_t i,
size_t j,
double d)
const override;
156 double d2Pij_dt2(
size_t i,
size_t j,
double d)
const override;
168 freqSet_->matchParametersValues(parameters);
void addParameters_(const ParameterList ¶meters)
AbstractParameterAliasable & operator=(const AbstractParameterAliasable &ap)
void setNamespace(const std::string &prefix)
Specialisation abstract class for reversible protein substitution model.
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.
Parametrize a set of state frequencies.
The Jukes-Cantor substitution model for proteins.
const Matrix< double > & getPij_t(double d) const override
const FrequencySetInterface & frequencySet() const override
void setNamespace(const std::string &prefix) override
const Matrix< double > & getd2Pij_dt2(double d) const override
double Pij_t(size_t i, size_t j, double d) const override
double dPij_dt(size_t i, size_t j, double d) const override
double d2Pij_dt2(size_t i, size_t j, double d) const override
JCprot(std::shared_ptr< const ProteicAlphabet > alpha)
Build a simple JC69 model, with original equilibrium frequencies.
void setFreqFromData(const SequenceDataInterface &data, double pseudoCount=0) override
Set equilibrium frequencies equal to the frequencies estimated from the data.
std::unique_ptr< ProteinFrequencySetInterface > freqSet_
JCprot(const JCprot &model)
JCprot & operator=(const JCprot &model)
void setFrequencySet(const ProteinFrequencySetInterface &freqSet)
std::string getName() const override
Get the name of the model.
void updateMatrices_() override
const Matrix< double > & getdPij_dt(double d) const override
JCprot * clone() const override
void fireParameterChanged(const ParameterList ¶meters) override
Tells the model that a parameter value has changed.
Parametrize a set of state frequencies for proteins.
ProteinFrequencySetInterface * clone() const override=0
Defines the basic types of data flow nodes.