libsequence  1.9.5
Coalesce.hpp
1 #ifndef __SEQUENCE_COALESCENT_COALESCE_HPP__
2 #define __SEQUENCE_COALESCENT_COALESCE_HPP__
3 
5 #include <utility>
6 #include <functional>
7 
8 namespace Sequence
9 {
10  namespace coalsim {
11  template<typename uniform_generator>
12  std::pair<int,int> pick2_in_deme( uniform_generator & uni,
13  const std::vector<Sequence::coalsim::chromosome> & sample,
14  const int & ttl_nsam,
15  const int & deme_nsam,
16  const int & deme );
17 
18  template<typename uniform_generator>
19  std::pair<int,int> pick2_in_deme( const uniform_generator & uni,
20  const std::vector<Sequence::coalsim::chromosome> & sample,
21  const int & ttl_nsam,
22  const int & deme_nsam,
23  const int & deme );
24 
25  template<typename uniform_generator>
26  std::pair<int,int> pick2( uniform_generator & uni, const int & nsam);
27 
28  template<typename uniform_generator>
29  std::pair<int,int> pick2( const uniform_generator & uni, const int & nsam);
30 
31  bool isseg( chromosome::const_iterator seg, const unsigned & nsegs,
32  const int & pos, unsigned * offset );
33 
34  int coalesce(const double & time,
35  const int & ttl_nsam,
36  const int & current_nsam,
37  const int & c1,
38  const int & c2,
39  const int & nsites,
40  int * nlinks,
41  std::vector<chromosome> * sample,
42  arg * sample_history);
43  }
44 }
45 #endif
46 #include <Sequence/Coalescent/bits/Coalesce.tcc>
std::list< marginal > arg
Ancestral Recombination Graph.
Definition: SimTypes.hpp:217
The namespace in which this library resides.
declaration of types for coalescent simulation
bool isseg(chromosome::const_iterator seg, const unsigned &nsegs, const int &pos, unsigned *offset)
ask if a chromosome beginning at seg and containing nsegs contains a segment containing the position ...
A portion of a recombining chromosome.
Definition: SimTypes.hpp:83
int coalesce(const double &time, const int &ttl_nsam, const int &current_nsam, const int &c1, const int &c2, const int &nsites, int *nlinks, std::vector< chromosome > *sample, arg *sample_history)
Common ancestor routine for coalescent simulation. Merges chromosome segments and updates marginal tr...