bpp-phyl3  3.0.0
bpp::MixedSubstitutionModelSet Class Reference

Substitution models manager for Mixed Substitution Models. This class inherits from SubstitutionModelSet. More...

#include <Bpp/Phyl/Legacy/Model/MixedSubstitutionModelSet.h>

+ Inheritance diagram for bpp::MixedSubstitutionModelSet:
+ Collaboration diagram for bpp::MixedSubstitutionModelSet:

Classes

class  HyperNode
 

Public Member Functions

 MixedSubstitutionModelSet (std::shared_ptr< const Alphabet > alpha)
 Create a model set according to the specified alphabet. More...
 
 ~MixedSubstitutionModelSet ()
 
 MixedSubstitutionModelSet (const MixedSubstitutionModelSet &set)
 
 MixedSubstitutionModelSet (const SubstitutionModelSet &set)
 
MixedSubstitutionModelSetoperator= (const MixedSubstitutionModelSet &set)
 
MixedSubstitutionModelSetclone () const
 
void clear ()
 Resets the list of the HyperNodes. More...
 
void addEmptyHyperNode ()
 
void addHyperNode (const HyperNode &hn)
 
bool complete ()
 
void addToHyperNode (size_t nM, const Vuint &vnS, int nH=-1)
 
size_t getNumberOfHyperNodes () const
 
HyperNodegetHyperNode (size_t i)
 
const HyperNodegetHyperNode (size_t i) const
 
bool hasExclusivePaths () const
 
void fireParameterChanged (const ParameterList &parameters)
 
void computeHyperNodesProbabilities ()
 
double getHyperNodeProbability (const HyperNode &hn) const
 
bool isStationary () const
 
void setRootFrequencies (std::shared_ptr< FrequencySetInterface > rootFreqs)
 Sets a given FrequencySet for root frequencies. More...
 
size_t getNumberOfStates () const
 Get the number of states associated to this model set. More...
 
size_t getNumberOfModels () const
 
bool hasMixedTransitionModel () const
 
std::shared_ptr< const TransitionModelInterfacegetModel (size_t i) const
 Get one model from the set knowing its index. More...
 
std::shared_ptr< TransitionModelInterfacegetModel (size_t i)
 
const TransitionModelInterfacemodel (size_t i) const
 
TransitionModelInterfacemodel (size_t i)
 
std::shared_ptr< const SubstitutionModelInterfacegetSubstitutionModel (size_t i) const
 Return a markovian substitution model (or null) More...
 
std::shared_ptr< SubstitutionModelInterfacegetSubstitutionModel (size_t i)
 
const SubstitutionModelInterfacesubstitutionModel (size_t i) const
 
bool hasOnlySubstitutionModels () const
 check if has only markovian substitution models More...
 
size_t getModelIndexForNode (int nodeId) const
 Get the index in the set of the model associated to a particular node id. More...
 
std::shared_ptr< const TransitionModelInterfacegetModelForNode (int nodeId) const
 Get the model associated to a particular node id. More...
 
std::shared_ptr< TransitionModelInterfacegetModelForNode (int nodeId)
 
std::shared_ptr< const SubstitutionModelInterfacegetSubstitutionModelForNode (int nodeId) const
 
std::shared_ptr< SubstitutionModelInterfacegetSubstitutionModelForNode (int nodeId)
 
const std::vector< int > & getNodesWithModel (size_t i) const
 Get a list of nodes id for which the given model is associated. More...
 
std::vector< int > getNodesWithParameter (const std::string &name) const
 
void addModel (std::shared_ptr< TransitionModelInterface > model, const std::vector< int > &nodesId)
 Add a new model to the set, and set relationships with nodes and params. More...
 
void setNodeToModel (size_t modelIndex, int nodeId)
 Sets an assignment of a given model index to a given onde id. More...
 
void resetModelToNodeIds ()
 Reset model indices to node ids assignment. More...
 
void replaceModel (size_t modelIndex, std::shared_ptr< TransitionModelInterface > model)
 Replace a model in the set, and all corresponding parameters. The replaced model deleted. More...
 
void listModelNames (std::ostream &out=std::cout) const
 
const std::shared_ptr< FrequencySetInterfacegetRootFrequencySet () const
 
