bpp-phyl
2.2.0
|
Likelihood data structure for rate across sites models, using a double-recursive algorithm. More...
#include <Bpp/Phyl/Likelihood/DRASDRTreeLikelihoodData.h>
Public Member Functions | |
DRASDRTreeLikelihoodData (const TreeTemplate< Node > *tree, size_t nbClasses) | |
DRASDRTreeLikelihoodData (const DRASDRTreeLikelihoodData &data) | |
DRASDRTreeLikelihoodData & | operator= (const DRASDRTreeLikelihoodData &data) |
virtual | ~DRASDRTreeLikelihoodData () |
DRASDRTreeLikelihoodData * | clone () const |
void | setTree (const TreeTemplate< Node > *tree) |
Set the tree associated to the data. More... | |
DRASDRTreeLikelihoodNodeData & | getNodeData (int nodeId) |
const DRASDRTreeLikelihoodNodeData & | getNodeData (int nodeId) const |
DRASDRTreeLikelihoodLeafData & | getLeafData (int nodeId) |
const DRASDRTreeLikelihoodLeafData & | getLeafData (int nodeId) const |
size_t | getArrayPosition (int parentId, int sonId, size_t currentPosition) const |
const std::map< int, VVVdouble > & | getLikelihoodArrays (int nodeId) const |
std::map< int, VVVdouble > & | getLikelihoodArrays (int nodeId) |
VVVdouble & | getLikelihoodArray (int parentId, int neighborId) |
const VVVdouble & | getLikelihoodArray (int parentId, int neighborId) const |
Vdouble & | getDLikelihoodArray (int nodeId) |
const Vdouble & | getDLikelihoodArray (int nodeId) const |
Vdouble & | getD2LikelihoodArray (int nodeId) |
const Vdouble & | getD2LikelihoodArray (int nodeId) const |
VVdouble & | getLeafLikelihoods (int nodeId) |
const VVdouble & | getLeafLikelihoods (int nodeId) const |
VVVdouble & | getRootLikelihoodArray () |
const VVVdouble & | getRootLikelihoodArray () const |
VVdouble & | getRootSiteLikelihoodArray () |
const VVdouble & | getRootSiteLikelihoodArray () const |
Vdouble & | getRootRateSiteLikelihoodArray () |
const Vdouble & | getRootRateSiteLikelihoodArray () const |
size_t | getNumberOfDistinctSites () const |
size_t | getNumberOfSites () const |
size_t | getNumberOfStates () const |
size_t | getNumberOfClasses () const |
const SiteContainer * | getShrunkData () const |
void | initLikelihoods (const SiteContainer &sites, const SubstitutionModel &model) throw (Exception) |
Resize and initialize all likelihood arrays according to the given data set and substitution model. More... | |
void | reInit () throw (Exception) |
Rebuild likelihood arrays at inner nodes. More... | |
void | reInit (const Node *node) throw (Exception) |
std::vector< size_t > & | getRootArrayPositions () |
const std::vector< size_t > & | getRootArrayPositions () const |
size_t | getRootArrayPosition (const size_t site) const |
unsigned int | getWeight (size_t pos) const |
const std::vector< unsigned int > & | getWeights () const |
const Alphabet * | getAlphabet () const |
const TreeTemplate< Node > * | getTree () const |
Protected Member Functions | |
void | initLikelihoods (const Node *node, const SiteContainer &sites, const SubstitutionModel &model) throw (Exception) |
This method initializes the leaves according to a sequence container. More... | |
Protected Attributes | |
std::vector< size_t > | rootPatternLinks_ |
Links between sites and patterns. More... | |
std::vector< unsigned int > | rootWeights_ |
The frequency of each site. More... | |
const TreeTemplate< Node > * | tree_ |
const Alphabet * | alphabet_ |
Private Attributes | |
std::map< int, DRASDRTreeLikelihoodNodeData > | nodeData_ |
std::map< int, DRASDRTreeLikelihoodLeafData > | leafData_ |
VVVdouble | rootLikelihoods_ |
VVdouble | rootLikelihoodsS_ |
Vdouble | rootLikelihoodsSR_ |
SiteContainer * | shrunkData_ |
size_t | nbSites_ |
size_t | nbStates_ |
size_t | nbClasses_ |
size_t | nbDistinctSites_ |
Likelihood data structure for rate across sites models, using a double-recursive algorithm.
Definition at line 229 of file DRASDRTreeLikelihoodData.h.
|
inline |
Definition at line 247 of file DRASDRTreeLikelihoodData.h.
Referenced by clone().
|
inline |
Definition at line 253 of file DRASDRTreeLikelihoodData.h.
References shrunkData_.
|
inlinevirtual |
Definition at line 287 of file DRASDRTreeLikelihoodData.h.
References shrunkData_.
|
inlinevirtual |
Implements bpp::TreeLikelihoodData.
Definition at line 289 of file DRASDRTreeLikelihoodData.h.
References DRASDRTreeLikelihoodData().
Referenced by bpp::DRHomogeneousTreeLikelihood::DRHomogeneousTreeLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::DRNonHomogeneousTreeLikelihood(), bpp::DRHomogeneousTreeLikelihood::operator=(), and bpp::DRNonHomogeneousTreeLikelihood::operator=().
|
inlinevirtualinherited |
Implements bpp::TreeLikelihoodData.
Definition at line 136 of file AbstractTreeLikelihoodData.h.
References bpp::AbstractTreeLikelihoodData::alphabet_.
|
inlinevirtual |
Implements bpp::TreeLikelihoodData.
Definition at line 336 of file DRASDRTreeLikelihoodData.h.
|
inline |
Definition at line 371 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), and bpp::DRNonHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode().
|
inline |
Definition at line 376 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
|
inline |
Definition at line 361 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), and bpp::DRNonHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode().
|
inline |
Definition at line 366 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
|
inline |
Definition at line 326 of file DRASDRTreeLikelihoodData.h.
References leafData_.
|
inline |
Definition at line 331 of file DRASDRTreeLikelihoodData.h.
References leafData_.
|
inline |
Definition at line 381 of file DRASDRTreeLikelihoodData.h.
References leafData_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), and bpp::DRTreeLikelihoodTools::getPosteriorProbabilitiesForEachStateForEachRate().
|
inline |
Definition at line 386 of file DRASDRTreeLikelihoodData.h.
References leafData_.
|
inline |
Definition at line 351 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::DRHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::DRHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRHomogeneousTreeLikelihood::resetLikelihoodArrays(), and bpp::DRNonHomogeneousTreeLikelihood::resetLikelihoodArrays().
|
inline |
Definition at line 356 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
|
inline |
Definition at line 341 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), and bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix().
|
inline |
Definition at line 346 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
|
inlinevirtual |
Implements bpp::TreeLikelihoodData.
Definition at line 316 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
|
inlinevirtual |
Implements bpp::TreeLikelihoodData.
Definition at line 321 of file DRASDRTreeLikelihoodData.h.
References nodeData_.
|
inline |
Definition at line 406 of file DRASDRTreeLikelihoodData.h.
References nbClasses_.
|
inlinevirtual |
Implements bpp::TreeLikelihoodData.
Definition at line 400 of file DRASDRTreeLikelihoodData.h.
References nbDistinctSites_.
Referenced by bpp::DRTreeLikelihoodTools::getPosteriorProbabilitiesForEachStateForEachRate().
|
inlinevirtual |
Implements bpp::TreeLikelihoodData.
Definition at line 402 of file DRASDRTreeLikelihoodData.h.
References nbSites_.
|
inlinevirtual |
Implements bpp::TreeLikelihoodData.
Definition at line 404 of file DRASDRTreeLikelihoodData.h.
References nbStates_.
|
inlinevirtualinherited |
Implements bpp::TreeLikelihoodData.
Reimplemented in bpp::DRASRTreeLikelihoodData.
Definition at line 123 of file AbstractTreeLikelihoodData.h.
References bpp::AbstractTreeLikelihoodData::rootPatternLinks_.
Referenced by bpp::DRHomogeneousTreeLikelihood::getLikelihoodForASite(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihoodForASite(), bpp::DRHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClass(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClass(), bpp::DRHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClassForAState(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClassForAState(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihoodForASite(), bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihoodForASite(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClass(), bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClass(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClassForAState(), bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClassForAState(), bpp::DRHomogeneousTreeLikelihood::getSiteIndex(), and bpp::DRNonHomogeneousTreeLikelihood::getSiteIndex().
|
inlineinherited |
Definition at line 121 of file AbstractTreeLikelihoodData.h.
References bpp::AbstractTreeLikelihoodData::rootPatternLinks_.
|
inlineinherited |
Definition at line 122 of file AbstractTreeLikelihoodData.h.
References bpp::AbstractTreeLikelihoodData::rootPatternLinks_.
|
inline |
Definition at line 391 of file DRASDRTreeLikelihoodData.h.
References rootLikelihoods_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClassForAState(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClassForAState(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClassForAState(), and bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClassForAState().
|
inline |
Definition at line 392 of file DRASDRTreeLikelihoodData.h.
References rootLikelihoods_.
|
inline |
Definition at line 397 of file DRASDRTreeLikelihoodData.h.
References rootLikelihoodsSR_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::DRHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::DRHomogeneousMixedTreeLikelihood::getLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLikelihoodForASite(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihoodForASite(), bpp::DRHomogeneousMixedTreeLikelihood::getLogLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihoodForASite(), and bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihoodForASite().
|
inline |
Definition at line 398 of file DRASDRTreeLikelihoodData.h.
References rootLikelihoodsSR_.
|
inline |
Definition at line 394 of file DRASDRTreeLikelihoodData.h.
References rootLikelihoodsS_.
Referenced by bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClass(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihoodForASiteForARateClass(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClass(), and bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihoodForASiteForARateClass().
|
inline |
Definition at line 395 of file DRASDRTreeLikelihoodData.h.
References rootLikelihoodsS_.
|
inline |
Definition at line 408 of file DRASDRTreeLikelihoodData.h.
References shrunkData_.
|
inlinevirtualinherited |
Implements bpp::TreeLikelihoodData.
Definition at line 138 of file AbstractTreeLikelihoodData.h.
References bpp::AbstractTreeLikelihoodData::tree_.
|
inlinevirtualinherited |
Implements bpp::TreeLikelihoodData.
Definition at line 127 of file AbstractTreeLikelihoodData.h.
References bpp::AbstractTreeLikelihoodData::rootWeights_.
Referenced by bpp::DRTreeLikelihoodTools::getPosteriorStateFrequencies().
|
inlinevirtualinherited |
Implements bpp::TreeLikelihoodData.
Definition at line 131 of file AbstractTreeLikelihoodData.h.
References bpp::AbstractTreeLikelihoodData::rootWeights_.
Referenced by bpp::DRHomogeneousMixedTreeLikelihood::getLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::getLikelihood(), bpp::DRHomogeneousMixedTreeLikelihood::getLogLikelihood(), bpp::DRHomogeneousTreeLikelihood::getLogLikelihood(), and bpp::DRNonHomogeneousTreeLikelihood::getLogLikelihood().
void DRASDRTreeLikelihoodData::initLikelihoods | ( | const SiteContainer & | sites, |
const SubstitutionModel & | model | ||
) | |||
throw | ( | Exception | |
) |
Resize and initialize all likelihood arrays according to the given data set and substitution model.
sites | The sequences to use as data. |
model | The substitution model to use. |
Exception | if an error occures. |
Definition at line 51 of file DRASDRTreeLikelihoodData.cpp.
References bpp::SitePatterns::getIndices(), bpp::SitePatterns::getSites(), and bpp::SitePatterns::getWeights().
|
protected |
This method initializes the leaves according to a sequence container.
Here the container shrunkData_ is used. Likelihood is set to 1 for the state corresponding to the sequence site, otherwise it is set to 0.
All likelihood arrays at each nodes are initialized according to alphabet size and sequences length, and filled with 1.
NB: This method is recursive.
node | The node defining the subtree to analyse. |
sites | The sequence container to use. |
model | The model, used for initializing leaves' likelihoods. |
Definition at line 104 of file DRASDRTreeLikelihoodData.cpp.
References bpp::DRASDRTreeLikelihoodNodeData::getD2LikelihoodArray(), bpp::DRASDRTreeLikelihoodNodeData::getDLikelihoodArray(), bpp::Node::getId(), bpp::DRASDRTreeLikelihoodLeafData::getLikelihoodArray(), bpp::DRASDRTreeLikelihoodNodeData::getLikelihoodArrays(), bpp::Node::isLeaf(), bpp::DRASDRTreeLikelihoodLeafData::setNode(), and bpp::DRASDRTreeLikelihoodNodeData::setNode().
|
inline |
Definition at line 267 of file DRASDRTreeLikelihoodData.h.
References leafData_, nbClasses_, nbDistinctSites_, nbSites_, nbStates_, nodeData_, bpp::AbstractTreeLikelihoodData::operator=(), rootLikelihoods_, rootLikelihoodsS_, rootLikelihoodsSR_, and shrunkData_.
void DRASDRTreeLikelihoodData::reInit | ( | ) | ||
throw | ( | Exception | ||
) |
Rebuild likelihood arrays at inner nodes.
This method is to be called when the topology of the tree has changed. Node arrays relationship are rebuilt according to the new topology of the tree. The leaves likelihood remain unchanged, so as for the first and second order derivatives.
Definition at line 209 of file DRASDRTreeLikelihoodData.cpp.
References bpp::AbstractTreeLikelihoodData::tree_.
Referenced by bpp::NNIHomogeneousTreeLikelihood::topologyChangeTested().
void DRASDRTreeLikelihoodData::reInit | ( | const Node * | node | ) | |
throw | ( | Exception | |||
) |
Definition at line 214 of file DRASDRTreeLikelihoodData.cpp.
References bpp::DRASDRTreeLikelihoodNodeData::eraseNeighborArrays(), bpp::DRASDRTreeLikelihoodNodeData::getD2LikelihoodArray(), bpp::DRASDRTreeLikelihoodNodeData::getDLikelihoodArray(), bpp::Node::getId(), bpp::DRASDRTreeLikelihoodNodeData::getLikelihoodArrayForNeighbor(), bpp::DRASDRTreeLikelihoodLeafData::setNode(), and bpp::DRASDRTreeLikelihoodNodeData::setNode().
|
inline |
Set the tree associated to the data.
All node data will be actualized accordingly by calling the setNode() method on the corresponding nodes.
tree | The tree to be associated to this data. |
Definition at line 301 of file DRASDRTreeLikelihoodData.h.
References bpp::TreeTemplate< N >::getNode(), leafData_, nodeData_, and bpp::AbstractTreeLikelihoodData::tree_.
Referenced by bpp::DRHomogeneousTreeLikelihood::DRHomogeneousTreeLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::DRNonHomogeneousTreeLikelihood(), bpp::DRHomogeneousTreeLikelihood::operator=(), and bpp::DRNonHomogeneousTreeLikelihood::operator=().
|
protectedinherited |
Definition at line 95 of file AbstractTreeLikelihoodData.h.
Referenced by bpp::AbstractTreeLikelihoodData::getAlphabet(), and bpp::AbstractTreeLikelihoodData::operator=().
|
mutableprivate |
Definition at line 235 of file DRASDRTreeLikelihoodData.h.
Referenced by getLeafData(), getLeafLikelihoods(), operator=(), and setTree().
|
private |
Definition at line 243 of file DRASDRTreeLikelihoodData.h.
Referenced by getNumberOfClasses(), and operator=().
|
private |
Definition at line 244 of file DRASDRTreeLikelihoodData.h.
Referenced by getNumberOfDistinctSites(), and operator=().
|
private |
Definition at line 241 of file DRASDRTreeLikelihoodData.h.
Referenced by getNumberOfSites(), and operator=().
|
private |
Definition at line 242 of file DRASDRTreeLikelihoodData.h.
Referenced by getNumberOfStates(), and operator=().
|
mutableprivate |
Definition at line 234 of file DRASDRTreeLikelihoodData.h.
Referenced by getD2LikelihoodArray(), getDLikelihoodArray(), getLikelihoodArray(), getLikelihoodArrays(), getNodeData(), operator=(), and setTree().
|
mutableprivate |
Definition at line 236 of file DRASDRTreeLikelihoodData.h.
Referenced by getRootLikelihoodArray(), and operator=().
|
mutableprivate |
Definition at line 237 of file DRASDRTreeLikelihoodData.h.
Referenced by getRootSiteLikelihoodArray(), and operator=().
|
mutableprivate |
Definition at line 238 of file DRASDRTreeLikelihoodData.h.
Referenced by getRootRateSiteLikelihoodArray(), and operator=().
|
protectedinherited |
Links between sites and patterns.
The size of this vector is equal to the number of sites in the container, each element corresponds to a site in the container and points to the corresponding column in the likelihood array of the root node. If the container contains no repeated site, there will be a strict equivalence between each site and the likelihood array of the root node. However, if this is not the case, some pointers may point toward the same element in the likelihood array.
Definition at line 86 of file AbstractTreeLikelihoodData.h.
Referenced by bpp::AbstractTreeLikelihoodData::getRootArrayPosition(), bpp::DRASRTreeLikelihoodData::getRootArrayPosition(), bpp::AbstractTreeLikelihoodData::getRootArrayPositions(), and bpp::AbstractTreeLikelihoodData::operator=().
|
protectedinherited |
The frequency of each site.
Definition at line 91 of file AbstractTreeLikelihoodData.h.
Referenced by bpp::AbstractTreeLikelihoodData::getWeight(), bpp::AbstractTreeLikelihoodData::getWeights(), and bpp::AbstractTreeLikelihoodData::operator=().
|
private |
Definition at line 240 of file DRASDRTreeLikelihoodData.h.
Referenced by DRASDRTreeLikelihoodData(), getShrunkData(), operator=(), and ~DRASDRTreeLikelihoodData().
|
protectedinherited |
Definition at line 93 of file AbstractTreeLikelihoodData.h.
Referenced by bpp::AbstractTreeLikelihoodData::getTree(), bpp::AbstractTreeLikelihoodData::operator=(), reInit(), bpp::DRASRTreeLikelihoodData::setTree(), and setTree().