bpp-phyl3  3.0.0
bpp::SubstitutionCountInterface Class Referenceabstract

The SubstitutionsCount interface. More...

#include <Bpp/Phyl/Mapping/SubstitutionCount.h>

+ Inheritance diagram for bpp::SubstitutionCountInterface:
+ Collaboration diagram for bpp::SubstitutionCountInterface:

Public Member Functions

 SubstitutionCountInterface ()
 
virtual ~SubstitutionCountInterface ()
 
virtual SubstitutionCountInterfaceclone () const =0
 
virtual bool hasSubstitutionRegister () const =0
 
virtual std::shared_ptr< const SubstitutionRegisterInterfacegetSubstitutionRegister () const =0
 
virtual void setSubstitutionRegister (std::shared_ptr< const SubstitutionRegisterInterface > reg)=0
 
virtual size_t getNumberOfSubstitutionTypes () const
 Short cut function, equivalent to getSubstitutionRegister().getNumberOfSubstitutionTypes(). More...
 
virtual std::shared_ptr< const AlphabetgetAlphabet () const
 Short cut function, equivalent to getSubstitutionRegister()->getAlphabet(). More...
 
virtual size_t getNumberOfStates () const
 Short cut function, equivalent to getSubstitutionRegister()->getAlphabet()->getSize(). More...
 
virtual double getNumberOfSubstitutions (size_t initialState, size_t finalState, double length, size_t type) const =0
 Get the number of susbstitutions on a branch, given the initial and final states, and the branch length. More...
 
virtual std::unique_ptr< Matrix< double > > getAllNumbersOfSubstitutions (double length, size_t type) const =0
 Get the numbers of susbstitutions on a branch, for each initial and final states, and given the branch length. More...
 
virtual void storeAllNumbersOfSubstitutions (double length, size_t type, Eigen::MatrixXd &mat) const =0
 Stores the numbers of susbstitutions on a branch, for each initial and final states, and given the branch length. More...
 
virtual std::vector< double > getNumberOfSubstitutionsPerType (size_t initialState, size_t finalState, double length) const =0
 Get the numbers of susbstitutions on a branch for all types, for an initial and final states, given the branch length. More...
 
virtual void setSubstitutionModel (std::shared_ptr< const SubstitutionModelInterface > model)=0
 Set the substitution model associated with this count, if relevant. More...
 

Detailed Description

The SubstitutionsCount interface.

Provide a method to compute the $n_{x,y}(t)$ function, namely the number of substitutions on a branch of length $t$, with initial state $x$ and final state $y$.

The new implementation offers to perform several counts simultaneously, distinguishing between different types of substitutions. Therefore substitution count object takes as input a SubstitutionRegister, which describes all types of substitutions and associate them with an index. All counts can be retrieved in one go as a vector, the type serving as an indice.

Author
Julien Dutheil

See: Dutheil J, Pupko T, Jean-Marie A, Galtier N. A model-based approach for detecting coevolving positions in a molecule. Mol Biol Evol. 2005 Sep;22(9):1919-28. Epub 2005 Jun 8.

Definition at line 41 of file SubstitutionCount.h.

Constructor & Destructor Documentation

◆ SubstitutionCountInterface()

bpp::SubstitutionCountInterface::SubstitutionCountInterface ( )
inline

Definition at line 45 of file SubstitutionCount.h.

◆ ~SubstitutionCountInterface()

virtual bpp::SubstitutionCountInterface::~SubstitutionCountInterface ( )
inlinevirtual

Definition at line 46 of file SubstitutionCount.h.

Member Function Documentation

◆ clone()

◆ getAllNumbersOfSubstitutions()

virtual std::unique_ptr< Matrix<double> > bpp::SubstitutionCountInterface::getAllNumbersOfSubstitutions ( double  length,
size_t  type 
) const
pure virtual

Get the numbers of susbstitutions on a branch, for each initial and final states, and given the branch length.

Parameters
lengthThe length of the branch.
typeThe type of susbstitution to count.
Returns
A matrix with all numbers of substitutions for each initial and final states.

Implemented in bpp::UniformizationSubstitutionCount, bpp::OneJumpSubstitutionCount, bpp::LabelSubstitutionCount, bpp::NaiveSubstitutionCount, bpp::LaplaceSubstitutionCount, and bpp::DecompositionSubstitutionCount.

◆ getAlphabet()

virtual std::shared_ptr<const Alphabet> bpp::SubstitutionCountInterface::getAlphabet ( ) const
inlinevirtual

Short cut function, equivalent to getSubstitutionRegister()->getAlphabet().

Returns
The alphabet associated to this substitution count.

Definition at line 78 of file SubstitutionCount.h.

References getSubstitutionRegister().

