Nemo  2.4.0b
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
TTQuanti Class Referenceabstract

TTQuanti. More...

#include <ttquanti.h>

+ Inheritance diagram for TTQuanti:
+ Collaboration diagram for TTQuanti:

Public Member Functions

 TTQuanti ()
 
 TTQuanti (const TTQuanti &T)
 
virtual ~TTQuanti ()
 
virtual trait_t get_type () const
 
virtual void mutate ()
 
virtual void inherit (const TTrait *mother, const TTrait *father)
 
virtual void * set_trait (void *value)
 
virtual void set_value ()
 
virtual void * getValue () const
 
virtual double get_additive_genotype (const unsigned int trait) const =0
 
virtual double get_dominant_genotype (const unsigned int trait) const =0
 
virtual double get_full_genotype (unsigned int trait)=0
 
virtual void copy_sequence_block (sex_t SEX, unsigned int strand, unsigned int from_pos, unsigned int to_pos, const TTQuanti *parent)=0
 
virtual void copy_sequence_1locus (sex_t SEX, unsigned int strand, unsigned int at, const TTQuanti *parent)=0
 
virtual void mutate_add (unsigned int position, unsigned int allele, double value)=0
 
virtual void mutate_inplace (unsigned int position, unsigned int allele, double value)=0
 
virtual bool get_allele_bit (unsigned int position, unsigned int allele) const =0
 
virtual void set_allele_bit (unsigned int position, unsigned int allele, bool value)=0
 
void set_proto (TProtoQuanti *proto)
 
TProtoQuantiget_proto ()
 
double get_phenotype (unsigned int trai)
 
void set_phenotype (unsigned int trait, double value)
 
- Public Member Functions inherited from TTrait
virtual void init ()=0
 Called to allocate the trait's genotypic sequences. More...
 
virtual void init_sequence ()=0
 Called at the start of each replicate, sets the initial genotypes. More...
 
virtual void reset ()=0
 Called at the end of each simulation/replicate, deallocates sequence memory. More...
 
virtual void set_sequence (void **seq)=0
 Called to set the sequence pointer to an existing trait. More...
 
virtual double get_allele_value (int loc, int all) const =0
 Called to read one allele value at a particular locus. More...
 
virtual void set_allele_value (unsigned int locus, unsigned int allele, double value)=0
 Called to change the allelic value at a particular locus. More...
 
virtual void ** get_sequence () const =0
 sequence accessor. More...
 
virtual void show_up ()=0
 Writes some info to stdout. More...
 
virtual TTraitclone ()=0
 Returns a copy of itself. More...
 
virtual ~TTrait ()
 
virtual TTraitoperator= (const TTrait &)=0
 Copies the complete state of the trait from right to left side of the operator, sequence data included. More...
 
virtual bool operator== (const TTrait &)=0
 Checks for parameters equivalence, not genetic equivalence. More...
 
virtual bool operator!= (const TTrait &)=0
 
- Public Member Functions inherited from StorableComponent
virtual void store_data (BinaryStorageBuffer *saver)=0
 Interface to store the component data (e.g. gene values) into a binary buffer. More...
 
virtual bool retrieve_data (BinaryStorageBuffer *reader)=0
 Interface to retrieve the same data from the binary buffer. More...
 
virtual ~StorableComponent ()
 

Protected Attributes

double * _phenotypes
 
TProtoQuanti_myProto
 

Detailed Description

Constructor & Destructor Documentation

◆ TTQuanti() [1/2]

TTQuanti::TTQuanti ( )
inline
62  : _phenotypes(0), _myProto(0)
63  {
64 // message("CONSTRUCTOR::TTQuanti::CONSTRUCTOR\n");
65  }
TProtoQuanti * _myProto
Definition: ttquanti.h:103
double * _phenotypes
Definition: ttquanti.h:102

◆ TTQuanti() [2/2]

TTQuanti::TTQuanti ( const TTQuanti T)
inline
67 : _phenotypes(0), _myProto(T._myProto){}

◆ ~TTQuanti()

virtual TTQuanti::~TTQuanti ( )
inlinevirtual
70 {}

Member Function Documentation

