# TDT: Gene and gamete flow matrices In GeneticsPed: Pedigree and genetic relationship functions

## Description

`geneFlowT` and `geneFlowTinv` creates gene flow matrix (T) and its inverse (Tinv), while `gameteFlowM` creates gamete flow matrix (M). `mendelianSamplingD` creates a mendelian sampling covariance matrix (D).

## Usage

 ```1 2 3 4``` ```geneFlowT(x, sort=TRUE, names=TRUE, ...) geneFlowTinv(x, sort=TRUE, names=TRUE, ...) gameteFlowM(x, sort=TRUE, names=TRUE, ...) mendelianSamplingD(x, matrix=TRUE, names=TRUE, ...) ```

## Arguments

 `x` Pedigree `sort` logical, for the computation the pedigree needs to be sorted, but results are sorted back to original sorting (sort=TRUE) or not (sort=FALSE) `names` logical, should returned matrix have row/colnames; this can be used to get leaner matrix `matrix` logical, should returned value be a diagonal matrix or a vector `...` arguments for other methods

## Details

`geneFlowT` returns a matrix with coefficients that show the flow of genes from one generation to the next one etc. `geneFlowTinv` is simply the inverse of `geneFlowT`, but calculated as I - M, where M is gamete flow matrix with coefficients that represent parent gamete contribution to their offspring. `mendelianSamplingD` is another matrix (D) for construction of relationship additive matrix via decomposition i.e. A=TDT' (Henderson, 1976). Mrode (2005) has a very nice introduction to these concepts.

Take care with `sort=FALSE, names=FALSE`. It is your own responsibility to assure proper handling in this case.

## Value

Matrices of n * n dimension, with coeficients as described in the details, where n is number of subjects in `x`

Gregor Gorjanc

## References

Henderson, C. R. (1976) A simple method for computing the inverse of a numerator relationship matrix used in prediction of breeding values. Biometrics 32(1):69-83

Mrode, R. A. (2005) Linear models for the prediction of animal breeding values. 2nd edition. CAB International. ISBN 0-85199-000-2 http://www.amazon.com/gp/product/0851990002

`Pedigree`, `relationshipAdditive`, `kinship` and `inbreeding`
 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```if(require(gdata)) data(Mrode2.1) Mrode2.1\$dtB <- as.Date(Mrode2.1\$dtB) x2.1 <- Pedigree(x=Mrode2.1, subject="sub", ascendant=c("fat", "mot"), ascendantSex=c("M", "F"), family="fam", sex="sex", generation="gen", dtBirth="dtB") fractions(geneFlowT(x2.1)) fractions(geneFlowTinv(x2.1)) fractions(gameteFlowM(x2.1)) mendelianSamplingD(x2.1) ```