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)
 
void reset_phenotype_to_genotypic_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 unsigned int get_allele (int loc, int all) const =0
 Called to read the allele identity at a locus. More...
 
virtual double get_allele_value (int loc, int all) const =0
 Called to read the value of the allele 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
 
double * _genotypic_values
 
TProtoQuanti_myProto
 

Detailed Description

Constructor & Destructor Documentation

◆ TTQuanti() [1/2]

TTQuanti::TTQuanti ( )
inline
65  {
66 // message("CONSTRUCTOR::TTQuanti::CONSTRUCTOR\n");
67  }
TProtoQuanti * _myProto
Definition: ttquanti.h:107
double * _phenotypes
Definition: ttquanti.h:105
double * _genotypic_values
Definition: ttquanti.h:106

◆ TTQuanti() [2/2]

TTQuanti::TTQuanti ( const TTQuanti T)
inline

◆ ~TTQuanti()

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

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()

◆ get_proto()

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

References _myProto.

◆ get_type()

virtual trait_t TTQuanti::get_type ( ) const
inlinevirtual

Implements TTrait.

74 {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.

79 {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.

3117 {
3118  _myProto->inherit(MAL, this, (const TTQuanti*)father);
3119 
3120  _myProto->inherit(FEM, this, (const TTQuanti*)mother);
3121 }
void inherit(sex_t SEX, TTQuanti *ind, const TTQuanti *parent)
Definition: ttquanti.cc:2594
TTQuanti.
Definition: ttquanti.h:61
@ FEM
Definition: types.h:37
@ MAL
Definition: types.h:37

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

◆ mutate()

void TTQuanti::mutate ( )
inlinevirtual

Implements TTrait.

3110 {
3111  _myProto->mutate(this);
3112 }
void mutate(TTQuanti *ind)
Definition: ttquanti.cc:2656

References _myProto, and TProtoQuanti::mutate().

◆ mutate_add()

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

◆ mutate_inplace()

◆ reset_phenotype_to_genotypic_value()

void TTQuanti::reset_phenotype_to_genotypic_value ( )
3138 {
3139  assert(_genotypic_values != NULL && _phenotypes != NULL);
3140  memcpy(_phenotypes, _genotypic_values, _myProto->get_num_traits() * sizeof(double));
3141 }
unsigned int get_num_traits()
Definition: ttquanti.h:423

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

Referenced by LCE_PhenotypeExpression::setIndPhenotype_labile().

◆ set_allele_bit()

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

◆ set_phenotype()

◆ set_proto()

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

References _myProto.

Referenced by TProtoQuanti::hatch().

◆ set_trait()

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

Implements TTrait.

77 {return value;}

◆ set_value()

void TTQuanti::set_value ( )
inlinevirtual

Implements TTrait.

3126 {
3127  for (unsigned int i = 0; i < _myProto->get_num_traits(); ++i) {
3128  _phenotypes[i] = _myProto->get_phenotypic_value(this, i);
3129  }
3130  // cache the genotypic phenotype values for labile plasticity reset
3131  if(_genotypic_values)
3132  memcpy(_genotypic_values, _phenotypes, _myProto->get_num_traits() * sizeof(double));
3133 }
double get_phenotypic_value(const TTQuanti *ind, const unsigned int trait)
Definition: ttquanti.h:489

References _genotypic_values, _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

◆ _genotypic_values

◆ _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_diallelic_bitstring_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_diallelic_bitstring_full_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_no_pleio_epistasis::get_additive_genotype(), TTQuanti_diallelic_bitstring_full_pleio_epistasis::get_additive_genotype(), TTQuanti_diallelic_bitstring_no_pleio::get_additive_genotype_equal_effects(), TTQuanti_diallelic::get_allele(), TTQuanti_diallelic_bitstring::get_allele(), 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_diallelic_bitstring_no_pleio_epistasis::get_dominant_genotype(), TTQuanti_diallelic_bitstring_full_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_diallelic_bitstring_no_pleio_epistasis::get_epistatic_genotype(), TTQuanti_diallelic_bitstring_full_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(), TTQuanti_diallelic_bitstring_no_pleio_epistasis::init_sequence(), TTQuanti_diallelic_bitstring_full_pleio_epistasis::init_sequence(), mutate(), TTQuanti_continuous::operator=(), TTQuanti_diallelic::operator=(), TTQuanti_continuous::operator==(), TTQuanti_diallelic::operator==(), TTQuanti_diallelic_bitstring::operator==(), reset_phenotype_to_genotypic_value(), 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_diallelic_bitstring_no_pleio_epistasis::show_up(), TTQuanti_diallelic_bitstring_full_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