Nemo
2.3.56
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
|
Interface for all trait types, declares all basic trait operations. More...
#include <ttrait.h>
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 TTrait * | clone ()=0 |
Returns a copy of itself. More... | |
virtual | ~TTrait () |
Operators | |
virtual TTrait & | operator= (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 () |
Interface for all trait types, declares all basic trait operations.
This pure abstract class declares the traits interface. 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.
|
inlinevirtual |
|
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, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Called to read one allele value at a particular locus.
loc | locus position in the sequence |
all | which allele we want to read the value from |
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by TTDispersal::inherit().
|
pure virtual |
sequence accessor.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by TTDeletMutBitstrFH::FHwrite(), TTQFreqExtractor::FHwrite(), TTNeutralGenesSH::getDxyPerPatch(), TTQuantiSH::getSNPalleleFreqInPatch(), TTDeletMutations_bitstring::inherit(), TTNeutralGenes::inherit(), TTQuanti::inherit(), TT_BDMI::inherit_diplo(), TT_BDMI::inherit_haplo(), TTNeutralGenesFH::print_PLINK_PED(), TTQuantiFH::print_PLINK_PED(), TTNeutralGenesSH::setAdults_Theta(), TTNeutralGenesSH::setAlleleTables(), TTNeutralGenesSH::setCoaMatrix(), TTNeutralGenesSH::setHeteroTable(), TTNeutralGenesSH::setHo(), TTNeutralGenesSH::setHo2(), TTNeutralGenesSH::setSibCoa(), TTBDMI_FH::write_diplo(), TTBDMI_FH::write_haplo(), TTNeutralGenesFH::write_patch_FSTAT(), TTNeutralGenesFH::write_patch_GENEPOP(), and TTNeutralGenesFH::write_patch_TAB().
|
pure virtual |
type accessor.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by TT_BDMI::operator==(), TTDeletMutations_bitstring::operator==(), TTNeutralGenes::operator==(), TTQuanti::operator==(), and TTWolbachia::operator==().
|
pure virtual |
Genotype to phenotype mapper.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by Individual::getTraitValue(), TTWolbachia::inherit(), and TTDeletMutBitstrSH::setViability().
Inheritance procedure, creates a new trait from mother's and father's traits.
mother | the mother's trait |
father | the father's trait |
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by Individual::create(), Individual::createTrait(), and Individual::inheritTrait().
|
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, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
|
pure virtual |
Called at the start of each replicate, sets the initial genotypes.
Called by Individual::create()
.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
|
pure virtual |
Mutation procedure, perform mutations on the genes sequence.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by Individual::create(), Individual::createTrait(), and Individual::mutateTrait().
|
pure virtual |
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTQuanti, TTWolbachia, and TTDispersal.
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, TTQuanti, TTWolbachia, and TTDispersal.
|
pure virtual |
Checks for parameters equivalence, not genetic equivalence.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTNeutralGenes, TTQuanti, TTWolbachia, and TTDispersal.
|
pure virtual |
Called at the end of each simulation/replicate, deallocates sequence memory.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
|
pure virtual |
Called to change the allelic value at a particular locus.
locus | the targeted locus |
alele | the targeted allele |
value | the value of the allele inserted |
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
|
pure virtual |
Called to set the sequence pointer to an existing trait.
seq | the existing sequence pointer |
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by TTNeutralGenesFH::FHread().
|
pure virtual |
Called to set the phenotypic to a particular value or to give context-dependant value(s) to the trait.
value | the value passed to the trait |
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by Individual::setTrait().
|
pure virtual |
Tells the trait to set its phenotype from genotype, should be used instead of getValue().
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.
Referenced by Individual::create(), Individual::createTrait(), and Individual::setTraitValue().
|
pure virtual |
Writes some info to stdout.
Implemented in TT_BDMI, TTDeletMutations_bitstring, TTDispersal, TTNeutralGenes, TTQuanti, and TTWolbachia.