Part of the Genetic Value Analysis
Arguments
- ped
the pedigree information in datatable format. Pedigree (req. fields: id, sire, dam, gen, population). The pedigree must have no partial parentage (every animal has both parents known or both unknown);
calcFGstops with an error otherwise.- alleles
dataframe contains an
AlleleTable. This is a table of allele information produced bygeneDrop().
Value
The founder genome equivalents,
FG = 1 / sum( (p ^ 2) / r) where p is the vector of founder
mean contributions to the current descendants and r is the mean
number of founder alleles retained in the gene dropping experiment.
Returns NA with a warning when a contributing founder
(p > 0) is retained in zero of the gene-drop iterations
(r == 0): that term is p^2 / 0 = Inf, which would
otherwise collapse FG silently to 0. Raise the number of
iterations. See calcFGSE for the sampling standard error
of FG.
References
Lacy RC. 1989. Analysis of founder representation in pedigrees: founder equivalents and founder genome equivalents. Zoo Biol 8:111-123.
See also
Other genetic value analysis:
calcA(),
calcFE(),
calcFEFG(),
calcFGSE(),
calcGU(),
calcGUSE(),
calcGeneDiversity(),
calcNeSexRatio(),
calcNeVariance(),
calcRetention()
Examples
## Example from Analysis of Founder Representation in Pedigrees: Founder
## Equivalents and Founder Genome Equivalents.
## Zoo Biology 8:111-123, (1989) by Robert C. Lacy
library(nprcgenekeepr)
ped <- data.frame(
id = c("A", "B", "C", "D", "E", "F", "G"),
sire = c(NA, NA, "A", "A", NA, "D", "D"),
dam = c(NA, NA, "B", "B", NA, "E", "E"),
stringsAsFactors = FALSE
)
ped["gen"] <- findGeneration(ped$id, ped$sire, ped$dam)
ped$population <- getGVPopulation(ped, NULL)
pedFactors <- data.frame(
id = c("A", "B", "C", "D", "E", "F", "G"),
sire = c(NA, NA, "A", "A", NA, "D", "D"),
dam = c(NA, NA, "B", "B", NA, "E", "E"),
stringsAsFactors = TRUE
)
pedFactors["gen"] <- findGeneration(
pedFactors$id, pedFactors$sire,
pedFactors$dam
)
pedFactors$population <- getGVPopulation(pedFactors, NULL)
alleles <- geneDrop(ped$id, ped$sire, ped$dam, ped$gen,
genotype = NULL,
n = 1000, updateProgress = NULL
)
allelesFactors <- geneDrop(pedFactors$id, pedFactors$sire, pedFactors$dam,
pedFactors$gen,
genotype = NULL, n = 1000,
updateProgress = NULL
)
fg <- calcFG(ped, alleles)
fgFactors <- calcFG(pedFactors, allelesFactors)
