5 #ifndef BPP_PHYL_MODEL_CODON_YN98_H
6 #define BPP_PHYL_MODEL_CODON_YN98_H
9 #include "../AbstractBiblioSubstitutionModel.h"
59 std::unique_ptr<CodonDistanceFrequenciesSubstitutionModel>
pmodel_;
63 std::shared_ptr<const GeneticCode> gc,
64 std::unique_ptr<CodonFrequencySetInterface> codonFreqs);
75 std::string
getName()
const override {
return "YN98"; }
81 return pmodel_->getGeneticCode();
91 return pmodel_->getCodonsMulRate(i, j);
96 return pmodel_->codonFrequencySet();
101 return pmodel_->hasCodonFrequencySet();
104 void setFreq(std::map<int, double>& frequencies)
override
void setFreq(std::map< int, double > &frequ) override
Set equilibrium frequencies.
const FrequencySetInterface & frequencySet() const override
const FrequencySetInterface & frequencySet() const override
Parametrize a set of state frequencies for codons.
Interface for reversible codon models.
Parametrize a set of state frequencies.
Interface for all substitution models.
The Yang and Nielsen (1998) substitution model for codons.
YN98 & operator=(const YN98 &)
void setFreq(std::map< int, double > &frequencies) override
Set equilibrium frequencies.
const FrequencySetInterface & frequencySet() const override
std::unique_ptr< CodonDistanceFrequenciesSubstitutionModel > pmodel_
YN98 * clone() const override
SubstitutionModelInterface & substitutionModel_() override
std::string getName() const override
Get the name of the model.
bool hasCodonFrequencySet() const override
const CodonFrequencySetInterface & codonFrequencySet() const override
std::shared_ptr< const GeneticCode > getGeneticCode() const 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...
const SubstitutionModelInterface & substitutionModel() const override
YN98(std::shared_ptr< const GeneticCode > gc, std::unique_ptr< CodonFrequencySetInterface > codonFreqs)
Defines the basic types of data flow nodes.