bpp-phyl  2.2.0
bpp::ProbabilisticSubstitutionMapping Class Referenceabstract

Data storage class for probabilistic substitution mappings. More...

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

+ Inheritance diagram for bpp::ProbabilisticSubstitutionMapping:
+ Collaboration diagram for bpp::ProbabilisticSubstitutionMapping:

Public Member Functions

 ProbabilisticSubstitutionMapping (const Tree &tree, const SubstitutionCount *sc, size_t numberOfSites)
 Build a new ProbabilisticSubstitutionMapping object. More...
 
 ProbabilisticSubstitutionMapping (const Tree &tree)
 Build a new ProbabilisticSubstitutionMapping object. More...
 
ProbabilisticSubstitutionMappingclone () const
 
 ProbabilisticSubstitutionMapping (const ProbabilisticSubstitutionMapping &psm)
 
ProbabilisticSubstitutionMappingoperator= (const ProbabilisticSubstitutionMapping &psm)
 
virtual ~ProbabilisticSubstitutionMapping ()
 
size_t getNumberOfSubstitutionTypes () const
 
virtual double getNumberOfSubstitutions (int nodeId, size_t siteIndex, size_t type) const
 
virtual std::vector< double > getNumberOfSubstitutions (int nodeId, size_t siteIndex) const
 
virtual void setTree (const Tree &tree)
 (Re)-set the phylogenetic tree associated to this mapping. More...
 
virtual void setNumberOfSites (size_t numberOfSites)
 
virtual double & operator() (size_t nodeIndex, size_t siteIndex, size_t type)
 Direct access to substitution numbers. More...
 
virtual const double & operator() (size_t nodeIndex, size_t siteIndex, size_t type) const
 Direct access to substitution numbers. More...
 
std::vector< std::vector< double > > & operator[] (size_t siteIndex)
 Direct access to substitution numbers. More...
 
const std::vector< std::vector< double > > & operator[] (size_t siteIndex) const
 Direct access to substitution numbers. More...
 
virtual const TreegetTree () const =0
 
const TreeTemplate< Node > & getTree () const throw (Exception)
 
virtual bool isEmpty () const =0
 
bool isEmpty () const
 
virtual size_t getNumberOfSites () const =0
 
size_t getNumberOfSites () const
 
virtual size_t getNumberOfBranches () const =0
 
size_t getNumberOfBranches () const
 
virtual int getSitePosition (size_t index) const =0
 
int getSitePosition (size_t index) const throw (Exception)
 
virtual std::vector< double > getBranchLengths () const =0
 
virtual std::vector< double > getBranchLengths () const
 
virtual size_t getNodeIndex (int nodeId) const =0 throw (NodeNotFoundException)
 
virtual size_t getNodeIndex (int nodeId) const throw (NodeNotFoundException)
 
virtual void setSitePosition (size_t index, int position)=0
 Set the position of a given site. More...
 
void setSitePosition (size_t index, int position) throw (Exception)
 Set the position of a given site. More...
 
virtual const NodegetNode (size_t nodeIndex) const
 

Private Attributes

const SubstitutionCountsubstitutionCount_
 
std::vector< std::vector< std::vector< double > > > mapping_
 Substitution numbers storage. More...
 

Detailed Description

Data storage class for probabilistic substitution mappings.

A 'probabilistic' mapping contains an single value for each branch and each site. This number can be an average number of substitutions, optionally waited, or a probability of observing a certain number of substitutions. Probabilistic was coined there by opposition to the'stochastic' mapping, where a path (number of susbstitutions + there position along the branch) is available for each branch and site. The probabilistic mapping can however be extended to contain a matrix will all types of substitutions, instead of their total number.

Definition at line 63 of file ProbabilisticSubstitutionMapping.h.

Constructor & Destructor Documentation

◆ ProbabilisticSubstitutionMapping() [1/3]

bpp::ProbabilisticSubstitutionMapping::ProbabilisticSubstitutionMapping ( const Tree tree,
const SubstitutionCount sc,
size_t  numberOfSites 
)
inline

Build a new ProbabilisticSubstitutionMapping object.

Parameters
treeThe tree object to use. It will be cloned for internal use.
scA pointer toward the substitution count object that has been used for the mapping, if any. This object allows to get the substitution types description, if there are several. If set to 0, then the mapping will be considered as having only one type of substitution mapped.
numberOfSitesThe number of sites to map.

Definition at line 86 of file ProbabilisticSubstitutionMapping.h.

References setNumberOfSites().

Referenced by clone().

◆ ProbabilisticSubstitutionMapping() [2/3]

bpp::ProbabilisticSubstitutionMapping::ProbabilisticSubstitutionMapping ( const Tree tree)
inline

Build a new ProbabilisticSubstitutionMapping object.

Parameters
treeThe tree object to use. It will be cloned for internal use.

Definition at line 97 of file ProbabilisticSubstitutionMapping.h.

