libsequence  1.9.5
Coalescent/Recombination.hpp
1 #ifndef __SEQUENCE_COALESCENT_RECOMBINATION_HPP__
2 #define __SEQUENCE_COALESCENT_RECOMBINATION_HPP__
3 
5 namespace Sequence
6 {
7  namespace coalsim {
8  int crossover( const int & current_nsam,
9  const int & chromo,
10  const int & pos,
11  std::vector<chromosome> * sample,
12  arg * sample_history);
13 
14  std::pair<int,int> pick_uniform_spot(const double & random_01,
15  const int & nlinks,
16  std::vector<chromosome>::const_iterator sample_begin,
17  const unsigned & current_nsam);
18 
19  template<typename uniform01_generator>
20  std::pair<int,int> pick_spot( uniform01_generator & uni01,
21  const double & total_reclen,
22  const std::vector<double> & reclens,
23  std::vector<chromosome>::const_iterator sample_begin,
24  const unsigned & current_nsam,
25  const double * rec_map);
26 
27  template<typename uniform01_generator>
28  std::pair<int,int> pick_spot( const uniform01_generator & uni01,
29  const double & total_reclen,
30  const std::vector<double> & reclens,
31  std::vector<chromosome>::const_iterator sample_begin,
32  const unsigned & current_nsam,
33  const double * rec_map);
34  }
35 }
36 #endif
37 #include <Sequence/Coalescent/bits/Recombination.tcc>
std::pair< int, int > pick_uniform_spot(const double &random_01, const int &nlinks, std::vector< chromosome >::const_iterator sample_begin, const unsigned &current_nsam)
Pick a crossover point for the model where recombination rates are constant across a recion...
std::list< marginal > arg
Ancestral Recombination Graph.
Definition: SimTypes.hpp:217
The namespace in which this library resides.
declaration of types for coalescent simulation
int crossover(const int &current_nsam, const int &chromo, const int &pos, std::vector< chromosome > *sample, arg *sample_history)
Recombination function.