A library for working with phylogenetic and population genetic data.
v0.32.0
FstPoolCalculatorUnbiased Class Referencefinal

#include <genesis/population/function/fst_pool_unbiased.hpp>

Inherits BaseFstPoolCalculator.

Detailed Description

Compute our unbiased F_ST statistic for pool-sequenced data for two ranges of SampleCountss.

This is our novel approach for estimating F_ST, using pool-sequencing corrected estimates of Pi within, Pi between, and Pi total, to compute F_ST following the definitions of Nei [1] and Hudson [2], respectively. These are returned here as a pair in that order. See https://github.com/lczech/pool-seq-pop-gen-stats for details.

[1] Analysis of Gene Diversity in Subdivided Populations.
Nei M.
Proceedings of the National Academy of Sciences, 1973, 70(12), 3321–3323. https://doi.org/10.1073/PNAS.70.12.3321

[2] Estimation of levels of gene flow from DNA sequence data.
Hudson RR, Slatkin M, Maddison WP.
Genetics, 1992, 132(2), 583–589. https://doi.org/10.1093/GENETICS/132.2.583

Definition at line 82 of file fst_pool_unbiased.hpp.

Public Member Functions

 FstPoolCalculatorUnbiased (FstPoolCalculatorUnbiased &&)=default
 
 FstPoolCalculatorUnbiased (FstPoolCalculatorUnbiased const &)=default
 
 FstPoolCalculatorUnbiased (size_t smp1_poolsize, size_t smp2_poolsize, WindowAveragePolicy window_average_policy, Estimator est=Estimator::kNei)
 
virtual ~FstPoolCalculatorUnbiased () override=default
 
double get_pi_between () const
 
template<class D >
double get_pi_between (BaseWindow< D > const &window, std::shared_ptr< GenomeLocusSet > provided_loci, VariantFilterStats const &variant_filter_stats) const
 
double get_pi_total () const
 
template<class D >
double get_pi_total (BaseWindow< D > const &window, std::shared_ptr< GenomeLocusSet > provided_loci, VariantFilterStats const &variant_filter_stats) const
 
double get_pi_total (double pi_within, double pi_between) const
 
PiValues get_pi_values () const
 
template<class D >
PiValues get_pi_values (BaseWindow< D > const &window, std::shared_ptr< GenomeLocusSet > provided_loci, VariantFilterStats const &variant_filter_stats) const
 
double get_pi_within () const
 
template<class D >
double get_pi_within (BaseWindow< D > const &window, std::shared_ptr< GenomeLocusSet > provided_loci, VariantFilterStats const &variant_filter_stats) const
 
template<class D >
double get_result (BaseWindow< D > const &window, std::shared_ptr< GenomeLocusSet > provided_loci, VariantFilterStats const &variant_filter_stats) const
 
std::pair< double, double > get_result_pair () const
 Get both variants of FST, following Nei, and following Hudson, as a pair. More...
 
template<class D >
std::pair< double, double > get_result_pair (BaseWindow< D > const &window, std::shared_ptr< GenomeLocusSet > provided_loci, VariantFilterStats const &variant_filter_stats) const
 Get both variants of FST, following Nei, and following Hudson, as a pair. More...
 
WindowAveragePolicy get_window_average_policy () const
 
FstPoolCalculatorUnbiasedoperator= (FstPoolCalculatorUnbiased &&)=default
 
FstPoolCalculatorUnbiasedoperator= (FstPoolCalculatorUnbiased const &)=default
 
- Public Member Functions inherited from BaseFstPoolCalculator
 BaseFstPoolCalculator ()=default
 
 BaseFstPoolCalculator (BaseFstPoolCalculator &&)=default
 
 BaseFstPoolCalculator (BaseFstPoolCalculator const &)=default
 
virtual ~BaseFstPoolCalculator ()=default
 
SampleCountsFilterStats get_filter_stats () const
 Get the sum of filter statistics of all sample pairs processed here. More...
 
double get_result () const
 
BaseFstPoolCalculatoroperator= (BaseFstPoolCalculator &&)=default
 
BaseFstPoolCalculatoroperator= (BaseFstPoolCalculator const &)=default
 
void process (SampleCounts const &p1, SampleCounts const &p2)
 
