43 #include <gsl/gsl_vector.h>
44 #include <gsl/gsl_matrix.h>
45 #include <gsl/gsl_eigen.h>
75 virtual void*
set_trait (
void* value) {
return value;}
84 unsigned int to_pos,
const TTQuanti *parent) = 0;
87 virtual void mutate_add (
unsigned int position,
unsigned int allele,
double value) = 0;
88 virtual void mutate_inplace (
unsigned int position,
unsigned int allele,
double value) = 0;
91 virtual bool get_allele_bit (
unsigned int position,
unsigned int allele)
const = 0;
92 virtual void set_allele_bit (
unsigned int position,
unsigned int allele,
bool value) = 0;
130 virtual void reset ();
131 virtual void init ();
135 virtual void set_allele_value (
unsigned int locus,
unsigned int allele,
double value);
148 virtual void mutate_add (
unsigned int position,
unsigned int allele,
double value)
150 virtual void mutate_inplace (
unsigned int position,
unsigned int allele,
double value)
152 virtual bool get_allele_bit (
unsigned int position,
unsigned int allele)
const {
return false;}
153 virtual void set_allele_bit (
unsigned int position,
unsigned int allele,
bool value) {}
184 unsigned int to_locus,
const TTQuanti *parent);
213 unsigned int to_locus,
const TTQuanti *parent);
240 unsigned int to_locus,
const TTQuanti *parent);
267 unsigned int to_locus,
const TTQuanti *parent);
286 virtual bool get_allele_bit (
unsigned int position,
unsigned int allele)
const;
287 virtual void set_allele_bit (
unsigned int position,
unsigned int allele,
bool value);
291 virtual void reset ();
292 virtual void init ();
296 virtual void set_allele_value (
unsigned int locus,
unsigned int allele,
double value);
309 virtual void mutate_add (
unsigned int position,
unsigned int allele,
double value)
310 {
_sequence[allele][position] = bool(value);}
311 virtual void mutate_inplace (
unsigned int position,
unsigned int allele,
double value)
341 unsigned int to_locus,
const TTQuanti *parent);
368 unsigned int to_locus,
const TTQuanti *parent);
397 unsigned int to_locus,
const TTQuanti *parent);
457 double get_allele_value (
const TTQuanti* ind,
const unsigned int allele,
const unsigned int locus,
const unsigned int trait);
718 gsl_eigen_symmv_workspace *
_ws;
727 _VaH(0),
_meanP(0),
_meanG(0),
_Va(0),
_Vg(0),
_Vb(0),
_Vp(0),
_covar(0),
_eigval(0),
_eigvect(0),
_meanEffectSize(0),
728 _pmeanP(0),
_pmeanG(0),
_pVa(0),
_pVp(0),
_pcovar(0),
_peigval(0),
_peigvect(0),
_pmeanL(0),
_pVaL(0),
_pmeanEpiL(0),
739 virtual void init ( );
811 void print(ofstream& FH,
Patch* patch,
sex_t SEX,
age_idx Ax,
unsigned int print_gene,
bool print_genotype,
bool print_additive_genotype);
816 virtual void FHread (
string& filename);
834 virtual void FHread (
string& filename) {}
851 virtual void FHread (
string& filename) {}
A class to store any kind of data in a char buffer before unloading it in a binary data file.
Definition: binarystoragebuffer.h:44
void read(void *out, unsigned int nb_bytes)
Definition: binarystoragebuffer.h:162
void store(void *stream, unsigned int nb_bytes)
Definition: binarystoragebuffer.cc:16
A class to manage the files associated with each components of the simulation.
Definition: fileservices.h:52
Second class in the metapopulation design structure, between the Metapop and Individual classes.
Definition: metapop.h:432
Interface to all basic components of a simulation (traits, life cycle events, pop,...
Definition: simcomponent.h:45
The Service class used to manage the StatHandler objects.
Definition: statservices.h:50
A class to handle matrix in params, coerces matrix into a vector of same total size.
Definition: tmatrix.h:50
double get(unsigned int i, unsigned int j) const
Accessor to element at row i and column j.
Definition: tmatrix.h:193
TProtoQuanti.
Definition: ttquanti.h:409
bool setMutationSigmaFromQuantiMutationVariance()
Definition: ttquanti.cc:1898
vector< double > _eVariance
Definition: ttquanti.h:620
double * getMutationEffectMultivariateGaussian(unsigned int loc)
Definition: ttquanti.cc:2355
unsigned int setAlleleModel()
Definition: ttquanti.cc:819
double set_genotype_value_dominance(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.cc:2497
bool do_epistasis()
Definition: ttquanti.h:547
unsigned int _allele_model
Definition: ttquanti.h:579
TMatrix _dominance_effects
Definition: ttquanti.h:612
bool _epistasis
Definition: ttquanti.h:643
size_t _sizeofLocusType
Definition: ttquanti.h:617
void set_mutation_matrix_decomposition(unsigned int loc, unsigned int pleio_deg)
Definition: ttquanti.cc:2235
unsigned int _doInitMutation
Definition: ttquanti.h:606
unsigned int get_locus_PD(unsigned int locus)
Definition: ttquanti.h:444
void mutate_inplace_var_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2768
double set_genotype_value_additive(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.cc:2490
void setTraitAndLocusTables_full_pleio()
Definition: ttquanti.cc:1271
virtual ~TProtoQuanti()
Definition: ttquanti.cc:230
double set_trait_value_VE(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.cc:2476
void mutate_diallelic_var_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2827
void mutate_var_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2687
bool setContinuousMutationModel_var_pleio()
Definition: ttquanti.cc:1645
unsigned int _dominance_model
Definition: ttquanti.h:611
TMatrix _mutation_correlation
Definition: ttquanti.h:598
double * getMutationEffectUnivariateGaussian(unsigned int loc)
Definition: ttquanti.cc:2398
gsl_matrix * set_gsl_mutation_matrix_from_sigma(unsigned int loc, unsigned int pleio_deg)
Definition: ttquanti.cc:2199
bool setMutationModel_var_pleio()
Definition: ttquanti.cc:962
double get_allele_value(const TTQuanti *ind, const unsigned int allele, const unsigned int locus, const unsigned int trait)
Definition: ttquanti.cc:2452
void(TProtoQuanti::* _inherit_fun_ptr)(sex_t, TTQuanti *, const TTQuanti *)
Pointer to inheritance functions: either inherit_free() (r=0.5), or inherit_low() (r<0....
Definition: ttquanti.h:657
bool setMutationModel_no_pleio()
Definition: ttquanti.cc:1152
bool _h2_isBroad
Definition: ttquanti.h:623
const TMatrix & get_diallele_values()
Definition: ttquanti.h:429
const TMatrix & get_pleio_matrix()
Definition: ttquanti.h:439
TTQuantiFH * _reader
Definition: ttquanti.h:692
bool setDominanceParameters()
Definition: ttquanti.cc:2287
double * getMutationEffectUnivariateDiallelic(unsigned int loc)
Definition: ttquanti.cc:2414
unsigned int _h2_setTime
Definition: ttquanti.h:622
unsigned int _seq_length
Total number of loci, same as _num_locus.
Definition: ttquanti.h:578
double _mutation_rate
Definition: ttquanti.h:583
gsl_matrix ** _evect
Definition: ttquanti.h:601
void mutate_nill(TTQuanti *ind)
Definition: ttquanti.cc:2629
bool setContinuousMutationModel_no_pleio()
Definition: ttquanti.cc:1802
gsl_vector ** _ws
Definition: ttquanti.h:604
TMatrix _mutation_sigma
Definition: ttquanti.h:599
double get_dominance(unsigned int locus, unsigned int trait)
Definition: ttquanti.h:462
bool setInitialValuesParams()
Definition: ttquanti.cc:613
bool _mutationVarianceIsLocusSpecific
Definition: ttquanti.h:607
double * _phenotypes
Definition: ttquanti.h:595
const TMatrix & get_epi_coefs() const
Definition: ttquanti.h:548
bool readMatrixFromQuantiMutationMatrix(vector< vector< double >> &varmat)
Definition: ttquanti.cc:2034
TMatrix _allele_value
Definition: ttquanti.h:591
bool setGeneticMapParams()
Definition: ttquanti.cc:668
double * getMutationEffects(unsigned int loc)
Definition: ttquanti.h:516
double * getMutationEffectBivariateGaussian(unsigned int loc)
Definition: ttquanti.cc:2379
void set_trait_value_func_ptr(bool withVe)
Definition: ttquanti.cc:698
TTQuantiSH * get_stater()
Definition: ttquanti.h:437
vector< double > _h2
Definition: ttquanti.h:621
unsigned int _num_epi_coefs
Definition: ttquanti.h:649
size_t get_locus_byte_size()
Definition: ttquanti.h:423
void mutate_diallelic_no_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2858
double get_genotypic_value(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.h:468
unsigned int _num_traits
Number of traits.
Definition: ttquanti.h:576
double * _sequence_diallele_values[2]
Definition: ttquanti.h:592
double get_init_value(unsigned int i)
Definition: ttquanti.h:434
void mutate_inplace_full_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2740
size_t get_size_locus_type()
Definition: ttquanti.h:422
unsigned int get_locus_ID(unsigned int locus, unsigned int trait)
Definition: ttquanti.h:442
TTQuantiSH * _stats
Definition: ttquanti.h:690
virtual TTQuanti * hatch()
Definition: ttquanti.cc:2878
void set_init_values(const double *values, unsigned int nval)
Definition: ttquanti.cc:2466
void(TProtoQuanti::* _mutation_func_ptr)(TTQuanti *)
Pointer to mutation function, which depends on allele on model (HC, noHC, diallelic)
Definition: ttquanti.h:660
gsl_vector ** _effects_multivar
Definition: ttquanti.h:603
double(TProtoQuanti::* _set_genotype_func_ptr)(const TTQuanti *, const unsigned int)
Pointer to functions get_genotype_value_additive() or get_genotype_value_dominance() computing the ge...
Definition: ttquanti.h:681
void inherit(sex_t SEX, TTQuanti *ind, const TTQuanti *parent)
Definition: ttquanti.cc:2560
TMatrix _pleio_matx
Pleiotropy matrix provided in input (num locu X num trait).
Definition: ttquanti.h:628
unsigned int get_num_epi_coefs()
Definition: ttquanti.h:546
string _diallele_datatype
Definition: ttquanti.h:580
double get_seq_diallele_value(unsigned int position, unsigned int allele)
Definition: ttquanti.h:432
double _genomic_mutation_rate
Definition: ttquanti.h:584
gsl_matrix ** _gsl_mutation_matrix
Definition: ttquanti.h:600
double * getMutationEffectBivariateDiallelic(unsigned int loc)
Definition: ttquanti.cc:2422
virtual bool retrieve_data(BinaryStorageBuffer *reader)
Definition: ttquanti.h:568
double get_diallele_value(unsigned int locus, unsigned int allele)
Definition: ttquanti.h:430
vector< vector< unsigned int > > _trait_locus_table
Table storing the locus id of each locus affecting each trait (num trait X (variable length/trait)).
Definition: ttquanti.h:634
unsigned int get_allele_model()
Definition: ttquanti.h:428
double get_init_variance(unsigned int i)
Definition: ttquanti.h:435
bool * _all_chooser
Definition: ttquanti.h:615
bool setMutationSigmaFromQuantiMutationVariance_no_pleio()
Definition: ttquanti.cc:1968
double(TProtoQuanti::* _getGenotypeWithDominance)(double, double, double)
Pointer to either dominance_h() or dominance_k() function computing the genotypic value with dominanc...
Definition: ttquanti.h:669
void allocate_gsl_mutation_matrix_space(unsigned int num_locus)
Definition: ttquanti.cc:2093
TMatrix _epistatic_coefs_matrix
Definition: ttquanti.h:650
TMatrix _init_variance
Definition: ttquanti.h:594
void inherit_low(sex_t SEX, TTQuanti *ind, const TTQuanti *parent)
Definition: ttquanti.cc:2567
void mutate(TTQuanti *ind)
Definition: ttquanti.cc:2622
unsigned int get_h2_setTime()
Definition: ttquanti.h:426
virtual TProtoQuanti * clone()
Definition: ttquanti.h:554
void mutate_inplace_no_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2717
double * getMutationEffectUnivariateGaussianLocSpec(unsigned int loc)
Definition: ttquanti.cc:2406
unsigned int get_locus_seq_pos(unsigned int loc, unsigned int trait)
Definition: ttquanti.h:440
void mutate_diallelic_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2792
vector< vector< unsigned int > > _trait_table
Trait table, (num trait X (variable length/trait)), holds, for each trait, the array position of caus...
Definition: ttquanti.h:631
void setTraitAndLocusTables_no_pleio(TMatrix &mat)
Definition: ttquanti.cc:1303
gsl_matrix * set_gsl_mutation_matrix(unsigned int pleio_deg, const vector< double > &varcov)
Definition: ttquanti.cc:2162
double * getMutationEffectBivariateGaussianLocSpec(unsigned int loc)
Definition: ttquanti.cc:2389
vector< vector< unsigned int > > _locus_table
Locus table, num_locus x 2, first column holds the start position of the alleles of each locus in the...
Definition: ttquanti.h:639
vector< double > get_heritability()
Definition: ttquanti.h:425
const TMatrix & get_epi_coef_index() const
Definition: ttquanti.h:549
size_t _locusByteSize
Definition: ttquanti.h:616
TMatrix _init_value
Definition: ttquanti.h:593
double set_trait_value_noVE(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.cc:2483
unsigned int get_num_locus()
Definition: ttquanti.h:418
virtual void loadStatServices(StatServices *loader)
Definition: ttquanti.cc:3057
unsigned int get_seq_length()
Definition: ttquanti.h:421
bool setEpistasisParameters()
Definition: ttquanti.cc:708
double(TProtoQuanti::* _set_trait_value_func_ptr)(const TTQuanti *, const unsigned int)
Pointer to either set_trait_value_VE() or set_trait_value_noVE() to compute phenotypic values.
Definition: ttquanti.h:675
double get_phenotypic_value(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.h:472
unsigned int get_pleiotropy_type()
Definition: ttquanti.h:420
bool setHeritabilityParams()
Definition: ttquanti.cc:457
virtual trait_t get_type() const
Definition: ttquanti.h:555
double *(TProtoQuanti::* _getMutationValues)(unsigned int)
Pointer to mutation allele value function, which depends on allele model and number of traits affecte...
Definition: ttquanti.h:663
double get_genotype_dominance_k(double a1, double a2, double k)
Definition: ttquanti.cc:2539
virtual bool resetParameterFromSource(std::string param, SimComponent *cmpt)
Definition: ttquanti.h:561
double get_genotype_dominance_h(double a1, double a2, double h)
Definition: ttquanti.cc:2522
double _effects_bivar[2]
Definition: ttquanti.h:605
virtual void reset()
Definition: ttquanti.h:552
double * getMutationEffectMultivariateGaussianLocSpec(unsigned int loc)
Definition: ttquanti.cc:2367
bool setDiallelicMutationModel()
Definition: ttquanti.cc:1346
unsigned int get_num_traits()
Definition: ttquanti.h:417
gsl_vector ** _eval
Definition: ttquanti.h:602
unsigned int get_doInitMutation()
Definition: ttquanti.h:436
TMatrix _epistatic_coefs_indices
Definition: ttquanti.h:651
TTQuantiFH * _writer
Definition: ttquanti.h:691
virtual bool setParameters()
Definition: ttquanti.cc:255
bool setMutationCorrelation()
Definition: ttquanti.cc:1840
bool get_h2_isBroad()
Definition: ttquanti.h:427
virtual void loadFileServices(FileServices *loader)
Definition: ttquanti.cc:2951
void mutate_full_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2659
virtual void store_data(BinaryStorageBuffer *saver)
Definition: ttquanti.h:565
bool _mutationEffectIsFixedDiAllele
Definition: ttquanti.h:608
TTQOhtaStats * _ohtaStats
Definition: ttquanti.h:694
double get_trait_mutation_variance(unsigned int trait)
Definition: ttquanti.cc:2546
unsigned int get_dominance_model()
Definition: ttquanti.h:461
bool setContinuousMutationModel_full_pleio()
Definition: ttquanti.cc:1478
double * getMutationEffectsVarPleio(unsigned int loc)
Definition: ttquanti.h:519
TProtoQuanti()
Definition: ttquanti.cc:64
bool setMutationModel_full_pleio()
Definition: ttquanti.cc:883
unsigned int _num_locus
Total number of loci, for all traits.
Definition: ttquanti.h:574
unsigned int get_num_locus(unsigned int trait)
Definition: ttquanti.h:419
unsigned int get_locus_start_pos(unsigned int locus)
Definition: ttquanti.h:445
void set_eVarianceSD(unsigned int trait, double SD)
Definition: ttquanti.cc:2345
double get_genotype_with_dominance(const double a1, const double a2, const unsigned int locus, const unsigned int trait)
Definition: ttquanti.cc:2504
int get_allele_position(const unsigned int locus, const unsigned int trait)
Definition: ttquanti.cc:2433
void inherit_free(sex_t SEX, TTQuanti *ind, const TTQuanti *parent)
Definition: ttquanti.cc:2605
vector< double > get_env_var()
Definition: ttquanti.h:424
unsigned int _pleio_type
Definition: ttquanti.h:587
void mutate_no_pleio(TTQuanti *ind)
Definition: ttquanti.cc:2636
void deallocate_gsl_mutation_matrix_space()
Definition: ttquanti.cc:2113
TTQFreqExtractor * _freqExtractor
Definition: ttquanti.h:693
vector< double *(TProtoQuanti::*)(unsigned int) > _getMutationValuesVarPleio
Collection of pointers to mutation functions, which generate allele values in dependence of pleiotrop...
Definition: ttquanti.h:666
TTProtoWithMap.
Definition: ttrait_with_map.h:184
virtual void reset()
Definition: ttrait_with_map.cc:612
TTQOhtaStats.
Definition: ttquanti.h:842
TMatrix _pairwiseCombs
Definition: ttquanti.h:844
virtual void FHread(string &filename)
Definition: ttquanti.h:851
TTQOhtaStats(TProtoQuanti *T)
Definition: ttquanti.h:847
virtual ~TTQOhtaStats()
Definition: ttquanti.h:849
virtual void FHwrite()
Definition: ttquanti.cc:6703
TTQuantiFH.
Definition: ttquanti.h:797
void write_PLINK()
Definition: ttquanti.cc:6134
void print_PLINK_FAM(ofstream &FH, age_idx Ax, Patch *patch)
Definition: ttquanti.cc:6358
TTQuantiFH(TProtoQuanti *T)
Definition: ttquanti.h:803
virtual void FHread(string &filename)
Definition: ttquanti.cc:6432
void print_PLINK_PED(ofstream &FH, age_idx Ax, Patch *patch)
Definition: ttquanti.cc:6261
void write_TABLE()
Definition: ttquanti.cc:5955
virtual void FHwrite()
Definition: ttquanti.cc:5933
virtual ~TTQuantiFH()
Definition: ttquanti.h:805
string _output_option
Definition: ttquanti.h:799
bool _has_genetic_map
Definition: ttquanti.h:800
void setOutputOption(string opt)
Definition: ttquanti.cc:5912
void print(ofstream &FH, Patch *patch, sex_t SEX, age_idx Ax, unsigned int print_gene, bool print_genotype, bool print_additive_genotype)
Definition: ttquanti.cc:6065
TTQuantiSH.
Definition: ttquanti.h:702
double * _Vp
Definition: ttquanti.h:705
double getMeanGenotPerPatch(unsigned int i, unsigned int p)
Definition: ttquanti.h:778
void addQuanti(age_t AGE)
Definition: ttquanti.cc:4700
void addAvgPerPatch(age_t AGE)
Definition: ttquanti.cc:4873
double ** _pVa
Definition: ttquanti.h:706
double getEigenVectorEltPerPatch(unsigned int p, unsigned int v)
Definition: ttquanti.h:784
vector< double > getVaNoDominance(Patch *curPop, const age_idx AGE)
Definition: ttquanti.cc:5625
double * _Vb
Definition: ttquanti.h:705
double ** _pVaL
Definition: ttquanti.h:707
double getEigenVectorElt(unsigned int t1, unsigned int t2)
Definition: ttquanti.h:773
unsigned int _num_locus
Definition: ttquanti.h:710
double ** _pmeanEpiL
Definition: ttquanti.h:707
void addEigenStatsPerPatcg(age_t AGE)
void addCovarPerPatch(age_t AGE)
Definition: ttquanti.cc:4996
double * _meanP
Definition: ttquanti.h:705
bool _epistats
Definition: ttquanti.h:711
void addEigenVect1PerPatch(age_t AGE)
Definition: ttquanti.cc:5115
void addVarPerPatch(age_t AGE)
Definition: ttquanti.cc:4943
TTQuantiSH(TProtoQuanti *TP)
Definition: ttquanti.h:725
virtual ~TTQuantiSH()
Definition: ttquanti.h:735
double ** _pVp
Definition: ttquanti.h:706
double getVa(unsigned int i)
Definition: ttquanti.h:766
bool _eVar
Definition: ttquanti.h:711
gsl_matrix * _evec
Definition: ttquanti.h:716
double getEigenValuePerPatch(unsigned int i, unsigned int p)
Definition: ttquanti.h:782
void addEffectStats(age_t AGE)
Definition: ttquanti.cc:5230
double * _meanEffectSize
Definition: ttquanti.h:705
set< long int > * _uniqueEffectSizes
Definition: ttquanti.h:713
double getMeanEffectSize(unsigned int i)
Definition: ttquanti.h:776
void addGenotPerPatch(age_t AGE)
Definition: ttquanti.cc:4908
unsigned int _table_set_age
Definition: ttquanti.h:721
void addEigenValuesPerPatch(age_t AGE)
Definition: ttquanti.cc:5081
double getVb(unsigned int i)
Definition: ttquanti.h:768
double getSkewPerPatch(unsigned int i, unsigned int p)
Definition: ttquanti.cc:5190
double _VaH
Definition: ttquanti.h:704
double ** _pmeanP
Definition: ttquanti.h:706
double * _meanG
Definition: ttquanti.h:705
double getMeanPhenotPerPatch(unsigned int i, unsigned int p)
Definition: ttquanti.h:779
void setStats(age_t AGE)
Definition: ttquanti.cc:5416
void setAdultStats()
Definition: ttquanti.h:761
double getVg(unsigned int i)
Definition: ttquanti.h:767
bool _alleleStats
Definition: ttquanti.h:711
void addEigen(age_t AGE)
Definition: ttquanti.cc:4769
gsl_vector * _eval
Definition: ttquanti.h:717
DataTable< double > _lociTable
Definition: ttquanti.h:720
double getMeanPhenot(unsigned int i)
Definition: ttquanti.h:765
double * _covar
Definition: ttquanti.h:705
double getVaH()
Definition: ttquanti.h:774
DataTable< double > _phenoTable
Definition: ttquanti.h:720
double getCovarPerPatch(unsigned int p, unsigned int i)
Definition: ttquanti.h:783
double getEigenValue(unsigned int i)
Definition: ttquanti.h:772
double getQst(unsigned int i)
Definition: ttquanti.h:770
void addEigenPerPatch(age_t AGE)
Definition: ttquanti.cc:5037
void addQuantiEpistasis(age_t AGE)
Definition: ttquanti.cc:5205
vector< double > getVaWithDominance(Patch *curPop, const age_idx AGE)
computation of the additive genetic variance from the average excess of each allele exact under rando...
Definition: ttquanti.cc:5724
double getVp(unsigned int i)
Definition: ttquanti.h:769
gsl_matrix * _G
Definition: ttquanti.h:716
void addEigenVect1(age_t AGE)
Definition: ttquanti.cc:4828
double getMeanGenot(unsigned int i)
Definition: ttquanti.h:764
double ** _peigvect
Definition: ttquanti.h:706
DataTable< double > _lociRefTable
Definition: ttquanti.h:720
double getNbAlleles(unsigned int i)
Definition: ttquanti.h:775
unsigned int _table_set_repl
Definition: ttquanti.h:721
double getVpPerPatch(unsigned int i, unsigned int p)
Definition: ttquanti.h:781
gsl_eigen_symmv_workspace * _ws
Definition: ttquanti.h:718
unsigned int _table_set_gen
Definition: ttquanti.h:721
double getCovar(unsigned int i)
Definition: ttquanti.h:771
vector< double > getSNPalleleFreqInPatch(Patch *patch, const age_idx AGE)
Definition: ttquanti.cc:5582
virtual bool setStatRecorders(std::string &token)
Definition: ttquanti.cc:4634
DataTable< double > _genoTable
Definition: ttquanti.h:720
unsigned int _num_trait
Definition: ttquanti.h:710
double * _Va
Definition: ttquanti.h:705
void addEigenValues(age_t AGE)
Definition: ttquanti.cc:4800
void resetPtrs()
Definition: ttquanti.cc:4451
double * _Vg
Definition: ttquanti.h:705
void setDataTables(age_t AGE)
Definition: ttquanti.cc:5262
void addQuantiPerPatch(age_t AGE)
Definition: ttquanti.cc:4855
double ** _peigval
Definition: ttquanti.h:706
double ** _pmeanL
Definition: ttquanti.h:707
unsigned int _patchNbr
Definition: ttquanti.h:710
map< long int, int > * _countUniqueEffects
Definition: ttquanti.h:714
double ** _pcovar
Definition: ttquanti.h:706
double ** _pmeanG
Definition: ttquanti.h:706
double getVaPerPatch(unsigned int i, unsigned int p)
Definition: ttquanti.h:780
void addSkewPerPatch(age_t AGE)
Definition: ttquanti.cc:5154
double * _eigval
Definition: ttquanti.h:705
void setOffsprgStats()
Definition: ttquanti.h:762
virtual void init()
Definition: ttquanti.cc:4544
double ** _eigvect
Definition: ttquanti.h:705
TTQuanti_continuous_full_pleio : universal pleiotropy.
Definition: ttquanti.h:166
TTQuanti_continuous_full_pleio(const TTQuanti_continuous_full_pleio &TT)
Definition: ttquanti.h:171
virtual void show_up()
Definition: ttquanti.cc:3398
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)
Definition: ttquanti.cc:3309
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti.cc:3292
virtual ~TTQuanti_continuous_full_pleio()
Definition: ttquanti.h:173
virtual TTQuanti_continuous_full_pleio * clone()
Definition: ttquanti.h:177
TTQuanti_continuous_full_pleio()
Definition: ttquanti.h:169
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3277
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3259
virtual void init_sequence()
Definition: ttquanti.cc:3321
TTQuanti_continuous_no_pleio : multiple non-pleiotropic traits.
Definition: ttquanti.h:222
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3633
virtual ~TTQuanti_continuous_no_pleio()
Definition: ttquanti.h:229
TTQuanti_continuous_no_pleio()
Definition: ttquanti.h:225
virtual TTQuanti_continuous_no_pleio * clone()
Definition: ttquanti.h:233
TTQuanti_continuous_no_pleio(const TTQuanti_continuous_no_pleio &TT)
Definition: ttquanti.h:227
virtual void init_sequence()
Definition: ttquanti.cc:3677
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)
Definition: ttquanti.cc:3667
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti.cc:3651
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3618
virtual void show_up()
Definition: ttquanti.cc:3732
TTQuanti_continuous_single : simple implementation for a single quantitative trait with continuous al...
Definition: ttquanti.h:249
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
virtual TTQuanti_continuous_single * clone()
Definition: ttquanti.h:260
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)
virtual ~TTQuanti_continuous_single()
Definition: ttquanti.h:256
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3790
virtual void init_sequence()
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3777
TTQuanti_continuous_single(const TTQuanti_continuous_single &TT)
Definition: ttquanti.h:254
TTQuanti_continuous_single()
Definition: ttquanti.h:252
TTQuanti_continuous_var_pleio : variable pleiotropy.
Definition: ttquanti.h:193
unsigned int get_sequence_block_size(unsigned int from, unsigned int to)
Definition: ttquanti.cc:3471
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3437
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)
Definition: ttquanti.cc:3501
TTQuanti_continuous_var_pleio()
Definition: ttquanti.h:196
virtual TTQuanti_continuous_var_pleio * clone()
Definition: ttquanti.h:206
virtual void show_up()
Definition: ttquanti.cc:3573
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3454
TTQuanti_continuous_var_pleio(const TTQuanti_continuous_var_pleio &TT)
Definition: ttquanti.h:198
virtual ~TTQuanti_continuous_var_pleio()
Definition: ttquanti.h:200
virtual void init_sequence()
Definition: ttquanti.cc:3514
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti.cc:3486
TTQuanti_continuous.
Definition: ttquanti.h:110
virtual bool retrieve_data(BinaryStorageBuffer *reader)
Definition: ttquanti.cc:3236
virtual void set_allele_value(unsigned int locus, unsigned int allele, double value)
Definition: ttquanti.cc:3180
TTQuanti_continuous(const TTQuanti &T)
Definition: ttquanti.h:119
TTQuanti_continuous()
Definition: ttquanti.h:114
virtual void set_allele(int locus, int allele, double value)
Definition: ttquanti.h:147
virtual void store_data(BinaryStorageBuffer *saver)
Definition: ttquanti.cc:3228
virtual bool operator!=(const TTrait &T)
Definition: ttquanti.cc:3162
virtual void ** get_sequence() const
Definition: ttquanti.h:133
virtual void set_allele_bit(unsigned int position, unsigned int allele, bool value)
Definition: ttquanti.h:153
virtual ~TTQuanti_continuous()
Definition: ttquanti.h:124
virtual void set_sequence(void **seq)
Definition: ttquanti.cc:3245
virtual void mutate_add(unsigned int position, unsigned int allele, double value)
Definition: ttquanti.h:148
virtual void init()
Definition: ttquanti.cc:3188
virtual void mutate_inplace(unsigned int position, unsigned int allele, double value)
Definition: ttquanti.h:150
virtual TTQuanti_continuous & operator=(const TTrait &T)
Definition: ttquanti.cc:3124
virtual double get_full_genotype(unsigned int trait)
Definition: ttquanti.cc:3221
virtual double get_allele_value(int loc, int all) const
Definition: ttquanti.cc:3172
virtual bool operator==(const TTrait &T)
Definition: ttquanti.cc:3145
virtual void reset()
Definition: ttquanti.cc:3206
double ** _sequence
Definition: ttquanti.h:158
virtual bool get_allele_bit(unsigned int position, unsigned int allele) const
Definition: ttquanti.h:152
TTQuanti_diallelic_full_pleio : pleiotropic di-allelic loci, max PD = 2.
Definition: ttquanti.h:350
virtual TTQuanti_diallelic_full_pleio * clone()
Definition: ttquanti.h:361
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti.cc:4142
virtual void show_up()
Definition: ttquanti.cc:4237
TTQuanti_diallelic_full_pleio()
Definition: ttquanti.h:353
virtual ~TTQuanti_diallelic_full_pleio()
Definition: ttquanti.h:357
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti.cc:4163
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)
Definition: ttquanti.cc:4179
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti.cc:4124
virtual void init_sequence()
Definition: ttquanti.cc:4191
TTQuanti_diallelic_full_pleio(const TTQuanti_diallelic_full_pleio &TT)
Definition: ttquanti.h:355
TTQuanti_diallelic_no_pleio : single or multiple non-pleiotropic traits, di-allelic.
Definition: ttquanti.h:323
TTQuanti_diallelic_no_pleio()
Definition: ttquanti.h:326
virtual ~TTQuanti_diallelic_no_pleio()
Definition: ttquanti.h:330
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti.cc:4011
virtual TTQuanti_diallelic_no_pleio * clone()
Definition: ttquanti.h:334
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3990
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti.cc:3973
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)
Definition: ttquanti.cc:4027
virtual void init_sequence()
Definition: ttquanti.cc:4037
TTQuanti_diallelic_no_pleio(const TTQuanti_diallelic_no_pleio &TT)
Definition: ttquanti.h:328
virtual void show_up()
Definition: ttquanti.cc:4081
TTQuanti_diallelic_var_pleio : variable pleiotropic di-allelic loci, max PD = 2.
Definition: ttquanti.h:377
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti.cc:4329
TTQuanti_diallelic_var_pleio(const TTQuanti_diallelic_var_pleio &TT)
Definition: ttquanti.h:382
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)
Definition: ttquanti.cc:4346
TTQuanti_diallelic_var_pleio()
Definition: ttquanti.h:380
virtual TTQuanti_diallelic_var_pleio * clone()
Definition: ttquanti.h:390
virtual ~TTQuanti_diallelic_var_pleio()
Definition: ttquanti.h:384
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti.cc:4275
virtual void show_up()
Definition: ttquanti.cc:4404
unsigned int get_sequence_block_size(unsigned int from, unsigned int to)
Definition: ttquanti.cc:4314
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti.cc:4293
virtual void init_sequence()
Definition: ttquanti.cc:4360
TTQuanti_diallelic.
Definition: ttquanti.h:276
virtual void ** get_sequence() const
Definition: ttquanti.h:294
virtual void mutate_inplace(unsigned int position, unsigned int allele, double value)
Definition: ttquanti.h:311
TTQuanti_diallelic()
Definition: ttquanti.h:280
TTQuanti_diallelic(const TTQuanti &T)
Definition: ttquanti.h:282
virtual TTQuanti_diallelic & operator=(const TTrait &T)
Definition: ttquanti.cc:3841
virtual void init()
Definition: ttquanti.cc:3807
virtual bool operator==(const TTrait &T)
Definition: ttquanti.cc:3862
virtual void mutate_add(unsigned int position, unsigned int allele, double value)
Definition: ttquanti.h:309
virtual void reset()
Definition: ttquanti.cc:3825
unsigned char ** _sequence
Definition: ttquanti.h:316
virtual double get_full_genotype(unsigned int trait)
Definition: ttquanti.cc:3936
virtual ~TTQuanti_diallelic()
Definition: ttquanti.h:284
virtual void store_data(BinaryStorageBuffer *saver)
Definition: ttquanti.cc:3943
virtual bool retrieve_data(BinaryStorageBuffer *reader)
Definition: ttquanti.cc:3951
virtual void set_allele(int locus, int allele, double value)
Definition: ttquanti.h:308
virtual double get_allele_value(int locus, int allele) const
Definition: ttquanti.cc:3908
virtual void set_allele_value(unsigned int locus, unsigned int allele, double value)
Definition: ttquanti.cc:3919
virtual bool get_allele_bit(unsigned int position, unsigned int allele) const
Definition: ttquanti.cc:3889
virtual void set_allele_bit(unsigned int position, unsigned int allele, bool value)
Definition: ttquanti.cc:3898
virtual void set_sequence(void **seq)
Definition: ttquanti.cc:3961
void inherit_free(const TTrait *mother, const TTrait *father)
virtual bool operator!=(const TTrait &T)
Definition: ttquanti.cc:3879
TTQuanti.
Definition: ttquanti.h:59
virtual void mutate_add(unsigned int position, unsigned int allele, double value)=0
TProtoQuanti * _myProto
Definition: ttquanti.h:103
virtual void copy_sequence_1locus(sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)=0
virtual ~TTQuanti()
Definition: ttquanti.h:70
virtual void set_value()
Definition: ttquanti.cc:3091
virtual void set_allele_bit(unsigned int position, unsigned int allele, bool value)=0
TProtoQuanti * get_proto()
Definition: ttquanti.h:96
virtual bool get_allele_bit(unsigned int position, unsigned int allele) const =0
virtual double get_dominant_genotype(const unsigned int trait) const =0
void set_phenotype(unsigned int trait, double value)
Definition: ttquanti.cc:3111
virtual double get_additive_genotype(const unsigned int trait) const =0
TTQuanti()
Definition: ttquanti.h:62
virtual void * getValue() const
Definition: ttquanti.h:77
virtual void * set_trait(void *value)
Definition: ttquanti.h:75
TTQuanti(const TTQuanti &T)
Definition: ttquanti.h:67
void set_proto(TProtoQuanti *proto)
Definition: ttquanti.h:95
virtual void mutate_inplace(unsigned int position, unsigned int allele, double value)=0
virtual void inherit(const TTrait *mother, const TTrait *father)
Definition: ttquanti.cc:3082
double get_phenotype(unsigned int trai)
Definition: ttquanti.cc:3102
double * _phenotypes
Definition: ttquanti.h:102
virtual double get_full_genotype(unsigned int trait)=0
virtual void mutate()
Definition: ttquanti.cc:3075
virtual void copy_sequence_block(sex_t SEX, unsigned int strand, unsigned int from_pos, unsigned int to_pos, const TTQuanti *parent)=0
virtual trait_t get_type() const
Definition: ttquanti.h:72
Interface for all trait types, declares all basic trait operations.
Definition: ttrait.h:46
Template class for the trait's FileHandler.
Definition: filehandler.h:217
Template class for the trait's StatHandler.
Definition: stathandler.h:168
#define QUANT
Definition: types.h:72
std::string trait_t
Trait types.
Definition: types.h:63
sex_t
Sex types, males are always 0 and females 1!!
Definition: types.h:36
unsigned int age_t
Age class flags.
Definition: types.h:46
#define ADULTS
Adults age class flag (breeders).
Definition: types.h:54
#define OFFSPRG
Offspring age class flag.
Definition: types.h:50
age_idx
Array index of the age classes in the patch sizes and containers arrays.
Definition: types.h:41