bpp-phyl3  3.0.0
RN95s.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_NUCLEOTIDE_RN95S_H
6 #define BPP_PHYL_MODEL_NUCLEOTIDE_RN95S_H
7 
9 
10 #include "../AbstractSubstitutionModel.h"
12 
13 // From SeqLib:
15 
16 namespace bpp
17 {
109 class RN95s :
111 {
112 private:
114 
115 public:
116  RN95s(std::shared_ptr<const NucleicAlphabet> alphabet,
117  double alpha = 0.25,
118  double beta = 0.25,
119  double gamma = 0.25,
120  double delta = 0.25);
121 
122  virtual ~RN95s() {}
123 
124  RN95s* clone() const override { return new RN95s(*this); }
125 
126 public:
127  std::string getName() const override { return "RN95s"; }
128 
132  void setFreq(std::map<int, double>&) override;
133 
134 protected:
135  void updateMatrices_() override;
136 };
137 } // end of namespace bpp.
138 #endif // BPP_PHYL_MODEL_NUCLEOTIDE_RN95S_H
Specialisation abstract class for nucleotide substitution model.
const Alphabet & alphabet() const override
Intersection of models RN95 and L95.
Definition: RN95s.h:111
RN95s * clone() const override
Definition: RN95s.h:124
void setFreq(std::map< int, double > &) override
This method takes the average value between observed and .
Definition: RN95s.cpp:181
double delta_
Definition: RN95s.h:113
std::string getName() const override
Get the name of the model.
Definition: RN95s.h:127
void updateMatrices_() override
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
Definition: RN95s.cpp:47
RN95s(std::shared_ptr< const NucleicAlphabet > alphabet, double alpha=0.25, double beta=0.25, double gamma=0.25, double delta=0.25)
Definition: RN95s.cpp:17
double gamma_
Definition: RN95s.h:113
double alpha_
Definition: RN95s.h:113
virtual ~RN95s()
Definition: RN95s.h:122
double beta_
Definition: RN95s.h:113
Defines the basic types of data flow nodes.