A toolkit for working with phylogenetic data.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SimulatorExtraPlacementDistribution Class Reference

#include <genesis/placement/simulator/distributions.hpp>

Detailed Description

Generate a certain number of additional PqueryPlacements around a given PlacementTreeEdge.

This class models both the distribution of the number of generated placements and their distribution around the given edge. It is easier to model it this way (both distributions in one class), because they have a dependency: Once the number of placements is drawn, they have to be distributed along the edges of the tree without repetition according to a distribution of distances (path lengths) from the central edge. Doing those two steps in one class is easier.

Definition at line 126 of file distributions.hpp.

Public Member Functions

 SimulatorExtraPlacementDistribution ()=default
 SimulatorExtraPlacementDistribution (SimulatorExtraPlacementDistribution const &)=default
 SimulatorExtraPlacementDistribution (SimulatorExtraPlacementDistribution &&)=default
 ~SimulatorExtraPlacementDistribution ()=default
std::string dump_edge_proximities () const
std::vector< size_t > edge_proximity_maxima () const
std::vector< size_t > generate (PlacementTreeEdge const &edge)
SimulatorExtraPlacementDistributionoperator= (SimulatorExtraPlacementDistribution const &)=default
SimulatorExtraPlacementDistributionoperator= (SimulatorExtraPlacementDistribution &&)=default
void prepare (Sample const &sample)
 Prepare the distribution for usage. Needs to be called before generate(). More...

Public Attributes

std::vector< double > placement_number_weights
std::vector< double > placement_path_length_weights


struct  EdgeProximity

Constructor & Destructor Documentation

Member Function Documentation

std::string dump_edge_proximities ( ) const

Definition at line 179 of file distributions.cpp.

std::vector< size_t > edge_proximity_maxima ( ) const

Definition at line 201 of file distributions.cpp.

std::vector< size_t > generate ( PlacementTreeEdge const &  edge)

Definition at line 119 of file distributions.cpp.

void prepare ( Sample const &  sample)

Prepare the distribution for usage. Needs to be called before generate().

It expects to be called with the Sample into which the generated (simulated) placements are inserted.

Definition at line 56 of file distributions.cpp.

Member Data Documentation

std::vector<double> placement_number_weights

Definition at line 170 of file distributions.hpp.

std::vector<double> placement_path_length_weights

Definition at line 171 of file distributions.hpp.

The documentation for this class was generated from the following files: