bpp-phyl3  3.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
bpp::ProcessTree Class Referenceabstract

#include <Bpp/Phyl/Likelihood/DataFlow/ProcessTree.h>

+ Inheritance diagram for bpp::ProcessTree:
+ Collaboration diagram for bpp::ProcessTree:

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

 ProcessTree (Context &context, const ParametrizablePhyloTree &tree)
 Build a ProcessTree with same topology as a given ParametrizablePhyloTree, and new ConfiguredParameter BrLen. are created. More...
 
 ProcessTree (const ProcessTree &tree, ValueRef< double > rate)
 Copy a ProcessTree with all BrLen multiplied by a given rate DF double *. More...
 
 ProcessTree (Context &context, const ParametrizablePhyloTree &tree, const ParameterList &parList, const std::string &suff)
 Build a ProcessTree with same topology as a given ParametrizablePhyloTree. ConfiguredParameter objects are linked to those of a ParameterList, with names BrLen_"suff". More...
 
 ProcessTree (const ProcessComputationTree &tree, ParametrizableCollection< ConfiguredModel > &modelColl, const ProcessTree &phyloTree)
 Build a ProcessTree following a given ProcessComputationTree. So the resulting topology may be different from the given ParametrizablePhyloTree. More...
 
ProcessTreeclone () const override
 
 ProcessTree (const ProcessTree &pTree)
 
ProcessTreeoperator= (const ProcessTree &pTree)
 
DAGindexes getDAGEdgesIndexes (const Speciesindex speciesIndex) const
 
const ParameterList getParameters ()
 
bool matchParametersValues (ParameterList &)
 
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< NodeIndexgetSons (const NodeIndex node) const
 
std::vector< std::shared_ptr< E > > getBranches (const std::shared_ptr< N > node) const
 
