A library for working with phylogenetic and population genetic data.
v0.27.0
placement/simulator/functions.hpp File Reference
#include <cstddef>
#include <iosfwd>
#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

void learn_like_weight_ratio_distribution (Sample const &sample, SimulatorLikeWeightRatioDistribution &lwr_distib, size_t number_of_intervals)
 
void learn_per_edge_weights (Sample const &sample, SimulatorEdgeDistribution &edge_distrib)
 Sets the weights of an SimulatorEdgeDistributionso that they follow the same distribution of placement weight per edge as a given Sample. More...
 
void learn_placement_number_weights (Sample const &sample, SimulatorExtraPlacementDistribution &p_distib)
 
void learn_placement_path_length_weights (Sample const &sample, SimulatorExtraPlacementDistribution &p_distib)
 
std::ostream & operator<< (std::ostream &out, SimulatorEdgeDistribution const &distrib)
 
std::ostream & operator<< (std::ostream &out, SimulatorExtraPlacementDistribution const &distrib)
 
std::ostream & operator<< (std::ostream &out, SimulatorLikeWeightRatioDistribution const &distrib)
 
void set_depths_distributed_weights (Sample const &sample, SimulatorEdgeDistribution &edge_distrib)
 Set the weights of an SimulatorEdgeDistribution so that they follow the depth distribution of the edges in the provided Sample. More...
 
void set_depths_distributed_weights (Sample const &sample, std::vector< double > const &depth_weights, SimulatorEdgeDistribution &edge_distrib)
 Set the weights so that they follow a given depth distribution of the edges in the PlacementTree. More...
 
void set_random_edges (Sample const &sample, SimulatorEdgeDistribution &edge_distrib)
 Set the weights of a SimulatorEdgeDistribution randomly to either 0.0 or 1.0, so that a random subset of edges is selected (with the same probability for each selected edge). More...
 
void set_random_edges (size_t edge_count, SimulatorEdgeDistribution &edge_distrib)
 Set the weights of an SimulatorEdgeDistribution randomly to either 0.0 or 1.0, so that a random subset of edges is selected (with the same probability for each selected edge). More...
 
size_t set_random_subtree_weights (Sample const &sample, SimulatorEdgeDistribution &edge_distrib)
 Sets the weights of an SimulatorEdgeDistribution to 1.0 for a randomly chosen subtree, all others to 0.0. More...
 
void set_random_weights (Sample const &sample, SimulatorEdgeDistribution &edge_distrib)
 Set the weights of an SimulatorEdgeDistribution for the edges randomly to a value between 0.0 and 1.0. More...
 
void set_random_weights (size_t edge_count, SimulatorEdgeDistribution &edge_distrib)
 Set the weights of an SimulatorEdgeDistribution for the edges randomly to a value between 0.0 and 1.0. More...
 
void set_subtree_weights (Sample const &sample, size_t link_index, SimulatorEdgeDistribution &edge_distrib)
 Set the weights of a subtree to 1.0 and all other weights to 0.0. More...
 
void set_uniform_weights (Sample const &sample, SimulatorEdgeDistribution &edge_distrib)
 Sets the weights of an SimulatorEdgeDistribution to 1.0 for all edges, so that each edge has the same probability of being chosen. More...
 
void set_uniform_weights (size_t edge_count, SimulatorEdgeDistribution &edge_distrib)
 Sets the weights of an SimulatorEdgeDistribution to 1.0 for all edges, so that each edge has the same probability of being chosen. More...