bpp-phyl3
3.0.0
|
Data storage class for probabilistic substitution mappings. More...
#include <Bpp/Phyl/Mapping/ProbabilisticSubstitutionMapping.h>
Public Types | |
typedef AssociationTreeGlobalGraphObserver< PhyloNode, PhyloBranchMapping > | mapTree |
typedef mapTree::EdgeIterator | EdgeIterator |
typedef mapTree::NodeIterator | NodeIterator |
typedef AssociationGraphObserver< N, E >::NodeIndex | NodeIndex |
typedef AssociationGraphObserver< N, E >::EdgeIndex | EdgeIndex |
typedef Graph::NodeId | NodeGraphid |
typedef Graph::EdgeId | EdgeGraphid |
typedef std::shared_ptr< E > | Eref |
typedef std::shared_ptr< N > | Nref |
Public Member Functions | |
ProbabilisticSubstitutionMapping (const PhyloTree &tree, size_t nbTypes, size_t numberOfSites) | |
Build a new ProbabilisticSubstitutionMapping object. More... | |
ProbabilisticSubstitutionMapping (const PhyloTree &tree, size_t nbTypes, const PatternType &rootpatterns, size_t nbDistinctSites) | |
the same with rootPatternLinks More... | |
ProbabilisticSubstitutionMapping (const PhyloTree &tree) | |
Build a new ProbabilisticSubstitutionMapping object. More... | |
ProbabilisticSubstitutionMapping * | clone () const override |
ProbabilisticSubstitutionMapping (const ProbabilisticSubstitutionMapping &psm) | |
ProbabilisticSubstitutionMapping & | operator= (const ProbabilisticSubstitutionMapping &psm) |
virtual | ~ProbabilisticSubstitutionMapping () |
const PhyloBranchMapping & | getBranch (unsigned int branchIndex) const override |
PhyloBranchMapping & | getBranch (unsigned int branchIndex) override |
size_t | getNumberOfBranches () const override |
size_t | getNumberOfDistinctSites () const |
double | getCount (unsigned int branchId, size_t site, size_t type) const |
Retrieve the counts, with REAL site positions. More... | |
const std::vector< double > & | getCounts (unsigned int branchId, size_t site) const |
void | setNumberOfSitesAndTypes (size_t numberOfSites, size_t numberOfTypes) |
void | setNumberOfSites (size_t numberOfSites) override |
void | setNumberOfSubstitutionTypes (size_t numberOfTypes) override |
double & | operator() (unsigned int branchId, size_t siteIndex, size_t type) override |
Direct access to substitution numbers, with COMPRESSED site positions (ie site indexes) More... | |
void | fillMappingVectorForSite (size_t siteIndex, VVdouble &counts) const |
Fill a VVdouble with the counts at a given site. The 1st coordinate of this VVdouble correspond to edges, ordered through their ids, & the second coordinate corresponds to the type numbers. More... | |
virtual const double & | operator() (unsigned int branchId, size_t siteIndex, size_t type) const override |
Direct access to substitution numbers, with COMPRESSED site positions (ie site indexes) More... | |
bool | usePatterns () const |
Does it use site patterns? More... | |
const PatternType | getPatterns () const |
returns the vector of site patterns More... | |
const size_t | getSiteIndex (size_t site) const |
size_t | getNumberOfSubstitutionTypes () const |
virtual size_t | getNumberOfSites () const =0 |
size_t | getNumberOfSites () const |
virtual int | getSitePosition (size_t index) const =0 |
int | getSitePosition (size_t index) const |
virtual void | setSitePosition (size_t index, int position)=0 |
Set the position of a given site. More... | |
void | setSitePosition (size_t index, int position) |
Set the position of a given site. More... | |
bool | isValid () const |
std::shared_ptr< E > | getEdgeToFather (const std::shared_ptr< N > nodeObject) const |
std::shared_ptr< E > | getEdgeToFather (const NodeIndex index) const |
void | rootAt (const std::shared_ptr< N > root) |
bool | isRooted () const |
std::shared_ptr< N > | getFatherOfNode (const std::shared_ptr< N > nodeObject) const |
bool | hasFather (const std::shared_ptr< N > nodeObject) const |
bool | hasFather (const NodeIndex index) const |
std::vector< std::shared_ptr< N > > | getSons (const std::shared_ptr< N > node) const |
std::vector< NodeIndex > | getSons (const NodeIndex node) const |
std::vector< std::shared_ptr< E > > | getBranches (const std::shared_ptr< N > node) const |
std::vector< EdgeIndex > | getBranches (const NodeIndex node) const |
std::shared_ptr< N > | getSon (const std::shared_ptr< E > edge) const |
NodeIndex | getSon (const EdgeIndex edge) const |
std::shared_ptr< N > | getFatherOfEdge (const std::shared_ptr< E > edge) const |
NodeIndex | getFatherOfEdge (const EdgeIndex edge) const |
size_t | getNumberOfSons (const std::shared_ptr< N > node) const |
std::vector< std::shared_ptr< N > > | getLeavesUnderNode (std::shared_ptr< N > node) const |
std::vector< NodeIndex > | getLeavesUnderNode (NodeIndex node) const |
std::vector< std::shared_ptr< N > > | removeSons (const std::shared_ptr< N > node) |
void | removeSon (const std::shared_ptr< N > node, const std::shared_ptr< N > son) |
void | setFather (const std::shared_ptr< N > nodeObject, const std::shared_ptr< N > fatherNodeObject, const std::shared_ptr< E > edgeObject=0) |
void | addSon (const std::shared_ptr< N > nodeObject, const std::shared_ptr< N > sonNodeObject, const std::shared_ptr< E > edgeObject=0) |
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::NodeIterator > | sonsIterator (std::shared_ptr< N > node) |
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::NodeIterator > | sonsIterator (std::shared_ptr< N > node) const |
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::EdgeIterator > | branchesIterator (std::shared_ptr< N > node) |
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::EdgeIterator > | branchesIterator (std::shared_ptr< N > node) const |
std::vector< std::shared_ptr< N > > | getNodePathBetweenTwoNodes (const std::shared_ptr< N > nodeA, const std::shared_ptr< N > nodeB, bool includeAncestor=true) const |
std::vector< NodeIndex > | getNodePathBetweenTwoNodes (const NodeIndex nodeA, const NodeIndex nodeB, bool includeAncestor=true) const |
std::vector< std::shared_ptr< E > > | getEdgePathBetweenTwoNodes (const std::shared_ptr< N > nodeA, const std::shared_ptr< N > nodeB) const |
std::vector< EdgeIndex > | getEdgePathBetweenTwoNodes (const NodeIndex nodeA, const NodeIndex nodeB, bool includeAncestor=true) const |
std::vector< std::shared_ptr< N > > | getSubtreeNodes (const std::shared_ptr< N > localRoot) const |
std::vector< NodeIndex > | getSubtreeNodes (const NodeIndex localRoot) const |
std::vector< std::shared_ptr< E > > | getSubtreeEdges (const std::shared_ptr< N > localRoot) const |
std::vector< EdgeIndex > | getSubtreeEdges (const NodeIndex localRoot) const |
std::shared_ptr< N > | MRCA (const std::vector< std::shared_ptr< N >> vNodeObject) const |
virtual void | createNode (std::shared_ptr< N > newNodeObject)=0 |
virtual void | createNode (std::shared_ptr< N > objectOriginNode, std::shared_ptr< N > newNodeObject, std::shared_ptr< E > newEdgeObject=00)=0 |
void | createNode (Nref nodeObject) |
void | createNode (Nref objectOriginNode, Nref newNodeObject, Eref newEdgeObject=00) |
virtual void | createNode (std::shared_ptr< N > newNodeObject)=0 |
virtual void | createNode (std::shared_ptr< N > objectOriginNode, std::shared_ptr< N > newNodeObject, std::shared_ptr< E > newEdgeObject=00)=0 |
void | createNode (Nref nodeObject) |
void | createNode (Nref objectOriginNode, Nref newNodeObject, Eref newEdgeObject=00) |
virtual void | link (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB, std::shared_ptr< E > edgeObject=00)=0 |
void | link (Nref nodeObjectA, Nref nodeObjectB, Eref edgeObject=00) |
virtual void | link (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB, std::shared_ptr< E > edgeObject=00)=0 |
void | link (Nref nodeObjectA, Nref nodeObjectB, Eref edgeObject=00) |
virtual void | unlink (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB)=0 |
void | unlink (Nref nodeObjectA, Nref nodeObjectB) |
virtual void | unlink (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB)=0 |
void | unlink (Nref nodeObjectA, Nref nodeObjectB) |
virtual void | deleteNode (std::shared_ptr< N > nodeObject)=0 |
void | deleteNode (Nref nodeObject) |
virtual void | deleteNode (std::shared_ptr< N > nodeObject)=0 |
void | deleteNode (Nref nodeObject) |
virtual void | associateNode (std::shared_ptr< N > nodeObject, NodeGraphid node)=0 |
void | associateNode (Nref nodeObject, NodeGraphid graphNode) |
virtual void | associateNode (std::shared_ptr< N > nodeObject, NodeGraphid node)=0 |
void | associateNode (Nref nodeObject, NodeGraphid graphNode) |
void | associateNode (Nref nodeObject, NodeGraphid graphNode) |
virtual void | associateEdge (std::shared_ptr< E > edgeObject, EdgeGraphid edge)=0 |
void | associateEdge (Eref edgeObject, EdgeGraphid graphEdge) |
virtual void | associateEdge (std::shared_ptr< E > edgeObject, EdgeGraphid edge)=0 |
void | associateEdge (Eref edgeObject, EdgeGraphid graphEdge) |
void | associateEdge (Eref edgeObject, EdgeGraphid graphEdge) |
virtual void | dissociateNode (std::shared_ptr< N > nodeObject)=0 |
void | dissociateNode (Nref nodeObject) |
virtual void | dissociateNode (std::shared_ptr< N > nodeObject)=0 |
void | dissociateNode (Nref nodeObject) |
virtual void | dissociateEdge (std::shared_ptr< E > edgeObject)=0 |
void | dissociateEdge (Eref edgeObject) |
virtual void | dissociateEdge (std::shared_ptr< E > edgeObject)=0 |
void | dissociateEdge (Eref edgeObject) |
virtual NodeGraphid | getNodeGraphid (const std::shared_ptr< N > nodeObject) const=0 |
NodeGraphid | getNodeGraphid (const Nref nodeObject) const |
virtual NodeGraphid | getNodeGraphid (const std::shared_ptr< N > nodeObject) const=0 |
NodeGraphid | getNodeGraphid (const Nref nodeObject) const |
virtual EdgeGraphid | getEdgeGraphid (const std::shared_ptr< E > edgeObject) const=0 |
EdgeGraphid | getEdgeGraphid (const Eref edgeObject) const |
virtual EdgeGraphid | getEdgeGraphid (const std::shared_ptr< E > edgeObject) const=0 |
EdgeGraphid | getEdgeGraphid (const Eref edgeObject) const |
virtual const std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid) const=0 |
virtual std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid)=0 |
Nref | getNodeFromGraphid (NodeGraphid node) |
const Nref | getNodeFromGraphid (NodeGraphid node) const |
virtual const std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid) const=0 |
virtual std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid)=0 |
Nref | getNodeFromGraphid (NodeGraphid node) |
const Nref | getNodeFromGraphid (NodeGraphid node) const |
Nref | getNodeFromGraphid (NodeGraphid node) |
const Nref | getNodeFromGraphid (NodeGraphid node) const |
virtual std::vector< std::shared_ptr< N > > | getNodesFromGraphid (std::vector< NodeGraphid >) const=0 |
std::vector< Nref > | getNodesFromGraphid (std::vector< NodeGraphid > nodes) const |
virtual std::vector< std::shared_ptr< N > > | getNodesFromGraphid (std::vector< NodeGraphid >) const=0 |
std::vector< Nref > | getNodesFromGraphid (std::vector< NodeGraphid > nodes) const |
std::vector< Nref > | getNodesFromGraphid (std::vector< NodeGraphid > nodes) const |
virtual std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid)=0 |
virtual const std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid) const=0 |
Eref | getEdgeFromGraphid (EdgeGraphid edge) |
const Eref | getEdgeFromGraphid (EdgeGraphid edge) const |
virtual std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid)=0 |
virtual const std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid) const=0 |
Eref | getEdgeFromGraphid (EdgeGraphid edge) |
const Eref | getEdgeFromGraphid (EdgeGraphid edge) const |
Eref | getEdgeFromGraphid (EdgeGraphid edge) |
const Eref | getEdgeFromGraphid (EdgeGraphid edge) const |
virtual std::vector< std::shared_ptr< E > > | getEdgesFromGraphid (std::vector< EdgeGraphid >) const=0 |
std::vector< Eref > | getEdgesFromGraphid (std::vector< EdgeGraphid > edges) const |
virtual std::vector< std::shared_ptr< E > > | getEdgesFromGraphid (std::vector< EdgeGraphid >) const=0 |
std::vector< Eref > | getEdgesFromGraphid (std::vector< EdgeGraphid > edges) const |
std::vector< Eref > | getEdgesFromGraphid (std::vector< EdgeGraphid > edges) const |
virtual std::shared_ptr< N > | getRoot () const=0 |
Nref | getRoot () const |
virtual std::shared_ptr< N > | getRoot () const=0 |
Nref | getRoot () const |
virtual NodeIndex | getRootIndex () const=0 |
NodeIndex | getRootIndex () const |
virtual NodeIndex | getRootIndex () const=0 |
NodeIndex | getRootIndex () const |
virtual bool | hasNodeIndex (const std::shared_ptr< N > nodeObject) const=0 |
bool | hasNodeIndex (const Nref nodeObject) const |
virtual bool | hasNodeIndex (const std::shared_ptr< N > nodeObject) const=0 |
bool | hasNodeIndex (const Nref nodeObject) const |
virtual bool | hasEdgeIndex (const std::shared_ptr< E > edgeObject) const=0 |
bool | hasEdgeIndex (const Eref edgeObject) const |
virtual bool | hasEdgeIndex (const std::shared_ptr< E > edgeObject) const=0 |
bool | hasEdgeIndex (const Eref edgeObject) const |
virtual NodeIndex | getNodeIndex (const std::shared_ptr< N > nodeObject) const=0 |
NodeIndex | getNodeIndex (const Nref nodeObject) const |
virtual NodeIndex | getNodeIndex (const std::shared_ptr< N > nodeObject) const=0 |
NodeIndex | getNodeIndex (const Nref nodeObject) const |
virtual std::vector< NodeIndex > | getNodeIndexes (std::vector< std::shared_ptr< N >> nodeObjects) const=0 |
std::vector< NodeIndex > | getNodeIndexes (std::vector< Nref > nodes) const |
virtual std::vector< NodeIndex > | getNodeIndexes (std::vector< std::shared_ptr< N >> nodeObjects) const=0 |
std::vector< NodeIndex > | getNodeIndexes (std::vector< Nref > nodes) const |
virtual EdgeIndex | getEdgeIndex (const std::shared_ptr< E > edgeObject) const=0 |
EdgeIndex | getEdgeIndex (const Eref edgeObject) const |
virtual EdgeIndex | getEdgeIndex (const std::shared_ptr< E > edgeObject) const=0 |
EdgeIndex | getEdgeIndex (const Eref edgeObject) const |
virtual std::vector< EdgeIndex > | getEdgeIndexes (std::vector< std::shared_ptr< E >> edgeObjects) const=0 |
std::vector< EdgeIndex > | getEdgeIndexes (std::vector< Eref > edges) const |
virtual std::vector< EdgeIndex > | getEdgeIndexes (std::vector< std::shared_ptr< E >> edgeObjects) const=0 |
std::vector< EdgeIndex > | getEdgeIndexes (std::vector< Eref > edges) const |
virtual NodeIndex | setNodeIndex (const std::shared_ptr< N > nodeObject, NodeIndex index)=0 |
NodeIndex | setNodeIndex (const Nref nodeObject, NodeIndex index) |
virtual NodeIndex | setNodeIndex (const std::shared_ptr< N > nodeObject, NodeIndex index)=0 |
NodeIndex | setNodeIndex (const Nref nodeObject, NodeIndex index) |
NodeIndex | setNodeIndex (const Nref nodeObject, NodeIndex index) |
virtual EdgeIndex | setEdgeIndex (const std::shared_ptr< E > edgeObject, EdgeIndex index)=0 |
EdgeIndex | setEdgeIndex (const Eref edgeObject, EdgeIndex index) |
virtual EdgeIndex | setEdgeIndex (const std::shared_ptr< E > edgeObject, EdgeIndex index)=0 |
EdgeIndex | setEdgeIndex (const Eref edgeObject, EdgeIndex index) |
EdgeIndex | setEdgeIndex (const Eref edgeObject, EdgeIndex index) |
virtual bool | hasNode (NodeIndex nodeIndex) const=0 |
bool | hasNode (NodeIndex node) const |
virtual bool | hasNode (NodeIndex nodeIndex) const=0 |
bool | hasNode (Nref nodeObject) const |
bool | hasNode (NodeIndex node) const |
bool | hasNode (NodeIndex node) const |
virtual bool | hasEdge (EdgeIndex edgeIndex) const=0 |
bool | hasEdge (EdgeIndex edge) const |
virtual bool | hasEdge (EdgeIndex edgeIndex) const=0 |
bool | hasEdge (Eref edgeObject) const |
bool | hasEdge (EdgeIndex edge) const |
bool | hasEdge (EdgeIndex edge) const |
virtual std::shared_ptr< N > | getNode (NodeIndex nodeIndex) const=0 |
Nref | getNode (NodeIndex node) const |
virtual std::shared_ptr< N > | getNode (NodeIndex nodeIndex) const=0 |
Nref | getNode (NodeIndex node) const |
Nref | getNode (NodeIndex node) const |
virtual std::shared_ptr< E > | getEdge (EdgeIndex edgeIndex) const=0 |
Eref | getEdge (EdgeIndex edge) const |
virtual std::shared_ptr< E > | getEdge (EdgeIndex edgeIndex) const=0 |
Eref | getEdge (EdgeIndex edge) const |
Eref | getEdge (EdgeIndex edge) const |
virtual std::unique_ptr< NodeIterator > | allNodesIterator ()=0 |
virtual std::unique_ptr< NodeIterator > | allNodesIterator () const=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | allNodesIterator () |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | allNodesIterator () const |
virtual std::unique_ptr< NodeIterator > | allNodesIterator ()=0 |
virtual std::unique_ptr< NodeIterator > | allNodesIterator () const=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | allNodesIterator () |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | allNodesIterator () const |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node) const=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | outgoingNeighborNodesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | outgoingNeighborNodesIterator (Nref node) const |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node) const=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | outgoingNeighborNodesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | outgoingNeighborNodesIterator (Nref node) const |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node) const=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | incomingNeighborNodesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | incomingNeighborNodesIterator (Nref node) const |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node) const=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | incomingNeighborNodesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIterator > | incomingNeighborNodesIterator (Nref node) const |
virtual std::vector< std::shared_ptr< N > > | getNeighbors (const std::shared_ptr< N > node) const=0 |
virtual std::vector< NodeIndex > | getNeighbors (NodeIndex node) const=0 |
std::vector< Nref > | getNeighbors (const Nref node) const |
std::vector< NodeIndex > | getNeighbors (NodeIndex node) const |
virtual std::vector< std::shared_ptr< N > > | getNeighbors (const std::shared_ptr< N > node) const=0 |
virtual std::vector< NodeIndex > | getNeighbors (NodeIndex node) const=0 |
std::vector< Nref > | getNeighbors (const Nref node) const |
std::vector< NodeIndex > | getNeighbors (NodeIndex node) const |
std::vector< NodeIndex > | getNeighbors (NodeIndex node) const |
virtual std::vector< std::shared_ptr< E > > | getEdges (const std::shared_ptr< N > node) const=0 |
virtual std::vector< EdgeIndex > | getEdges (NodeIndex node) const=0 |
std::vector< Eref > | getEdges (const Nref node) const |
std::vector< EdgeIndex > | getEdges (NodeIndex node) const |
virtual std::vector< std::shared_ptr< E > > | getEdges (const std::shared_ptr< N > node) const=0 |
virtual std::vector< EdgeIndex > | getEdges (NodeIndex node) const=0 |
std::vector< Eref > | getEdges (const Nref node) const |
std::vector< EdgeIndex > | getEdges (NodeIndex node) const |
std::vector< EdgeIndex > | getEdges (NodeIndex node) const |
virtual std::vector< std::shared_ptr< N > > | getOutgoingNeighbors (const std::shared_ptr< N > node) const=0 |
virtual std::vector< NodeIndex > | getOutgoingNeighbors (NodeIndex node) const=0 |
std::vector< Nref > | getOutgoingNeighbors (const Nref node) const |
std::vector< NodeIndex > | getOutgoingNeighbors (NodeIndex node) const |
virtual std::vector< std::shared_ptr< N > > | getOutgoingNeighbors (const std::shared_ptr< N > node) const=0 |
virtual std::vector< NodeIndex > | getOutgoingNeighbors (NodeIndex node) const=0 |
std::vector< Nref > | getOutgoingNeighbors (const Nref node) const |
std::vector< NodeIndex > | getOutgoingNeighbors (NodeIndex node) const |
std::vector< NodeIndex > | getOutgoingNeighbors (NodeIndex node) const |
virtual std::vector< std::shared_ptr< E > > | getOutgoingEdges (const std::shared_ptr< N > node) const=0 |
virtual std::vector< EdgeIndex > | getOutgoingEdges (NodeIndex node) const=0 |
std::vector< Eref > | getOutgoingEdges (const Nref node) const |
std::vector< EdgeIndex > | getOutgoingEdges (NodeIndex node) const |
virtual std::vector< std::shared_ptr< E > > | getOutgoingEdges (const std::shared_ptr< N > node) const=0 |
virtual std::vector< EdgeIndex > | getOutgoingEdges (NodeIndex node) const=0 |
std::vector< Eref > | getOutgoingEdges (const Nref node) const |
std::vector< EdgeIndex > | getOutgoingEdges (NodeIndex node) const |
std::vector< EdgeIndex > | getOutgoingEdges (NodeIndex node) const |
virtual std::vector< std::shared_ptr< N > > | getIncomingNeighbors (const std::shared_ptr< N > node) const=0 |
virtual std::vector< NodeIndex > | getIncomingNeighbors (NodeIndex node) const=0 |
std::vector< Nref > | getIncomingNeighbors (const Nref node) const |
std::vector< NodeIndex > | getIncomingNeighbors (NodeIndex node) const |
virtual std::vector< std::shared_ptr< N > > | getIncomingNeighbors (const std::shared_ptr< N > node) const=0 |
virtual std::vector< NodeIndex > | getIncomingNeighbors (NodeIndex node) const=0 |
std::vector< Nref > | getIncomingNeighbors (const Nref node) const |
std::vector< NodeIndex > | getIncomingNeighbors (NodeIndex node) const |
std::vector< NodeIndex > | getIncomingNeighbors (NodeIndex node) const |
virtual std::vector< std::shared_ptr< E > > | getIncomingEdges (const std::shared_ptr< N > node) const=0 |
virtual std::vector< EdgeIndex > | getIncomingEdges (NodeIndex node) const=0 |
std::vector< Eref > | getIncomingEdges (const Nref node) const |
std::vector< EdgeIndex > | getIncomingEdges (NodeIndex node) const |
virtual std::vector< std::shared_ptr< E > > | getIncomingEdges (const std::shared_ptr< N > node) const=0 |
virtual std::vector< EdgeIndex > | getIncomingEdges (NodeIndex node) const=0 |
std::vector< Eref > | getIncomingEdges (const Nref node) const |
std::vector< EdgeIndex > | getIncomingEdges (NodeIndex node) const |
std::vector< EdgeIndex > | getIncomingEdges (NodeIndex node) const |
virtual std::vector< std::shared_ptr< N > > | getLeavesFromNode (std::shared_ptr< N > node, unsigned int maxDepth) const=0 |
std::vector< Nref > | getLeavesFromNode (Nref node, unsigned int maxDepth) const |
virtual std::vector< std::shared_ptr< N > > | getLeavesFromNode (std::shared_ptr< N > node, unsigned int maxDepth) const=0 |
std::vector< Nref > | getLeavesFromNode (Nref node, unsigned int maxDepth) const |
virtual std::vector< std::shared_ptr< N > > | getAllLeaves () const=0 |
std::vector< Nref > | getAllLeaves () const |
virtual std::vector< std::shared_ptr< N > > | getAllLeaves () const=0 |
std::vector< Nref > | getAllLeaves () const |
virtual std::vector< NodeIndex > | getAllLeavesIndexes () const=0 |
std::vector< NodeIndex > | getAllLeavesIndexes () const |
virtual std::vector< NodeIndex > | getAllLeavesIndexes () const=0 |
std::vector< NodeIndex > | getAllLeavesIndexes () const |
virtual std::vector< std::shared_ptr< N > > | getAllInnerNodes () const=0 |
std::vector< Nref > | getAllInnerNodes () const |
virtual std::vector< std::shared_ptr< N > > | getAllInnerNodes () const=0 |
std::vector< Nref > | getAllInnerNodes () const |
virtual std::vector< NodeIndex > | getAllInnerNodesIndexes () const=0 |
std::vector< NodeIndex > | getAllInnerNodesIndexes () const |
virtual std::vector< NodeIndex > | getAllInnerNodesIndexes () const=0 |
std::vector< NodeIndex > | getAllInnerNodesIndexes () const |
virtual std::vector< std::shared_ptr< N > > | getAllNodes () const=0 |
std::vector< Nref > | getAllNodes () const |
virtual std::vector< std::shared_ptr< N > > | getAllNodes () const=0 |
std::vector< Nref > | getAllNodes () const |
virtual std::vector< NodeIndex > | getAllNodesIndexes () const=0 |
std::vector< NodeIndex > | getAllNodesIndexes () const |
virtual std::vector< NodeIndex > | getAllNodesIndexes () const=0 |
std::vector< NodeIndex > | getAllNodesIndexes () const |
virtual std::unique_ptr< EdgeIterator > | allEdgesIterator ()=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | allEdgesIterator () |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | allEdgesIterator () const |
virtual std::unique_ptr< EdgeIterator > | allEdgesIterator ()=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | allEdgesIterator () |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | allEdgesIterator () const |
virtual std::unique_ptr< EdgeIterator > | outgoingEdgesIterator (std::shared_ptr< N > node)=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | outgoingEdgesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | outgoingEdgesIterator (Nref node) const |
virtual std::unique_ptr< EdgeIterator > | outgoingEdgesIterator (std::shared_ptr< N > node)=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | outgoingEdgesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | outgoingEdgesIterator (Nref node) const |
virtual std::unique_ptr< EdgeIterator > | incomingEdgesIterator (std::shared_ptr< N > node)=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | incomingEdgesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | incomingEdgesIterator (Nref node) const |
virtual std::unique_ptr< EdgeIterator > | incomingEdgesIterator (std::shared_ptr< N > node)=0 |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | incomingEdgesIterator (Nref node) |
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIterator > | incomingEdgesIterator (Nref node) const |
virtual std::vector< std::shared_ptr< E > > | getAllEdges () const=0 |
std::vector< Eref > | getAllEdges () const |
virtual std::vector< std::shared_ptr< E > > | getAllEdges () const=0 |
std::vector< Eref > | getAllEdges () const |
virtual std::vector< EdgeIndex > | getAllEdgesIndexes () const=0 |
std::vector< EdgeIndex > | getAllEdgesIndexes () const |
virtual std::vector< EdgeIndex > | getAllEdgesIndexes () const=0 |
std::vector< EdgeIndex > | getAllEdgesIndexes () const |
virtual std::shared_ptr< E > | getEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB) const=0 |
Eref | getEdgeLinking (Nref nodeA, Nref nodeB) const |
virtual std::shared_ptr< E > | getEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB) const=0 |
Eref | getEdgeLinking (Nref nodeA, Nref nodeB) const |
virtual void | setEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB, std::shared_ptr< E > edge)=0 |
void | setEdgeLinking (Nref nodeA, Nref nodeB, Eref edge) |
virtual void | setEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB, std::shared_ptr< E > edge)=0 |
void | setEdgeLinking (Nref nodeA, Nref nodeB, Eref edge) |
virtual void | deletedEdgesUpdate (const std::vector< unsigned int > &edgesToDelete)=0 |
void | deletedEdgesUpdate (const std::vector< unsigned int > &edgesToDelete) |
virtual void | deletedEdgesUpdate (const std::vector< unsigned int > &edgesToDelete)=0 |
void | deletedEdgesUpdate (const std::vector< unsigned int > &edgesToDelete) |
virtual void | deletedNodesUpdate (const std::vector< unsigned int > &nodesToDelete)=0 |
void | deletedNodesUpdate (const std::vector< unsigned int > &nodesToDelete) |
virtual void | deletedNodesUpdate (const std::vector< unsigned int > &nodesToDelete)=0 |
void | deletedNodesUpdate (const std::vector< unsigned int > &nodesToDelete) |
NodeIndex | addNodeIndex (const Nref nodeObject) |
NodeIndex | addNodeIndex (const Nref nodeObject) |
EdgeIndex | addEdgeIndex (const Eref edgeObject) |
EdgeIndex | addEdgeIndex (const Eref edgeObject) |
void | setRoot (const Nref newRoot) |
void | setRoot (const Nref newRoot) |
void | outputToDot (const std::string &fname, const std::string &name) const |
void | outputToDot (std::ostream &out, const std::string &name) const |
void | outputToDot (const std::string &fname, const std::string &name) const |
void | outputToDot (std::ostream &out, const std::string &name) const |
bool | isLeaf (const Nref node) const |
bool | isLeaf (const NodeIndex nodeid) const |
bool | isLeaf (const Nref node) const |
bool | isLeaf (const NodeIndex nodeid) const |
bool | isLeaf (const NodeIndex nodeid) const |
std::pair< Nref, Nref > | getNodes (Eref edge) const |
std::pair< Nref, Nref > | getNodes (Eref edge) const |
size_t | getNumberOfNodes () const |
size_t | getNumberOfNodes () const |
size_t | getNumberOfEdges () const |
size_t | getNumberOfEdges () const |
size_t | getNumberOfLeaves () const |
size_t | getNumberOfLeaves () const |
size_t | getDegree (const Nref node) const |
size_t | getDegree (const Nref node) const |
const std::shared_ptr< TreeGraphImpl > | getGraph () const |
std::shared_ptr< TreeGraphImpl > | getGraph () |
std::string | nodeToString (const Nref nodeObject) const |
std::string | edgeToString (const Eref edgeObject) const |
Static Public Member Functions | |
static B * | copy (const A &a, typename std::enable_if< !std::is_base_of< B, A >::value &&!std::is_abstract< B >::value, B * >::type *=0) |
static B * | copy (const A &a, typename std::enable_if< !std::is_base_of< B, A >::value &&std::is_abstract< B >::value, B * >::type *=0) |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&!std::is_abstract< A >::value, B * >::type *=0) |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&std::is_base_of< Clonable, A >::value, B * >::type *=0) |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&!std::is_base_of< Clonable, A >::value, B * >::type *=0) |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&std::is_base_of< Clonable, A >::value, B * >::type *=0) |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&!std::is_base_of< Clonable, A >::value, B * >::type *=0) |
Protected Attributes | |
std::vector< int > | sitesPositions_ |
size_t | nbSites_ |
std::shared_ptr< TreeGraphImpl > | subjectGraph_ |
Private Types | |
enum | neighborType |
Private Member Functions | |
std::vector< Nref > | getNeighbors_ (const Nref nodeObject, neighborType type) const |
std::vector< Eref > | getEdges_ (const Nref nodeObject, neighborType type) const |
Private Attributes | |
PatternType | rootPatternLinks_ |
Links between sites and patterns. More... | |
bool | usePatterns_ |
size_t | numberOfDistinctSites_ |
size_t | numberOfTypes_ |
INCOMING | |
OUTGOING | |
BOTH | |
std::vector< Nref > | graphidToN_ |
std::vector< Eref > | graphidToE_ |
std::map< Nref, NodeGraphid > | NToGraphid_ |
std::map< Eref, EdgeGraphid > | EToGraphid_ |
std::vector< Nref > | indexToN_ |
std::vector< Eref > | indexToE_ |
std::map< Nref, NodeIndex > | NToIndex_ |
std::map< Eref, EdgeIndex > | EToIndex_ |
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 31 of file ProbabilisticSubstitutionMapping.h.
Definition at line 57 of file ProbabilisticSubstitutionMapping.h.
typedef AssociationTreeGlobalGraphObserver<PhyloNode, PhyloBranchMapping> bpp::ProbabilisticSubstitutionMapping::mapTree |
Definition at line 36 of file ProbabilisticSubstitutionMapping.h.
Definition at line 58 of file ProbabilisticSubstitutionMapping.h.
|
inline |
Build a new ProbabilisticSubstitutionMapping object.
tree | The PhyloTree object to use. |
nbTypes | the number of types |
numberOfSites | The number of sites to map. |
Definition at line 68 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::allEdgesIterator(), numberOfDistinctSites_, and setNumberOfSubstitutionTypes().
Referenced by clone().
|
inline |
the same with rootPatternLinks
Definition at line 83 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::allEdgesIterator(), numberOfDistinctSites_, and setNumberOfSubstitutionTypes().
|
inline |
Build a new ProbabilisticSubstitutionMapping object.
tree | The tree object to use. It will be cloned for internal use. |
Definition at line 99 of file ProbabilisticSubstitutionMapping.h.
|
inline |
Definition at line 108 of file ProbabilisticSubstitutionMapping.h.
|
inlinevirtual |
Definition at line 124 of file ProbabilisticSubstitutionMapping.h.
|
inlineoverridevirtual |
Reimplemented from bpp::AssociationTreeGraphImplObserver< class, class, class >.
Definition at line 103 of file ProbabilisticSubstitutionMapping.h.
References ProbabilisticSubstitutionMapping().
Referenced by bpp::SubstitutionMappingTools::computeNormalizedCounts().
void ProbabilisticSubstitutionMapping::fillMappingVectorForSite | ( | size_t | siteIndex, |
VVdouble & | counts | ||
) | const |
Fill a VVdouble with the counts at a given site. The 1st coordinate of this VVdouble correspond to edges, ordered through their ids, & the second coordinate corresponds to the type numbers.
Branches are read in the same order as returned by getAllEdgesIndexes() function.
Definition at line 59 of file ProbabilisticSubstitutionMapping.cpp.
References bpp::VectorTools::resize2().
|
inlineoverridevirtual |
Implements bpp::MappingInterface.
Definition at line 127 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge().
|
inlineoverridevirtual |
Implements bpp::MappingInterface.
Definition at line 132 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge().
|
inline |
Retrieve the counts, with REAL site positions.
Definition at line 150 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge(), and getSiteIndex().
|
inline |
Definition at line 155 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge(), and getSiteIndex().
|
inlineoverridevirtual |
Implements bpp::MappingInterface.
Definition at line 137 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getNumberOfEdges().
Referenced by bpp::SubstitutionMappingTools::getCountsForSitePerBranch().
|
inline |
Definition at line 142 of file ProbabilisticSubstitutionMapping.h.
References numberOfDistinctSites_.
Referenced by bpp::SubstitutionMappingTools::computeNormalizedCounts().
|
inlinevirtualinherited |
Implements bpp::MappingInterface.
Definition at line 111 of file Mapping.h.
References bpp::AbstractMapping::nbSites_.
Referenced by bpp::RewardMappingTools::computeSumForBranch(), bpp::SubstitutionMappingTools::getCountsForBranchPerType(), bpp::SubstitutionMappingTools::getCountsPerSitePerBranch(), bpp::SubstitutionMappingTools::getCountsPerSitePerBranchPerType(), bpp::SubstitutionMappingTools::getCountsPerSitePerType(), bpp::SubstitutionMappingTools::getTreeForType(), bpp::RewardMappingTools::writeToStream(), and bpp::SubstitutionMappingTools::writeToStream().
|
pure virtualinherited |
Implemented in bpp::AbstractMapping.
|
inlinevirtualinherited |
Implements bpp::SubstitutionMapping.
Definition at line 80 of file SubstitutionMapping.h.
References bpp::AbstractSubstitutionMapping::numberOfTypes_.
Referenced by bpp::SubstitutionMappingTools::computeNormalizedCounts(), bpp::SubstitutionMappingTools::getCountsForBranchPerType(), bpp::SubstitutionMappingTools::getCountsForSitePerType(), bpp::SubstitutionMappingTools::getCountsPerSitePerBranchPerType(), bpp::SubstitutionMappingTools::getCountsPerSitePerType(), bpp::SubstitutionMappingTools::getCountsPerTypePerBranch(), and bpp::SubstitutionMappingTools::getNormForSite().
|
inline |
returns the vector of site patterns
Definition at line 213 of file ProbabilisticSubstitutionMapping.h.
References rootPatternLinks_.
|
inline |
Definition at line 218 of file ProbabilisticSubstitutionMapping.h.
References rootPatternLinks_, and usePatterns_.
Referenced by getCount(), getCounts(), bpp::SubstitutionMappingTools::getCountsForBranchPerType(), bpp::SubstitutionMappingTools::getCountsForSitePerBranch(), bpp::SubstitutionMappingTools::getCountsForSitePerType(), bpp::SubstitutionMappingTools::getCountsPerSitePerBranchPerType(), bpp::SubstitutionMappingTools::getNormForSite(), bpp::SubstitutionMappingTools::getTreeForType(), and bpp::SubstitutionMappingTools::writeToStream().
|
inlinevirtualinherited |
index | The site index. |
Implements bpp::MappingInterface.
Definition at line 98 of file Mapping.h.
References bpp::AbstractMapping::sitesPositions_.
|
pure virtualinherited |
index | The site index. |
Implemented in bpp::AbstractMapping.
|
inlineoverridevirtual |
Direct access to substitution numbers, with COMPRESSED site positions (ie site indexes)
Implements bpp::SubstitutionMapping.
Definition at line 195 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge().
|
inlineoverridevirtual |
Direct access to substitution numbers, with COMPRESSED site positions (ie site indexes)
Implements bpp::SubstitutionMapping.
Definition at line 172 of file ProbabilisticSubstitutionMapping.h.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge().
|
inline |
Definition at line 112 of file ProbabilisticSubstitutionMapping.h.
References numberOfDistinctSites_, bpp::AssociationTreeGraphImplObserver< class, class, class >::operator=(), bpp::AbstractSubstitutionMapping::operator=(), rootPatternLinks_, and usePatterns_.
|
overridevirtual |
Reimplemented from bpp::AbstractMapping.
Definition at line 10 of file ProbabilisticSubstitutionMapping.cpp.
References bpp::AbstractMapping::setNumberOfSites().
Referenced by bpp::SubstitutionMappingTools::readFromStream().
void ProbabilisticSubstitutionMapping::setNumberOfSitesAndTypes | ( | size_t | numberOfSites, |
size_t | numberOfTypes | ||
) |
Definition at line 28 of file ProbabilisticSubstitutionMapping.cpp.
References bpp::AbstractMapping::setNumberOfSites(), and bpp::AbstractSubstitutionMapping::setNumberOfSubstitutionTypes().
|
overridevirtual |
Reimplemented from bpp::AbstractSubstitutionMapping.
Definition at line 47 of file ProbabilisticSubstitutionMapping.cpp.
References bpp::AbstractSubstitutionMapping::setNumberOfSubstitutionTypes().
Referenced by ProbabilisticSubstitutionMapping().
|
inlinevirtualinherited |
Set the position of a given site.
index | The site index. |
position | The position of the site. |
Implements bpp::MappingInterface.
Definition at line 103 of file Mapping.h.
References bpp::AbstractMapping::nbSites_, and bpp::AbstractMapping::sitesPositions_.
Referenced by bpp::RewardMappingTools::readFromStream(), and bpp::SubstitutionMappingTools::readFromStream().
|
pure virtualinherited |
Set the position of a given site.
index | The site index. |
position | The position of the site. |
Implemented in bpp::AbstractMapping.
|
inline |
Does it use site patterns?
Definition at line 204 of file ProbabilisticSubstitutionMapping.h.
References usePatterns_.
|
protectedinherited |
Definition at line 82 of file Mapping.h.
Referenced by bpp::AbstractMapping::getNumberOfSites(), bpp::AbstractMapping::setNumberOfSites(), and bpp::AbstractMapping::setSitePosition().
|
private |
Definition at line 54 of file ProbabilisticSubstitutionMapping.h.
Referenced by getNumberOfDistinctSites(), operator=(), and ProbabilisticSubstitutionMapping().
|
privateinherited |
Definition at line 60 of file SubstitutionMapping.h.
Referenced by bpp::AbstractSubstitutionMapping::getNumberOfSubstitutionTypes(), bpp::AbstractSubstitutionMapping::operator=(), and bpp::AbstractSubstitutionMapping::setNumberOfSubstitutionTypes().
|
private |
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 count 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 50 of file ProbabilisticSubstitutionMapping.h.
Referenced by getPatterns(), getSiteIndex(), and operator=().
|
protectedinherited |
Definition at line 81 of file Mapping.h.
Referenced by bpp::AbstractMapping::getSitePosition(), bpp::AbstractMapping::setNumberOfSites(), and bpp::AbstractMapping::setSitePosition().
|
private |
Definition at line 52 of file ProbabilisticSubstitutionMapping.h.
Referenced by getSiteIndex(), operator=(), and usePatterns().