std::vector< EdgeIndexgetBranches (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< NodeIndexgetLeavesUnderNode (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 >::NodeIteratorsonsIterator (std::shared_ptr< N > node)
 
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::NodeIteratorsonsIterator (std::shared_ptr< N > node) const
 
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::EdgeIteratorbranchesIterator (std::shared_ptr< N > node)
 
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::EdgeIteratorbranchesIterator (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< NodeIndexgetNodePathBetweenTwoNodes (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< EdgeIndexgetEdgePathBetweenTwoNodes (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< NodeIndexgetSubtreeNodes (const NodeIndex localRoot) const
 
std::vector< std::shared_ptr< E > > getSubtreeEdges (const std::shared_ptr< N > localRoot) const
 
std::vector< EdgeIndexgetSubtreeEdges (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< NrefgetNodesFromGraphid (std::vector< NodeGraphid > nodes) const
 
virtual std::vector< std::shared_ptr< N > > getNodesFromGraphid (std::vector< NodeGraphid >) const=0
 
std::vector< NrefgetNodesFromGraphid (std::vector< NodeGraphid > nodes) const
 
std::vector< NrefgetNodesFromGraphid (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< ErefgetEdgesFromGraphid (std::vector< EdgeGraphid > edges) const
 
virtual std::vector< std::shared_ptr< E > > getEdgesFromGraphid (std::vector< EdgeGraphid >) const=0
 
std::vector< ErefgetEdgesFromGraphid (std::vector< EdgeGraphid > edges) const
 
std::vector< ErefgetEdgesFromGraphid (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< NodeIndexgetNodeIndexes (std::vector< std::shared_ptr< N >> nodeObjects) const=0
 
std::vector< NodeIndexgetNodeIndexes (std::vector< Nref > nodes) const
 
virtual std::vector< NodeIndexgetNodeIndexes (std::vector< std::shared_ptr< N >> nodeObjects) const=0
 
std::vector< NodeIndexgetNodeIndexes (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< EdgeIndexgetEdgeIndexes (std::vector< std::shared_ptr< E >> edgeObjects) const=0
 
std::vector< EdgeIndexgetEdgeIndexes (std::vector< Eref > edges) const
 
virtual std::vector< EdgeIndexgetEdgeIndexes (std::vector< std::shared_ptr< E >> edgeObjects) const=0
 
std::vector< EdgeIndexgetEdgeIndexes (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< NodeIteratorallNodesIterator ()=0
 
virtual std::unique_ptr< NodeIteratorallNodesIterator () const=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorallNodesIterator ()
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorallNodesIterator () const
 
virtual std::unique_ptr< NodeIteratorallNodesIterator ()=0
 
virtual std::unique_ptr< NodeIteratorallNodesIterator () const=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorallNodesIterator ()
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorallNodesIterator () const
 
virtual std::unique_ptr< NodeIteratoroutgoingNeighborNodesIterator (std::shared_ptr< N > node)=0
 
virtual std::unique_ptr< NodeIteratoroutgoingNeighborNodesIterator (std::shared_ptr< N > node) const=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratoroutgoingNeighborNodesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratoroutgoingNeighborNodesIterator (Nref node) const
 
virtual std::unique_ptr< NodeIteratoroutgoingNeighborNodesIterator (std::shared_ptr< N > node)=0
 
virtual std::unique_ptr< NodeIteratoroutgoingNeighborNodesIterator (std::shared_ptr< N > node) const=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratoroutgoingNeighborNodesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratoroutgoingNeighborNodesIterator (Nref node) const
 
virtual std::unique_ptr< NodeIteratorincomingNeighborNodesIterator (std::shared_ptr< N > node)=0
 
virtual std::unique_ptr< NodeIteratorincomingNeighborNodesIterator (std::shared_ptr< N > node) const=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorincomingNeighborNodesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorincomingNeighborNodesIterator (Nref node) const
 
virtual std::unique_ptr< NodeIteratorincomingNeighborNodesIterator (std::shared_ptr< N > node)=0
 
virtual std::unique_ptr< NodeIteratorincomingNeighborNodesIterator (std::shared_ptr< N > node) const=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorincomingNeighborNodesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorincomingNeighborNodesIterator (Nref node) const
 
virtual std::vector< std::shared_ptr< N > > getNeighbors (const std::shared_ptr< N > node) const=0
 
virtual std::vector< NodeIndexgetNeighbors (NodeIndex node) const=0
 
std::vector< NrefgetNeighbors (const Nref node) const
 
std::vector< NodeIndexgetNeighbors (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< N > > getNeighbors (const std::shared_ptr< N > node) const=0
 
virtual std::vector< NodeIndexgetNeighbors (NodeIndex node) const=0
 
std::vector< NrefgetNeighbors (const Nref node) const
 
std::vector< NodeIndexgetNeighbors (NodeIndex node) const
 
std::vector< NodeIndexgetNeighbors (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< E > > getEdges (const std::shared_ptr< N > node) const=0
 
virtual std::vector< EdgeIndexgetEdges (NodeIndex node) const=0
 
std::vector< ErefgetEdges (const Nref node) const
 
std::vector< EdgeIndexgetEdges (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< E > > getEdges (const std::shared_ptr< N > node) const=0
 
virtual std::vector< EdgeIndexgetEdges (NodeIndex node) const=0
 
std::vector< ErefgetEdges (const Nref node) const
 
std::vector< EdgeIndexgetEdges (NodeIndex node) const
 
std::vector< EdgeIndexgetEdges (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< N > > getOutgoingNeighbors (const std::shared_ptr< N > node) const=0
 
virtual std::vector< NodeIndexgetOutgoingNeighbors (NodeIndex node) const=0
 
std::vector< NrefgetOutgoingNeighbors (const Nref node) const
 
std::vector< NodeIndexgetOutgoingNeighbors (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< N > > getOutgoingNeighbors (const std::shared_ptr< N > node) const=0
 
virtual std::vector< NodeIndexgetOutgoingNeighbors (NodeIndex node) const=0
 
std::vector< NrefgetOutgoingNeighbors (const Nref node) const
 
std::vector< NodeIndexgetOutgoingNeighbors (NodeIndex node) const
 
std::vector< NodeIndexgetOutgoingNeighbors (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< E > > getOutgoingEdges (const std::shared_ptr< N > node) const=0
 
virtual std::vector< EdgeIndexgetOutgoingEdges (NodeIndex node) const=0
 
std::vector< ErefgetOutgoingEdges (const Nref node) const
 
std::vector< EdgeIndexgetOutgoingEdges (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< E > > getOutgoingEdges (const std::shared_ptr< N > node) const=0
 
virtual std::vector< EdgeIndexgetOutgoingEdges (NodeIndex node) const=0
 
std::vector< ErefgetOutgoingEdges (const Nref node) const
 
std::vector< EdgeIndexgetOutgoingEdges (NodeIndex node) const
 
std::vector< EdgeIndexgetOutgoingEdges (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< N > > getIncomingNeighbors (const std::shared_ptr< N > node) const=0
 
virtual std::vector< NodeIndexgetIncomingNeighbors (NodeIndex node) const=0
 
std::vector< NrefgetIncomingNeighbors (const Nref node) const
 
std::vector< NodeIndexgetIncomingNeighbors (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< N > > getIncomingNeighbors (const std::shared_ptr< N > node) const=0
 
virtual std::vector< NodeIndexgetIncomingNeighbors (NodeIndex node) const=0
 
std::vector< NrefgetIncomingNeighbors (const Nref node) const
 
std::vector< NodeIndexgetIncomingNeighbors (NodeIndex node) const
 
std::vector< NodeIndexgetIncomingNeighbors (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< E > > getIncomingEdges (const std::shared_ptr< N > node) const=0
 
virtual std::vector< EdgeIndexgetIncomingEdges (NodeIndex node) const=0
 
std::vector< ErefgetIncomingEdges (const Nref node) const
 
std::vector< EdgeIndexgetIncomingEdges (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< E > > getIncomingEdges (const std::shared_ptr< N > node) const=0
 
virtual std::vector< EdgeIndexgetIncomingEdges (NodeIndex node) const=0
 
std::vector< ErefgetIncomingEdges (const Nref node) const
 
std::vector< EdgeIndexgetIncomingEdges (NodeIndex node) const
 
std::vector< EdgeIndexgetIncomingEdges (NodeIndex node) const
 
virtual std::vector< std::shared_ptr< N > > getLeavesFromNode (std::shared_ptr< N > node, unsigned int maxDepth) const=0
 
std::vector< NrefgetLeavesFromNode (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< NrefgetLeavesFromNode (Nref node, unsigned int maxDepth) const
 
virtual std::vector< std::shared_ptr< N > > getAllLeaves () const=0
 
std::vector< NrefgetAllLeaves () const
 
virtual std::vector< std::shared_ptr< N > > getAllLeaves () const=0
 
std::vector< NrefgetAllLeaves () const
 
virtual std::vector< NodeIndexgetAllLeavesIndexes () const=0
 
std::vector< NodeIndexgetAllLeavesIndexes () const
 
virtual std::vector< NodeIndexgetAllLeavesIndexes () const=0
 
std::vector< NodeIndexgetAllLeavesIndexes () const
 
virtual std::vector< std::shared_ptr< N > > getAllInnerNodes () const=0
 
std::vector< NrefgetAllInnerNodes () const
 
virtual std::vector< std::shared_ptr< N > > getAllInnerNodes () const=0
 
std::vector< NrefgetAllInnerNodes () const
 
virtual std::vector< NodeIndexgetAllInnerNodesIndexes () const=0
 
std::vector< NodeIndexgetAllInnerNodesIndexes () const
 
virtual std::vector< NodeIndexgetAllInnerNodesIndexes () const=0
 
std::vector< NodeIndexgetAllInnerNodesIndexes () const
 
virtual std::vector< std::shared_ptr< N > > getAllNodes () const=0
 
std::vector< NrefgetAllNodes () const
 
virtual std::vector< std::shared_ptr< N > > getAllNodes () const=0
 
std::vector< NrefgetAllNodes () const
 
virtual std::vector< NodeIndexgetAllNodesIndexes () const=0
 
std::vector< NodeIndexgetAllNodesIndexes () const
 
virtual std::vector< NodeIndexgetAllNodesIndexes () const=0
 
std::vector< NodeIndexgetAllNodesIndexes () const
 
virtual std::unique_ptr< EdgeIteratorallEdgesIterator ()=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorallEdgesIterator ()
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorallEdgesIterator () const
 
virtual std::unique_ptr< EdgeIteratorallEdgesIterator ()=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorallEdgesIterator ()
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorallEdgesIterator () const
 
virtual std::unique_ptr< EdgeIteratoroutgoingEdgesIterator (std::shared_ptr< N > node)=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratoroutgoingEdgesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratoroutgoingEdgesIterator (Nref node) const
 
virtual std::unique_ptr< EdgeIteratoroutgoingEdgesIterator (std::shared_ptr< N > node)=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratoroutgoingEdgesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratoroutgoingEdgesIterator (Nref node) const
 
virtual std::unique_ptr< EdgeIteratorincomingEdgesIterator (std::shared_ptr< N > node)=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorincomingEdgesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorincomingEdgesIterator (Nref node) const
 
virtual std::unique_ptr< EdgeIteratorincomingEdgesIterator (std::shared_ptr< N > node)=0
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorincomingEdgesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorincomingEdgesIterator (Nref node) const
 
virtual std::vector< std::shared_ptr< E > > getAllEdges () const=0
 
std::vector< ErefgetAllEdges () const
 
virtual std::vector< std::shared_ptr< E > > getAllEdges () const=0
 
std::vector< ErefgetAllEdges () const
 
virtual std::vector< EdgeIndexgetAllEdgesIndexes () const=0
 
std::vector< EdgeIndexgetAllEdgesIndexes () const
 
virtual std::vector< EdgeIndexgetAllEdgesIndexes () const=0
 
std::vector< EdgeIndexgetAllEdgesIndexes () 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, NrefgetNodes (Eref edge) const
 
std::pair< Nref, NrefgetNodes (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< TreeGraphImplgetGraph () const
 
std::shared_ptr< TreeGraphImplgetGraph ()
 
std::string nodeToString (const Nref nodeObject) const
 
std::string edgeToString (const Eref edgeObject) const
 

Static Public Member Functions

static std::shared_ptr< ProcessTreemakeProcessTree (Context &context, std::shared_ptr< const SubstitutionProcessInterface > process, ParameterList &parList, const std::string &suff="")
 Create a Process Tree following a Substitution Process. Tree Node parameters are got from ConfiguredParameters PREVIOUSLY built and stored in a ParameterList. More...
 
static std::shared_ptr< ProcessTreemakeProcessTree (CollectionNodes &collection, size_t pNum)
 Create a Process Tree following a Substitution Process in a Collection. Tree Node parameters are got from ConfiguredParameters PREVIOUSLY built and stored in a ParameterList. More...
 
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< TreeGraphImplsubjectGraph_
 

Private Types

enum  neighborType
 

Private Member Functions

std::vector< NrefgetNeighbors_ (const Nref nodeObject, neighborType type) const
 
std::vector< ErefgetEdges_ (const Nref nodeObject, neighborType type) const
 

Private Attributes

Context context_
 
 INCOMING
 
 OUTGOING
 
 BOTH
 
std::vector< NrefgraphidToN_
 
std::vector< ErefgraphidToE_
 
std::map< Nref, NodeGraphidNToGraphid_
 
std::map< Eref, EdgeGraphidEToGraphid_
 
std::vector< NrefindexToN_
 
std::vector< ErefindexToE_
 
std::map< Nref, NodeIndexNToIndex_
 
std::map< Eref, EdgeIndexEToIndex_
 

Detailed Description

Definition at line 150 of file ProcessTree.h.

Constructor & Destructor Documentation

◆ ProcessTree() [1/5]

◆ ProcessTree() [2/5]

ProcessTree::ProcessTree ( const ProcessTree tree,
ValueRef< double >  rate 
)

Copy a ProcessTree with all BrLen multiplied by a given rate DF double *.

Definition at line 53 of file ProcessTree.cpp.

References bpp::AssociationTreeGraphImplObserver< class, class, class >::allEdgesIterator(), and context_.

◆ ProcessTree() [3/5]

◆ ProcessTree() [4/5]

ProcessTree::ProcessTree ( const ProcessComputationTree tree,
ParametrizableCollection< ConfiguredModel > &  modelColl,
const ProcessTree phyloTree 
)

◆ ProcessTree() [5/5]

bpp::ProcessTree::ProcessTree ( const ProcessTree pTree)
inline

Definition at line 200 of file ProcessTree.h.

Member Function Documentation

◆ clone()

ProcessTree* bpp::ProcessTree::clone ( ) const
inlineoverridevirtual

Reimplemented from bpp::AssociationTreeGraphImplObserver< class, class, class >.

Definition at line 195 of file ProcessTree.h.

◆ getDAGEdgesIndexes()

◆ getParameters()

const ParameterList bpp::ProcessTree::getParameters ( )
inline

Definition at line 224 of file ProcessTree.h.

◆ makeProcessTree() [1/2]

std::shared_ptr< ProcessTree > ProcessTree::makeProcessTree ( CollectionNodes collection,
size_t  pNum 
)
static

Create a Process Tree following a Substitution Process in a Collection. Tree Node parameters are got from ConfiguredParameters PREVIOUSLY built and stored in a ParameterList.

Definition at line 201 of file ProcessTree.cpp.

References bpp::CollectionNodes::collection(), bpp::CollectionNodes::getModelCollection(), bpp::CollectionNodes::getProcessTree(), and bpp::SubstitutionProcessCollection::getSubstitutionProcess().

◆ makeProcessTree() [2/2]

std::shared_ptr< ProcessTree > ProcessTree::makeProcessTree ( Context context,
std::shared_ptr< const SubstitutionProcessInterface process,
ParameterList parList,
const std::string &  suff = "" 
)
static

Create a Process Tree following a Substitution Process. Tree Node parameters are got from ConfiguredParameters PREVIOUSLY built and stored in a ParameterList.

Definition at line 214 of file ProcessTree.cpp.

References bpp::makeConfiguredModelCollection().

Referenced by bpp::LikelihoodCalculationSingleProcess::makeProcessNodes_().

◆ matchParametersValues()

bool bpp::ProcessTree::matchParametersValues ( ParameterList )
inline

Definition at line 226 of file ProcessTree.h.

◆ operator=()

ProcessTree& bpp::ProcessTree::operator= ( const ProcessTree pTree)
inline

Definition at line 206 of file ProcessTree.h.

Member Data Documentation

◆ context_

Context bpp::ProcessTree::context_
private

Definition at line 152 of file ProcessTree.h.

Referenced by ProcessTree().


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