40 #ifndef _MIXEDSUBSTITUTIONMODELSET_H_ 41 #define _MIXEDSUBSTITUTIONMODELSET_H_ 47 #include <Bpp/Exceptions.h> 48 #include <Bpp/Numeric/VectorTools.h> 222 void setModel(
size_t nM,
const Vint& vnS);
298 #ifndef NO_VIRTUAL_COV 391 #endif // _MIXEDSUBSTITUTIONMODELSET_H_ void addHyperNode(const HyperNode &hn)
Vint vNumb_
A vector<int> where all elements are different and in increasing order.
bool hasExclusivePaths() const
Substitution models manager for non-homogeneous / non-reversible models of evolution.
void setModel(size_t nM, const Vint &vnS)
sets submodel numbers in the nMth mixed model. Checks if all the numbers are valid.
const HyperNode & getHyperNode(size_t i) const
void computeHyperNodesProbabilities()
bool operator>=(const Node &) const
checks if this HyperNode includes another one.
MixedSubstitutionModelSet(const Alphabet *alpha)
Create a model set according to the specified alphabet.
MixedSubstitutionModelSet & operator=(const MixedSubstitutionModelSet &set)
double getHyperNodeProbability(const HyperNode &hn) const
bool operator>=(const HyperNode &) const
checks if this HyperNode includes another one.
void setProbability(double x)
sets the probability
MixedSubstitutionModelSet * clone() const
HyperNode & getHyperNode(size_t i)
Node & operator=(const Vint &n)
const Node & getNode(size_t i) const
bool isComplete() const
checks if this HyperNode includes at least a submodel of each mixed model
int operator[](size_t i) const
Node & operator=(const Node &n)
bool operator<=(const Node &) const
checks if this Node is included in another one.
void clear()
Resets the list of the HyperNodes.
double proba_
probability of this HyperNode.
Vint vUnused_
the coordinates of the Nodes that are not used.
void addToHyperNode(size_t nM, const Vint &vnS, int nH=-1)
~MixedSubstitutionModelSet()
HyperNode(const MixedSubstitutionModelSet *)
double getProbability() const
returns the probability
Substitution models manager for Mixed Substitution Models. This class inherits from SubstitutionModel...
std::vector< Node > vNumbers_
HyperNode & operator+=(const HyperNode &)
Cumulates the Nodes of the given HyperNode into this one.
HyperNode & operator=(const HyperNode &)
void addToModel(size_t nM, const Vint &vnS)
adds submodel numbers to the nMth mixed model. Checks if all the numbers are valid.
bool intersects(const HyperNode &) const
checks if this HyperNode intersects another one.
void fireParameterChanged(const ParameterList ¶meters)
bool operator<=(const HyperNode &) const
checks if this HyperNode is included in another one.
size_t getNumberOfHyperNodes() const
bool intersects(const Node &) const
checks if this Node intersects another one.
std::vector< HyperNode * > vpHyperNodes_
Node & operator+=(const Node &)
Cumulates the elements of the given Node into this one.
void insertN(const Vint &vn)