genomicSimulationC 0.3
Data Fields
gsc_MarkerEffects Struct Reference

A type that stores the information needed to calculate breeding values from alleles at markers. More...

#include <sim-operations.h>

Data Fields

unsigned int n_markers
 Number of markers across which genotypes are tracked. More...
 
double * centre
 Vector of length n_markers, containing a value for each marker which represents the value to subtract from the breeding value contribution of the alleles at that marker. More...
 
unsigned int * cumn_alleles
 A vector of length n_markers holding the cumulative number of alleles that have effects on breeding values at each marker. More...
 
char * allele
 A vector holding the symbol/character representing each allele at each marker. More...
 
double * eff
 A vector holding the effect on breeding value of each allele at each marker. More...
 

Detailed Description

A type that stores the information needed to calculate breeding values from alleles at markers.

The equation to calculate breeding values for a genotype g across markers m using the marker effects in this struct is:

$\sum_{m}\left[\sum_{a_m}\left(c_{g,m,a_m} \cdot eff_{m,a_m}\right) - centre_{m}\right]$

where this struct stores effects for a set of alleles $a_m$ for each marker m, $c_[g,m,a_m}$$ is the number of copies of allele $a_m$ that genotype g has at marker m, $eff_{m,a_m}$ is the effect of that allele at that marker (stored in .eff), and $centre_{m}$ is a centring value applied per marker (stored in .centre).

The formula for calculating the breeding value of a haplotype is the same, except $c_[g,m,a_m}$$ will have possible values 0 or 1 instead of 0, 1 or 2.

Has short name: MarkerEffects

Definition at line 837 of file sim-operations.h.

Field Documentation

◆ allele

char* gsc_MarkerEffects::allele

A vector holding the symbol/character representing each allele at each marker.

Index into with (MarkerEffects.n_markers * markerix + alleleix).

Definition at line 853 of file sim-operations.h.

◆ centre

double* gsc_MarkerEffects::centre

Vector of length n_markers, containing a value for each marker which represents the value to subtract from the breeding value contribution of the alleles at that marker.

Markers are ordered according to the SimData's KnownGenome.marker_names. If this value is NULL, no values are to be subtracted from the products of allele count and allele effect.

Definition at line 840 of file sim-operations.h.

◆ cumn_alleles

unsigned int* gsc_MarkerEffects::cumn_alleles

A vector of length n_markers holding the cumulative number of alleles that have effects on breeding values at each marker.

Markers are ordered according to the SimData's KnownGenome.marker_names. At position i, contains the number of alleles with effects at the ith marker plus the number of alleles at previous markers. So at index 0, it will have a nonzero value.

Definition at line 848 of file sim-operations.h.

◆ eff

double* gsc_MarkerEffects::eff

A vector holding the effect on breeding value of each allele at each marker.

Index into with (MarkerEffects.n_markers * markerix + alleleix).

Definition at line 855 of file sim-operations.h.

◆ n_markers

unsigned int gsc_MarkerEffects::n_markers

Number of markers across which genotypes are tracked.

This number has redundancy with gsc_SimData.

Definition at line 838 of file sim-operations.h.


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