Nemo  2.3.46
TTrait Class Referenceabstract

Interface for all trait types, declares all basic trait operations. More...

#include <ttrait.h>

+ Inheritance diagram for TTrait:
+ Collaboration diagram for TTrait:

Public Member Functions

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 inherit (TTrait *mother, TTrait *father)=0
 Inheritance procedure, creates a new trait from mother's and father's traits. More...
 
virtual void mutate ()=0
 Mutation procedure, perform mutations on the genes sequence. More...
 
virtual void * set_trait (void *value)=0
 Called to set the phenotypic to a particular value or to give context-dependant value(s) to the trait. 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)=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 set_value ()=0
 Tells the trait to set its phenotype from genotype, should be used instead of getValue(). More...
 
virtual void * getValue () const =0
 Genotype to phenotype mapper. More...
 
virtual trait_t get_type () const =0
 type accessor. 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 ()
 
Operators
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 ()
 

Detailed Description

Interface for all trait types, declares all basic trait operations.

This pure abstract class declares the traits intreface. The precise genetic architecture of the trait is not defined and is up to the designer of the trait. It uses void pointers to allow users to define their own structure. Existing traits use various types for their genes sequence, like char, double or bitset. It is up to the trait's user to know what kind of structure they expect. The trait objects are contained in the Individual class. Their parameters are set by their TraitPrototype.

Constructor & Destructor Documentation

virtual TTrait::~TTrait ( )
inlinevirtual
116 { }

Member Function Documentation

virtual TTrait* TTrait::clone ( )
pure virtual

Returns a copy of itself.

Note: call the copy constructor of the trait which should only copy the parameters values not the complete state of the trait (i.e. shallow copy). The copy of the sequence data is made through the assignement operator!

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual double TTrait::get_allele_value ( int  loc,
int  all 
)
pure virtual

Called to read one allele value at a particular locus.

Returns
the allelic value at position 'all' at locus 'loc'
Parameters
loclocus position in the sequence
allwhich allele we want to read the value from

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual trait_t TTrait::get_type ( ) const
pure virtual
virtual void* TTrait::getValue ( ) const
pure virtual

Genotype to phenotype mapper.

Returns
the phenotype computed from the genotype

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

Referenced by Individual::getTraitValue(), TTWolbachia::inherit(), and TTDeletMutBitstrSH::setViability().

virtual void TTrait::inherit ( TTrait mother,
TTrait father 
)
pure virtual

Inheritance procedure, creates a new trait from mother's and father's traits.

Parameters
motherthe mother's trait
fatherthe father's trait

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

Referenced by Individual::create(), Individual::createTrait(), and Individual::inheritTrait().

virtual void TTrait::init ( )
pure virtual

Called to allocate the trait's genotypic sequences.

Called each time a new Individual is created (Individual::init())

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual void TTrait::init_sequence ( )
pure virtual

Called at the start of each replicate, sets the initial genotypes.

Called by Individual::create().

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual void TTrait::mutate ( )
pure virtual

Mutation procedure, perform mutations on the genes sequence.

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

Referenced by Individual::create(), Individual::createTrait(), and Individual::mutateTrait().

virtual bool TTrait::operator!= ( const TTrait )
pure virtual
virtual TTrait& TTrait::operator= ( const TTrait )
pure virtual

Copies the complete state of the trait from right to left side of the operator, sequence data included.

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual bool TTrait::operator== ( const TTrait )
pure virtual

Checks for parameters equivalence, not genetic equivalence.

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual void TTrait::reset ( )
pure virtual

Called at the end of each simulation/replicate, deallocates sequence memory.

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual void TTrait::set_allele_value ( unsigned int  locus,
unsigned int  allele,
double  value 
)
pure virtual

Called to change the allelic value at a particular locus.

Parameters
locusthe targeted locus
alelethe targeted allele
valuethe value of the allele inserted

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

virtual void TTrait::set_sequence ( void **  seq)
pure virtual

Called to set the sequence pointer to an existing trait.

Parameters
seqthe existing sequence pointer

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

Referenced by TTNeutralGenesFH::FHread().

virtual void* TTrait::set_trait ( void *  value)
pure virtual

Called to set the phenotypic to a particular value or to give context-dependant value(s) to the trait.

Parameters
valuethe value passed to the trait
Returns
the argument passed

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

Referenced by Individual::setTrait().

virtual void TTrait::set_value ( )
pure virtual

Tells the trait to set its phenotype from genotype, should be used instead of getValue().

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.

Referenced by Individual::create(), Individual::createTrait(), and Individual::setTraitValue().

virtual void TTrait::show_up ( )
pure virtual

Writes some info to stdout.

Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTDispersal, TTQuanti, and TTWolbachia.


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

Generated for Nemo v2.3.0 by  doxygen 1.8.8 --
Catalogued on GSR