const FrequencySetInterfacerootFrequencySet () const
 
std::vector< double > getRootFrequencies () const
 
ParameterList getRootFrequenciesParameters () const
 Get the parameters corresponding to the root frequencies. More...
 
ParameterList getNodeParameters () const
 Get the parameters corresponding attached to the nodes of the tree. More...
 
ParameterList getModelParameters (size_t modelIndex) const
 Get the parameters attached to a Model. More...
 
std::shared_ptr< const AlphabetgetAlphabet () const
 
const Alphabetalphabet () const
 
const std::vector< int > & getAlphabetStates () const
 
const StateMapInterfacestateMap () const
 
std::shared_ptr< const StateMapInterfacegetStateMap () const
 
std::vector< size_t > getModelStates (int code) const
 
std::vector< size_t > getModelStates (const std::string &code) const
 
int getAlphabetStateAsInt (size_t index) const
 
std::string getAlphabetStateAsChar (size_t index) const
 
bool isFullySetUpFor (const Tree &tree, bool throwEx=true) const
 Check if the model set is fully specified for a given tree. More...
 
void setNamespace (const std::string &prefix)
 
bool hasIndependentParameter (const std::string &name) const
 
const ParameterListgetIndependentParameters () 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 ParameterListgetParameters () const override
 
const Parameterparameter (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 &parameters) override
 
void setParameterValue (const std::string &name, double value) override
 
void setParametersValues (const ParameterList &parameters) override
 
bool matchParametersValues (const ParameterList &parameters) 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
 

Protected Member Functions

void updateRootFrequencies ()
 
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 &parameters)
 
void shareParameter_ (const std::shared_ptr< Parameter > &parameter)
 
void shareParameters_ (const ParameterList &parameters)
 
void includeParameters_ (const ParameterList &parameters)
 
void deleteParameter_ (size_t index)
 
void deleteParameter_ (std::string &name)
 
void deleteParameters_ (const std::vector< std::string > &names)
 
void resetParameters_ ()
 
ParametergetParameter_ (const std::string &name)
 
ParametergetParameter_ (size_t index)
 
const ParametergetParameter_ (size_t index) const
 
ParametergetParameterWithNamespace_ (const std::string &name)
 
const ParametergetParameterWithNamespace_ (const std::string &name) const
 
ParameterListgetParameters_ () override
 
Check function.
bool checkOrphanModels (bool throwEx) const
 
bool checkOrphanNodes (const Tree &tree, bool throwEx) const
 
bool checkUnknownNodes (const Tree &tree, bool throwEx) const
 

Protected Attributes

std::shared_ptr< const Alphabetalphabet_
 A pointer toward the common alphabet to all models in the set. More...
 
size_t nbStates_
 
std::vector< std::shared_ptr< TransitionModelInterface > > modelSet_
 Contains all models used in this tree. More...
 

Private Attributes

std::vector< HyperNode * > vpHyperNodes_
 
std::shared_ptr< FrequencySetInterfacerootFrequencies_
 Root frequencies. More...
 
std::map< int, size_t > nodeToModel_
 Contains for each node in a tree the index of the corresponding model in modelSet_. More...
 
std::map< size_t, std::vector< int > > modelToNodes_
 
std::vector< ParameterListmodelParameters_
 Parameters for each model in the set. More...
 
bool stationarity_
 
ParameterList independentParameters_
 
std::map< std::string, std::shared_ptr< AliasParameterListener > > aliasListenersRegister_
 
ParameterList parameters_
 
std::string prefix_
 

Detailed Description

Substitution models manager for Mixed Substitution Models. This class inherits from SubstitutionModelSet.

This class is done to handle specific cases of choices among the submodels of mixed substitution models. Each branch of the tree is labelled by a mixed model, and a site may be restricted to a set of submodels it is allowed to follow. These sets are defined through an hypergrap, ie a list of hypernodes.

For example, suppose there are 3 mixed models (M1,M2 and M3), with 2, 3, 4 submodels (S1, S2, ...) each.

If the sites are allowed to follow any combination of submodels (12 combinations) the corresponding hypergraph has only one hypernode: (<1,2>,<1,2,3>,<1,2,3,4>).

