A library for working with phylogenetic and population genetic data.
v0.32.0
placement/function/tree.cpp File Reference
#include "genesis/placement/function/tree.hpp"
#include "genesis/placement/function/helper.hpp"
#include "genesis/tree/common_tree/operators.hpp"
#include "genesis/tree/common_tree/tree.hpp"
#include "genesis/tree/function/functions.hpp"
#include "genesis/tree/function/manipulation.hpp"
#include "genesis/tree/function/operators.hpp"
#include "genesis/tree/tree.hpp"
#include <algorithm>
#include <cassert>
#include <numeric>
#include <stdexcept>
#include <utility>
#include <vector>

Go to the source code of this file.

Namespaces

 genesis
 Container namespace for all symbols of genesis in order to keep them separate when used as a library.
 
 genesis::placement
 

Functions

tree::Tree labelled_tree (Sample const &sample, bool fully_resolve=false, std::string const &name_prefix="")
 Produce a Tree where the most probable PqueryPlacement of each Pquery in a Sample is turned into an Edge. More...
 
tree::Tree labelled_tree (Sample const &sample, tree::Tree const &tree, bool fully_resolve=false, std::string const &name_prefix="")
 Produce a Tree where each PqueryPlacement of a Sample is turned into an Edge. More...
 
void labelled_tree_add_lonely_placement_ (tree::Tree &tree, tree::TreeEdge &edge, LabelledTreePlacementPair const &placement_pair, std::string const &name_prefix)
 
std::vector< std::vector< LabelledTreePlacementPair > > labelled_tree_placement_pairs_per_edge_ (Sample const &sample)
 
void labelled_tree_process_edge_fully_resolved_ (tree::Tree &tree, tree::TreeEdge &edge, std::vector< LabelledTreePlacementPair > const &placement_pairs, std::string const &name_prefix)
 
void labelled_tree_process_edge_multifurcating_ (tree::Tree &tree, tree::TreeEdge &edge, std::vector< LabelledTreePlacementPair > const &placement_pairs, std::string const &name_prefix)