bpp-phyl3
3.0.0
|
#include <Bpp/Phyl/Tree/PhyloTree.h>
Public Types | |
typedef AssociationGraphObserver< N, E >::NodeIndex | NodeIndex |
typedef AssociationGraphObserver< N, E >::EdgeIndex | EdgeIndex |
typedef Graph::NodeId | NodeGraphid |
typedef Graph::EdgeId | EdgeGraphid |
typedef AssociationGraphObserver< N, E >::NodeIterator | NodeIterator |
typedef AssociationGraphObserver< N, E >::EdgeIterator | EdgeIterator |
typedef std::shared_ptr< E > | Eref |
typedef std::shared_ptr< N > | Nref |
Public Member Functions | |
PhyloTree (bool rooted=false) | |
PhyloTree (const PhyloTree *tree) | |
PhyloTree (const ParametrizablePhyloTree &tree) | |
template<class T , class U > | |
PhyloTree (AssociationTreeGlobalGraphObserver< T, U > tree) | |
PhyloTree * | clone () const |
std::vector< std::string > | getAllLeavesNames () const |
std::shared_ptr< PhyloNode > | getPhyloNode (const std::string &name) const |
Vdouble | getBranchLengths () const |
void | resetNodesId () |
void | setBranchLengths (double l) |
void | scaleTree (double factor) |
Multiply all branch lengths by a given factor. More... | |
void | pruneTree (std::vector< std::string > leaves) |
Prune a tree to a given set of leaf names. More... | |
void | scaleTree (std::shared_ptr< PhyloNode > node, double factor) |
Multiply all branch lengths under a Node by a given factor. More... | |
PhyloTree & | operator+= (const PhyloTree &phylotree) |
Add the lengths of branches of another phylotree to this one. Just branch ids are considered, whatever the topology of the trees. More... | |
PhyloTree & | operator-= (const PhyloTree &phylotree) |
Subtracts the lengths of branches of another phylotree to this one. Just branch ids are considered, whatever the topology of the trees. More... | |
PhyloTree & | operator/= (const PhyloTree &phylotree) |
Divides the lengths of branches of this phylotree by the ones of another phylotree. Just branch ids are considered, whatever the topology of the trees. More... | |
PhyloTree & | operator*= (const PhyloTree &phylotree) |
Multiplies the lengths of branches of this phylotree by the ones of another phylotree. Just branch ids are considered, whatever the topology of the trees. More... | |
void | addSubTree (std::shared_ptr< PhyloNode > phyloNode, const Node &node) |
Concatenate the subtree under a Node (in a TreeTemplate<Node>) to this PhyloTree, under the given phylonode. 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 |
std::string | getName () const |
Tree name. More... | |
void | setName (const std::string &name) |
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::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 | |
std::string | name_ |
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_ |
Definition at line 24 of file PhyloTree.h.
PhyloTree::PhyloTree | ( | bool | rooted = false | ) |
Definition at line 11 of file PhyloTree.cpp.
Referenced by clone().
PhyloTree::PhyloTree | ( | const PhyloTree * | tree | ) |
Definition at line 16 of file PhyloTree.cpp.
PhyloTree::PhyloTree | ( | const ParametrizablePhyloTree & | tree | ) |
Definition at line 21 of file PhyloTree.cpp.
|
inline |
Definition at line 38 of file PhyloTree.h.
Concatenate the subtree under a Node (in a TreeTemplate<Node>) to this PhyloTree, under the given phylonode.
Definition at line 200 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::createNode(), bpp::Node::getBranchProperty(), bpp::Node::getBranchPropertyNames(), bpp::Node::getDistanceToFather(), bpp::Node::getId(), bpp::Node::getName(), bpp::Node::getNodeProperty(), bpp::Node::getNodePropertyNames(), bpp::Node::getNumberOfSons(), bpp::Node::hasDistanceToFather(), bpp::Node::hasName(), bpp::AssociationTreeGraphImplObserver< class, class, class >::setEdgeIndex(), and bpp::AssociationTreeGraphImplObserver< class, class, class >::setNodeIndex().
|
inlinevirtual |
Reimplemented from bpp::AssociationTreeGraphImplObserver< class, class, class >.
Definition at line 43 of file PhyloTree.h.
References PhyloTree().
Referenced by bpp::NexusIOTree::write_().
std::vector< std::string > PhyloTree::getAllLeavesNames | ( | ) | const |
Definition at line 51 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllLeaves().
Vdouble PhyloTree::getBranchLengths | ( | ) | const |
Definition at line 110 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllEdges().
|
inline |
std::shared_ptr< PhyloNode > PhyloTree::getPhyloNode | ( | const std::string & | name | ) | const |
Definition at line 38 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllNodes().
Multiplies the lengths of branches of this phylotree by the ones of another phylotree. Just branch ids are considered, whatever the topology of the trees.
phylotree | The dividant PhyloTree |
Definition at line 181 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllEdges(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdgeIndex(), bpp::AssociationTreeGraphImplObserver< class, class, class >::hasEdge(), and bpp::TextTools::toString().
Add the lengths of branches of another phylotree to this one. Just branch ids are considered, whatever the topology of the trees.
phylotree | The added PhyloTree |
Definition at line 124 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllEdges(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdgeIndex(), bpp::AssociationTreeGraphImplObserver< class, class, class >::hasEdge(), and bpp::TextTools::toString().
Subtracts the lengths of branches of another phylotree to this one. Just branch ids are considered, whatever the topology of the trees.
phylotree | The added PhyloTree |
Definition at line 143 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllEdges(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdgeIndex(), bpp::AssociationTreeGraphImplObserver< class, class, class >::hasEdge(), and bpp::TextTools::toString().
Divides the lengths of branches of this phylotree by the ones of another phylotree. Just branch ids are considered, whatever the topology of the trees.
phylotree | The dividant PhyloTree |
Definition at line 162 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllEdges(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdge(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdgeIndex(), bpp::AssociationTreeGraphImplObserver< class, class, class >::hasEdge(), and bpp::TextTools::toString().
void PhyloTree::pruneTree | ( | std::vector< std::string > | leaves | ) |
Prune a tree to a given set of leaf names.
leaves | the vector of leaf names restricting the tree |
Definition at line 82 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::deleteNode(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllLeaves(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getFatherOfNode(), and bpp::AssociationTreeGraphImplObserver< class, class, class >::isLeaf().
void PhyloTree::resetNodesId | ( | ) |
Definition at line 26 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllNodes(), bpp::AssociationTreeGraphImplObserver< class, class, class >::getEdgeToFather(), bpp::AssociationTreeGraphImplObserver< class, class, class >::hasFather(), bpp::AssociationTreeGraphImplObserver< class, class, class >::setEdgeIndex(), and bpp::AssociationTreeGraphImplObserver< class, class, class >::setNodeIndex().
void PhyloTree::scaleTree | ( | double | factor | ) |
Multiply all branch lengths by a given factor.
factor | The factor to multiply all branch lengths with. |
Definition at line 77 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getRoot().
Referenced by bpp::PhyloTreeTools::convertToClockTree2().
void PhyloTree::scaleTree | ( | std::shared_ptr< PhyloNode > | node, |
double | factor | ||
) |
Multiply all branch lengths under a Node by a given factor.
node | The node defining the subtree. |
factor | The factor to multiply all branch lengths with. |
Definition at line 65 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getSubtreeEdges().
void PhyloTree::setBranchLengths | ( | double | l | ) |
Definition at line 100 of file PhyloTree.cpp.
References bpp::AssociationTreeGraphImplObserver< class, class, class >::getAllEdges().
|
inline |
Definition at line 58 of file PhyloTree.h.
References name_.
|
private |
Definition at line 28 of file PhyloTree.h.