Nemo  2.3.56
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
TTWolbachia Class Reference

Trait used to study the dynamics of spread of Wolbachia, an endosymbiotic parasite causing cytoplasmic incompatibility. More...

#include <ttwolbachia.h>

+ Inheritance diagram for TTWolbachia:
+ Collaboration diagram for TTWolbachia:

Public Member Functions

 TTWolbachia ()
 
 TTWolbachia (const TTWolbachia &T)
 
virtual ~TTWolbachia ()
 
void set_transmit_rate (double val)
 
virtual void init ()
 
virtual void init_sequence ()
 
virtual void reset ()
 
virtual void inherit (TTrait *mother, TTrait *father)
 
virtual void mutate ()
 
virtual void * set_trait (void *value)
 
virtual void set_sequence (void **seq)
 
virtual void set_value ()
 
virtual void * getValue () const
 
virtual trait_t get_type () const
 
virtual void ** get_sequence () const
 
virtual double get_allele_value (int loc, int all)
 
virtual void set_allele_value (unsigned int locus, unsigned int allele, double value)
 
virtual void show_up ()
 
virtual TTWolbachiaclone ()
 
virtual TTWolbachiaoperator= (const TTrait &T)
 
virtual bool operator== (const TTrait &T)
 
virtual bool operator!= (const TTrait &T)
 
virtual void store_data (BinaryStorageBuffer *saver)
 
virtual bool retrieve_data (BinaryStorageBuffer *reader)
 
- 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 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 ()
 
- 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 ()
 

Private Attributes

double _transmit_rate
 
bool _is_infected
 

Detailed Description

Trait used to study the dynamics of spread of Wolbachia, an endosymbiotic parasite causing cytoplasmic incompatibility.

The trait state is given by a unique haploid "gene" with two alleles, 0 = uninfected and 1 = infected.

Constructor & Destructor Documentation

◆ TTWolbachia() [1/2]

TTWolbachia::TTWolbachia ( )
inline
62 : _transmit_rate(0), _is_infected(0) { }
bool _is_infected
Definition: ttwolbachia.h:57
double _transmit_rate
Definition: ttwolbachia.h:56

Referenced by clone().

+ Here is the caller graph for this function:

◆ TTWolbachia() [2/2]

TTWolbachia::TTWolbachia ( const TTWolbachia T)
inline

◆ ~TTWolbachia()

virtual TTWolbachia::~TTWolbachia ( )
inlinevirtual
68{}

Member Function Documentation

◆ clone()

virtual TTWolbachia * TTWolbachia::clone ( )
inlinevirtual

Implements TTrait.

89{return new TTWolbachia(*this);}
TTWolbachia()
Definition: ttwolbachia.h:61

References TTWolbachia().

◆ get_allele_value()

virtual double TTWolbachia::get_allele_value ( int  loc,
int  all 
)
inlinevirtual

Implements TTrait.

86{return _is_infected;}

References _is_infected.

◆ get_sequence()

virtual void ** TTWolbachia::get_sequence ( ) const
inlinevirtual

Implements TTrait.

85{return NULL;}

◆ get_type()

virtual trait_t TTWolbachia::get_type ( ) const
inlinevirtual

Implements TTrait.

84{return WOLB;}
#define WOLB
Definition: types.h:73

References WOLB.

Referenced by operator==().

+ Here is the caller graph for this function:

◆ getValue()

virtual void * TTWolbachia::getValue ( ) const
inlinevirtual

Implements TTrait.

83{return (void*)&_is_infected;}

References _is_infected.

◆ inherit()

virtual void TTWolbachia::inherit ( TTrait mother,
TTrait father 
)
inlinevirtual

Implements TTrait.

76 { _is_infected = *(bool*)mother->getValue(); }
virtual void * getValue() const =0
Genotype to phenotype mapper.

References _is_infected, and TTrait::getValue().

◆ init()

virtual void TTWolbachia::init ( )
inlinevirtual

Implements TTrait.

72{_is_infected = 0;}

References _is_infected.

◆ init_sequence()

virtual void TTWolbachia::init_sequence ( )
inlinevirtual

