bpp-phyl3  3.0.0
LLG08_UL2.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_UL2_H
6 #define BPP_PHYL_MODEL_PROTEIN_LLG08_UL2_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 {
40 class LLG08_UL2 :
42 {
43 public:
44  class EmbeddedModel :
46  {
47 private:
48  double proportion_;
49  string name_;
50 
51 public:
52  EmbeddedModel(std::shared_ptr<const ProteicAlphabet> alpha, string name);
53  EmbeddedModel* clone() const override { return new EmbeddedModel(*this); }
54  string getName() const override { return name_; }
55  double getProportion() const { return proportion_;}
56  };
57 
58 public:
64  LLG08_UL2(std::shared_ptr<const ProteicAlphabet> alpha);
65 
66  LLG08_UL2* clone() const override { return new LLG08_UL2(*this); }
67 
68  std::string getName() const override { return "LLG08_UL2"; }
69 };
70 } // end of namespace bpp.
71 #endif // BPP_PHYL_MODEL_PROTEIN_LLG08_UL2_H
Abstract class for mixture models based on the bibliography.
Specialisation abstract class for reversible protein substitution model.
EmbeddedModel * clone() const override
Definition: LLG08_UL2.h:53
double getProportion() const
Definition: LLG08_UL2.h:55
string getName() const override
Get the name of the model.
Definition: LLG08_UL2.h:54
The Le et al (2008) UL2 substitution model for proteins.
Definition: LLG08_UL2.h:42
LLG08_UL2 * clone() const override
Definition: LLG08_UL2.h:66
std::string getName() const override
Get the name of the model.
Definition: LLG08_UL2.h:68
Defines the basic types of data flow nodes.