Haploid class.
More...
#include <haploid.hpp>
|
using | param_type = HaploidParams |
| Alias.
|
|
using | URBG = wtl::sfmt19937_64 |
| random number generator class
|
|
using | position_t = int32_t |
| unsigned integer type for TE position
|
|
|
| Haploid ()=default |
| default constructor
|
|
| Haploid (size_t) |
| constructor for recombination test
|
|
| Haploid (const Haploid &)=default |
| default copy constructor
|
|
| Haploid (Haploid &&other)=default |
| default move constructor
|
|
Haploid & | operator= (Haploid &&)=default |
| default move assignment operator
|
|
Haploid | gametogenesis (const Haploid &other, URBG &engine) const |
| return a Haploid object after recombination
|
|
void | transpose_mutate (Haploid &other, URBG &engine) |
| mutation process within an individual
|
|
bool | hyperactivate () |
| introduce a hyperactivating mutation
|
|
double | fitness (const Haploid &) const |
| evaluate and return fitness
|
|
std::vector< std::string > | summarize () const |
| return vector of Transposon summaries
|
|
std::ostream & | write_fasta (std::ostream &) const |
| write sequence with address as name
|
|
bool | empty () const |
| shortcut of sites_.empty()
|
|
auto | begin () const |
| shortcut of sites_.begin()
|
|
auto | end () const |
| shortcut of sites_.end()
|
|
|
Haploid & | operator= (const Haploid &)=default |
| default copy assignment operator (private)
|
|
std::vector< std::shared_ptr< Transposon > > | transpose (URBG &) |
| return TEs to be transposed
|
|
void | mutate (URBG &) |
| make point mutation, indel, and speciation
|
|
double | prod_1_zs () const |
| calculate genome position component of fitness
|
|
|
static param_type | PARAM_ |
| Parameters shared among instances.
|
|
static constexpr double | INDEL_RATIO_ = 0.2 |
| \(\phi\), relative rate of indels to point mutation
|
|
static constexpr double | TAU_ = 1.5 |
| \(\tau\), constant for the intensity of copy number selection
|
|
static constexpr double | PROP_FUNCTIONAL_SITES_ = 0.75 |
| \(p\), proportion of non-neutral sites
|
|
static double | MUTATION_RATE_ = 0.0 |
| \(L\mu = L\theta / 4N\), mutation rate per TE
|
|
static double | INDEL_RATE_ = 0.0 |
| \(L\phi\mu\), absolute indel rate per TE
|
|
static double | RECOMBINATION_RATE_ = 0.0 |
| \(c = \rho / 4N\), recombination rate per genome
|
|
static std::unordered_map< position_t, double > | SELECTION_COEFS_GP_ |
| \(s_{GP}\) : coefficient of GP selection
|
|
static std::shared_ptr< Transposon > | ORIGINAL_TE_ = std::make_shared<Transposon>() |
| original TE with no mutation and complete activity
|
|
static std::shared_timed_mutex | MTX_ |
| readers-writer lock for SELECTION_COEFS_GP_
|
|
◆ fitness()
double tek::Haploid::fitness |
( |
const Haploid & | other | ) |
const |
evaluate and return fitness
\[\begin{split}
w_k &= w_{GP,k} w_{CN,k} \\
w_{CN,k} &= \prod _{x \in F} \prod _{y \in F}
\left(1 - I(d _{xy}) \xi n _{x,k} ^{\frac \tau 2}
n _{y,k} ^{\frac \tau 2}
\right) \\
\end{split}\]
◆ prod_1_zs()
double tek::Haploid::prod_1_zs |
( |
| ) |
const |
|
private |
calculate genome position component of fitness
\[
w_{k,GP} = \prod _j^T (1 - z_j s_{GP,j})
\]
The documentation for this class was generated from the following files:
- src/haploid.hpp
- src/haploid.cpp