5 #ifndef BPP_PHYL_MODEL_CODON_KRONECKERCODONDISTANCEFREQUENCIESSUBSTITUTIONMODEL_H
6 #define BPP_PHYL_MODEL_CODON_KRONECKERCODONDISTANCEFREQUENCIESSUBSTITUTIONMODEL_H
74 std::shared_ptr<const GeneticCode> gCode,
75 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod,
76 std::unique_ptr<CodonFrequencySetInterface> pfreq,
77 std::shared_ptr<const AlphabetIndex2> pdist =
nullptr);
94 std::shared_ptr<const GeneticCode> gCode,
95 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod,
96 const std::vector<std::set< size_t>>& vPos,
97 std::unique_ptr<CodonFrequencySetInterface> pfreq,
98 std::shared_ptr<const AlphabetIndex2> pdist =
nullptr);
117 std::shared_ptr<const GeneticCode> gCode,
118 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod1,
119 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod2,
120 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod3,
121 std::unique_ptr<CodonFrequencySetInterface> pfreq,
122 std::shared_ptr<const AlphabetIndex2> pdist =
nullptr);
141 std::shared_ptr<const GeneticCode> gCode,
142 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod1,
143 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod2,
144 std::unique_ptr<NucleotideSubstitutionModelInterface> pmod3,
145 const std::vector<std::set< size_t>>& vPos,
146 std::unique_ptr<CodonFrequencySetInterface> pfreq,
147 std::shared_ptr<const AlphabetIndex2> pdist =
nullptr);
159 std::string
getName()
const override;
165 void setFreq(std::map<int, double>& frequencies)
override;
Abstract class for modelling of non-synonymous and synonymous substitution rates in codon models.
Abstract Class for substitution models on codons parametrized by frequencies.
const CodonFrequencySetInterface & codonFrequencySet() const override
bool hasCodonFrequencySet() const override
Abstract class for substitution models on codons allowing multiple substitutions.
Parametrize a set of state frequencies for codons.
Class for non-synonymous substitution models on codons with parameterized equilibrium frequencies and...
void setFreq(std::map< int, double > &frequencies) override
virtual ~KroneckerCodonDistanceFrequenciesSubstitutionModel()
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...
bool hasCodonFrequencySet() const override
KroneckerCodonDistanceFrequenciesSubstitutionModel * clone() const override
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
const CodonFrequencySetInterface & codonFrequencySet() const override
Defines the basic types of data flow nodes.