7 #include "../FrequencySet/ProteinFrequencySet.h"
8 #include "../MixtureOfSubstitutionModels.h"
17 std::shared_ptr<const ProteicAlphabet> alpha,
28 vector<unique_ptr<TransitionModelInterface>> vpSM;
29 for (
unsigned int i = 1; i < nbCat + 1; ++i)
31 vpSM.push_back(make_unique<LGL08_CAT::EmbeddedModel>(alpha,
"C" +
TextTools::toString(i), nbCat));
39 vrate.push_back(vi->getRate());
46 for (
unsigned int i = 0; i < pl.
size(); ++i)
48 name = pl[i].getName();
54 mixedModelPtr_->parameter(st).hasConstraint() ? shared_ptr<ConstraintInterface>(
mixedModelPtr_->parameter(st).getConstraint()->clone()) : 0));
63 std::shared_ptr<const ProteicAlphabet> alpha,
72 for (
unsigned int i = 0; i < 20; ++i)
74 for (
unsigned int j = 0; j < 20; ++j)
86 #include "__CATC10FrequenciesCode"
87 #include "__CATC10RatesProps"
91 #include "__CATC20FrequenciesCode"
92 #include "__CATC20RatesProps"
96 #include "__CATC30FrequenciesCode"
97 #include "__CATC30RatesProps"
101 #include "__CATC40FrequenciesCode"
102 #include "__CATC40RatesProps"
104 else if (nbCat == 50)
106 #include "__CATC50FrequenciesCode"
107 #include "__CATC50RatesProps"
109 else if (nbCat == 60)
111 #include "__CATC60FrequenciesCode"
112 #include "__CATC60RatesProps"
115 throw Exception(
"LGL08_CAT.cpp: incorrect number of profiles. This number has to be 10, 20, 30, 40, 50 or 60.");
Abstract class for mixture models based on the bibliography.
std::unique_ptr< MixedTransitionModelInterface > mixedModelPtr_
Partial implementation of the SubstitutionModel interface for models that are set for matching the bi...
std::map< std::string, std::string > mapParNamesFromPmodel_
Tools to make the link between the Parameters of the object and those of pmixmodel_.
ParameterList lParPmodel_
virtual void updateMatrices_()
void addParameter_(Parameter *parameter)
Specialisation abstract class for reversible protein substitution model.
virtual void updateMatrices_() override
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
RowMatrix< double > exchangeability_
The exchangeability matrix of the model, defined as . When the model is reversible,...
Abstract class of Wrapping model class, where all methods are redirected from model().
This class implements a state map where all resolved states are modeled.
EmbeddedModel(std::shared_ptr< const ProteicAlphabet > alpha, std::string name, unsigned int nbCat=10)
LGL08_CAT(std::shared_ptr< const ProteicAlphabet > alpha, unsigned int nbCat=10)
Build a CAT model, with original equilibrium frequencies, probabilities and rates.
virtual void addParameter(const Parameter ¶m)
std::string toString(T t)
Defines the basic types of data flow nodes.
std::vector< double > Vdouble