SequenceTree get_mf_tree(const std::vector<std::string>& names, const std::vector<dynamic_bitset<> >& partitions) { SequenceTree T = star_tree(names); for(int i=0;i<partitions.size();i++) T.induce_partition(partitions[i]); for(int i=0;i<T.n_branches();i++) T.branch(i).set_length(1.0); return T; }
SequenceTree get_mf_tree(const std::vector<std::string>& names, const std::vector<Partition>& partitions) { SequenceTree T = star_tree(names); int i=0; try { for(;i<partitions.size();i++) T.induce_partition(partitions[i].group1); } catch(...) { throw myexception()<<"Partition ("<<partitions[i]<<") conflicts with tree "<<T; } for(int i=0;i<T.n_branches();i++) T.branch(i).set_length(1.0); return T; }