◆ ProbabilisticSubstitutionMapping() [3/3]

bpp::ProbabilisticSubstitutionMapping::ProbabilisticSubstitutionMapping ( const ProbabilisticSubstitutionMapping psm)
inline

Definition at line 104 of file ProbabilisticSubstitutionMapping.h.

◆ ~ProbabilisticSubstitutionMapping()

virtual bpp::ProbabilisticSubstitutionMapping::~ProbabilisticSubstitutionMapping ( )
inlinevirtual

Definition at line 116 of file ProbabilisticSubstitutionMapping.h.

Member Function Documentation

◆ clone()

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

◆ getBranchLengths() [1/2]

virtual std::vector<double> bpp::Mapping::getBranchLengths ( ) const
pure virtualinherited
Returns
A vector with all tree branch lengths.

Implemented in bpp::AbstractMapping.

◆ getBranchLengths() [2/2]

virtual std::vector<double> bpp::AbstractMapping::getBranchLengths ( ) const
inlinevirtualinherited
Returns
A vector with all tree branch lengths.

Implements bpp::Mapping.

Definition at line 222 of file Mapping.h.

References bpp::AbstractMapping::nbBranches_, and bpp::AbstractMapping::nodes_.

◆ getNode()

virtual const Node* bpp::AbstractMapping::getNode ( size_t  nodeIndex) const
inlinevirtualinherited

Definition at line 212 of file Mapping.h.

References bpp::AbstractMapping::nodes_.

◆ getNodeIndex() [1/2]

virtual size_t bpp::Mapping::getNodeIndex ( int  nodeId) const
throw (NodeNotFoundException
)
pure virtualinherited
Parameters
nodeIdAn id of the node to look for in the map.
Returns
The mapping index for the specified node id.

Implemented in bpp::AbstractMapping.

◆ getNodeIndex() [2/2]

virtual size_t bpp::AbstractMapping::getNodeIndex ( int  nodeId) const
throw (NodeNotFoundException
)
inlinevirtualinherited

◆ getNumberOfBranches() [1/2]

virtual size_t bpp::Mapping::getNumberOfBranches ( ) const
pure virtualinherited

◆ getNumberOfBranches() [2/2]

size_t bpp::AbstractMapping::getNumberOfBranches ( ) const
inlinevirtualinherited
Returns
The number of branches mapped.

Implements bpp::Mapping.

Definition at line 210 of file Mapping.h.

References bpp::AbstractMapping::nbBranches_.

Referenced by bpp::ProbabilisticRewardMapping::setNumberOfSites(), setNumberOfSites(), bpp::ProbabilisticRewardMapping::setTree(), and setTree().

◆ getNumberOfSites() [1/2]

virtual size_t bpp::Mapping::getNumberOfSites ( ) const
pure virtualinherited

◆ getNumberOfSites() [2/2]

size_t bpp::AbstractMapping::getNumberOfSites ( ) const
inlinevirtualinherited

◆ getNumberOfSubstitutions() [1/2]

virtual double bpp::ProbabilisticSubstitutionMapping::getNumberOfSubstitutions ( int  nodeId,
size_t  siteIndex,
size_t  type 
) const
inlinevirtual

◆ getNumberOfSubstitutions() [2/2]

virtual std::vector<double> bpp::ProbabilisticSubstitutionMapping::getNumberOfSubstitutions ( int  nodeId,
size_t  siteIndex 
) const
inlinevirtual

◆ getNumberOfSubstitutionTypes()

size_t bpp::ProbabilisticSubstitutionMapping::getNumberOfSubstitutionTypes ( ) const
inlinevirtual
Returns
The number of distinct types of substitutions mapped.

Implements bpp::SubstitutionMapping.

Definition at line 120 of file ProbabilisticSubstitutionMapping.h.

References bpp::SubstitutionCount::getNumberOfSubstitutionTypes(), and substitutionCount_.

Referenced by bpp::SubstitutionMappingTools::getCountsPerBranch(), and setNumberOfSites().

◆ getSitePosition() [1/2]

virtual int bpp::Mapping::getSitePosition ( size_t  index) const
pure virtualinherited
Parameters
indexThe site index.
Returns
The site position corresponding to the index.

Implemented in bpp::AbstractMapping.

◆ getSitePosition() [2/2]

int bpp::AbstractMapping::getSitePosition ( size_t  index) const
throw (Exception
)
inlinevirtualinherited
Parameters
indexThe site index.
Returns
The site position corresponding to the index.

Implements bpp::Mapping.

Definition at line 196 of file Mapping.h.

References bpp::AbstractMapping::isEmpty(), and bpp::AbstractMapping::sitesPositions_.

◆ getTree() [1/2]

virtual const Tree& bpp::Mapping::getTree ( ) const
pure virtualinherited
Returns
Get the phylogenetic tree associated to this mapping.

Implemented in bpp::AbstractMapping.

