bpp-phyl3  3.0.0
CodonDistancePhaseFrequenciesSubstitutionModel.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
5 #ifndef BPP_PHYL_MODEL_CODON_CODONDISTANCEPHASEFREQUENCIESSUBSTITUTIONMODEL_H
6 #define BPP_PHYL_MODEL_CODON_CODONDISTANCEPHASEFREQUENCIESSUBSTITUTIONMODEL_H
7 
8 
12 
13 namespace bpp
14 {
47 {
48 public:
61  std::shared_ptr<const GeneticCode> gCode,
62  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod,
63  std::unique_ptr<CodonFrequencySetInterface> pfreq,
64  std::shared_ptr<const AlphabetIndex2> pdist = nullptr);
65 
80  std::shared_ptr<const GeneticCode> gCode,
81  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod1,
82  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod2,
83  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod3,
84  std::unique_ptr<CodonFrequencySetInterface> pfreq,
85  std::shared_ptr<const AlphabetIndex2> pdist = nullptr);
86 
88 
90  {
92  }
93 
94 public:
95  void fireParameterChanged(const ParameterList& parameterlist) override;
96 
97  std::string getName() const override;
98 
99  double getCodonsMulRate(size_t i, size_t j) const override;
100 
101  void setNamespace(const std::string&) override;
102 
103  void setFreq(std::map<int, double>& frequencies) override;
104 
106  {
108  }
109 
111 
112  bool hasCodonFrequencySet() const override
113  {
115  }
116 };
117 } // end of namespace bpp.
118 #endif // BPP_PHYL_MODEL_CODON_CODONDISTANCEPHASEFREQUENCIESSUBSTITUTIONMODEL_H
Abstract class for modelling of non-synonymous and synonymous substitution rates in codon models.
Abstract Class for substitution models on codons parametrized by a frequency.
const CodonFrequencySetInterface & codonFrequencySet() const override
Abstract class for substitution models on codons.
Class for asynonymous substitution models on codons with parameterized equilibrium frequencies and nu...
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...
CodonDistancePhaseFrequenciesSubstitutionModel * clone() const override
CodonDistancePhaseFrequenciesSubstitutionModel(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 CodonDistancePhaseFrequenciesSubstitutionModel object from three pointers to AbstractSubs...
Parametrize a set of state frequencies for codons.
Defines the basic types of data flow nodes.