◆ getNumberOfStates()

virtual size_t bpp::SubstitutionCountInterface::getNumberOfStates ( ) const
inlinevirtual

Short cut function, equivalent to getSubstitutionRegister()->getAlphabet()->getSize().

Returns
The number of states in the model/alphabet.

Definition at line 85 of file SubstitutionCount.h.

References getSubstitutionRegister().

◆ getNumberOfSubstitutions()

virtual double bpp::SubstitutionCountInterface::getNumberOfSubstitutions ( size_t  initialState,
size_t  finalState,
double  length,
size_t  type 
) const
pure virtual

Get the number of susbstitutions on a branch, given the initial and final states, and the branch length.

Parameters
initialStateThe initial state.
finalStateThe final state.
lengthThe length of the branch.
typeThe type of substitution to count.
Returns
The number of substitutions on a branch of specified length and according to initial and final states.

Implemented in bpp::UniformizationSubstitutionCount, bpp::OneJumpSubstitutionCount, bpp::LabelSubstitutionCount, bpp::NaiveSubstitutionCount, bpp::LaplaceSubstitutionCount, and bpp::DecompositionSubstitutionCount.

◆ getNumberOfSubstitutionsPerType()

virtual std::vector<double> bpp::SubstitutionCountInterface::getNumberOfSubstitutionsPerType ( size_t  initialState,
size_t  finalState,
double  length 
) const
pure virtual

Get the numbers of susbstitutions on a branch for all types, for an initial and final states, given the branch length.

Parameters
initialStateThe initial state.
finalStateThe final state.
lengthThe length of the branch.
Returns
A matrix with all numbers of substitutions for each initial and final states.

Implemented in bpp::UniformizationSubstitutionCount, bpp::OneJumpSubstitutionCount, bpp::LabelSubstitutionCount, bpp::NaiveSubstitutionCount, bpp::LaplaceSubstitutionCount, and bpp::DecompositionSubstitutionCount.

◆ getNumberOfSubstitutionTypes()

virtual size_t bpp::SubstitutionCountInterface::getNumberOfSubstitutionTypes ( ) const
inlinevirtual

◆ getSubstitutionRegister()

virtual std::shared_ptr<const SubstitutionRegisterInterface> bpp::SubstitutionCountInterface::getSubstitutionRegister ( ) const
pure virtual
Returns
The SubstitutionRegister object associated to this instance. The register contains the description of the various substitutions types that are mapped.

Implemented in bpp::AbstractSubstitutionCount.

Referenced by getAlphabet(), getNumberOfStates(), and getNumberOfSubstitutionTypes().

◆ hasSubstitutionRegister()

virtual bool bpp::SubstitutionCountInterface::hasSubstitutionRegister ( ) const
pure virtual
Returns
Tell if a substitution register has been attached to this class.

Implemented in bpp::AbstractSubstitutionCount.

◆ setSubstitutionModel()

virtual void bpp::SubstitutionCountInterface::setSubstitutionModel ( std::shared_ptr< const SubstitutionModelInterface model)
pure virtual

Set the substitution model associated with this count, if relevant.

Parameters
modelThe substitution model to use with this count.

Implemented in bpp::UniformizationSubstitutionCount, bpp::OneJumpSubstitutionCount, bpp::LabelSubstitutionCount, bpp::NaiveSubstitutionCount, bpp::LaplaceSubstitutionCount, and bpp::DecompositionSubstitutionCount.

◆ setSubstitutionRegister()

virtual void bpp::SubstitutionCountInterface::setSubstitutionRegister ( std::shared_ptr< const SubstitutionRegisterInterface reg)
pure virtual
Parameters
regThe new SubstitutionRegister object to be associated to this instance. The register contains the description of the various substitutions types that are mapped.

Implemented in bpp::OneJumpSubstitutionCount, bpp::LabelSubstitutionCount, bpp::LaplaceSubstitutionCount, and bpp::AbstractSubstitutionCount.

◆ storeAllNumbersOfSubstitutions()

virtual void bpp::SubstitutionCountInterface::storeAllNumbersOfSubstitutions ( double  length,
size_t  type,
Eigen::MatrixXd &  mat 
) const
pure virtual

Stores the numbers of susbstitutions on a branch, for each initial and final states, and given the branch length.

Parameters
lengthThe length of the branch.
typeThe type of susbstitution to count.
matThe matrix filled with all numbers of substitutions for each initial and final states.

Implemented in bpp::UniformizationSubstitutionCount, bpp::OneJumpSubstitutionCount, bpp::LabelSubstitutionCount, bpp::NaiveSubstitutionCount, bpp::LaplaceSubstitutionCount, and bpp::DecompositionSubstitutionCount.


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