The hypergraph with hypernodes ((<1>,<1,2>,<1,2>),(<2>,<3>,<3,4>)) means that a site either follows 6 combinations:

M1:S1, M2:S1 or M2:S2, and M3:S1 or M3:S2.

or

M1:S2, M2:S3, and M3:S3 or M3:S4.

Actually, additional coordinates are set when there are non mixed models, with no value in them, and not used in practice.

An hypernode is valid only if each mixed model is represented at least by one submodel.

Dependency of the submodels entails constraints in the probabilities of the submodels, and definition of the hypernodes must be taken with care for the whole modelling to be possible.

In this implementation, for sake of simplification (and for reason of time), all the submodels must belong to exactly one given hypernode, but in theory more complex dependencies are possible.

Concerning the probabilities of the submodels in each hypernode, the first coordinate (ie set of submodels inside a mixed model) in the list defines the probability of each hypernode. For each coordinate (the first included), when there are several submodels, their probabilities are conditional probabilities, which means that they sum 1 and their ratio are unchanged.

For instance, for hypergraph ((<1>,<1,2>,<1,2>),(<2>,<3>,<3,4>)), the probabilities of hypernodes are the probabilities of M1:S1 and M1:S2. In the first hypernode, the probabilities of M2:S1 and M2:S2 are P(M2:S1)/(P(M2:S1)+P(M2:S2)) and P(M2:S2)/(P(M2:S1)+P(M2:S2)).

We do not certify that the probability parameters of the mixed models are all useful, and then identifiability problems may be encountered.

There is a method ("complete") that creates an additional hypernode to ensure that all submodels belong to at least an hypernode.

Definition at line 85 of file MixedSubstitutionModelSet.h.

Constructor & Destructor Documentation

◆ MixedSubstitutionModelSet() [1/3]

bpp::MixedSubstitutionModelSet::MixedSubstitutionModelSet ( std::shared_ptr< const Alphabet alpha)
inline

Create a model set according to the specified alphabet.

Parameters
alphaThe alphabet to use for this set.

Definition at line 239 of file MixedSubstitutionModelSet.h.

Referenced by clone().

◆ ~MixedSubstitutionModelSet()

MixedSubstitutionModelSet::~MixedSubstitutionModelSet ( )

Definition at line 27 of file MixedSubstitutionModelSet.cpp.

References vpHyperNodes_.

◆ MixedSubstitutionModelSet() [2/3]

MixedSubstitutionModelSet::MixedSubstitutionModelSet ( const MixedSubstitutionModelSet set)

Definition at line 12 of file MixedSubstitutionModelSet.cpp.

References vpHyperNodes_.

◆ MixedSubstitutionModelSet() [3/3]

MixedSubstitutionModelSet::MixedSubstitutionModelSet ( const SubstitutionModelSet set)

Definition at line 22 of file MixedSubstitutionModelSet.cpp.

Member Function Documentation

◆ addEmptyHyperNode()

void MixedSubstitutionModelSet::addEmptyHyperNode ( )

◆ addHyperNode()

void MixedSubstitutionModelSet::addHyperNode ( const HyperNode hn)

Definition at line 67 of file MixedSubstitutionModelSet.cpp.

References vpHyperNodes_.

◆ addModel()

void SubstitutionModelSet::addModel ( std::shared_ptr< TransitionModelInterface model,
const std::vector< int > &  nodesId 
)
inherited

Add a new model to the set, and set relationships with nodes and params.

Parameters
modelA pointer toward a susbstitution model, that will added to the set. Warning! The set will now be the owner of the pointer, and will destroy it if needed! Copy the model first if you don't want it to be lost!
nodesIdthe set of nodes in the tree that points toward this model. This will override any previous affectation.
Exceptions
Exceptionin case of error:
  • if the new model does not match the alphabet
  • if the new model does not have the same number of states than existing ones
  • etc.

Definition at line 98 of file SubstitutionModelSet.cpp.

