28 #ifndef TTQUANTI_BITSTRING_H_
29 #define TTQUANTI_BITSTRING_H_
51 virtual bool get_allele_bit (
unsigned int position,
unsigned int allele)
const;
52 virtual void set_allele_bit (
unsigned int position,
unsigned int allele,
bool value);
59 virtual void reset ();
63 error(
"calling TTQuanti_diallelic_bitstring::get_sequence()\n");
66 virtual unsigned int get_allele (
int loc,
int all)
const ;
68 virtual void set_allele_value (
unsigned int locus,
unsigned int allele,
double value);
80 virtual void mutate_add (
unsigned int position,
unsigned int allele,
double value)
82 virtual void mutate_inplace (
unsigned int position,
unsigned int allele,
double value)
107 virtual void init ();
116 unsigned int to_locus,
const TTQuanti *parent);
146 unsigned int to_locus,
const TTQuanti *parent);
175 unsigned int to_locus,
const TTQuanti *parent);
A class to store any kind of data in a char buffer before unloading it in a binary data file.
Definition: binarystoragebuffer.h:42
TTQuanti_diallelic_bitstring_full_pleio : pleiotropic di-allelic loci, max PD = 2.
Definition: ttquanti_bitstring.h:128
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti_bitstring.cc:475
virtual void init_sequence()
Definition: ttquanti_bitstring.cc:543
TTQuanti_diallelic_bitstring_full_pleio(const TTQuanti_diallelic_bitstring_full_pleio &TT)
Definition: ttquanti_bitstring.h:133
TTQuanti_diallelic_bitstring_full_pleio()
Definition: ttquanti_bitstring.h:131
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti_bitstring.cc:447
virtual void show_up()
Definition: ttquanti_bitstring.cc:583
virtual TTQuanti_diallelic_bitstring_full_pleio * clone()
Definition: ttquanti_bitstring.h:139
virtual void copy_sequence_1locus(sex_t SEX, unsigned int chromosome, unsigned int at, const TTQuanti *parent)
Definition: ttquanti_bitstring.cc:528
virtual void copy_sequence_block(sex_t SEX, unsigned int chromosome, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti_bitstring.cc:511
virtual ~TTQuanti_diallelic_bitstring_full_pleio()
Definition: ttquanti_bitstring.h:135
TTQuanti_diallelic_bitstring_no_pleio : single or multiple non-pleiotropic traits,...
Definition: ttquanti_bitstring.h:95
virtual void copy_sequence_1locus(sex_t SEX, unsigned int chromosome, unsigned int at, const TTQuanti *parent)
Definition: ttquanti_bitstring.cc:356
TTQuanti_diallelic_bitstring_no_pleio(const TTQuanti_diallelic_bitstring_no_pleio &TT)
Definition: ttquanti_bitstring.h:101
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti_bitstring.cc:239
double get_additive_genotype_equal_effects(const unsigned int trait) const
Definition: ttquanti_bitstring.cc:262
virtual TTQuanti_diallelic_bitstring_no_pleio * clone()
Definition: ttquanti_bitstring.h:109
virtual void init()
Definition: ttquanti_bitstring.cc:234
virtual void copy_sequence_block(sex_t SEX, unsigned int chromosome, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti_bitstring.cc:343
virtual ~TTQuanti_diallelic_bitstring_no_pleio()
Definition: ttquanti_bitstring.h:104
TTQuanti_diallelic_bitstring_no_pleio()
Definition: ttquanti_bitstring.h:98
virtual void init_sequence()
Definition: ttquanti_bitstring.cc:366
virtual void show_up()
Definition: ttquanti_bitstring.cc:404
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti_bitstring.cc:276
TTQuanti_diallelic_bitstring_var_pleio : variable pleiotropic di-allelic loci, max PD = 2.
Definition: ttquanti_bitstring.h:155
TTQuanti_diallelic_bitstring_var_pleio(const TTQuanti_diallelic_bitstring_var_pleio &TT)
Definition: ttquanti_bitstring.h:160
virtual double get_dominant_genotype(const unsigned int trait) const
Definition: ttquanti_bitstring.cc:649
virtual void init_sequence()
Definition: ttquanti_bitstring.cc:728
virtual TTQuanti_diallelic_bitstring_var_pleio * clone()
Definition: ttquanti_bitstring.h:168
virtual void show_up()
Definition: ttquanti_bitstring.cc:767
virtual void copy_sequence_1locus(sex_t SEX, unsigned int chromosome, unsigned int at, const TTQuanti *parent)
Definition: ttquanti_bitstring.cc:712
TTQuanti_diallelic_bitstring_var_pleio()
Definition: ttquanti_bitstring.h:158
unsigned int get_sequence_block_size(unsigned int from, unsigned int to)
Definition: ttquanti_bitstring.cc:687
virtual ~TTQuanti_diallelic_bitstring_var_pleio()
Definition: ttquanti_bitstring.h:162
virtual double get_additive_genotype(const unsigned int trait) const
Definition: ttquanti_bitstring.cc:621
virtual void copy_sequence_block(sex_t SEX, unsigned int chromosome, unsigned int from_locus, unsigned int to_locus, const TTQuanti *parent)
Definition: ttquanti_bitstring.cc:695
TTQuanti_diallelic_bitstring.
Definition: ttquanti_bitstring.h:39
virtual void ** get_sequence() const
Definition: ttquanti_bitstring.h:62
virtual void store_data(BinaryStorageBuffer *saver)
Definition: ttquanti_bitstring.cc:181
virtual bool operator!=(const TTrait &T)
Definition: ttquanti_bitstring.cc:75
virtual double get_allele_value(int locus, int allele) const
Definition: ttquanti_bitstring.cc:113
virtual ~TTQuanti_diallelic_bitstring()
Definition: ttquanti_bitstring.h:49
virtual void set_allele_value(unsigned int locus, unsigned int allele, double value)
Definition: ttquanti_bitstring.cc:124
virtual void mutate_add(unsigned int position, unsigned int allele, double value)
Definition: ttquanti_bitstring.h:80
const bitstring & get_bit_sequence(bool chromosome) const
Definition: ttquanti_bitstring.h:54
bitstring * _sequence
Definition: ttquanti_bitstring.h:87
void inherit_free(const TTrait *mother, const TTrait *father)
virtual unsigned int get_allele(int loc, int all) const
Definition: ttquanti_bitstring.cc:104
void set_bit_sequence(const bitstring *inseq)
Definition: ttquanti_bitstring.cc:221
virtual void reset()
Definition: ttquanti_bitstring.cc:158
virtual bool retrieve_data(BinaryStorageBuffer *reader)
Definition: ttquanti_bitstring.cc:195
virtual void init()
Definition: ttquanti_bitstring.cc:141
virtual void set_sequence(void **seq)
Definition: ttquanti_bitstring.cc:214
virtual TTQuanti_diallelic_bitstring & operator=(const TTrait &T)
Definition: ttquanti_bitstring.cc:37
TTQuanti_diallelic_bitstring(const TTQuanti &T)
Definition: ttquanti_bitstring.h:46
virtual void set_allele_bit(unsigned int position, unsigned int allele, bool value)
Definition: ttquanti_bitstring.cc:94
virtual void mutate_inplace(unsigned int position, unsigned int allele, double value)
Definition: ttquanti_bitstring.h:82
virtual bool get_allele_bit(unsigned int position, unsigned int allele) const
Definition: ttquanti_bitstring.cc:85
virtual double get_full_genotype(unsigned int trait)
Definition: ttquanti_bitstring.cc:174
virtual bool operator==(const TTrait &T)
Definition: ttquanti_bitstring.cc:58
TTQuanti_diallelic_bitstring()
Definition: ttquanti_bitstring.h:43
TTQuanti.
Definition: ttquanti.h:59
Interface for all trait types, declares all basic trait operations.
Definition: ttrait.h:44
Non-template and faster implementation of std::bitset.
Definition: bitstring.h:53
void set(size_t n)
Set a bit to 1.
Definition: bitstring.h:332
void flip(size_t n)
Flip the bit at n.
Definition: bitstring.h:343
int error(const char *str,...)
Definition: output.cc:77
sex_t
Sex types, males are always 0 and females 1!!
Definition: types.h:34