◆ getTree() [2/2]

const TreeTemplate<Node>& bpp::AbstractMapping::getTree ( ) const
throw (Exception
)
inlinevirtualinherited
Returns
Get the phylogenetic tree associated to this mapping.

Implements bpp::Mapping.

Definition at line 182 of file Mapping.h.

References bpp::AbstractMapping::isEmpty(), and bpp::AbstractMapping::tree_.

◆ isEmpty() [1/2]

virtual bool bpp::Mapping::isEmpty ( ) const
pure virtualinherited
Returns
True is the map is empty, that is, if no tree is associated to the map yet.

Implemented in bpp::AbstractMapping.

◆ isEmpty() [2/2]

bool bpp::AbstractMapping::isEmpty ( ) const
inlinevirtualinherited
Returns
True is the map is empty, that is, if no tree is associated to the map yet.

Implements bpp::Mapping.

Definition at line 180 of file Mapping.h.

References bpp::AbstractMapping::tree_.

Referenced by bpp::AbstractMapping::getSitePosition(), bpp::AbstractMapping::getTree(), and bpp::AbstractMapping::setSitePosition().

◆ operator()() [1/2]

virtual double& bpp::ProbabilisticSubstitutionMapping::operator() ( size_t  nodeIndex,
size_t  siteIndex,
size_t  type 
)
inlinevirtual

Direct access to substitution numbers.

Warning
No index checking is performed, use with care!

Implements bpp::SubstitutionMapping.

Definition at line 150 of file ProbabilisticSubstitutionMapping.h.

References mapping_.

◆ operator()() [2/2]

virtual const double& bpp::ProbabilisticSubstitutionMapping::operator() ( size_t  nodeIndex,
size_t  siteIndex,
size_t  type 
) const
inlinevirtual

Direct access to substitution numbers.

Warning
No index checking is performed, use with care!

Implements bpp::SubstitutionMapping.

Definition at line 160 of file ProbabilisticSubstitutionMapping.h.

References mapping_.

◆ operator=()

ProbabilisticSubstitutionMapping& bpp::ProbabilisticSubstitutionMapping::operator= ( const ProbabilisticSubstitutionMapping psm)
inline

◆ operator[]() [1/2]

std::vector< std::vector<double> >& bpp::ProbabilisticSubstitutionMapping::operator[] ( size_t  siteIndex)
inline

Direct access to substitution numbers.

Warning
No index checking is performed, use with care!

Definition at line 170 of file ProbabilisticSubstitutionMapping.h.

References mapping_.

◆ operator[]() [2/2]

const std::vector< std::vector<double> >& bpp::ProbabilisticSubstitutionMapping::operator[] ( size_t  siteIndex) const
inline

Direct access to substitution numbers.

Warning
No index checking is performed, use with care!

Definition at line 180 of file ProbabilisticSubstitutionMapping.h.

References mapping_.

◆ setNumberOfSites()

void ProbabilisticSubstitutionMapping::setNumberOfSites ( size_t  numberOfSites)
virtual

◆ setSitePosition() [1/2]

virtual void bpp::Mapping::setSitePosition ( size_t  index,
int  position 
)
pure virtualinherited

Set the position of a given site.

Warning
No index checking is performed, use with care!
Parameters
indexThe site index.
positionThe position of the site.

Implemented in bpp::AbstractMapping.

◆ setSitePosition() [2/2]

void bpp::AbstractMapping::setSitePosition ( size_t  index,
int  position 
)
throw (Exception
)
inlinevirtualinherited

Set the position of a given site.

Warning
No index checking is performed, use with care!
Parameters
indexThe site index.
positionThe position of the site.

Implements bpp::Mapping.

Definition at line 202 of file Mapping.h.

References bpp::AbstractMapping::isEmpty(), and bpp::AbstractMapping::sitesPositions_.

◆ setTree()

void ProbabilisticSubstitutionMapping::setTree ( const Tree tree)
virtual

(Re)-set the phylogenetic tree associated to this mapping.

Parameters
treeThe new tree.

Definition at line 44 of file ProbabilisticSubstitutionMapping.cpp.

References bpp::AbstractMapping::getNumberOfBranches(), bpp::AbstractMapping::getNumberOfSites(), mapping_, and bpp::AbstractMapping::setTree().

Member Data Documentation

◆ mapping_

std::vector< std::vector< std::vector<double> > > bpp::ProbabilisticSubstitutionMapping::mapping_
private

Substitution numbers storage.

Numbers are stored by sites.

Definition at line 73 of file ProbabilisticSubstitutionMapping.h.

Referenced by getNumberOfSubstitutions(), operator()(), operator=(), operator[](), setNumberOfSites(), and setTree().

◆ substitutionCount_

const SubstitutionCount* bpp::ProbabilisticSubstitutionMapping::substitutionCount_
private

Definition at line 67 of file ProbabilisticSubstitutionMapping.h.

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


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