46 #include "../Sequence/SequenceSet.hpp"
47 #include "../utils/Matrix.hpp"
58 std::vector<std::shared_ptr<TreeNode> > children;
60 TreeNode():id(0), name(
""), edge_length(-1), children()
63 TreeNode(
unsigned int id_):id(id_), name(
""), edge_length(-1), children()
66 TreeNode(
const std::string &name_):id(0), name(name_), edge_length(-1), children()
69 TreeNode(
unsigned int id_,
const std::string &name_):id(id_),name(name_), edge_length(-1), children()
75 return (!children.empty());
102 Tree& operator=(
const Tree&) =
delete;
109 _n_species=other._n_species;
128 void nj(
const Matrix<float> &dist_mat,
const std::vector<std::string> &names);
139 void upgma(
const Matrix<float> &dist_mat,
const std::vector<std::string> &names, std::vector<int> &n_members);
177 return (_n_species==0);