14 std::shared_ptr<const GeneticCode> gCode,
15 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod,
16 std::unique_ptr<CodonFrequencySetInterface> pfreq,
17 std::shared_ptr<const AlphabetIndex2> pdist) :
20 gCode->getSourceAlphabet(),
22 "KronCodonDistFreq."),
32 std::shared_ptr<const GeneticCode> gCode,
33 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod,
34 const std::vector<std::set<size_t>>& vPos,
35 std::unique_ptr<CodonFrequencySetInterface> pfreq,
36 std::shared_ptr<const AlphabetIndex2> pdist) :
39 gCode->getSourceAlphabet(),
41 "KronCodonDistFreq."),
51 std::shared_ptr<const GeneticCode> gCode,
52 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod1,
53 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod2,
54 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod3,
55 std::unique_ptr<CodonFrequencySetInterface> pfreq,
56 std::shared_ptr<const AlphabetIndex2> pdist) :
59 gCode->getSourceAlphabet(),
61 "KronCodonDistFreq."),
71 std::shared_ptr<const GeneticCode> gCode,
72 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod1,
73 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod2,
74 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod3,
75 const std::vector<std::set< size_t>>& vPos,
76 std::unique_ptr<CodonFrequencySetInterface> pfreq,
77 std::shared_ptr<const AlphabetIndex2> pdist) :
80 gCode->getSourceAlphabet(),
82 "KronCodonDistFreq."),
93 return "KronCodonDistFreq";
Abstract class for modelling of non-synonymous and synonymous substitution rates in codon models.
double getCodonsMulRate(size_t i, size_t j) const override
Returns the multiplicative rate specific to two codons specified by their number. The respective gene...
void fireParameterChanged(const ParameterList ¶meters) override
Abstract Class for substitution models on codons parametrized by frequencies.
void setFreq(std::map< int, double > &frequencies) override
void fireParameterChanged(const ParameterList ¶meters) override
double getCodonsMulRate(size_t, size_t) const override
Returns the multiplicative rate specific to two codons specified by their number. The respective gene...
void setNamespace(const std::string &prefix) override
Abstract class for substitution models on codons allowing multiple substitutions.
virtual double getCodonsMulRate(size_t i, size_t j) const override
Method inherited from CodonSubstitutionModel.
Abstract Kronecker Word Model.
void setNamespace(const std::string &prefix)
bool computeFrequencies() const
virtual void fireParameterChanged(const ParameterList ¶meters) override
Tells the model that a parameter value has changed.
void updateMatrices_()
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
void setNamespace(const std::string &prefix)
This class implements a state map where all resolved states are modeled.
void setFreq(std::map< int, double > &frequencies) override
KroneckerCodonDistanceFrequenciesSubstitutionModel(std::shared_ptr< const GeneticCode > gCode, std::unique_ptr< NucleotideSubstitutionModelInterface > pmod, std::unique_ptr< CodonFrequencySetInterface > pfreq, std::shared_ptr< const AlphabetIndex2 > pdist=nullptr)
Build a new KroneckerCodonDistanceFrequenciesSubstitutionModel object from three pointers to Abstract...
std::string getName() const override
Get the name of the model.
void fireParameterChanged(const ParameterList ¶meterlist) override
double getCodonsMulRate(size_t i, size_t j) const override
Returns the multiplicative rate specific to two codons specified by their number. The respective gene...
void setNamespace(const std::string &) override
Map the states of a given alphabet which have a model state.
Defines the basic types of data flow nodes.