41 #include "../FrequenciesSet/NucleotideFrequenciesSet.h" 43 #include <Bpp/Numeric/Matrix/MatrixTools.h> 46 #include <Bpp/Seq/Container/SequenceContainerTools.h> 57 const NucleicAlphabet* alphabet,
58 double alpha,
double beta,
double gamma,
double kappa,
double theta):
59 AbstractParameterAliasable(
"L95."),
63 addParameter_(
new Parameter(
"L95.alpha", alpha, &Parameter::PROP_CONSTRAINT_IN));
64 addParameter_(
new Parameter(
"L95.beta", beta, &Parameter::PROP_CONSTRAINT_IN));
65 addParameter_(
new Parameter(
"L95.gamma", gamma, &Parameter::PROP_CONSTRAINT_IN));
66 addParameter_(
new Parameter(
"L95.kappa", kappa,
new IntervalConstraint(0, 1000,
false,
false, NumConstants::MILLI()),
true));
67 addParameter_(
new Parameter(
"L95.theta", theta,
new IntervalConstraint(0, 1,
false,
false, NumConstants::MILLI()),
true));
76 alpha_ = getParameterValue(
"alpha");
77 beta_ = getParameterValue(
"beta");
78 gamma_ = getParameterValue(
"gamma");
79 kappa_ = getParameterValue(
"kappa");
80 theta_ = getParameterValue(
"theta");
113 setParameterValue(
"theta",freqs[1]+freqs[2]);
void setFreq(std::map< int, double > &)
This method is redefined to actualize the corresponding parameters theta too.
virtual void updateMatrices()
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
L95(const NucleicAlphabet *alphabet, double alpha=0.5, double beta=0.5, double gamma=0.5, double kappa=1., double theta=0.5)
void updateMatrices()
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
This class implements a state map where all resolved states are modeled.
Vdouble freq_
The vector of equilibrium frequencies.
Partial implementation of the SubstitutionModel interface.
RowMatrix< double > generator_
The generator matrix of the model.