libsequence  1.9.5
Mutation.hpp
1 #ifndef __SEQUENCE_COALESCENT_MUTATION_HPP__
2 #define __SEQUENCE_COALESCENT_MUTATION_HPP__
3 
5 #include <Sequence/SimData.hpp>
6 #include <vector>
7 #include <string>
8 #include <utility>
9 #include <cstdio>
10 
11 namespace Sequence
12 {
13  namespace coalsim {
14  typedef std::vector<std::string>::size_type MAX_SEG_T;
21  extern MAX_SEG_T MAX_SEGSITES;
28  extern MAX_SEG_T MAX_SEGS_INC;
29 
41  typedef std::pair< std::vector<double>,
42  std::vector<std::string> > gamete_storage_type;
43 
44  template<typename uniform_generator>
45  void add_S_inf_sites ( uniform_generator & uni ,
46  marginal::const_iterator history,
47  const double & tt,
48  const int & beg, const int & end,
49  const int & nsam,
50  const int & nsites,
51  const int & S ,
52  const int & first_snp_index,
53  gamete_storage_type * gametes );
54 
55  template<typename uniform_generator>
56  void add_S_inf_sites ( const uniform_generator & uni,
57  marginal::const_iterator history,
58  const double & tt,
59  const int & beg, const int & end,
60  const int & nsam,
61  const int & nsites,
62  const int & S ,
63  const int & first_snp_index,
64  gamete_storage_type * gametes );
65 
66  template<typename poisson_generator,
67  typename uniform_generator>
68  int infinite_sites( poisson_generator & poiss,
69  uniform_generator & uni,
70  gamete_storage_type * gametes,
71  const int & nsites,
72  const arg & history,
73  const double & theta );
74 
75  template<typename poisson_generator,
76  typename uniform_generator>
77  int infinite_sites( const poisson_generator & poiss,
78  const uniform_generator & uni,
79  gamete_storage_type * gametes,
80  const int & nsites,
81  const arg & history,
82  const double & theta );
83 
84  template<typename uniform_generator>
85  int infinite_sites( uniform_generator & uni,
86  gamete_storage_type * gametes,
87  const int & nsites,
88  const arg & history,
89  const double * total_times,
90  const unsigned * segsites );
91 
92  template<typename uniform_generator>
93  int infinite_sites( const uniform_generator & uni,
94  gamete_storage_type * gametes,
95  const int & nsites,
96  const arg & history,
97  const double * total_times,
98  const unsigned * segsites );
99 
100  template<typename poisson_generator,
101  typename uniform_generator>
102  SimData infinite_sites_sim_data( poisson_generator & poiss,
103  uniform_generator & uni,
104  const int & nsites,
105  const arg & history,
106  const double & theta)__attribute((deprecated));
107 
108  template<typename poisson_generator,
109  typename uniform_generator>
110  SimData infinite_sites_sim_data( const poisson_generator & poiss,
111  const uniform_generator & uni,
112  const int & nsites,
113  const arg & history,
114  const double & theta)__attribute__((deprecated));
115 
116  template<typename uniform_generator>
117  SimData infinite_sites_sim_data( uniform_generator & uni,
118  const int & nsites,
119  const arg & history,
120  const double * total_times,
121  const unsigned * segsites)__attribute__((deprecated));
122 
123  template<typename uniform_generator>
124  SimData infinite_sites_sim_data( const uniform_generator & uni,
125  const int & nsites,
126  const arg & history,
127  const double * total_times,
128  const unsigned * segsites)__attribute__((deprecated));
129 
130  void output_gametes(FILE * fp,const unsigned & segsites,
131  const unsigned & nsam,
132  const gamete_storage_type & gametes);
133  }
134 }
135 #endif
136 #include <Sequence/Coalescent/bits/Mutation.tcc>
std::list< marginal > arg
Ancestral Recombination Graph.
Definition: SimTypes.hpp:217
MAX_SEG_T MAX_SEGS_INC
controls (re)allocation of simulated gametes You must define this in namespace Sequence in your progr...
The namespace in which this library resides.
declaration of types for coalescent simulation
std::pair< std::vector< double >, std::vector< std::string > > gamete_storage_type
an object to store simulated gametes An object of this type will tend to exist in the calling environ...
Definition: Mutation.hpp:42
class __attribute__((deprecated)) FST
Functor to count the number of states, excluding gaps and missing data, in a range of characters...
Definition: FST.hpp:41
void output_gametes(FILE *fp, const unsigned &segsites, const unsigned &nsam, const gamete_storage_type &gametes)
Write an object of type gamete_storage type to a C-style file stream This function is used when you n...
MAX_SEG_T MAX_SEGSITES
controls allocation of simulated gametes You must define this in namespace Sequence in your program...
Declaration of Sequence::SimData, a class representing polymorphism data from coalescent simulations ...
Data from coalescent simulations.