Implements TTrait.

73{_is_infected = 0;}

References _is_infected.

◆ mutate()

virtual void TTWolbachia::mutate ( )
inlinevirtual

Implements TTrait.

static double Uniform()
Generates a random number from [0.0, 1.0[ uniformly distributed.
Definition: Uniform.h:125

References _is_infected, _transmit_rate, and RAND::Uniform().

◆ operator!=()

bool TTWolbachia::operator!= ( const TTrait T)
virtual

Implements TTrait.

100{
101 if(!((*this) == T))
102 return true;
103 else
104 return false;
105}

◆ operator=()

TTWolbachia & TTWolbachia::operator= ( const TTrait T)
virtual

Implements TTrait.

76{
77 const TTWolbachia& TD = dynamic_cast<const TTWolbachia&> (T);
78 if(this != &TD) {
80// _transmit_rate = TD._transmit_rate;
81 }
82 return *this;
83}
Trait used to study the dynamics of spread of Wolbachia, an endosymbiotic parasite causing cytoplasmi...
Definition: ttwolbachia.h:54

References _is_infected.

◆ operator==()

bool TTWolbachia::operator== ( const TTrait T)
virtual

Implements TTrait.

88{
89 if(this->get_type().compare(T.get_type()) != 0) return false;
90// const TTWolbachia& TD = dynamic_cast<const TTWolbachia&> (T);
91// if(this != &TD) {
92// if(_transmit_rate != TD._transmit_rate) return false;
93// }
94 return true;
95}
virtual trait_t get_type() const
Definition: ttwolbachia.h:84
virtual trait_t get_type() const =0
type accessor.

References get_type(), and TTrait::get_type().

◆ reset()

virtual void TTWolbachia::reset ( )
inlinevirtual

Implements TTrait.

74{_is_infected = 0;}

References _is_infected.

◆ retrieve_data()

virtual bool TTWolbachia::retrieve_data ( BinaryStorageBuffer reader)
inlinevirtual

Implements StorableComponent.

100 {
101 unsigned char dummy;
102 reader->read(&dummy, 1);
103 _is_infected = dummy;
104 return true;
105 }
void read(void *out, unsigned int nb_bytes)
Definition: binarystoragebuffer.h:162

References _is_infected, and BinaryStorageBuffer::read().

◆ set_allele_value()

virtual void TTWolbachia::set_allele_value ( unsigned int  locus,
unsigned int  allele,
double  value 
)
inlinevirtual

Implements TTrait.

87{_is_infected=(bool)value;}

References _is_infected.

◆ set_sequence()

virtual void TTWolbachia::set_sequence ( void **  seq)
inlinevirtual

Implements TTrait.

81{ }

◆ set_trait()

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

Implements TTrait.

80 { _is_infected = *(bool*)value; return &_is_infected; }

References _is_infected.

◆ set_transmit_rate()

void TTWolbachia::set_transmit_rate ( double  val)
inline
70{_transmit_rate = val;}

References _transmit_rate.

Referenced by TProtoWolbachia::hatch().

+ Here is the caller graph for this function:

◆ set_value()

virtual void TTWolbachia::set_value ( )
inlinevirtual

Implements TTrait.

82{ }

◆ show_up()

virtual void TTWolbachia::show_up ( )
inlinevirtual

Implements TTrait.

88{}

◆ store_data()

virtual void TTWolbachia::store_data ( BinaryStorageBuffer saver)
inlinevirtual

Implements StorableComponent.

95 {
96 unsigned char dummy = static_cast<unsigned char>(_is_infected);
97 saver->store(&dummy, 1);
98 }
void store(void *stream, unsigned int nb_bytes)
Definition: binarystoragebuffer.cc:16

References _is_infected, and BinaryStorageBuffer::store().

Member Data Documentation

◆ _is_infected

◆ _transmit_rate

double TTWolbachia::_transmit_rate
private

Referenced by mutate(), and set_transmit_rate().


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

Generated for Nemo v2.3.56 by  doxygen 1.9.0 -- Nemo is hosted on  Download Nemo

Locations of visitors to this page
Catalogued on GSR