29 #ifndef TTRAIT_WITH_MAP_H
30 #define TTRAIT_WITH_MAP_H
151 unsigned int addTrait (
trait_t trait,
unsigned int nChrm,
unsigned int nLoc,
unsigned int* nLocChrm,
152 double resolution,
unsigned int* locPositions);
263 static void recombine (
unsigned long indID);
265 virtual void reset ();
GeneticMap.
Definition: ttrait_with_map.h:45
void setLookupTable(unsigned int idx)
Bbuilds the lookup table for each trait.
Definition: ttrait_with_map.cc:973
vector< bool > & getFirstRecPosition(sex_t SEX)
Returns the vector of the first chromosome position for recombination, used for all traits.
Definition: ttrait_with_map.h:170
unsigned int * getLocusPositionTable(const trait_t trait)
Definition: ttrait_with_map.h:173
void reset_tables()
Definition: ttrait_with_map.cc:1299
vector< unsigned int > _numLociPerTrait
Vector of number of loci for each trait.
Definition: ttrait_with_map.h:64
vector< unsigned int * > _lociLookupTable
A list of tables that map the map position (cM) to a locus, for each trait.
Definition: ttrait_with_map.h:60
unsigned int _nTrait
Number of traits registered in the map.
Definition: ttrait_with_map.h:55
unsigned int _recombLength
Definition: ttrait_with_map.h:87
vector< pair< unsigned int, unsigned int > > reduceJunctions(sex_t SEX, unsigned int trait_idx)
Remove multiple x-over at the same locus when traits differ in number of loci.
Definition: ttrait_with_map.cc:1209
double setResolution(double val)
Definition: ttrait_with_map.h:107
double _recombinationRate
Definition: ttrait_with_map.h:91
vector< unsigned int > _numChrsmPerTrait
Vector of number of chromosomes for each trait.
Definition: ttrait_with_map.h:62
vector< bool > _chrsmFirstRecombPosition[2]
Two vectors holding the starting copy of each chromosome to use when creating the two gametes that ar...
Definition: ttrait_with_map.h:78
double _totRecombEventsMean
Definition: ttrait_with_map.h:90
unsigned int addTrait(trait_t trait, unsigned int nChrm, unsigned int nLoc, unsigned int *nLocChrm, double resolution, unsigned int *locPositions)
Returns the table index for the registered trait.
Definition: ttrait_with_map.cc:691
unsigned int * _chrsmFirstLocusPosition
Definition: ttrait_with_map.h:85
void recombine(sex_t SEX)
Called by TTProtoWithMap::recombine twice to create the two gametes necessary for the creation of a n...
Definition: ttrait_with_map.cc:1105
unsigned int _totalLength
Definition: ttrait_with_map.h:86
vector< unsigned int * > _locPositionsPerTrait
Vector containing the table of map position for the loci of each trait.
Definition: ttrait_with_map.h:69
vector< vector< unsigned int > > _recPositions[2]
Vector of tables containing, for each trait, the locus number at which x-overs happen.
Definition: ttrait_with_map.h:74
unsigned int * _perChrsmLength
Definition: ttrait_with_map.h:84
vector< unsigned int * > _numLociPerChrsmPerTrait
Vector containing a table of number of loci per chromosome for each trait.
Definition: ttrait_with_map.h:66
bool getGeneticMap(trait_t trait, double **table, unsigned int table_length)
Definition: ttrait_with_map.cc:914
GeneticMap()
Definition: ttrait_with_map.h:96
~GeneticMap()
Definition: ttrait_with_map.h:101
unsigned int _numChromosome
Definition: ttrait_with_map.h:83
unsigned int _totalNumLoci
Definition: ttrait_with_map.h:88
double _resolution
Definition: ttrait_with_map.h:89
bool checkRegisteredTrait(trait_t trait)
Returns true if trait 'trait' has registered a genetic map, false otherwise.
Definition: ttrait_with_map.cc:673
void unregisterTrait(trait_t trait)
Definition: ttrait_with_map.cc:649
vector< unsigned int > & getRecLoci(sex_t SEX, unsigned int trait)
Returns a vector of the loci where crossing-overs take place.
Definition: ttrait_with_map.h:164
void clear()
Definition: ttrait_with_map.cc:682
unsigned long _currentIndividual
Definition: ttrait_with_map.h:49
double getResolution()
Definition: ttrait_with_map.h:105
vector< unsigned int > _junctions
A vector to store the position of the recombination events.
Definition: ttrait_with_map.h:81
map< trait_t, unsigned int > _traits
Table mapping trait type to its position index in the following tables.
Definition: ttrait_with_map.h:52
bool registerIndForRecombine(unsigned long ID)
Called by TTProtoWithMap::recombine with individual ID passed down from Individual::recombine.
Definition: ttrait_with_map.h:143
void rescaleMap(double val)
Definition: ttrait_with_map.cc:944
TTProtoWithMap.
Definition: ttrait_with_map.h:183
double _mapResolution
Definition: ttrait_with_map.h:195
static GeneticMap _map
Definition: ttrait_with_map.h:208
static GeneticMap & getGeneticMapRef()
Definition: ttrait_with_map.h:235
bool setNumLociPerChromosome(string param_name)
Definition: ttrait_with_map.cc:297
void unregisterFromGeneticMap()
Definition: ttrait_with_map.cc:584
virtual vector< unsigned int > get_locus_map_positions()
Returns the map positions of the loci in vector.
Definition: ttrait_with_map.cc:602
unsigned int * _lociMapPositions
Definition: ttrait_with_map.h:201
string _paramPrefix
Definition: ttrait_with_map.h:185
bool setRecombinationMapFixed()
Definition: ttrait_with_map.cc:388
bool setRecombinationMapNonRandom(vector< vector< double > > &lociPositions)
Definition: ttrait_with_map.cc:364
void recordRandomMap()
Definition: ttrait_with_map.cc:533
virtual bool is_mappable()
Checks if the trait is mappable, i.e., if the loci can be placed on a genetic map.
Definition: ttrait_with_map.h:224
bool areGeneticMapParamSet(string prefix)
Definition: ttrait_with_map.cc:88
unsigned int * _chrsmLength
Definition: ttrait_with_map.h:200
virtual bool is_mapped()
Checks if the trait's loci are placed on a genetic map.
Definition: ttrait_with_map.h:226
double _recombRate
Definition: ttrait_with_map.h:194
double * _recombRatePerChrmsm
Definition: ttrait_with_map.h:198
unsigned int _numLoci
Definition: ttrait_with_map.h:197
TTProtoWithMap()
Definition: ttrait_with_map.h:211
unsigned int getMapIndex()
Definition: ttrait_with_map.h:233
bool setGeneticMapParameters(string prefix, unsigned int numLoci=0)
Definition: ttrait_with_map.cc:125
double _totRecombEventsMean
Definition: ttrait_with_map.h:193
unsigned int _numChromosome
Definition: ttrait_with_map.h:196
bool isRecombinationFree(string prefix)
Definition: ttrait_with_map.cc:98
virtual void reset()
Definition: ttrait_with_map.cc:637
bool _isRegistered
Definition: ttrait_with_map.h:187
unsigned int * _numLociPerChrmsm
Definition: ttrait_with_map.h:199
void reset_recombination_pointers()
Definition: ttrait_with_map.cc:627
void registerGeneticMap()
Definition: ttrait_with_map.cc:575
void addGeneticMapParameters(string prefix)
Definition: ttrait_with_map.cc:77
unsigned int _mapIndex
Definition: ttrait_with_map.h:192
void setMapIndex(unsigned int idx)
Definition: ttrait_with_map.h:231
virtual ~TTProtoWithMap()
Definition: ttrait_with_map.cc:70
static void recombine(unsigned long indID)
Definition: ttrait_with_map.cc:592
bool setRecombinationMapRandom()
Definition: ttrait_with_map.cc:438
double getRecombRate() const
Definition: ttrait_with_map.h:237
TTraitWithMap.
Definition: ttrait_with_map.h:275
TTProtoWithMap * _myProto
Definition: ttrait_with_map.h:279
virtual ~TTraitWithMap()
Definition: ttrait_with_map.h:285
TTraitWithMap()
Definition: ttrait_with_map.h:283
Interface for all trait types, declares all basic trait operations.
Definition: ttrait.h:45
TTrait setter.
Definition: ttrait.h:130
virtual trait_t get_type() const =0
Type accessor.
std::string trait_t
Trait types.
Definition: types.h:62
sex_t
Sex types, males are always 0 and females 1!!
Definition: types.h:35