bpp-phyl
2.2.0
|
Analytical (weighted) substitution count using the uniformization method. More...
#include <Bpp/Phyl/Mapping/UniformizationSubstitutionCount.h>
Public Member Functions | |
UniformizationSubstitutionCount (const SubstitutionModel *model, SubstitutionRegister *reg, const AlphabetIndex2 *weights=0) | |
UniformizationSubstitutionCount (const UniformizationSubstitutionCount &usc) | |
UniformizationSubstitutionCount & | operator= (const UniformizationSubstitutionCount &usc) |
virtual | ~UniformizationSubstitutionCount () |
UniformizationSubstitutionCount * | clone () 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... | |
bool | hasSubstitutionRegister () const |
void | setSubstitutionRegister (SubstitutionRegister *reg) |
attribution of a SubstitutionRegister More... | |
const SubstitutionRegister * | getSubstitutionRegister () const |
SubstitutionRegister * | getSubstitutionRegister () |
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... | |
void | setWeights (const AlphabetIndex2 *weights, bool ownWeights) |
bool | hasWeights () const |
const AlphabetIndex2 * | getWeights () const |
Protected Member Functions | |
void | computeCounts_ (double length) const |
void | substitutionRegisterHasChanged () throw (Exception) |
void | weightsHaveChanged () throw (Exception) |
Protected Attributes | |
std::auto_ptr< SubstitutionRegister > | register_ |
const AlphabetIndex2 * | weights_ |
bool | ownWeights_ |
Private Member Functions | |
void | resetBMatrices_ () |
void | initBMatrices_ () |
void | fillBMatrices_ () |
Private Attributes | |
const SubstitutionModel * | model_ |
size_t | nbStates_ |
std::vector< RowMatrix< double > > | bMatrices_ |
std::vector< RowMatrix< double > > | power_ |
std::vector< std::vector< RowMatrix< double > > > | s_ |
double | miu_ |
std::vector< RowMatrix< double > > | counts_ |
double | currentLength_ |
Analytical (weighted) substitution count using the uniformization method.
The code is adapted from the original R code by Paula Tataru and Asger Hobolth.
Definition at line 57 of file UniformizationSubstitutionCount.h.
UniformizationSubstitutionCount::UniformizationSubstitutionCount | ( | const SubstitutionModel * | model, |
SubstitutionRegister * | reg, | ||
const AlphabetIndex2 * | weights = 0 |
||
) |
Definition at line 51 of file UniformizationSubstitutionCount.cpp.
References fillBMatrices_(), bpp::SubstitutionRegister::getAlphabet(), bpp::SubstitutionModel::getAlphabet(), initBMatrices_(), miu_, model_, nbStates_, and bpp::SubstitutionModel::Qij().
Referenced by clone().
|
inline |
Definition at line 74 of file UniformizationSubstitutionCount.h.
|
inlinevirtual |
Definition at line 102 of file UniformizationSubstitutionCount.h.
|
inlinevirtual |
Implements bpp::SubstitutionCount.
Definition at line 104 of file UniformizationSubstitutionCount.h.
References UniformizationSubstitutionCount().
|
protected |
Definition at line 120 of file UniformizationSubstitutionCount.cpp.
References bMatrices_, counts_, bpp::SubstitutionModel::getAlphabetStates(), bpp::SubstitutionModel::getGenerator(), bpp::SubstitutionModel::getPij_t(), miu_, model_, nbStates_, power_, bpp::AbstractSubstitutionCount::register_, s_, and bpp::AbstractWeightedSubstitutionCount::weights_.
Referenced by getAllNumbersOfSubstitutions(), getNumberOfSubstitutions(), getNumberOfSubstitutionsForEachType(), setSubstitutionModel(), substitutionRegisterHasChanged(), and weightsHaveChanged().
|
private |
Definition at line 103 of file UniformizationSubstitutionCount.cpp.
References bMatrices_, model_, nbStates_, bpp::SubstitutionModel::Qij(), and bpp::AbstractSubstitutionCount::register_.
Referenced by setSubstitutionModel(), substitutionRegisterHasChanged(), and UniformizationSubstitutionCount().
|
virtual |
Get the numbers of susbstitutions on a branch, for each initial and final states, and given the branch length.
length | The length of the branch. |
type | The type of susbstitution to count. |
Implements bpp::SubstitutionCount.
Definition at line 178 of file UniformizationSubstitutionCount.cpp.
References computeCounts_(), counts_, and currentLength_.
|
inlinevirtualinherited |
Short cut function, equivalent to getSubstitutionRegister()->getAlphabet().
Definition at line 112 of file SubstitutionCount.h.
References bpp::SubstitutionRegister::getAlphabet(), and bpp::SubstitutionCount::getSubstitutionRegister().
|
inlinevirtualinherited |
Short cut function, equivalent to getSubstitutionRegister()->getAlphabet()->getSize().
Definition at line 119 of file SubstitutionCount.h.
References bpp::SubstitutionRegister::getAlphabet(), and bpp::SubstitutionCount::getSubstitutionRegister().
|
virtual |
Get the number of susbstitutions on a branch, given the initial and final states, and the branch length.
initialState | The initial state. |
finalState | The final state. |
length | The length of the branch. |
type | The type of substitution to count. |
Implements bpp::SubstitutionCount.
Definition at line 192 of file UniformizationSubstitutionCount.cpp.
References computeCounts_(), counts_, and currentLength_.
|
virtual |
Get the numbers of susbstitutions on a branch for all types, for an initial and final states, given the branch length.
initialState | The initial state. |
finalState | The final state. |
length | The length of the branch. |
Implements bpp::SubstitutionCount.
Definition at line 206 of file UniformizationSubstitutionCount.cpp.
References computeCounts_(), counts_, currentLength_, and bpp::SubstitutionCount::getNumberOfSubstitutionTypes().
|
inlinevirtualinherited |
Short cut function, equivalent to getSubstitutionRegister().getNumberOfSubstitutionTypes().
Definition at line 105 of file SubstitutionCount.h.
References bpp::SubstitutionRegister::getNumberOfSubstitutionTypes(), and bpp::SubstitutionCount::getSubstitutionRegister().
Referenced by bpp::NaiveSubstitutionCount::getNumberOfSubstitutionsForEachType(), getNumberOfSubstitutionsForEachType(), bpp::DecompositionSubstitutionCount::getNumberOfSubstitutionsForEachType(), and bpp::ProbabilisticSubstitutionMapping::getNumberOfSubstitutionTypes().
|
inlinevirtualinherited |
Implements bpp::SubstitutionCount.
Definition at line 206 of file SubstitutionCount.h.
References bpp::AbstractSubstitutionCount::register_.
|
inlinevirtualinherited |
Implements bpp::SubstitutionCount.
Definition at line 208 of file SubstitutionCount.h.
References bpp::AbstractSubstitutionCount::register_.
|
inlinevirtualinherited |
Implements bpp::WeightedSubstitutionCount.
Definition at line 106 of file WeightedSubstitutionCount.h.
References bpp::AbstractWeightedSubstitutionCount::weights_.
|
inlinevirtualinherited |
Implements bpp::SubstitutionCount.
Definition at line 192 of file SubstitutionCount.h.
References bpp::AbstractSubstitutionCount::register_.
|
inlinevirtualinherited |
Implements bpp::WeightedSubstitutionCount.
Definition at line 105 of file WeightedSubstitutionCount.h.
References bpp::AbstractWeightedSubstitutionCount::weights_.
|
private |
Definition at line 94 of file UniformizationSubstitutionCount.cpp.
References bMatrices_, counts_, nbStates_, and bpp::AbstractSubstitutionCount::register_.
Referenced by setSubstitutionModel(), substitutionRegisterHasChanged(), and UniformizationSubstitutionCount().
|
inline |
Definition at line 87 of file UniformizationSubstitutionCount.h.
References bMatrices_, counts_, currentLength_, miu_, model_, nbStates_, bpp::AbstractWeightedSubstitutionCount::operator=(), bpp::AbstractSubstitutionCount::operator=(), power_, and s_.
|
private |
Definition at line 85 of file UniformizationSubstitutionCount.cpp.
References bMatrices_, counts_, bpp::AbstractSubstitutionCount::register_, and s_.
Referenced by substitutionRegisterHasChanged().
|
virtual |
Set the substitution model associated with this count, if relevent.
model | The substitution model to use with this count. |
Implements bpp::SubstitutionCount.
Definition at line 224 of file UniformizationSubstitutionCount.cpp.
References computeCounts_(), currentLength_, fillBMatrices_(), bpp::SubstitutionModel::getAlphabet(), initBMatrices_(), miu_, model_, nbStates_, bpp::SubstitutionModel::Qij(), and bpp::AbstractSubstitutionCount::register_.
|
inlinevirtualinherited |
attribution of a SubstitutionRegister
reg | pointer to a SubstitutionRegister |
Implements bpp::SubstitutionCount.
Definition at line 201 of file SubstitutionCount.h.
References bpp::AbstractSubstitutionCount::register_, and bpp::AbstractSubstitutionCount::substitutionRegisterHasChanged().
|
virtualinherited |
Implements bpp::WeightedSubstitutionCount.
Definition at line 44 of file WeightedSubstitutionCount.cpp.
References bpp::AbstractWeightedSubstitutionCount::ownWeights_, bpp::AbstractWeightedSubstitutionCount::weights_, and bpp::AbstractWeightedSubstitutionCount::weightsHaveChanged().
|
protectedvirtual |
Implements bpp::AbstractSubstitutionCount.
Definition at line 255 of file UniformizationSubstitutionCount.cpp.
References computeCounts_(), currentLength_, fillBMatrices_(), bpp::SubstitutionModel::getAlphabet(), initBMatrices_(), model_, bpp::AbstractSubstitutionCount::register_, and resetBMatrices_().
|
protectedvirtual |
Implements bpp::AbstractWeightedSubstitutionCount.
Definition at line 272 of file UniformizationSubstitutionCount.cpp.
References computeCounts_(), currentLength_, bpp::AbstractSubstitutionCount::register_, and bpp::AbstractWeightedSubstitutionCount::weights_.
|
private |
Definition at line 64 of file UniformizationSubstitutionCount.h.
Referenced by computeCounts_(), fillBMatrices_(), initBMatrices_(), operator=(), and resetBMatrices_().
|
mutableprivate |
Definition at line 68 of file UniformizationSubstitutionCount.h.
Referenced by computeCounts_(), getAllNumbersOfSubstitutions(), getNumberOfSubstitutions(), getNumberOfSubstitutionsForEachType(), initBMatrices_(), operator=(), and resetBMatrices_().
|
mutableprivate |
Definition at line 69 of file UniformizationSubstitutionCount.h.
Referenced by getAllNumbersOfSubstitutions(), getNumberOfSubstitutions(), getNumberOfSubstitutionsForEachType(), operator=(), setSubstitutionModel(), substitutionRegisterHasChanged(), and weightsHaveChanged().
|
private |
Definition at line 67 of file UniformizationSubstitutionCount.h.
Referenced by computeCounts_(), operator=(), setSubstitutionModel(), and UniformizationSubstitutionCount().
|
private |
Definition at line 62 of file UniformizationSubstitutionCount.h.
Referenced by computeCounts_(), fillBMatrices_(), operator=(), setSubstitutionModel(), substitutionRegisterHasChanged(), and UniformizationSubstitutionCount().
|
private |
Definition at line 63 of file UniformizationSubstitutionCount.h.
Referenced by computeCounts_(), fillBMatrices_(), initBMatrices_(), operator=(), setSubstitutionModel(), and UniformizationSubstitutionCount().
|
protectedinherited |
Definition at line 72 of file WeightedSubstitutionCount.h.
Referenced by bpp::AbstractWeightedSubstitutionCount::AbstractWeightedSubstitutionCount(), bpp::AbstractWeightedSubstitutionCount::operator=(), bpp::AbstractWeightedSubstitutionCount::setWeights(), and bpp::AbstractWeightedSubstitutionCount::~AbstractWeightedSubstitutionCount().
|
mutableprivate |
Definition at line 65 of file UniformizationSubstitutionCount.h.
Referenced by computeCounts_(), and operator=().
|
protectedinherited |
Definition at line 170 of file SubstitutionCount.h.
Referenced by computeCounts_(), bpp::DecompositionSubstitutionCount::computeCounts_(), bpp::DecompositionSubstitutionCount::computeProducts_(), fillBMatrices_(), bpp::DecompositionSubstitutionCount::fillBMatrices_(), bpp::NaiveSubstitutionCount::getAllNumbersOfSubstitutions(), bpp::NaiveSubstitutionCount::getNumberOfSubstitutions(), bpp::AbstractSubstitutionCount::getSubstitutionRegister(), bpp::AbstractSubstitutionCount::hasSubstitutionRegister(), initBMatrices_(), bpp::DecompositionSubstitutionCount::initBMatrices_(), bpp::AbstractSubstitutionCount::operator=(), resetBMatrices_(), bpp::DecompositionSubstitutionCount::resetBMatrices_(), setSubstitutionModel(), bpp::DecompositionSubstitutionCount::setSubstitutionModel(), bpp::AbstractSubstitutionCount::setSubstitutionRegister(), substitutionRegisterHasChanged(), bpp::DecompositionSubstitutionCount::substitutionRegisterHasChanged(), weightsHaveChanged(), and bpp::DecompositionSubstitutionCount::weightsHaveChanged().
|
mutableprivate |
Definition at line 66 of file UniformizationSubstitutionCount.h.
Referenced by computeCounts_(), operator=(), and resetBMatrices_().
|
protectedinherited |
Definition at line 71 of file WeightedSubstitutionCount.h.
Referenced by bpp::AbstractWeightedSubstitutionCount::AbstractWeightedSubstitutionCount(), computeCounts_(), bpp::DecompositionSubstitutionCount::computeCounts_(), bpp::NaiveSubstitutionCount::getAllNumbersOfSubstitutions(), bpp::NaiveSubstitutionCount::getNumberOfSubstitutions(), bpp::AbstractWeightedSubstitutionCount::getWeights(), bpp::AbstractWeightedSubstitutionCount::hasWeights(), bpp::AbstractWeightedSubstitutionCount::operator=(), bpp::AbstractWeightedSubstitutionCount::setWeights(), weightsHaveChanged(), bpp::DecompositionSubstitutionCount::weightsHaveChanged(), and bpp::AbstractWeightedSubstitutionCount::~AbstractWeightedSubstitutionCount().