bpp-phyl3  3.0.0
CodonSubstitutionModel.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_CODONSUBSTITUTIONMODEL_H
6 #define BPP_PHYL_MODEL_CODON_CODONSUBSTITUTIONMODEL_H
7 
8 
9 // From bpp-seq:
11 #include "../SubstitutionModel.h"
12 #include "../FrequencySet/CodonFrequencySet.h"
13 
14 namespace bpp
15 {
23  public virtual ParameterAliasable
24 {
25 public:
28 
29  virtual CoreCodonSubstitutionModelInterface* clone() const override = 0;
30 
31 public:
38  virtual double getCodonsMulRate(size_t, size_t) const = 0;
39 
40  virtual const CodonFrequencySetInterface& codonFrequencySet() const = 0;
41 
42  virtual bool hasCodonFrequencySet() const = 0;
43 
44  virtual void setFreq(std::map<int, double>& frequencies) = 0;
45 };
46 
47 
50  public virtual SubstitutionModelInterface
51 {
52 public:
55 
56  virtual CodonSubstitutionModelInterface* clone() const override = 0;
57 
58  virtual std::shared_ptr<const GeneticCode> getGeneticCode() const = 0;
59 };
60 
61 
67  public virtual CodonSubstitutionModelInterface,
69 {
70 public:
73 
74  virtual CodonReversibleSubstitutionModelInterface* clone() const override = 0;
75 };
76 } // end of namespace bpp.
77 #endif // BPP_PHYL_MODEL_CODON_CODONSUBSTITUTIONMODEL_H
Parametrize a set of state frequencies for codons.
Interface for reversible codon models.
virtual CodonReversibleSubstitutionModelInterface * clone() const override=0
virtual std::shared_ptr< const GeneticCode > getGeneticCode() const =0
virtual CodonSubstitutionModelInterface * clone() const override=0
virtual CoreCodonSubstitutionModelInterface * clone() const override=0
virtual void setFreq(std::map< int, double > &frequencies)=0
virtual double getCodonsMulRate(size_t, size_t) const =0
Returns the multiplicative rate specific to two codons specified by their number. The respective gene...
virtual const CodonFrequencySetInterface & codonFrequencySet() const =0
virtual bool hasCodonFrequencySet() const =0
Interface for reversible substitution models.
Interface for all substitution models.
Defines the basic types of data flow nodes.