References bpp::AbstractParameterAliasable::addParameter_(), bpp::BranchModelInterface::alphabet(), bpp::SubstitutionModelSet::alphabet_, bpp::Alphabet::getAlphabetType(), bpp::BranchModelInterface::getNumberOfStates(), bpp::ParameterList::getParameterNames(), bpp::ParameterAliasable::getParameters(), bpp::SubstitutionModelSet::model(), bpp::SubstitutionModelSet::modelParameters_, bpp::SubstitutionModelSet::modelSet_, bpp::SubstitutionModelSet::modelToNodes_, bpp::SubstitutionModelSet::nbStates_, bpp::SubstitutionModelSet::nodeToModel_, bpp::ParameterList::parameter(), bpp::Parameter::setName(), and bpp::TextTools::toString().

Referenced by bpp::LegacyPhylogeneticsApplicationTools::setSubstitutionModelSet().

◆ addToHyperNode()

void MixedSubstitutionModelSet::addToHyperNode ( size_t  nM,
const Vuint vnS,
int  nH = -1 
)

◆ alphabet()

const Alphabet& bpp::SubstitutionModelSet::alphabet ( ) const
inlineinherited

Definition at line 467 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::alphabet_.

◆ checkOrphanModels()

bool SubstitutionModelSet::checkOrphanModels ( bool  throwEx) const
protectedinherited

◆ checkOrphanNodes()

bool SubstitutionModelSet::checkOrphanNodes ( const Tree tree,
bool  throwEx 
) const
protectedinherited

◆ checkUnknownNodes()

bool SubstitutionModelSet::checkUnknownNodes ( const Tree tree,
bool  throwEx 
) const
protectedinherited

◆ clear()

void MixedSubstitutionModelSet::clear ( )

Resets the list of the HyperNodes.

Definition at line 35 of file MixedSubstitutionModelSet.cpp.

References bpp::SubstitutionModelSet::clear(), and vpHyperNodes_.

◆ clone()

MixedSubstitutionModelSet* bpp::MixedSubstitutionModelSet::clone ( ) const
inlinevirtual

◆ complete()

◆ computeHyperNodesProbabilities()

◆ fireParameterChanged()

void MixedSubstitutionModelSet::fireParameterChanged ( const ParameterList parameters)
virtual

To be called when a parameter has changed. Depending on parameters, this will actualize the _initialFrequencies vector or the corresponding models in the set.

Parameters
parametersThe modified parameters.

Reimplemented from bpp::SubstitutionModelSet.

Definition at line 155 of file MixedSubstitutionModelSet.cpp.

References computeHyperNodesProbabilities(), and bpp::SubstitutionModelSet::fireParameterChanged().

◆ getAlphabet()

std::shared_ptr<const Alphabet> bpp::SubstitutionModelSet::getAlphabet ( ) const
inlineinherited

Definition at line 465 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::alphabet_.

◆ getAlphabetStateAsChar()

std::string bpp::SubstitutionModelSet::getAlphabetStateAsChar ( size_t  index) const
inlineinherited
Parameters
indexThe model state.
Returns
The corresponding alphabet state as character code.

Definition at line 512 of file SubstitutionModelSet.h.

References bpp::BranchModelInterface::getAlphabetStateAsChar(), and bpp::SubstitutionModelSet::model().

◆ getAlphabetStateAsInt()

int bpp::SubstitutionModelSet::getAlphabetStateAsInt ( size_t  index) const
inlineinherited
Parameters
indexThe model state.
Returns
The corresponding alphabet state as character code.

Definition at line 503 of file SubstitutionModelSet.h.

References bpp::BranchModelInterface::getAlphabetStateAsInt(), and bpp::SubstitutionModelSet::model().

◆ getAlphabetStates()

const std::vector<int>& bpp::SubstitutionModelSet::getAlphabetStates ( ) const
inlineinherited
Returns
The supported states of the model set, as a vector of int codes.
See also
Alphabet

Definition at line 474 of file SubstitutionModelSet.h.

References bpp::BranchModelInterface::getAlphabetStates(), and bpp::SubstitutionModelSet::model().

◆ getHyperNode() [1/2]

HyperNode& bpp::MixedSubstitutionModelSet::getHyperNode ( size_t  i)
inline

◆ getHyperNode() [2/2]

const HyperNode& bpp::MixedSubstitutionModelSet::getHyperNode ( size_t  i) const
inline

Definition at line 301 of file MixedSubstitutionModelSet.h.