◆ copy_sequence_1locus()

◆ copy_sequence_block()

◆ get_additive_genotype()

◆ get_allele_bit()

◆ get_dominant_genotype()

◆ get_full_genotype()

virtual double TTQuanti::get_full_genotype ( unsigned int  trait)
pure virtual

◆ get_phenotype()

double TTQuanti::get_phenotype ( unsigned int  trai)
3103 {
3104  assert(trait < _myProto->get_num_traits() && _phenotypes != NULL);
3105 
3106  return _phenotypes[trait];
3107 }

References _phenotypes.

Referenced by LCE_PhenotypeExpression::set_phenot_g1_evol(), LCE_PhenotypeExpression::set_phenot_g1_g2_evol(), LCE_PhenotypeExpression::set_phenot_g2_evol(), and LCE_PhenotypeExpression::set_phenot_no_evol().

◆ get_proto()

TProtoQuanti* TTQuanti::get_proto ( )
inline
96 {return _myProto;}

References _myProto.

◆ get_type()

virtual trait_t TTQuanti::get_type ( ) const
inlinevirtual

Implements TTrait.

72 {return QUANT;}
#define QUANT
Definition: types.h:72

References QUANT.

Referenced by TTQuanti_continuous::operator==(), TTQuanti_diallelic::operator==(), and TTQuanti_diallelic_bitstring::operator==().

◆ getValue()

virtual void* TTQuanti::getValue ( ) const
inlinevirtual

Implements TTrait.

77 {return _phenotypes;}

References _phenotypes.

Referenced by TTQuantiFH::print(), and store_quanti_trait_values().

◆ inherit()

void TTQuanti::inherit ( const TTrait mother,
const TTrait father 
)
inlinevirtual

Implements TTrait.

3083 {
3084  _myProto->inherit(MAL, this, (const TTQuanti*)father);
3085 
3086  _myProto->inherit(FEM, this, (const TTQuanti*)mother);
3087 }
void inherit(sex_t SEX, TTQuanti *ind, const TTQuanti *parent)
Definition: ttquanti.cc:2560
TTQuanti.
Definition: ttquanti.h:59
@ FEM
Definition: types.h:37
@ MAL
Definition: types.h:37

References _myProto, FEM, TProtoQuanti::inherit(), and MAL.

◆ mutate()

void TTQuanti::mutate ( )
inlinevirtual

Implements TTrait.

3076 {
3077  _myProto->mutate(this);
3078 }
void mutate(TTQuanti *ind)
Definition: ttquanti.cc:2622

References _myProto, and TProtoQuanti::mutate().

◆ mutate_add()

virtual void TTQuanti::mutate_add ( unsigned int  position,
unsigned int  allele,
double  value 
)
pure virtual

◆ mutate_inplace()

◆ set_allele_bit()

virtual void TTQuanti::set_allele_bit ( unsigned int  position,
unsigned int  allele,
bool  value 
)
pure virtual

◆ set_phenotype()

void TTQuanti::set_phenotype ( unsigned int  trait,
double  value 
)
3112 {
3113  assert(trait < _myProto->get_num_traits() && _phenotypes != NULL);
3114 
3115  _phenotypes[trait] = value;
3116 }

References _phenotypes.

Referenced by LCE_PhenotypeExpression::set_phenot_g1_evol(), LCE_PhenotypeExpression::set_phenot_g1_g2_evol(), LCE_PhenotypeExpression::set_phenot_g2_evol(), and LCE_PhenotypeExpression::set_phenot_no_evol().

◆ set_proto()

void TTQuanti::set_proto ( TProtoQuanti proto)
inline
95 {_myProto = proto;}

References _myProto.

Referenced by TProtoQuanti::hatch().

◆ set_trait()

virtual void* TTQuanti::set_trait ( void *  value)
inlinevirtual

Implements TTrait.

75 {return value;}

◆ set_value()

void TTQuanti::set_value ( )
inlinevirtual

Implements TTrait.