void reset ()
 

Public Types

enum  Estimator { kNei, kHudson }
 

Classes

struct  PiValues
 

Additional Inherited Members

Constructor & Destructor Documentation

◆ FstPoolCalculatorUnbiased() [1/3]

FstPoolCalculatorUnbiased ( size_t  smp1_poolsize,
size_t  smp2_poolsize,
WindowAveragePolicy  window_average_policy,
Estimator  est = Estimator::kNei 
)
inline

Definition at line 107 of file fst_pool_unbiased.hpp.

◆ ~FstPoolCalculatorUnbiased()

virtual ~FstPoolCalculatorUnbiased ( )
overridevirtualdefault

◆ FstPoolCalculatorUnbiased() [2/3]

◆ FstPoolCalculatorUnbiased() [3/3]

Member Function Documentation

◆ get_pi_between() [1/2]

double get_pi_between ( ) const
inline

Definition at line 395 of file fst_pool_unbiased.hpp.

◆ get_pi_between() [2/2]

double get_pi_between ( BaseWindow< D > const &  window,
std::shared_ptr< GenomeLocusSet provided_loci,
VariantFilterStats const &  variant_filter_stats 
) const
inline

Definition at line 325 of file fst_pool_unbiased.hpp.

◆ get_pi_total() [1/3]

double get_pi_total ( ) const
inline

Definition at line 400 of file fst_pool_unbiased.hpp.

◆ get_pi_total() [2/3]

double get_pi_total ( BaseWindow< D > const &  window,
std::shared_ptr< GenomeLocusSet provided_loci,
VariantFilterStats const &  variant_filter_stats 
) const
inline

Definition at line 341 of file fst_pool_unbiased.hpp.

◆ get_pi_total() [3/3]

double get_pi_total ( double  pi_within,
double  pi_between 
) const
inline

Definition at line 335 of file fst_pool_unbiased.hpp.

◆ get_pi_values() [1/2]

PiValues get_pi_values ( ) const
inline

Definition at line 407 of file fst_pool_unbiased.hpp.

◆ get_pi_values() [2/2]

PiValues get_pi_values ( BaseWindow< D > const &  window,
std::shared_ptr< GenomeLocusSet provided_loci,
VariantFilterStats const &  variant_filter_stats 
) const
inline

Definition at line 352 of file fst_pool_unbiased.hpp.

◆ get_pi_within() [1/2]

double get_pi_within ( ) const
inline

Definition at line 388 of file fst_pool_unbiased.hpp.

◆ get_pi_within() [2/2]

double get_pi_within ( BaseWindow< D > const &  window,
std::shared_ptr< GenomeLocusSet provided_loci,
VariantFilterStats const &  variant_filter_stats 
) const
inline

Definition at line 310 of file fst_pool_unbiased.hpp.

◆ get_result()

double get_result ( BaseWindow< D > const &  window,
std::shared_ptr< GenomeLocusSet provided_loci,
VariantFilterStats const &  variant_filter_stats 
) const
inline

Definition at line 270 of file fst_pool_unbiased.hpp.

◆ get_result_pair() [1/2]

std::pair<double, double> get_result_pair ( ) const
inline

Get both variants of FST, following Nei, and following Hudson, as a pair.

Definition at line 376 of file fst_pool_unbiased.hpp.

◆ get_result_pair() [2/2]

std::pair<double, double> get_result_pair ( BaseWindow< D > const &  window,
std::shared_ptr< GenomeLocusSet provided_loci,
VariantFilterStats const &  variant_filter_stats 
) const
inline

Get both variants of FST, following Nei, and following Hudson, as a pair.

Definition at line 293 of file fst_pool_unbiased.hpp.

◆ get_window_average_policy()

WindowAveragePolicy get_window_average_policy ( ) const
inline

Definition at line 364 of file fst_pool_unbiased.hpp.

◆ operator=() [1/2]

◆ operator=() [2/2]

FstPoolCalculatorUnbiased& operator= ( FstPoolCalculatorUnbiased const &  )
default

Member Enumeration Documentation

◆ Estimator

enum Estimator
strong
Enumerator
kNei 
kHudson 

Definition at line 90 of file fst_pool_unbiased.hpp.


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