References vpHyperNodes_.

◆ getHyperNodeProbability()

◆ getModel() [1/2]

std::shared_ptr<TransitionModelInterface> bpp::SubstitutionModelSet::getModel ( size_t  i)
inlineinherited

Definition at line 222 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::modelSet_.

◆ getModel() [2/2]

std::shared_ptr<const TransitionModelInterface> bpp::SubstitutionModelSet::getModel ( size_t  i) const
inlineinherited

Get one model from the set knowing its index.

Parameters
iIndex of the model in the set.
Returns
A pointer toward the corresponding model.

Definition at line 210 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::modelSet_.

Referenced by bpp::LegacyPhylogeneticsApplicationTools::completeMixedSubstitutionModelSet(), bpp::SubstitutionModelSet::getSubstitutionModel(), bpp::SubstitutionModelSet::hasMixedTransitionModel(), and bpp::LegacyPhylogeneticsApplicationTools::printParameters().

◆ getModelForNode() [1/2]

std::shared_ptr<TransitionModelInterface> bpp::SubstitutionModelSet::getModelForNode ( int  nodeId)
inlineinherited

◆ getModelForNode() [2/2]

std::shared_ptr<const TransitionModelInterface> bpp::SubstitutionModelSet::getModelForNode ( int  nodeId) const
inlineinherited

Get the model associated to a particular node id.

Parameters
nodeIdThe id of the query node.
Returns
A pointer toward the corresponding model.
Exceptions
ExceptionIf no model is found for this node.

Definition at line 301 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::modelSet_, bpp::SubstitutionModelSet::nodeToModel_, and bpp::TextTools::toString().

Referenced by bpp::SubstitutionModelSet::getSubstitutionModelForNode().

◆ getModelIndexForNode()

size_t bpp::SubstitutionModelSet::getModelIndexForNode ( int  nodeId) const
inlineinherited

Get the index in the set of the model associated to a particular node id.

Parameters
nodeIdThe id of the query node.
Returns
The index of the model associated to the given node.
Exceptions
ExceptionIf no model is found for this node.

Definition at line 286 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::nodeToModel_, and bpp::TextTools::toString().

◆ getModelParameters()

ParameterList bpp::SubstitutionModelSet::getModelParameters ( size_t  modelIndex) const
inherited

Get the parameters attached to a Model.

Parameters
modelIndexthe index of the model in the set
Returns
The parameters attached to the model.

◆ getModelStates() [1/2]

std::vector<size_t> bpp::SubstitutionModelSet::getModelStates ( const std::string &  code) const
inlineinherited

◆ getModelStates() [2/2]

std::vector<size_t> bpp::SubstitutionModelSet::getModelStates ( int  code) const
inlineinherited

◆ getNodeParameters()

ParameterList bpp::SubstitutionModelSet::getNodeParameters ( ) const
inlineinherited

Get the parameters corresponding attached to the nodes of the tree.

That is, all the parameters without the root frequencies.

Returns
The parameters attached to the nodes of the tree.

Definition at line 444 of file SubstitutionModelSet.h.

References bpp::ParameterList::addParameter(), bpp::AbstractParameterAliasable::getNumberOfParameters(), bpp::AbstractParameterAliasable::getParameter_(), bpp::SubstitutionModelSet::rootFrequencies_, and bpp::SubstitutionModelSet::stationarity_.

Referenced by bpp::SubstitutionModelSet::replaceModel().

◆ getNodesWithModel()

const std::vector<int>& bpp::SubstitutionModelSet::getNodesWithModel ( size_t  i) const
inlineinherited

Get a list of nodes id for which the given model is associated.

Parameters
iThe index of the model in the set.
Returns
A vector with the ids of the node associated to this model.
Exceptions
IndexOutOfBoundsExceptionIf the index is not valid.

Definition at line 333 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::modelSet_, and bpp::SubstitutionModelSet::modelToNodes_.

Referenced by bpp::SubstitutionModelSet::getNodesWithParameter(), and bpp::LegacyPhylogeneticsApplicationTools::printParameters().

◆ getNodesWithParameter()

