5#ifndef BPP_PHYL_TREE_PHYLODAG_H
6#define BPP_PHYL_TREE_PHYLODAG_H
21class ParametrizablePhyloDAG;
36 template<
class T,
class U>
71 std::shared_ptr<PhyloNode>
getPhyloNode(
const std::string& name)
const;
97 void pruneDAG(std::vector<std::string> leaves);
105 void scaleDAG(std::shared_ptr<PhyloNode> node,
double factor);
void scaleDAG(double factor)
Multiply all branch lengths by a given factor.
PhyloDAG(AssociationDAGlobalGraphObserver< T, U > dag)
std::vector< std::string > getAllLeavesNames() const
PhyloDAG & operator+=(const PhyloDAG &phylotree)
Add the lengths of branches of another phylotree to this one. Just branch ids are considered,...
PhyloDAG & operator-=(const PhyloDAG &phylotree)
Subtracts the lengths of branches of another phylotree to this one. Just branch ids are considered,...
Vdouble getBranchLengths() const
PhyloDAG & operator/=(const PhyloDAG &phylotree)
Divides the lengths of branches of this phylotree by the ones of another phylotree....
PhyloDAG(const ParametrizablePhyloDAG &dag)
PhyloDAG & operator*=(const PhyloDAG &phylotree)
Multiplies the lengths of branches of this phylotree by the ones of another phylotree....
void setName(const std::string &name)
std::string getName() const
DAG name.
std::shared_ptr< PhyloNode > getPhyloNode(const std::string &name) const
void setBranchLengths(double l)
void pruneDAG(std::vector< std::string > leaves)
Prune a tree to a given set of leaf names.
Defines the basic types of data flow nodes.
std::vector< double > Vdouble