bpp-phyl  2.2.0
bpp::LaplaceSubstitutionCount Class Reference

Laplace estimate of the substitution count. More...

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

+ Inheritance diagram for bpp::LaplaceSubstitutionCount:
+ Collaboration diagram for bpp::LaplaceSubstitutionCount:

Public Member Functions

 LaplaceSubstitutionCount (const SubstitutionModel *model, size_t cutOff)
 
 LaplaceSubstitutionCount (const LaplaceSubstitutionCount &asc)
 
LaplaceSubstitutionCountoperator= (const LaplaceSubstitutionCount &asc)
 
virtual ~LaplaceSubstitutionCount ()
 
LaplaceSubstitutionCountclone () const
 
double getNumberOfSubstitutions (size_t initialState, size_t finalState, double length, size_t type=1) const
 Get the number of susbstitutions on a branch, given the initial and final states, and the branch length. More...
 
Matrix< double > * getAllNumbersOfSubstitutions (double length, size_t type=1) const
 Get the numbers of susbstitutions on a branch, for each initial and final states, and given the branch length. More...
 
std::vector< double > getNumberOfSubstitutionsForEachType (size_t initialState, size_t finalState, double length) const
 Get the numbers of susbstitutions on a branch for all types, for an initial and final states, given the branch length. More...
 
void setSubstitutionModel (const SubstitutionModel *model)
 Set the substitution model associated with this count, if relevent. More...
 
void setSubstitutionRegister (SubstitutionRegister *reg) throw (Exception)
 
bool hasSubstitutionRegister () const
 
const SubstitutionRegistergetSubstitutionRegister () const
 
SubstitutionRegistergetSubstitutionRegister ()
 
virtual size_t getNumberOfSubstitutionTypes () const
 Short cut function, equivalent to getSubstitutionRegister().getNumberOfSubstitutionTypes(). More...
 
virtual const Alphabet * getAlphabet () const
 Short cut function, equivalent to getSubstitutionRegister()->getAlphabet(). More...
 
virtual size_t getNumberOfStates () const
 Short cut function, equivalent to getSubstitutionRegister()->getAlphabet()->getSize(). More...
 

Protected Member Functions

void computeCounts (double length) const
 
void substitutionRegisterHasChanged ()
 

Protected Attributes

std::auto_ptr< SubstitutionRegisterregister_
 

Private Attributes

const SubstitutionModelmodel_
 
size_t cutOff_
 
double currentLength_
 
RowMatrix< double > m_
 

Detailed Description

Laplace estimate of the substitution count.

This method uses Laplace transforms, as described in 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.

See also
UniformizationSubstitutionCount
DecompositionSubstitutionCount
Author
Julien Dutheil

Definition at line 61 of file LaplaceSubstitutionCount.h.

Constructor & Destructor Documentation

◆ LaplaceSubstitutionCount() [1/2]

bpp::LaplaceSubstitutionCount::LaplaceSubstitutionCount ( const SubstitutionModel model,
size_t  cutOff 
)
inline

Definition at line 71 of file LaplaceSubstitutionCount.h.

Referenced by clone().

◆ LaplaceSubstitutionCount() [2/2]

bpp::LaplaceSubstitutionCount::LaplaceSubstitutionCount ( const LaplaceSubstitutionCount asc)
inline

Definition at line 79 of file LaplaceSubstitutionCount.h.

◆ ~LaplaceSubstitutionCount()

virtual bpp::LaplaceSubstitutionCount::~LaplaceSubstitutionCount ( )
inlinevirtual

Definition at line 97 of file LaplaceSubstitutionCount.h.

Member Function Documentation

◆ clone()

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

Implements bpp::SubstitutionCount.

Definition at line 99 of file LaplaceSubstitutionCount.h.

References LaplaceSubstitutionCount().

◆ computeCounts()

void LaplaceSubstitutionCount::computeCounts ( double  length) const
protected

◆ getAllNumbersOfSubstitutions()

Matrix< double > * LaplaceSubstitutionCount::getAllNumbersOfSubstitutions ( double  length,
size_t  type = 1 
) const
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.

Implements bpp::SubstitutionCount.

Definition at line 110 of file LaplaceSubstitutionCount.cpp.

References computeCounts(), currentLength_, bpp::SubstitutionModel::getAlphabet(), m_, and model_.

◆ getAlphabet()

virtual const Alphabet* bpp::SubstitutionCount::getAlphabet ( ) const
inlinevirtualinherited

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

Returns
The alphabet associated to this substitution count.

Definition at line 112 of file SubstitutionCount.h.

References bpp::SubstitutionRegister::getAlphabet(), and bpp::SubstitutionCount::getSubstitutionRegister().

◆ getNumberOfStates()

virtual size_t bpp::SubstitutionCount::getNumberOfStates ( ) const
inlinevirtualinherited

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

Returns
The number of states in the model/alphabet.

Definition at line 119 of file SubstitutionCount.h.

References bpp::SubstitutionRegister::getAlphabet(), and bpp::SubstitutionCount::getSubstitutionRegister().

◆ getNumberOfSubstitutions()

double LaplaceSubstitutionCount::getNumberOfSubstitutions ( size_t  initialState,
size_t  finalState,
double  length,
size_t  type = 1 
) const
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.

Implements bpp::SubstitutionCount.

Definition at line 95 of file LaplaceSubstitutionCount.cpp.

References computeCounts(), currentLength_, and m_.

Referenced by getNumberOfSubstitutionsForEachType().

◆ getNumberOfSubstitutionsForEachType()

std::vector<double> bpp::LaplaceSubstitutionCount::getNumberOfSubstitutionsForEachType ( size_t  initialState,
size_t  finalState,
double  length 
) const
inlinevirtual

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.

Implements bpp::SubstitutionCount.

Definition at line 104 of file LaplaceSubstitutionCount.h.

References getNumberOfSubstitutions().

◆ getNumberOfSubstitutionTypes()

◆ getSubstitutionRegister() [1/2]

const SubstitutionRegister* bpp::AbstractSubstitutionCount::getSubstitutionRegister ( ) const
inlinevirtualinherited
Returns
The SubstitutionRegister object associated to this instance. The register contains the description of the various substitutions types that are mapped.

Implements bpp::SubstitutionCount.

Definition at line 206 of file SubstitutionCount.h.

References bpp::AbstractSubstitutionCount::register_.

◆ getSubstitutionRegister() [2/2]

SubstitutionRegister* bpp::AbstractSubstitutionCount::getSubstitutionRegister ( )
inlinevirtualinherited
Returns
The SubstitutionRegister object associated to this instance. The register contains the description of the various substitutions types that are mapped.

Implements bpp::SubstitutionCount.

Definition at line 208 of file SubstitutionCount.h.

References bpp::AbstractSubstitutionCount::register_.

◆ hasSubstitutionRegister()

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

Implements bpp::SubstitutionCount.

Definition at line 192 of file SubstitutionCount.h.

References bpp::AbstractSubstitutionCount::register_.

◆ operator=()

LaplaceSubstitutionCount& bpp::LaplaceSubstitutionCount::operator= ( const LaplaceSubstitutionCount asc)
inline

◆ setSubstitutionModel()

void LaplaceSubstitutionCount::setSubstitutionModel ( const SubstitutionModel model)
virtual

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

Parameters
modelThe substitution model to use with this count.

Implements bpp::SubstitutionCount.

Definition at line 138 of file LaplaceSubstitutionCount.cpp.

References computeCounts(), currentLength_, bpp::SubstitutionModel::getAlphabet(), m_, and model_.

◆ setSubstitutionRegister()

void bpp::LaplaceSubstitutionCount::setSubstitutionRegister ( SubstitutionRegister reg)
throw (Exception
)
inlinevirtual
Parameters
regThe new SubstitutionRegister object to be associated to this instance. The register contains the description of the various substitutions types that are mapped.

Implements bpp::SubstitutionCount.

Definition at line 117 of file LaplaceSubstitutionCount.h.

◆ substitutionRegisterHasChanged()

void bpp::LaplaceSubstitutionCount::substitutionRegisterHasChanged ( )
inlineprotectedvirtual

Implements bpp::AbstractSubstitutionCount.

Definition at line 123 of file LaplaceSubstitutionCount.h.

Member Data Documentation

◆ currentLength_

double bpp::LaplaceSubstitutionCount::currentLength_
mutableprivate

◆ cutOff_

size_t bpp::LaplaceSubstitutionCount::cutOff_
private

Definition at line 66 of file LaplaceSubstitutionCount.h.

Referenced by computeCounts(), and operator=().

◆ m_

RowMatrix<double> bpp::LaplaceSubstitutionCount::m_
mutableprivate

◆ model_

const SubstitutionModel* bpp::LaplaceSubstitutionCount::model_
private

◆ register_


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