Parallel PopGen Package
|
GO Fish Simulation API (contains namespaces GO_Fish and Sim_Model) More...
#include <cuda_runtime.h>
#include "../3P/_outside_libraries/helper_math.h"
#include "../3P/go_fish_data_struct.h"
#include "../3P/_internal/template_inline_simulation_functors.cuh"
#include "../3P/_internal/go_fish_impl.cuh"
Go to the source code of this file.
Classes | |
struct | Sim_Model::selection_constant |
functor: models selection coefficient s as a constant across populations and over time More... | |
struct | Sim_Model::selection_linear_frequency_dependent |
functor: models selection coefficient as linearly dependent on frequency More... | |
struct | Sim_Model::selection_sine_wave |
functor: models selection as a sine wave through time More... | |
struct | Sim_Model::selection_population_specific< Functor_sel, Functor_sel_pop > |
functor: one population, pop , has a different, selection function, s_pop , all other have function s More... | |
struct | Sim_Model::selection_piecewise< Functor_sel1, Functor_sel2 > |
functor: selection function changes from s1 to s2 at generation inflection_point More... | |
struct | Sim_Model::F_mu_h_constant |
functor: models parameter p as a constant across populations and over time More... | |
struct | Sim_Model::F_mu_h_sine_wave |
functor: models parameter as a sine wave through time More... | |
struct | Sim_Model::F_mu_h_population_specific< Functor_p, Functor_p_pop > |
functor: one population, pop , has a different, parameter function, p_pop , all others have function p More... | |
struct | Sim_Model::F_mu_h_piecewise< Functor_p1, Functor_p2 > |
functor: parameter function changes from p1 to p2 at generation inflection_point More... | |
struct | Sim_Model::demography_constant |
functor: single, constant population size (N individuals) across populations and over time More... | |
struct | Sim_Model::demography_sine_wave |
functor: models population size (individuals) as a sine wave through time More... | |
struct | Sim_Model::demography_exponential_growth |
functor: models exponential growth of population size (individuals) over time More... | |
struct | Sim_Model::demography_logistic_growth |
functor: models logistic growth of population size (individuals) over time More... | |
struct | Sim_Model::demography_population_specific< Functor_d, Functor_d_pop > |
functor: one population, pop , has a different, demography function, d_pop , all others have function, d More... | |
struct | Sim_Model::demography_piecewise< Functor_d1, Functor_d2 > |
functor: demography function changes from d1 to d2 at generation inflection_point More... | |
struct | Sim_Model::migration_constant_equal |
functor: migration flows at rate m from pop i to pop j =/= i and 1-(num_pop-1)*m for i == j More... | |
struct | Sim_Model::migration_constant_directional< Functor_m1 > |
functor: migration flows at rate m from pop1 to pop2 and function rest for all other migration rates More... | |
struct | Sim_Model::migration_piecewise< Functor_m1, Functor_m2 > |
functor: migration function changes from m1 to m2 at generation inflection_point More... | |
struct | Sim_Model::bool_off |
functor: turns sampling and preserving off (for every generation except the final one which is always sampled) More... | |
struct | Sim_Model::bool_on |
functor: turns sampling and preserving on (for every generation except the final one which is always sampled) More... | |
struct | Sim_Model::bool_pulse< Functor_default, Functor_action > |
functor: returns the result of function f_default except at generation pulse returns the result of function f_action More... | |
struct | Sim_Model::bool_piecewise< Functor_first, Functor_second > |
functor: returns the result of function f1 until generation inflection_point , then returns the result of function f2 More... | |
Namespaces | |
Sim_Model | |
Namespace of functions for controlling GO_Fish simulations. | |
GO_Fish | |
Namespace for single-locus, forward, Monte-Carlo Wright-Fisher simulation and output data structures. | |
Functions | |
template<typename Functor_mutation , typename Functor_demography , typename Functor_migration , typename Functor_selection , typename Functor_inbreeding , typename Functor_dominance , typename Functor_preserve , typename Functor_timesample > | |
__host__ void | GO_Fish::run_sim (allele_trajectories &all_results, const Functor_mutation mu_rate, const Functor_demography demography, const Functor_migration mig_prop, const Functor_selection sel_coeff, const Functor_inbreeding FI, const Functor_dominance dominance, const Functor_preserve preserve_mutations, const Functor_timesample take_sample) |
runs a single-locus Wright-Fisher simulation specified by the given simulation functions and sim_constants, storing the results into all_results More... | |
template<typename Functor_mutation , typename Functor_demography , typename Functor_migration , typename Functor_selection , typename Functor_inbreeding , typename Functor_dominance , typename Functor_preserve , typename Functor_timesample > | |
__host__ void | GO_Fish::run_sim (allele_trajectories &all_results, const Functor_mutation mu_rate, const Functor_demography demography, const Functor_migration mig_prop, const Functor_selection sel_coeff, const Functor_inbreeding FI, const Functor_dominance dominance, const Functor_preserve preserve_mutations, const Functor_timesample take_sample, const allele_trajectories &prev_sim) |
runs a single-locus Wright-Fisher simulation specified by the given simulation functions and sim_constants, storing the results into all_results More... | |
GO Fish Simulation API (contains namespaces GO_Fish and Sim_Model)
go_fish.cuh contains all structures and functions necessary for running, storing, and outputting a single locus Wright_fisher simulation. When including go_fish.cuh into a source file, go_fish_data_struct.h is automatically included - no need to include it separately. Unlike go_fish_data_struct.h and spectrum.h, go_fish.cuh can only be included in CUDA source files (*.cu). CUDA source files are identical to C, C++ source files (*.c, *.cpp) except that the the CUDA suffix (*.cu) indicates for NVCC (the CUDA compiler) that the file contains CUDA-specific __global__
and __device__
functions/variables meant for the GPU. __global__
and __device__
functions/variables cannot be compiled in normal C/C++ source files.
Definition in file go_fish.cuh.