std::vector< int > SubstitutionModelSet::getNodesWithParameter ( const std::string &  name) const
inherited
Parameters
nameThe name of the parameter to look for.
Returns
The list of nodes with a model containing the specified parameter.
Exceptions
ParameterNotFoundExceptionIf no parameter with the specified name is found.

Definition at line 75 of file SubstitutionModelSet.cpp.

References bpp::AbstractParameterAliasable::getAlias(), bpp::SubstitutionModelSet::getNodesWithModel(), and bpp::AbstractParameterAliasable::hasParameter().

◆ getNumberOfHyperNodes()

size_t bpp::MixedSubstitutionModelSet::getNumberOfHyperNodes ( ) const
inline

◆ getNumberOfModels()

size_t bpp::SubstitutionModelSet::getNumberOfModels ( ) const
inlineinherited

◆ getNumberOfStates()

size_t bpp::SubstitutionModelSet::getNumberOfStates ( ) const
inlineinherited

Get the number of states associated to this model set.

Returns
The number of states.
Exceptions
Exceptionif no model is associated to the set.

Definition at line 181 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::nbStates_.

◆ getRootFrequencies()

std::vector<double> bpp::SubstitutionModelSet::getRootFrequencies ( ) const
inlineinherited

◆ getRootFrequenciesParameters()

ParameterList bpp::SubstitutionModelSet::getRootFrequenciesParameters ( ) const
inlineinherited

Get the parameters corresponding to the root frequencies.

Returns
The parameters corresponding to the root frequencies.

Definition at line 429 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::rootFrequencies_, and bpp::SubstitutionModelSet::stationarity_.

◆ getRootFrequencySet()

const std::shared_ptr<FrequencySetInterface> bpp::SubstitutionModelSet::getRootFrequencySet ( ) const
inlineinherited
Returns
The set of root frequencies.

Definition at line 396 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::rootFrequencies_.

◆ getStateMap()

std::shared_ptr<const StateMapInterface> bpp::SubstitutionModelSet::getStateMap ( ) const
inlineinherited

◆ getSubstitutionModel() [1/2]

std::shared_ptr<SubstitutionModelInterface> bpp::SubstitutionModelSet::getSubstitutionModel ( size_t  i)
inlineinherited

◆ getSubstitutionModel() [2/2]

std::shared_ptr<const SubstitutionModelInterface> bpp::SubstitutionModelSet::getSubstitutionModel ( size_t  i) const
inlineinherited

Return a markovian substitution model (or null)

Definition at line 236 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::getModel(), and bpp::SubstitutionModelSet::model().

Referenced by bpp::LegacySubstitutionMappingTools::getCountsPerBranch().

◆ getSubstitutionModelForNode() [1/2]

std::shared_ptr<SubstitutionModelInterface> bpp::SubstitutionModelSet::getSubstitutionModelForNode ( int  nodeId)
inlineinherited

◆ getSubstitutionModelForNode() [2/2]

std::shared_ptr<const SubstitutionModelInterface> bpp::SubstitutionModelSet::getSubstitutionModelForNode ( int  nodeId) const
inlineinherited

◆ hasExclusivePaths()

◆ hasMixedTransitionModel()

bool SubstitutionModelSet::hasMixedTransitionModel ( ) const
inherited

◆ hasOnlySubstitutionModels()

bool bpp::SubstitutionModelSet::hasOnlySubstitutionModels ( ) const
inlineinherited

check if has only markovian substitution models

Definition at line 269 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::model(), and bpp::SubstitutionModelSet::modelSet_.

◆ isFullySetUpFor()

bool bpp::SubstitutionModelSet::isFullySetUpFor ( const Tree tree,
bool  throwEx = true 
) const
inlineinherited

Check if the model set is fully specified for a given tree.

This include:

  • that each node as a model set up,
  • that each model in the set is attributed to a node,
  • that each parameter in the set actually correspond to a model.
  • all nodes ids in the set refer to an existing node in the tree.
Parameters
treeThe tree to check.
throwExTell if an exception have to be thrown in case of test not passed.

Definition at line 529 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::checkOrphanModels(), bpp::SubstitutionModelSet::checkOrphanNodes(), and bpp::SubstitutionModelSet::checkUnknownNodes().

◆ isStationary()

bool bpp::SubstitutionModelSet::isStationary ( ) const
inlineinherited

