bpp-phyl3
3.0.0
|
Partial implementation of the TransitionModel interface. More...
#include <Bpp/Phyl/Model/AbstractSubstitutionModel.h>
Public Member Functions | |
AbstractTransitionModel (std::shared_ptr< const Alphabet > alpha, std::shared_ptr< const StateMapInterface > stateMap, const std::string &prefix) | |
AbstractTransitionModel (const AbstractTransitionModel &model)=default | |
AbstractTransitionModel & | operator= (const AbstractTransitionModel &model)=default |
virtual | ~AbstractTransitionModel () |
const Alphabet & | alphabet () const override |
std::shared_ptr< const Alphabet > | getAlphabet () const override |
const StateMapInterface & | stateMap () const override |
std::shared_ptr< const StateMapInterface > | getStateMap () const override |
size_t | getNumberOfStates () const override |
Get the number of states. More... | |
const std::vector< int > & | getAlphabetStates () const override |
std::string | getAlphabetStateAsChar (size_t index) const override |
int | getAlphabetStateAsInt (size_t index) const override |
std::vector< size_t > | getModelStates (int code) const override |
Get the state in the model corresponding to a particular state in the alphabet. More... | |
std::vector< size_t > | getModelStates (const std::string &code) const override |
Get the state in the model corresponding to a particular state in the alphabet. More... | |
const Vdouble & | getFrequencies () const override |
bool | computeFrequencies () const override |
virtual const Matrix< double > & | getPij_t (double t) const override=0 |
virtual const Matrix< double > & | getdPij_dt (double t) const override=0 |
virtual const Matrix< double > & | getd2Pij_dt2 (double t) const override=0 |
virtual double | freq (size_t i) const override |
virtual double | Pij_t (size_t i, size_t j, double t) const override |
virtual double | dPij_dt (size_t i, size_t j, double t) const override |
virtual double | d2Pij_dt2 (size_t i, size_t j, double t) const override |
double | getInitValue (size_t i, int state) const override |
void | setFreqFromData (const SequenceDataInterface &data, double pseudoCount=0) override |
Set equilibrium frequencies equal to the frequencies estimated from the data. More... | |
virtual void | setFreq (std::map< int, double > &freqs) override |
Set equilibrium frequencies. More... | |
const FrequencySetInterface & | frequencySet () const override |
virtual void | fireParameterChanged (const ParameterList ¶meters) override |
Tells the model that a parameter value has changed. More... | |
void | addRateParameter () override |
add a "rate" parameter to the model, that handles the overall rate of the process. More... | |
void | setVerboseLevel (short level) |
short | verboseLevel () const |
virtual double | getRate () const override |
The rate of the substitution process. More... | |
virtual void | setRate (double rate) override |
Set the rate of the model (must be positive). More... | |
const Eigen::VectorXd & | Lik_t (const Eigen::VectorXd &values, double t) const override |
const Eigen::VectorXd & | dLik_dt (const Eigen::VectorXd &values, double t) const override |
const Eigen::VectorXd & | d2Lik_dt2 (const Eigen::VectorXd &values, double t) const override |
TransitionModelInterface * | clone () const =0 |
virtual void | computeFrequencies (bool yn)=0 |
virtual std::string | getName () const =0 |
Get the name of the model. More... | |
virtual size_t | getNumberOfIndependentParameters () const=0 |
virtual void | aliasParameters (const std::string &p1, const std::string &p2)=0 |
virtual void | aliasParameters (std::map< std::string, std::string > &unparsedParams, bool verbose)=0 |
virtual void | unaliasParameters (const std::string &p1, const std::string &p2)=0 |
virtual const ParameterList & | getIndependentParameters () const=0 |
virtual std::vector< std::string > | getAlias (const std::string &name) const=0 |
virtual std::map< std::string, std::string > | getAliases () const=0 |
virtual bool | hasParameter (const std::string &name) const=0 |
virtual const ParameterList & | getParameters () const=0 |
virtual const Parameter & | parameter (const std::string &name) const=0 |
virtual double | getParameterValue (const std::string &name) const=0 |
virtual void | setAllParametersValues (const ParameterList ¶meters)=0 |
virtual void | setParameterValue (const std::string &name, double value)=0 |
virtual void | setParametersValues (const ParameterList ¶meters)=0 |
virtual bool | matchParametersValues (const ParameterList ¶meters)=0 |
virtual void | removeConstraint (const std::string &name)=0 |
virtual void | setConstraint (const std::string &name, std::shared_ptr< ConstraintInterface > constraint)=0 |
virtual size_t | getNumberOfParameters () const=0 |
virtual void | setNamespace (const std::string &prefix)=0 |
virtual std::string | getNamespace () const=0 |
virtual std::string | getParameterNameWithoutNamespace (const std::string &name) const=0 |
void | setNamespace (const std::string &prefix) |
bool | hasIndependentParameter (const std::string &name) const |
const ParameterList & | getIndependentParameters () const |
size_t | getNumberOfIndependentParameters () const |
void | aliasParameters (const std::string &p1, const std::string &p2) |
void | aliasParameters (std::map< std::string, std::string > &unparsedParams, bool verbose) |
void | unaliasParameters (const std::string &p1, const std::string &p2) |
ParameterList | getAliasedParameters (const ParameterList &pl) const |
ParameterList | getFromParameters (const ParameterList &pl) const |
virtual std::vector< std::string > | getAlias (const std::string &name) const |
virtual std::map< std::string, std::string > | getAliases () const |
std::string | getFrom (const std::string &name) const |
bool | hasParameter (const std::string &name) const override |
const ParameterList & | getParameters () const override |
const Parameter & | parameter (const std::string &name) const override |
const std::shared_ptr< Parameter > & | getParameter (const std::string &name) const |
double | getParameterValue (const std::string &name) const override |
void | setAllParametersValues (const ParameterList ¶meters) override |
void | setParameterValue (const std::string &name, double value) override |
void | setParametersValues (const ParameterList ¶meters) override |
bool | matchParametersValues (const ParameterList ¶meters) override |
void | removeConstraint (const std::string &name) override |
void | setConstraint (const std::string &name, std::shared_ptr< ConstraintInterface > constraint) override |
size_t | getNumberOfParameters () const override |
std::string | getNamespace () const override |
std::string | getParameterNameWithoutNamespace (const std::string &name) const override |
virtual Clonable * | clone () const=0 |
Protected Member Functions | |
virtual void | updateMatrices_ ()=0 |
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVectors_ matrices. More... | |
Vdouble & | getFrequencies_ () override |
virtual ParameterList & | getParameters_ ()=0 |
const std::shared_ptr< Parameter > & | getParameter (size_t i) const |
std::shared_ptr< Parameter > & | getParameter (size_t i) |
void | addParameter_ (Parameter *parameter) |
void | addParameters_ (const ParameterList ¶meters) |
void | shareParameter_ (const std::shared_ptr< Parameter > ¶meter) |
void | shareParameters_ (const ParameterList ¶meters) |
void | includeParameters_ (const ParameterList ¶meters) |
void | deleteParameter_ (size_t index) |
void | deleteParameter_ (std::string &name) |
void | deleteParameters_ (const std::vector< std::string > &names) |
void | resetParameters_ () |
Parameter & | getParameter_ (const std::string &name) |
Parameter & | getParameter_ (size_t index) |
const Parameter & | getParameter_ (size_t index) const |
Parameter & | getParameterWithNamespace_ (const std::string &name) |
const Parameter & | getParameterWithNamespace_ (const std::string &name) const |
ParameterList & | getParameters_ () override |
Protected Attributes | |
std::shared_ptr< const Alphabet > | alphabet_ |
The alphabet relevant to this model. More... | |
std::shared_ptr< const StateMapInterface > | stateMap_ |
The map of model states with alphabet states. More... | |
size_t | size_ |
The number of states. More... | |
double | rate_ |
The rate of the model (default: 1). The generator (and all its vectorial components) is independent of the rate, since it should be normalized. More... | |
Vdouble | freq_ |
The vector of equilibrium frequencies. More... | |
RowMatrix< double > | pijt_ |
These ones are for bookkeeping: More... | |
RowMatrix< double > | dpijt_ |
RowMatrix< double > | d2pijt_ |
short | verboseLevel_ |
Private Attributes | |
Eigen::VectorXd | lik_ |
ParameterList | independentParameters_ |
std::map< std::string, std::shared_ptr< AliasParameterListener > > | aliasListenersRegister_ |
ParameterList | parameters_ |
std::string | prefix_ |
Partial implementation of the TransitionModel interface.
This abstract class provides some fields, namely:
Access methods for these fields are implemented.
This class also provides the updateMatrices_() method, which computes eigen values and vectors and fills the corresponding vector (eigenValues_) and matrices (leftEigenVectors_ and rightEigenVectors_) from the generator.
The freq_ vector and generator_ matrices are hence the only things to provide to create a substitution model. It is also possible to redefine one of these methods for better efficiency. The Pij_t, dPij_dt and d2Pij_dt2 are particularly inefficient since the matrix formula is used to compute all probabilities, and then the result for the initial and final state of interest is retrieved.
Definition at line 113 of file AbstractSubstitutionModel.h.
AbstractTransitionModel::AbstractTransitionModel | ( | std::shared_ptr< const Alphabet > | alpha, |
std::shared_ptr< const StateMapInterface > | stateMap, | ||
const std::string & | prefix | ||
) |
Definition at line 21 of file AbstractSubstitutionModel.cpp.
References computeFrequencies(), freq_, and size_.
|
default |
|
inlinevirtual |
Definition at line 164 of file AbstractSubstitutionModel.h.
|
overridevirtual |
add a "rate" parameter to the model, that handles the overall rate of the process.
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 63 of file AbstractSubstitutionModel.cpp.
References bpp::AbstractParameterAliasable::addParameter_(), bpp::AbstractParameterAliasable::getNamespace(), bpp::Parameter::R_PLUS_STAR, and rate_.
|
inlineoverridevirtual |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 167 of file AbstractSubstitutionModel.h.
References alphabet_.
Referenced by bpp::AbstractWordSubstitutionModel::AbstractWordSubstitutionModel(), and bpp::AbstractWordSubstitutionModel::operator=().
|
pure virtualinherited |
Implements bpp::BranchModelInterface.
Implemented in bpp::ReversibleSubstitutionModelInterface, bpp::SubstitutionModelInterface, bpp::AbstractReversibleProteinSubstitutionModel, bpp::AbstractProteinSubstitutionModel, bpp::ProteinReversibleSubstitutionModelInterface, bpp::ProteinSubstitutionModelInterface, bpp::AbstractReversibleNucleotideSubstitutionModel, bpp::AbstractNucleotideSubstitutionModel, bpp::NucleotideReversibleSubstitutionModelInterface, bpp::NucleotideSubstitutionModelInterface, bpp::MixedTransitionModelInterface, bpp::MarkovModulatedSubstitutionModel, bpp::YNGP_M, bpp::CodonReversibleSubstitutionModelInterface, bpp::CodonSubstitutionModelInterface, bpp::AbstractKroneckerCodonSubstitutionModel, bpp::AbstractDFPSubstitutionModel, bpp::AbstractCodonSubstitutionModel, bpp::AbstractReversibleSubstitutionModel, bpp::AbstractMixedTransitionModel, bpp::WordSubstitutionModel, bpp::TS98, bpp::RegisterRatesSubstitutionModel, bpp::RE08Codon, bpp::RE08Protein, bpp::RE08Nucleotide, bpp::RE08, bpp::WAG01, bpp::UserProteinSubstitutionModel, bpp::LLG08_UL3, bpp::LLG08_UL3::EmbeddedModel, bpp::LLG08_UL2, bpp::LLG08_UL2::EmbeddedModel, bpp::LLG08_EX3, bpp::LLG08_EX3::EmbeddedModel, bpp::LLG08_EX2, bpp::LLG08_EX2::EmbeddedModel, bpp::LLG08_EHO, bpp::LLG08_EHO::EmbeddedModel, bpp::LGL08_CAT, bpp::LGL08_CAT::EmbeddedModel, bpp::LG08, bpp::JTT92, bpp::JCprot, bpp::DSO78, bpp::Coala, bpp::POMO, bpp::OneChangeTransitionModel, bpp::OneChangeRegisterTransitionModel, bpp::YpR_Gen, bpp::YpR_Sym, bpp::TN93, bpp::T92, bpp::SSR, bpp::RN95s, bpp::RN95, bpp::L95, bpp::K80, bpp::JCnuc, bpp::GTR, bpp::gBGC, bpp::F81, bpp::MixtureOfTransitionModels, bpp::MixtureOfSubstitutionModels, bpp::MixtureOfATransitionModel, bpp::MixtureOfASubstitutionModel, bpp::KroneckerWordSubstitutionModel, bpp::InMixedSubstitutionModel, bpp::G2001, bpp::FromMixtureSubstitutionModel, bpp::EquiprobableSubstitutionModel, bpp::D1WalkSubstitutionModel, bpp::YNGP_M9, bpp::YNGP_M8, bpp::YNGP_M7, bpp::YNGP_M3, bpp::YNGP_M2, bpp::YNGP_M10, bpp::YNGP_M1, bpp::YN98, bpp::TripletSubstitutionModel, bpp::SENCA, bpp::RELAX, bpp::MG94, bpp::KroneckerCodonDistanceSubstitutionModel, bpp::KroneckerCodonDistanceFrequenciesSubstitutionModel, bpp::KCM, bpp::GY94, bpp::DFPDistanceFrequenciesSubstitutionModel, bpp::DFP07, bpp::CodonSameAARateSubstitutionModel, bpp::CodonDistancePhaseFrequenciesSubstitutionModel, bpp::CodonDistanceFrequenciesSubstitutionModel, bpp::CodonAdHocSubstitutionModel, bpp::AnonymousSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::LG10_EX_EHO, bpp::LG10_EX_EHO::EmbeddedModel, bpp::HKY85, bpp::F84, bpp::CodonDistanceSubstitutionModel, and bpp::BinarySubstitutionModel.
Referenced by bpp::AbstractSinglePhyloSubstitutionMapping::addModel(), bpp::MixtureOfATransitionModel::MixtureOfATransitionModel(), and bpp::AbstractMixedTransitionModel::operator=().
|
inlineoverridevirtual |
Implements bpp::TransitionModelInterface.
Reimplemented in bpp::AbstractSubstitutionModel.
Definition at line 189 of file AbstractSubstitutionModel.h.
Referenced by AbstractTransitionModel().
|
pure virtualinherited |
Implemented in bpp::MarkovModulatedSubstitutionModel, bpp::InMixedSubstitutionModel, bpp::AbstractTotallyWrappedTransitionModel, bpp::AbstractMixedTransitionModel, bpp::AbstractFromSubstitutionModelTransitionModel, and bpp::AbstractSubstitutionModel.
|
inlineoverridevirtualinherited |
Implements bpp::TransitionModelInterface.
Definition at line 64 of file AbstractSubstitutionModel.h.
References bpp::TransitionModelInterface::getd2Pij_dt2(), and bpp::AbstractLkTransitionModel::lik_.
|
inlineoverridevirtual |
Implements bpp::TransitionModelInterface.
Reimplemented in bpp::RE08, bpp::JCprot, bpp::TN93, bpp::T92, bpp::K80, bpp::JCnuc, bpp::F81, bpp::EquiprobableSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::HKY85, bpp::F84, and bpp::BinarySubstitutionModel.
Definition at line 199 of file AbstractSubstitutionModel.h.
References getd2Pij_dt2().
Referenced by bpp::JCprot::d2Pij_dt2().
|
inlineoverridevirtualinherited |
Implements bpp::TransitionModelInterface.
Definition at line 47 of file AbstractSubstitutionModel.h.
References bpp::TransitionModelInterface::getdPij_dt(), and bpp::AbstractLkTransitionModel::lik_.
|
inlineoverridevirtual |
Implements bpp::TransitionModelInterface.
Reimplemented in bpp::RE08, bpp::JCprot, bpp::TN93, bpp::T92, bpp::K80, bpp::JCnuc, bpp::F81, bpp::EquiprobableSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::HKY85, bpp::F84, and bpp::BinarySubstitutionModel.
Definition at line 198 of file AbstractSubstitutionModel.h.
References getdPij_dt().
Referenced by bpp::JCprot::dPij_dt().
|
inlineoverridevirtual |
Tells the model that a parameter value has changed.
This updates the matrices consequently.
Reimplemented from bpp::AbstractParameterAliasable.
Reimplemented in bpp::RegisterRatesSubstitutionModel, bpp::RE08, bpp::WAG01, bpp::UserProteinSubstitutionModel, bpp::LG08, bpp::JTT92, bpp::JCprot, bpp::DSO78, bpp::POMO, bpp::YpR, bpp::EquiprobableSubstitutionModel, bpp::D1WalkSubstitutionModel, bpp::CodonSameAARateSubstitutionModel, bpp::AbstractDFPSubstitutionModel, bpp::SENCA, bpp::KroneckerCodonDistanceSubstitutionModel, bpp::KroneckerCodonDistanceFrequenciesSubstitutionModel, bpp::DFPDistanceFrequenciesSubstitutionModel, bpp::CodonDistancePhaseFrequenciesSubstitutionModel, bpp::CodonDistanceFrequenciesSubstitutionModel, bpp::CodonAdHocSubstitutionModel, bpp::CodonDistanceSubstitutionModel, and bpp::gBGC.
Definition at line 217 of file AbstractSubstitutionModel.h.
References bpp::AbstractParameterAliasable::fireParameterChanged(), bpp::AbstractParameterAliasable::getNamespace(), bpp::ParameterList::getParameterValue(), bpp::ParameterList::hasParameter(), rate_, bpp::ParameterList::size(), and updateMatrices_().
Referenced by bpp::gBGC::fireParameterChanged(), bpp::CodonDistanceSubstitutionModel::fireParameterChanged(), bpp::CodonAdHocSubstitutionModel::fireParameterChanged(), bpp::CodonDistanceFrequenciesSubstitutionModel::fireParameterChanged(), bpp::CodonDistancePhaseFrequenciesSubstitutionModel::fireParameterChanged(), bpp::KroneckerCodonDistanceFrequenciesSubstitutionModel::fireParameterChanged(), bpp::KroneckerCodonDistanceSubstitutionModel::fireParameterChanged(), bpp::SENCA::fireParameterChanged(), bpp::D1WalkSubstitutionModel::fireParameterChanged(), bpp::EquiprobableSubstitutionModel::fireParameterChanged(), bpp::DSO78::fireParameterChanged(), bpp::JCprot::fireParameterChanged(), bpp::JTT92::fireParameterChanged(), bpp::LG08::fireParameterChanged(), bpp::UserProteinSubstitutionModel::fireParameterChanged(), and bpp::WAG01::fireParameterChanged().
|
inlineoverridevirtual |
Implements bpp::TransitionModelInterface.
Definition at line 195 of file AbstractSubstitutionModel.h.
References freq_.
Referenced by bpp::CodonSameAARateSubstitutionModel::compute_().
|
inlineoverridevirtual |
Exception | if no FrequenceSet is associated to this model. |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel, bpp::WAG01, bpp::UserProteinSubstitutionModel, bpp::LG08, bpp::JTT92, bpp::JCprot, bpp::DSO78, bpp::EquiprobableSubstitutionModel, bpp::D1WalkSubstitutionModel, and bpp::CodonDistanceFrequenciesSubstitutionModel.
Definition at line 207 of file AbstractSubstitutionModel.h.
|
inlineoverridevirtual |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 169 of file AbstractSubstitutionModel.h.
References alphabet_.
Referenced by bpp::AbstractWordSubstitutionModel::AbstractWordSubstitutionModel(), bpp::WordSubstitutionModel::completeMatrices_(), and bpp::RE08::getInitValue().
|
inlineoverridevirtual |
index | The model state. |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 179 of file AbstractSubstitutionModel.h.
References stateMap_.
|
inlineoverridevirtual |
index | The model state. |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 181 of file AbstractSubstitutionModel.h.
References stateMap_.
Referenced by bpp::AbstractCodonSubstitutionModel::completeMatrices_(), and getInitValue().
|
inlineoverridevirtual |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 177 of file AbstractSubstitutionModel.h.
References stateMap_.
Referenced by bpp::DFP07::DFP07(), bpp::YNGP_M3::YNGP_M3(), and bpp::YNGP_M8::YNGP_M8().
|
overridepure virtual |
Implements bpp::TransitionModelInterface.
Implemented in bpp::AbstractMixedTransitionModel, bpp::AbstractSubstitutionModel, bpp::WordSubstitutionModel, bpp::RE08, bpp::JCprot, bpp::TN93, bpp::T92, bpp::K80, bpp::JCnuc, bpp::F81, bpp::EquiprobableSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::HKY85, bpp::F84, and bpp::BinarySubstitutionModel.
Referenced by d2Pij_dt2().
|
overridepure virtual |
Implements bpp::TransitionModelInterface.
Implemented in bpp::AbstractMixedTransitionModel, bpp::AbstractSubstitutionModel, bpp::WordSubstitutionModel, bpp::RE08, bpp::JCprot, bpp::TN93, bpp::T92, bpp::K80, bpp::JCnuc, bpp::F81, bpp::EquiprobableSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::HKY85, bpp::F84, and bpp::BinarySubstitutionModel.
Referenced by dPij_dt().
|
inlineoverridevirtual |
Implements bpp::TransitionModelInterface.
Definition at line 187 of file AbstractSubstitutionModel.h.
References freq_.
Referenced by bpp::SENCA::setFreq().
|
inlineoverrideprotectedvirtual |
Implements bpp::TransitionModelInterface.
Definition at line 268 of file AbstractSubstitutionModel.h.
References freq_.
Referenced by bpp::CodonDistanceFrequenciesSubstitutionModel::fireParameterChanged(), bpp::CodonDistancePhaseFrequenciesSubstitutionModel::fireParameterChanged(), bpp::CodonDistanceFrequenciesSubstitutionModel::setFreq(), bpp::CodonDistancePhaseFrequenciesSubstitutionModel::setFreq(), and bpp::DFPDistanceFrequenciesSubstitutionModel::setFreq().
|
overridevirtual |
This method is used to initialize likelihoods in recursions. It typically sends 1 if i = state, 0 otherwise, where i is one of the possible states of the alphabet allowed in the model and state is the observed state in the considered sequence/site.
i | the index of the state in the model. |
state | An observed state in the sequence/site. |
IndexOutOfBoundsException | if array position is out of range. |
BadIntException | if states are not allowed in the associated alphabet. |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RE08.
Definition at line 70 of file AbstractSubstitutionModel.cpp.
References alphabet_, getAlphabetStateAsInt(), and size_.
|
inlineoverridevirtual |
Get the state in the model corresponding to a particular state in the alphabet.
code | The alphabet state to check. |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 185 of file AbstractSubstitutionModel.h.
References stateMap_.
|
inlineoverridevirtual |
Get the state in the model corresponding to a particular state in the alphabet.
code | The alphabet state to check. |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 183 of file AbstractSubstitutionModel.h.
References stateMap_.
|
pure virtualinherited |
Get the name of the model.
Implemented in bpp::WordSubstitutionModel, bpp::TS98, bpp::TransitionFromTransitionModel, bpp::RegisterRatesSubstitutionModel, bpp::RE08, bpp::WAG01, bpp::UserProteinSubstitutionModel, bpp::LLG08_UL3, bpp::LLG08_UL3::EmbeddedModel, bpp::LLG08_UL2, bpp::LLG08_UL2::EmbeddedModel, bpp::LLG08_EX3, bpp::LLG08_EX3::EmbeddedModel, bpp::LLG08_EX2, bpp::LLG08_EX2::EmbeddedModel, bpp::LLG08_EHO, bpp::LLG08_EHO::EmbeddedModel, bpp::LGL08_CAT, bpp::LGL08_CAT::EmbeddedModel, bpp::LG08, bpp::JTT92, bpp::JCprot, bpp::DSO78, bpp::Coala, bpp::POMO, bpp::OneChangeTransitionModel, bpp::OneChangeRegisterTransitionModel, bpp::YpR_Gen, bpp::YpR_Sym, bpp::TN93, bpp::T92, bpp::SSR, bpp::RN95s, bpp::RN95, bpp::L95, bpp::K80, bpp::JCnuc, bpp::GTR, bpp::gBGC, bpp::F81, bpp::MultinomialFromTransitionModel, bpp::MixtureOfTransitionModels, bpp::MixtureOfATransitionModel, bpp::KroneckerWordSubstitutionModel, bpp::InMixedSubstitutionModel, bpp::G2001, bpp::FromMixtureSubstitutionModel, bpp::EquiprobableSubstitutionModel, bpp::D1WalkSubstitutionModel, bpp::YNGP_M9, bpp::YNGP_M8, bpp::YNGP_M7, bpp::YNGP_M3, bpp::YNGP_M2, bpp::YNGP_M10, bpp::YNGP_M1, bpp::YN98, bpp::TripletSubstitutionModel, bpp::SENCA, bpp::RELAX, bpp::MG94, bpp::KroneckerCodonDistanceSubstitutionModel, bpp::KroneckerCodonDistanceFrequenciesSubstitutionModel, bpp::KCM, bpp::GY94, bpp::DFPDistanceFrequenciesSubstitutionModel, bpp::DFP07, bpp::CodonSameAARateSubstitutionModel, bpp::CodonDistancePhaseFrequenciesSubstitutionModel, bpp::CodonDistanceFrequenciesSubstitutionModel, bpp::CodonAdHocSubstitutionModel, bpp::AnonymousSubstitutionModel, bpp::AbstractWrappedModel, bpp::TwoParameterBinarySubstitutionModel, bpp::LG10_EX_EHO, bpp::LG10_EX_EHO::EmbeddedModel, bpp::HKY85, bpp::F84, bpp::CodonDistanceSubstitutionModel, and bpp::BinarySubstitutionModel.
Referenced by bpp::YpR::checkModel(), bpp::TransitionMatrixFromModel::compute(), bpp::AbstractWrappedModel::getName(), bpp::FromMixtureSubstitutionModel::getName(), bpp::AbstractSubstitutionModel::getPij_t(), bpp::BppOSubstitutionModelFormat::initialize_(), bpp::MixtureOfSubstitutionModels::MixtureOfSubstitutionModels(), bpp::MixtureOfATransitionModel::model(), bpp::LegacyPhylogeneticsApplicationTools::setSubstitutionModelParametersInitialValuesWithAliases(), bpp::ModelPath::toString(), and bpp::BppOSubstitutionModelFormat::write().
|
inlineoverridevirtual |
Get the number of states.
For most models, this equals the size of the alphabet.
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel, bpp::RE08Codon, bpp::RE08Protein, bpp::RE08Nucleotide, bpp::YpR, bpp::gBGC, bpp::DFPDistanceFrequenciesSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, and bpp::BinarySubstitutionModel.
Definition at line 175 of file AbstractSubstitutionModel.h.
References stateMap_.
Referenced by bpp::AbstractCodonSubstitutionModel::completeMatrices_(), bpp::AbstractKroneckerCodonSubstitutionModel::completeMatrices_(), bpp::AbstractKroneckerWordSubstitutionModel::fillBasicGenerator_(), bpp::AbstractWordSubstitutionModel::fillBasicGenerator_(), bpp::WordSubstitutionModel::getd2Pij_dt2(), bpp::AbstractMixedTransitionModel::getd2Pij_dt2(), bpp::WordSubstitutionModel::getdPij_dt(), bpp::AbstractMixedTransitionModel::getdPij_dt(), bpp::RE08Nucleotide::getNumberOfStates(), bpp::RE08Protein::getNumberOfStates(), bpp::RE08Codon::getNumberOfStates(), bpp::WordSubstitutionModel::getPij_t(), bpp::AbstractMixedTransitionModel::getPij_t(), bpp::AbstractWordSubstitutionModel::setFreq(), bpp::AbstractSubstitutionModel::updateMatrices_(), bpp::AbstractWordSubstitutionModel::updateMatrices_(), bpp::MixtureOfATransitionModel::updateMatrices_(), and bpp::MixtureOfTransitionModels::updateMatrices_().
|
overridepure virtual |
Implements bpp::TransitionModelInterface.
Implemented in bpp::AbstractMixedTransitionModel, bpp::AbstractSubstitutionModel, bpp::WordSubstitutionModel, bpp::RE08, bpp::JCprot, bpp::TN93, bpp::T92, bpp::K80, bpp::JCnuc, bpp::F81, bpp::EquiprobableSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::HKY85, bpp::F84, and bpp::BinarySubstitutionModel.
Referenced by Pij_t().
|
overridevirtual |
The rate of the substitution process.
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 45 of file AbstractSubstitutionModel.cpp.
References rate_.
|
inlineoverridevirtual |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 173 of file AbstractSubstitutionModel.h.
References stateMap_.
Referenced by bpp::D1WalkSubstitutionModel::D1WalkSubstitutionModel(), and bpp::EquiprobableSubstitutionModel::EquiprobableSubstitutionModel().
|
inlineoverridevirtualinherited |
This method is used to compute likelihoods in recursions. It computes the probability of a vector given a start state.
values | An vector of states on the site. |
t | the branch length |
Implements bpp::TransitionModelInterface.
Definition at line 30 of file AbstractSubstitutionModel.h.
References bpp::TransitionModelInterface::getPij_t(), and bpp::AbstractLkTransitionModel::lik_.
|
default |
|
inlineoverridevirtual |
Implements bpp::TransitionModelInterface.
Reimplemented in bpp::RE08, bpp::JCprot, bpp::TN93, bpp::T92, bpp::K80, bpp::JCnuc, bpp::F81, bpp::EquiprobableSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::HKY85, bpp::F84, and bpp::BinarySubstitutionModel.
Definition at line 197 of file AbstractSubstitutionModel.h.
References getPij_t().
Referenced by bpp::JCprot::Pij_t().
|
overridevirtual |
Set equilibrium frequencies.
frequencies | The map of the frequencies to use. |
Implements bpp::TransitionModelInterface.
Reimplemented in bpp::RE08Codon, bpp::RE08, bpp::POMO, bpp::SENCA, bpp::KroneckerCodonDistanceFrequenciesSubstitutionModel, bpp::DFPDistanceFrequenciesSubstitutionModel, bpp::CodonSameAARateSubstitutionModel, bpp::CodonDistancePhaseFrequenciesSubstitutionModel, bpp::CodonDistanceFrequenciesSubstitutionModel, bpp::CodonAdHocSubstitutionModel, bpp::AbstractMixedTransitionModel, bpp::TN93, bpp::T92, bpp::GTR, bpp::F81, bpp::HKY85, bpp::BinarySubstitutionModel, bpp::AbstractWordSubstitutionModel, bpp::EquiprobableSubstitutionModel, bpp::D1WalkSubstitutionModel, bpp::SSR, bpp::RN95s, bpp::RN95, bpp::L95, bpp::MixtureOfTransitionModels, bpp::MixtureOfATransitionModel, and bpp::F84.
Definition at line 98 of file AbstractSubstitutionModel.cpp.
References freq_, and updateMatrices_().
Referenced by bpp::SENCA::setFreq(), and setFreqFromData().
|
overridevirtual |
Set equilibrium frequencies equal to the frequencies estimated from the data.
data | The sequences to use. |
pseudoCount | A quantity to add to adjust the observed values in order to prevent issues due to missing states on small data set. The corrected frequencies shall be computed as
|
Implements bpp::TransitionModelInterface.
Reimplemented in bpp::RE08, bpp::WAG01, bpp::UserProteinSubstitutionModel, bpp::LG08, bpp::JTT92, bpp::JCprot, bpp::DSO78, bpp::Coala, bpp::K80, and bpp::JCnuc.
Definition at line 88 of file AbstractSubstitutionModel.cpp.
References bpp::SequenceContainerTools::getFrequencies(), and setFreq().
|
overridevirtual |
Set the rate of the model (must be positive).
rate | must be positive. |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel, and bpp::AbstractMixedTransitionModel.
Definition at line 52 of file AbstractSubstitutionModel.cpp.
References bpp::AbstractParameterAliasable::hasParameter(), rate_, bpp::AbstractParameterAliasable::setParameterValue(), and bpp::TextTools::toString().
Referenced by bpp::AbstractMixedTransitionModel::setRate().
|
inline |
Definition at line 239 of file AbstractSubstitutionModel.h.
References verboseLevel_.
|
inlineoverridevirtual |
Implements bpp::BranchModelInterface.
Reimplemented in bpp::RegisterRatesSubstitutionModel.
Definition at line 171 of file AbstractSubstitutionModel.h.
References stateMap_.
|
protectedpure virtual |
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVectors_ matrices.
The generator_ matrix and freq_ vector must be initialized.
Eigen values and vectors are computed from the generator and assigned to the eigenValues_ for the real part, iEigenValues_ for the imaginary part, rightEigenVectors_ and leftEigenVectors_ variables. isDiagonalizable_ checks if the generator_ is diagonalizable in R.
The optional rate parameter is not taken into account in this method to prevent unnecessary computation.
!! Here there is no normalization of the generator.
Implemented in bpp::WordSubstitutionModel, bpp::RegisterRatesSubstitutionModel, bpp::RE08, bpp::JCprot, bpp::Coala, bpp::POMO, bpp::YpR_Gen, bpp::YpR_Sym, bpp::YpR, bpp::TN93, bpp::T92, bpp::SSR, bpp::RN95s, bpp::RN95, bpp::L95, bpp::K80, bpp::JCnuc, bpp::GTR, bpp::gBGC, bpp::F81, bpp::MixtureOfTransitionModels, bpp::MixtureOfATransitionModel, bpp::MixtureOfASubstitutionModel, bpp::EquiprobableSubstitutionModel, bpp::D1WalkSubstitutionModel, bpp::AbstractDFPSubstitutionModel, bpp::AbstractCodonSubstitutionModel, bpp::AbstractReversibleSubstitutionModel, bpp::TwoParameterBinarySubstitutionModel, bpp::HKY85, bpp::F84, bpp::BinarySubstitutionModel, bpp::AbstractWordSubstitutionModel, and bpp::AbstractSubstitutionModel.
Referenced by fireParameterChanged(), and setFreq().
|
inline |
Definition at line 241 of file AbstractSubstitutionModel.h.
References verboseLevel_.
|
protected |
The alphabet relevant to this model.
Definition at line 121 of file AbstractSubstitutionModel.h.
Referenced by bpp::AbstractWordSubstitutionModel::AbstractWordSubstitutionModel(), alphabet(), bpp::POMO::getAllelicAlphabet(), getAlphabet(), getInitValue(), bpp::RE08::getInitValue(), bpp::AbstractNucleotideSubstitutionModel::getNucleicAlphabet(), bpp::AbstractReversibleNucleotideSubstitutionModel::getNucleicAlphabet(), bpp::RE08Nucleotide::getNucleicAlphabet(), bpp::AbstractProteinSubstitutionModel::getProteicAlphabet(), bpp::AbstractReversibleProteinSubstitutionModel::getProteicAlphabet(), bpp::RE08Protein::getProteicAlphabet(), and bpp::AbstractWordSubstitutionModel::operator=().
|
mutableprotected |
Definition at line 150 of file AbstractSubstitutionModel.h.
Referenced by bpp::WordSubstitutionModel::getd2Pij_dt2(), bpp::AbstractSubstitutionModel::getd2Pij_dt2(), and bpp::AbstractMixedTransitionModel::getd2Pij_dt2().
|
mutableprotected |
Definition at line 149 of file AbstractSubstitutionModel.h.
Referenced by bpp::WordSubstitutionModel::getdPij_dt(), bpp::AbstractSubstitutionModel::getdPij_dt(), and bpp::AbstractMixedTransitionModel::getdPij_dt().
|
protected |
The vector of equilibrium frequencies.
Definition at line 143 of file AbstractSubstitutionModel.h.
Referenced by bpp::AbstractReversibleSubstitutionModel::AbstractReversibleSubstitutionModel(), AbstractTransitionModel(), bpp::WordSubstitutionModel::completeMatrices_(), bpp::Coala::computeEquilibriumFrequencies(), bpp::RE08::d2Pij_dt2(), bpp::RE08::dPij_dt(), bpp::DSO78::DSO78(), bpp::EquiprobableSubstitutionModel::EquiprobableSubstitutionModel(), bpp::EquiprobableSubstitutionModel::fireParameterChanged(), bpp::DSO78::fireParameterChanged(), bpp::JCprot::fireParameterChanged(), bpp::JTT92::fireParameterChanged(), bpp::LG08::fireParameterChanged(), bpp::UserProteinSubstitutionModel::fireParameterChanged(), bpp::WAG01::fireParameterChanged(), freq(), bpp::RE08::getd2Pij_dt2(), bpp::RE08::getdPij_dt(), getFrequencies(), getFrequencies_(), bpp::RE08::getPij_t(), bpp::AbstractSubstitutionModel::getScale(), bpp::JCprot::JCprot(), bpp::JTT92::JTT92(), bpp::LG08::LG08(), bpp::RE08::Pij_t(), bpp::RE08::RE08(), bpp::UserProteinSubstitutionModel::readFromFile(), bpp::D1WalkSubstitutionModel::setFreq(), bpp::EquiprobableSubstitutionModel::setFreq(), setFreq(), bpp::DSO78::setFreqFromData(), bpp::JCprot::setFreqFromData(), bpp::JTT92::setFreqFromData(), bpp::LG08::setFreqFromData(), bpp::UserProteinSubstitutionModel::setFreqFromData(), bpp::WAG01::setFreqFromData(), bpp::AbstractSubstitutionModel::updateMatrices_(), bpp::AbstractWordSubstitutionModel::updateMatrices_(), bpp::BinarySubstitutionModel::updateMatrices_(), bpp::F84::updateMatrices_(), bpp::HKY85::updateMatrices_(), bpp::TwoParameterBinarySubstitutionModel::updateMatrices_(), bpp::AbstractReversibleSubstitutionModel::updateMatrices_(), bpp::D1WalkSubstitutionModel::updateMatrices_(), bpp::EquiprobableSubstitutionModel::updateMatrices_(), bpp::MixtureOfATransitionModel::updateMatrices_(), bpp::MixtureOfTransitionModels::updateMatrices_(), bpp::F81::updateMatrices_(), bpp::gBGC::updateMatrices_(), bpp::GTR::updateMatrices_(), bpp::JCnuc::updateMatrices_(), bpp::K80::updateMatrices_(), bpp::L95::updateMatrices_(), bpp::RN95::updateMatrices_(), bpp::RN95s::updateMatrices_(), bpp::SSR::updateMatrices_(), bpp::T92::updateMatrices_(), bpp::TN93::updateMatrices_(), bpp::POMO::updateMatrices_(), bpp::JCprot::updateMatrices_(), bpp::RE08::updateMatrices_(), bpp::YpR::updateMatrices_(), bpp::UserProteinSubstitutionModel::UserProteinSubstitutionModel(), and bpp::WAG01::WAG01().
|
mutableprivateinherited |
Definition at line 23 of file AbstractSubstitutionModel.h.
Referenced by bpp::AbstractLkTransitionModel::d2Lik_dt2(), bpp::AbstractLkTransitionModel::dLik_dt(), and bpp::AbstractLkTransitionModel::Lik_t().
|
mutableprotected |
These ones are for bookkeeping:
Definition at line 148 of file AbstractSubstitutionModel.h.
Referenced by bpp::WordSubstitutionModel::getPij_t(), bpp::AbstractSubstitutionModel::getPij_t(), and bpp::AbstractMixedTransitionModel::getPij_t().
|
protected |
The rate of the model (default: 1). The generator (and all its vectorial components) is independent of the rate, since it should be normalized.
Definition at line 138 of file AbstractSubstitutionModel.h.
Referenced by addRateParameter(), bpp::BinarySubstitutionModel::d2Pij_dt2(), bpp::F84::d2Pij_dt2(), bpp::HKY85::d2Pij_dt2(), bpp::TwoParameterBinarySubstitutionModel::d2Pij_dt2(), bpp::EquiprobableSubstitutionModel::d2Pij_dt2(), bpp::F81::d2Pij_dt2(), bpp::JCnuc::d2Pij_dt2(), bpp::K80::d2Pij_dt2(), bpp::T92::d2Pij_dt2(), bpp::TN93::d2Pij_dt2(), bpp::JCprot::d2Pij_dt2(), bpp::BinarySubstitutionModel::dPij_dt(), bpp::F84::dPij_dt(), bpp::HKY85::dPij_dt(), bpp::TwoParameterBinarySubstitutionModel::dPij_dt(), bpp::EquiprobableSubstitutionModel::dPij_dt(), bpp::F81::dPij_dt(), bpp::JCnuc::dPij_dt(), bpp::K80::dPij_dt(), bpp::T92::dPij_dt(), bpp::TN93::dPij_dt(), bpp::JCprot::dPij_dt(), fireParameterChanged(), bpp::BinarySubstitutionModel::getd2Pij_dt2(), bpp::F84::getd2Pij_dt2(), bpp::HKY85::getd2Pij_dt2(), bpp::TwoParameterBinarySubstitutionModel::getd2Pij_dt2(), bpp::EquiprobableSubstitutionModel::getd2Pij_dt2(), bpp::F81::getd2Pij_dt2(), bpp::JCnuc::getd2Pij_dt2(), bpp::K80::getd2Pij_dt2(), bpp::T92::getd2Pij_dt2(), bpp::TN93::getd2Pij_dt2(), bpp::JCprot::getd2Pij_dt2(), bpp::WordSubstitutionModel::getd2Pij_dt2(), bpp::AbstractSubstitutionModel::getd2Pij_dt2(), bpp::BinarySubstitutionModel::getdPij_dt(), bpp::F84::getdPij_dt(), bpp::HKY85::getdPij_dt(), bpp::TwoParameterBinarySubstitutionModel::getdPij_dt(), bpp::EquiprobableSubstitutionModel::getdPij_dt(), bpp::F81::getdPij_dt(), bpp::JCnuc::getdPij_dt(), bpp::K80::getdPij_dt(), bpp::T92::getdPij_dt(), bpp::TN93::getdPij_dt(), bpp::JCprot::getdPij_dt(), bpp::WordSubstitutionModel::getdPij_dt(), bpp::AbstractSubstitutionModel::getdPij_dt(), bpp::BinarySubstitutionModel::getPij_t(), bpp::F84::getPij_t(), bpp::HKY85::getPij_t(), bpp::TwoParameterBinarySubstitutionModel::getPij_t(), bpp::EquiprobableSubstitutionModel::getPij_t(), bpp::F81::getPij_t(), bpp::JCnuc::getPij_t(), bpp::K80::getPij_t(), bpp::T92::getPij_t(), bpp::TN93::getPij_t(), bpp::JCprot::getPij_t(), bpp::WordSubstitutionModel::getPij_t(), bpp::AbstractSubstitutionModel::getPij_t(), getRate(), bpp::AbstractMixedTransitionModel::normalizeVRates(), bpp::BinarySubstitutionModel::Pij_t(), bpp::F84::Pij_t(), bpp::HKY85::Pij_t(), bpp::TwoParameterBinarySubstitutionModel::Pij_t(), bpp::EquiprobableSubstitutionModel::Pij_t(), bpp::F81::Pij_t(), bpp::JCnuc::Pij_t(), bpp::K80::Pij_t(), bpp::T92::Pij_t(), bpp::TN93::Pij_t(), bpp::JCprot::Pij_t(), bpp::AbstractMixedTransitionModel::setRate(), setRate(), bpp::BinarySubstitutionModel::updateMatrices_(), bpp::TwoParameterBinarySubstitutionModel::updateMatrices_(), and bpp::MixtureOfTransitionModels::updateMatrices_().
|
protected |
The number of states.
Definition at line 131 of file AbstractSubstitutionModel.h.
Referenced by bpp::AbstractReversibleSubstitutionModel::AbstractReversibleSubstitutionModel(), AbstractTransitionModel(), bpp::D1WalkSubstitutionModel::D1WalkSubstitutionModel(), bpp::EquiprobableSubstitutionModel::d2Pij_dt2(), bpp::RE08::d2Pij_dt2(), bpp::EquiprobableSubstitutionModel::dPij_dt(), bpp::RE08::dPij_dt(), bpp::EquiprobableSubstitutionModel::getd2Pij_dt2(), bpp::JCnuc::getd2Pij_dt2(), bpp::JCprot::getd2Pij_dt2(), bpp::RE08::getd2Pij_dt2(), bpp::AbstractSubstitutionModel::getd2Pij_dt2(), bpp::EquiprobableSubstitutionModel::getdPij_dt(), bpp::JCnuc::getdPij_dt(), bpp::JCprot::getdPij_dt(), bpp::RE08::getdPij_dt(), bpp::AbstractSubstitutionModel::getdPij_dt(), getInitValue(), bpp::RE08::getInitValue(), bpp::EquiprobableSubstitutionModel::getPij_t(), bpp::JCnuc::getPij_t(), bpp::JCprot::getPij_t(), bpp::RE08::getPij_t(), bpp::AbstractSubstitutionModel::getPij_t(), bpp::EquiprobableSubstitutionModel::Pij_t(), bpp::RE08::Pij_t(), bpp::RE08::RE08(), bpp::AbstractSubstitutionModel::setDiagonal(), bpp::T92::T92(), bpp::TN93::TN93(), bpp::AbstractWordSubstitutionModel::updateMatrices_(), bpp::EquiprobableSubstitutionModel::updateMatrices_(), bpp::RN95::updateMatrices_(), bpp::RN95s::updateMatrices_(), bpp::RE08::updateMatrices_(), and bpp::YpR::updateMatrices_().
|
protected |
The map of model states with alphabet states.
Definition at line 126 of file AbstractSubstitutionModel.h.
Referenced by bpp::AbstractWordSubstitutionModel::AbstractWordSubstitutionModel(), bpp::CodonSameAARateSubstitutionModel::compute_(), getAlphabetStateAsChar(), getAlphabetStateAsInt(), getAlphabetStates(), getModelStates(), getNumberOfStates(), getStateMap(), and stateMap().
|
protected |
Definition at line 152 of file AbstractSubstitutionModel.h.
Referenced by setVerboseLevel(), bpp::AbstractSubstitutionModel::updateMatrices_(), and verboseLevel().