5 #ifndef BPP_PHYL_MODEL_NUCLEOTIDE_GTR_H
6 #define BPP_PHYL_MODEL_NUCLEOTIDE_GTR_H
10 #include "../AbstractSubstitutionModel.h"
107 double a_,
b_,
c_,
d_,
e_,
piA_,
piC_,
piG_,
piT_,
theta_,
theta1_,
theta2_,
p_;
111 std::shared_ptr<const NucleicAlphabet> alpha,
127 std::string
getName()
const override {
return "GTR"; }
132 void setFreq(std::map<int, double>& freqs)
override;
Specialisation abstract class for reversible nucleotide substitution model.
The General Time-Reversible substitution model for nucleotides.
void updateMatrices_() override
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
GTR * clone() const override
std::string getName() const override
Get the name of the model.
GTR(std::shared_ptr< const NucleicAlphabet > alpha, double a=1., double b=1., double c=1., double d=1., double e=1., double piA=0.25, double piC=0.25, double piG=0.25, double piT=0.25)
void setFreq(std::map< int, double > &freqs) override
This method is redefined to actualize the corresponding parameters piA, piT, piG and piC too.
Defines the basic types of data flow nodes.