bpp-phyl3  3.0.0
LLG08_EX3.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_PROTEIN_LLG08_EX3_H
6 #define BPP_PHYL_MODEL_PROTEIN_LLG08_EX3_H
7 
8 
9 #include "../AbstractBiblioMixedTransitionModel.h"
10 #include "../AbstractSubstitutionModel.h"
11 #include "../MixtureOfSubstitutionModels.h"
13 
14 using namespace std;
15 
16 namespace bpp
17 {
44 class LLG08_EX3 :
46 {
47 public:
48  class EmbeddedModel :
50  {
51 private:
52  double proportion_;
53  string name_;
54 
55 public:
56  EmbeddedModel(std::shared_ptr<const ProteicAlphabet> alpha, string name);
57  EmbeddedModel* clone() const override { return new EmbeddedModel(*this); }
58  string getName() const override { return name_;}
59  double getProportion() const { return proportion_;}
60  };
61 
62 public:
68  LLG08_EX3(std::shared_ptr<const ProteicAlphabet> alpha);
69 
70  LLG08_EX3* clone() const override { return new LLG08_EX3(*this); }
71 
72  std::string getName() const override { return "LLG08_EX3"; }
73 };
74 } // end of namespace bpp.
75 #endif // BPP_PHYL_MODEL_PROTEIN_LLG08_EX3_H
Abstract class for mixture models based on the bibliography.
Specialisation abstract class for reversible protein substitution model.
string getName() const override
Get the name of the model.
Definition: LLG08_EX3.h:58
double getProportion() const
Definition: LLG08_EX3.h:59
EmbeddedModel * clone() const override
Definition: LLG08_EX3.h:57
The Le et al (2008) EX3 substitution model for proteins.
Definition: LLG08_EX3.h:46
LLG08_EX3 * clone() const override
Definition: LLG08_EX3.h:70
std::string getName() const override
Get the name of the model.
Definition: LLG08_EX3.h:72
Defines the basic types of data flow nodes.