3092 {
3093 // cout<<" TTQuanti::set_value\n";
3094  for (unsigned int i = 0; i < _myProto->get_num_traits(); ++i) {
3095  _phenotypes[i] = _myProto->get_phenotypic_value(this, i); //(_myProto->*_myProto->_set_trait_value_func_ptr)(this, i);
3096  }
3097 // cout<<" TTQuanti::set_value::end\n";
3098 }
double get_phenotypic_value(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.h:472
unsigned int get_num_traits()
Definition: ttquanti.h:417

References _myProto, _phenotypes, TProtoQuanti::get_num_traits(), and TProtoQuanti::get_phenotypic_value().

Referenced by TTQuantiFH::FHread(), TTQuanti_continuous::operator=(), TTQuanti_diallelic::operator=(), and TTQuanti_diallelic_bitstring::operator=().

Member Data Documentation

◆ _myProto

TProtoQuanti* TTQuanti::_myProto
protected

Referenced by TTQuanti_diallelic_bitstring_full_pleio::copy_sequence_1locus(), TTQuanti_diallelic_bitstring_var_pleio::copy_sequence_1locus(), TTQuanti_continuous_full_pleio_epistasis::copy_sequence_1locus(), TTQuanti_diallelic_full_pleio_epistasis::copy_sequence_1locus(), TTQuanti_continuous_full_pleio::copy_sequence_1locus(), TTQuanti_continuous_var_pleio::copy_sequence_1locus(), TTQuanti_diallelic_full_pleio::copy_sequence_1locus(), TTQuanti_diallelic_var_pleio::copy_sequence_1locus(), TTQuanti_diallelic_bitstring_full_pleio::copy_sequence_block(), TTQuanti_diallelic_bitstring_var_pleio::copy_sequence_block(), TTQuanti_continuous_full_pleio_epistasis::copy_sequence_block(), TTQuanti_diallelic_full_pleio_epistasis::copy_sequence_block(), TTQuanti_continuous_no_pleio_epistasis::copy_sequence_block(), TTQuanti_diallelic_no_pleio_epistasis::copy_sequence_block(), TTQuanti_continuous_full_pleio::copy_sequence_block(), TTQuanti_continuous_var_pleio::copy_sequence_block(), TTQuanti_continuous_no_pleio::copy_sequence_block(), TTQuanti_diallelic_no_pleio::copy_sequence_block(), TTQuanti_diallelic_full_pleio::copy_sequence_block(), TTQuanti_diallelic_var_pleio::copy_sequence_block(), TTQuanti_continuous_full_pleio::get_additive_genotype(), TTQuanti_continuous_var_pleio::get_additive_genotype(), TTQuanti_continuous_no_pleio::get_additive_genotype(), TTQuanti_continuous_single::get_additive_genotype(), TTQuanti_diallelic_no_pleio::get_additive_genotype(), TTQuanti_diallelic_full_pleio::get_additive_genotype(), TTQuanti_diallelic_var_pleio::get_additive_genotype(), TTQuanti_diallelic_bitstring_no_pleio::get_additive_genotype(), TTQuanti_diallelic_bitstring_full_pleio::get_additive_genotype(), TTQuanti_diallelic_bitstring_var_pleio::get_additive_genotype(), TTQuanti_continuous_full_pleio_epistasis::get_additive_genotype(), TTQuanti_diallelic_full_pleio_epistasis::get_additive_genotype(), TTQuanti_continuous_no_pleio_epistasis::get_additive_genotype(), TTQuanti_diallelic_no_pleio_epistasis::get_additive_genotype(), TTQuanti_diallelic_bitstring::get_allele_bit(), TTQuanti_continuous::get_allele_value(), TTQuanti_diallelic::get_allele_value(), TTQuanti_diallelic_bitstring::get_allele_value(), TTQuanti_continuous_full_pleio::get_dominant_genotype(), TTQuanti_continuous_var_pleio::get_dominant_genotype(), TTQuanti_continuous_no_pleio::get_dominant_genotype(), TTQuanti_continuous_single::get_dominant_genotype(), TTQuanti_diallelic_no_pleio::get_dominant_genotype(), TTQuanti_diallelic_full_pleio::get_dominant_genotype(), TTQuanti_diallelic_var_pleio::get_dominant_genotype(), TTQuanti_diallelic_bitstring_no_pleio::get_dominant_genotype(), TTQuanti_diallelic_bitstring_full_pleio::get_dominant_genotype(), TTQuanti_diallelic_bitstring_var_pleio::get_dominant_genotype(), TTQuanti_continuous_full_pleio_epistasis::get_dominant_genotype(), TTQuanti_diallelic_full_pleio_epistasis::get_dominant_genotype(), TTQuanti_continuous_no_pleio_epistasis::get_dominant_genotype(), TTQuanti_diallelic_no_pleio_epistasis::get_dominant_genotype(), TTQuanti_continuous_full_pleio_epistasis::get_epistatic_genotype(), TTQuanti_diallelic_full_pleio_epistasis::get_epistatic_genotype(), TTQuanti_continuous_no_pleio_epistasis::get_epistatic_genotype(), TTQuanti_diallelic_no_pleio_epistasis::get_epistatic_genotype(), TTQuanti_continuous::get_full_genotype(), TTQuanti_diallelic::get_full_genotype(), TTQuanti_diallelic_bitstring::get_full_genotype(), get_proto(), TTQuanti_continuous_var_pleio::get_sequence_block_size(), TTQuanti_diallelic_var_pleio::get_sequence_block_size(), TTQuanti_diallelic_bitstring_var_pleio::get_sequence_block_size(), inherit(), TTQuanti_continuous::init(), TTQuanti_diallelic::init(), TTQuanti_diallelic_bitstring::init(), TTQuanti_continuous_full_pleio::init_sequence(), TTQuanti_continuous_var_pleio::init_sequence(), TTQuanti_continuous_no_pleio::init_sequence(), TTQuanti_diallelic_no_pleio::init_sequence(), TTQuanti_diallelic_full_pleio::init_sequence(), TTQuanti_diallelic_var_pleio::init_sequence(), TTQuanti_diallelic_bitstring_no_pleio::init_sequence(), TTQuanti_diallelic_bitstring_full_pleio::init_sequence(), TTQuanti_diallelic_bitstring_var_pleio::init_sequence(), TTQuanti_continuous_full_pleio_epistasis::init_sequence(), TTQuanti_diallelic_full_pleio_epistasis::init_sequence(), TTQuanti_continuous_no_pleio_epistasis::init_sequence(), TTQuanti_diallelic_no_pleio_epistasis::init_sequence(), mutate(), TTQuanti_continuous::operator=(), TTQuanti_diallelic::operator=(), TTQuanti_continuous::operator==(), TTQuanti_diallelic::operator==(), TTQuanti_diallelic_bitstring::operator==(), TTQuanti_continuous::retrieve_data(), TTQuanti_diallelic::retrieve_data(), TTQuanti_diallelic_bitstring::set_allele_bit(), TTQuanti_diallelic::set_allele_value(), TTQuanti_diallelic_bitstring::set_allele_value(), set_proto(), TTQuanti_continuous::set_sequence(), TTQuanti_diallelic::set_sequence(), set_value(), TTQuanti_continuous_full_pleio::show_up(), TTQuanti_continuous_var_pleio::show_up(), TTQuanti_continuous_no_pleio::show_up(), TTQuanti_diallelic_no_pleio::show_up(), TTQuanti_diallelic_full_pleio::show_up(), TTQuanti_diallelic_var_pleio::show_up(), TTQuanti_diallelic_bitstring_no_pleio::show_up(), TTQuanti_diallelic_bitstring_full_pleio::show_up(), TTQuanti_diallelic_bitstring_var_pleio::show_up(), TTQuanti_continuous_full_pleio_epistasis::show_up(), TTQuanti_diallelic_full_pleio_epistasis::show_up(), TTQuanti_continuous_no_pleio_epistasis::show_up(), TTQuanti_diallelic_no_pleio_epistasis::show_up(), TTQuanti_continuous::store_data(), and TTQuanti_diallelic::store_data().

◆ _phenotypes


The documentation for this class was generated from the following files:

Generated for Nemo v2.4.0b by  doxygen 1.9.1 -- Nemo is hosted on  Download Nemo

Locations of visitors to this page
Catalogued on GSR