|
Parallel PopGen Package
|
functor: models selection coefficient as linearly dependent on frequency More...
Public Member Functions | |
| selection_linear_frequency_dependent () | |
| default constructor More... | |
| selection_linear_frequency_dependent (float slope, float intercept) | |
| constructor More... | |
| template<typename Functor_demography , typename Functor_inbreeding > | |
| selection_linear_frequency_dependent (float gamma_slope, float gamma_intercept, Functor_demography demography, Functor_inbreeding F, int forward_generation_shift=0) | |
| constructor: effective selection More... | |
| __device__ __forceinline__ float | operator() (const int population, const int generation, const float freq) const |
selection operator, returns selection coefficient, s, for a given population, generation, freq More... | |
Public Attributes | |
| float | slope |
| slope of selection coefficient's linear dependence on frequency More... | |
| float | intercept |
| selection coefficient's intercept with frequency 0 More... | |
functor: models selection coefficient as linearly dependent on frequency
(slope < 0) := balancing selection model (negative frequency-dependent selection)
(slope = 0) := constant selection
(slope > 0) := reinforcement selection model (positive frequency-dependent selection)
Definition at line 43 of file go_fish.cuh.
|
inline |
default constructor
slope = 0, intercept = 0
Definition at line 62 of file template_inline_simulation_functors.cuh.
|
inline |
constructor
Definition at line 63 of file template_inline_simulation_functors.cuh.
|
inline |
constructor: effective selection
slope = gamma_slope/(2*demography(0,forward_generation_shift)/(1+F(0,forward_generation_shift)))
intercept = gamma_intercept/(2*demography(0,forward_generation_shift)/(1+F(0,forward_generation_shift)))
| forward_generation_shift | (optional input) default 0 allows you to push the population size and inbreeding coefficient value to the state forward in time - useful if you are starting the simulation from a previous simulation state and are using the same functions as the previous simulation or any time you want to shift the generation of the demography and inbreeding functions from 0 |
Definition at line 69 of file template_inline_simulation_functors.cuh.
| __device__ __forceinline__ float Sim_Model::selection_linear_frequency_dependent::operator() | ( | const int | population, |
| const int | generation, | ||
| const float | freq | ||
| ) | const |
selection operator, returns selection coefficient, s, for a given population, generation, freq
s = slope*freq + intercept
Definition at line 74 of file template_inline_simulation_functors.cuh.
| float Sim_Model::selection_linear_frequency_dependent::slope |
slope of selection coefficient's linear dependence on frequency
Definition at line 45 of file go_fish.cuh.
| float Sim_Model::selection_linear_frequency_dependent::intercept |
selection coefficient's intercept with frequency 0
Definition at line 46 of file go_fish.cuh.