bpp-phyl3 3.0.0
RN95.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_RN95_H
6#define BPP_PHYL_MODEL_NUCLEOTIDE_RN95_H
7
9
10#include "../AbstractSubstitutionModel.h"
12
13// From SeqLib:
15
16namespace bpp
17{
127class RN95 :
129{
130private:
132
133public:
134 RN95(
135 std::shared_ptr<const NucleicAlphabet> alphabet,
136 double alpha = 1,
137 double beta = 1,
138 double gamma = 0.25,
139 double delta = 0.25,
140 double epsilon = 1,
141 double kappa = 0.25,
142 double lambda = 0.25,
143 double sigma = 1);
144
145 virtual ~RN95() {}
146
147 RN95* clone() const override { return new RN95(*this); }
148
149public:
150 std::string getName() const override { return "RN95"; }
151
152 void setFreq(std::map<int, double>&) override;
153
154protected:
155 void updateMatrices_() override;
156};
157} // end of namespace bpp.
158#endif // BPP_PHYL_MODEL_NUCLEOTIDE_RN95_H
Specialisation abstract class for nucleotide substitution model.
const Alphabet & alphabet() const override
The model described by Rhetsky & Nei, where the only hypothesis is that the transversion rates are on...
Definition: RN95.h:129
double beta_
Definition: RN95.h:131
double sigma_
Definition: RN95.h:131
void setFreq(std::map< int, double > &) override
Set equilibrium frequencies.
Definition: RN95.cpp:214
virtual ~RN95()
Definition: RN95.h:145
RN95(std::shared_ptr< const NucleicAlphabet > alphabet, double alpha=1, double beta=1, double gamma=0.25, double delta=0.25, double epsilon=1, double kappa=0.25, double lambda=0.25, double sigma=1)
Definition: RN95.cpp:17
void updateMatrices_() override
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
Definition: RN95.cpp:68
double alpha_
Definition: RN95.h:131
double epsilon_
Definition: RN95.h:131
double kappa_
Definition: RN95.h:131
RN95 * clone() const override
Definition: RN95.h:147
double lambda_
Definition: RN95.h:131
double gamma_
Definition: RN95.h:131
std::string getName() const override
Get the name of the model.
Definition: RN95.h:150
double delta_
Definition: RN95.h:131
Defines the basic types of data flow nodes.