◆ listModelNames()

void SubstitutionModelSet::listModelNames ( std::ostream &  out = std::cout) const
inherited

◆ model() [1/2]

TransitionModelInterface& bpp::SubstitutionModelSet::model ( size_t  i)
inlineinherited

Definition at line 228 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::modelSet_.

◆ model() [2/2]

◆ operator=()

MixedSubstitutionModelSet & MixedSubstitutionModelSet::operator= ( const MixedSubstitutionModelSet set)

◆ replaceModel()

void SubstitutionModelSet::replaceModel ( size_t  modelIndex,
std::shared_ptr< TransitionModelInterface model 
)
inherited

◆ resetModelToNodeIds()

void SubstitutionModelSet::resetModelToNodeIds ( )
inherited

Reset model indices to node ids assignment.

Definition at line 132 of file SubstitutionModelSet.cpp.

References bpp::SubstitutionModelSet::modelToNodes_, and bpp::SubstitutionModelSet::nodeToModel_.

◆ rootFrequencySet()

const FrequencySetInterface& bpp::SubstitutionModelSet::rootFrequencySet ( ) const
inlineinherited
Returns
The set of root frequencies.

Definition at line 401 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::rootFrequencies_.

Referenced by bpp::LegacyPhylogeneticsApplicationTools::printParameters().

◆ setNodeToModel()

void SubstitutionModelSet::setNodeToModel ( size_t  modelIndex,
int  nodeId 
)
inherited

Sets an assignment of a given model index to a given onde id.

Parameters
modelIndexThe index of the model in the set.
nodeIdThe node ID
Exceptions
Exceptionif the model index doesn't correspond to an existing model in the modelSet

Definition at line 140 of file SubstitutionModelSet.cpp.

References bpp::SubstitutionModelSet::modelSet_, bpp::SubstitutionModelSet::modelToNodes_, bpp::SubstitutionModelSet::nodeToModel_, and bpp::TextTools::toString().

◆ setRootFrequencies()

void SubstitutionModelSet::setRootFrequencies ( std::shared_ptr< FrequencySetInterface rootFreqs)
inherited

◆ stateMap()

const StateMapInterface& bpp::SubstitutionModelSet::stateMap ( ) const
inlineinherited

◆ substitutionModel()

const SubstitutionModelInterface& bpp::SubstitutionModelSet::substitutionModel ( size_t  i) const
inlineinherited

Definition at line 253 of file SubstitutionModelSet.h.

References bpp::SubstitutionModelSet::model().

◆ updateRootFrequencies()

void bpp::SubstitutionModelSet::updateRootFrequencies ( )
inlineprotectedinherited

Member Data Documentation

◆ alphabet_

std::shared_ptr<const Alphabet> bpp::SubstitutionModelSet::alphabet_
protectedinherited

A pointer toward the common alphabet to all models in the set.

Definition at line 74 of file SubstitutionModelSet.h.

Referenced by bpp::SubstitutionModelSet::addModel(), bpp::SubstitutionModelSet::alphabet(), bpp::SubstitutionModelSet::getAlphabet(), and bpp::SubstitutionModelSet::operator=().

◆ modelParameters_

std::vector<ParameterList> bpp::SubstitutionModelSet::modelParameters_
privateinherited

Parameters for each model in the set.

The parameters_ field, inherited from AbstractSubstitutionModel contains all parameters, with unique names. To make the correspondence with parameters for each model in the set, we duplicate them in this array. In most cases, this is something like 'theta_1 <=> theta', 'theta_2 <=> theta', etc.

Definition at line 102 of file SubstitutionModelSet.h.

Referenced by bpp::SubstitutionModelSet::addModel(), bpp::SubstitutionModelSet::clear(), bpp::SubstitutionModelSet::fireParameterChanged(), bpp::SubstitutionModelSet::operator=(), and bpp::SubstitutionModelSet::replaceModel().

◆ modelSet_

◆ modelToNodes_

◆ nbStates_

size_t bpp::SubstitutionModelSet::nbStates_
protectedinherited

◆ nodeToModel_

◆ rootFrequencies_

◆ stationarity_

◆ vpHyperNodes_


The documentation for this class was generated from the following files: