39 #ifndef _MIXTUREOFASUBSTITUTIONMODEL_H_ 40 #define _MIXTUREOFASUBSTITUTIONMODEL_H_ 44 #include <Bpp/Numeric/Prob/DiscreteDistribution.h> 45 #include <Bpp/Numeric/VectorTools.h> 112 const Alphabet* alpha,
114 std::map<std::string, DiscreteDistribution*> parametersDistributionsList,
115 int ffrom = -1,
int tto = -1) throw (Exception);
126 std::string
getName()
const {
return "MixedModel"; }
148 void setFreq(std::map<int, double>&);
156 const DiscreteDistribution*
getDistribution(std::string& parName)
const;
169 #endif // _MIXTUREOFASUBSTITUTIONMODEL_H_ Vint getSubmodelNumbers(std::string &desc) const
Interface for all substitution models.
MixtureOfASubstitutionModel * clone() const
int from() const
Numbers of the states between which the substitution rates of all the submodels must be equal...
std::map< std::string, DiscreteDistribution * > distributionMap_
Partial implementation for Mixed Substitution models, defined as a mixture of "simple" substitution m...
void updateMatrices()
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
Substitution models defined as a mixture of nested substitution models.
std::string getName() const
Get the name of the model.
const DiscreteDistribution * getDistribution(std::string &parName) const
returns the DiscreteDistribution associated with a given parameter name.
MixtureOfASubstitutionModel(const Alphabet *alpha, SubstitutionModel *model, std::map< std::string, DiscreteDistribution *> parametersDistributionsList, int ffrom=-1, int tto=-1)
void setFreq(std::map< int, double > &)
sets the eq frequencies of the first nested model, and adapts the parameters at best to it (surely th...