A library for working with phylogenetic and population genetic data.
v0.32.0
fst_pool_processor.hpp File Reference
#include "genesis/population/filter/variant_filter.hpp"
#include "genesis/population/function/fst_pool_calculator.hpp"
#include "genesis/population/function/fst_pool_unbiased.hpp"
#include "genesis/population/function/window_average.hpp"
#include "genesis/population/genome_locus_set.hpp"
#include "genesis/population/variant.hpp"
#include "genesis/population/window/base_window.hpp"
#include "genesis/utils/core/options.hpp"
#include "genesis/utils/core/std.hpp"
#include "genesis/utils/threading/thread_functions.hpp"
#include "genesis/utils/threading/thread_pool.hpp"
#include <algorithm>
#include <cassert>
#include <limits>
#include <memory>
#include <stdexcept>
#include <string>
#include <utility>
#include <tuple>
#include <vector>

Go to the source code of this file.

Classes

class  FstPoolProcessor
 Helper class to iterate over Variants and process pairs of FST between their samples (SampleCounts), using a set of BaseFstPoolCalculator. More...
 

Namespaces

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

Functions

std::vector< std::pair< std::string, std::string > > fst_pool_processor_sample_names (FstPoolProcessor const &processor, std::vector< std::string > const &sample_names)
 Return a list of sample name pairs for each calculator in an FstPoolProcessor. More...
 
template<class Calculator , typename... Args>
FstPoolProcessor make_fst_pool_processor (size_t index, std::vector< size_t > const &pool_sizes, Args... args)
 Create an FstPoolProcessor for one-to-all FST computation between one sample and all others. More...
 
template<class Calculator , typename... Args>
FstPoolProcessor make_fst_pool_processor (size_t index_1, size_t index_2, std::vector< size_t > const &pool_sizes, Args... args)
 Create an FstPoolProcessor for one-to-one FST computation between two samples. More...
 
template<class Calculator , typename... Args>
FstPoolProcessor make_fst_pool_processor (std::vector< size_t > const &pool_sizes, Args... args)
 Create an FstPoolProcessor for all-to-all computation of FST between all pairs of samples. More...
 
template<class Calculator , typename... Args>
FstPoolProcessor make_fst_pool_processor (std::vector< std::pair< size_t, size_t >> const &sample_pairs, std::vector< size_t > const &pool_sizes, Args... args)
 Create an FstPoolProcessor for computation of FST between specific pairs of samples. More...