Let’s use the following example pedigree.
(ped <- data.frame(
ID = 1:12,
SIRE = c(0, 0, 0, 2, 2, 0, 4, 6, 0, 6, 10, 10),
DAM = c(0, 0, 0, 1, 1, 0, 3, 5, 7, 8, 9, 0)
))
#> ID SIRE DAM
#> 1 1 0 0
#> 2 2 0 0
#> 3 3 0 0
#> 4 4 2 1
#> 5 5 2 1
#> 6 6 0 0
#> 7 7 4 3
#> 8 8 6 5
#> 9 9 0 7
#> 10 10 6 8
#> 11 11 10 9
#> 12 12 10 0Let’s assume that previously, 9 of 12 animals were in the pedigree,
and inbreeding (f) and d coefficients
(diagonal elements of the diagonal matrix D in \(\mathbf A = \mathbf{TDT}'\)) were
calculated and saved.
oldped <- ped[1:9, ]
(oldrun <- resume_inbreed(oldped, export_d = TRUE))
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> $f
#> [1] 0 0 0 0 0 0 0 0 0
#>
#> $d
#> [1] 1.00 1.00 1.00 0.50 0.50 1.00 0.50 0.50 0.75Calculating inbreeding coefficients as if f and
d coefficients from the previous analysis are not
available:
resume_inbreed(ped)
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> [1] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
#> [9] 0.000000 0.250000 0.015625 0.000000Calculating inbreeding coefficients as if f coefficients
from the previous analysis are available, but not d
coefficients:
resume_inbreed(ped, f = oldrun$f)
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> [1] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
#> [9] 0.000000 0.250000 0.015625 0.000000Calculating inbreeding coefficients as if f and
d coefficients from the previous analysis are
available:
resume_inbreed(ped, f = oldrun$f, d = oldrun$d)
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> [1] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
#> [9] 0.000000 0.250000 0.015625 0.000000Let’s calculate the numerator relationship coefficients between two groups of animals, one’s members not among dams, and the members of the other not among sires.
calcR(ped, set1 = c(12, 6), set2 = c(11, 8), type = "notdam-notsire")
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> Calculating numerator relationship coefficients based on Van Vleck (2007)
#> 11 8
#> 12 0.3203125 0.375
#> 6 0.3750000 0.500What is the inbreeding coefficient of a future progeny of 11 and 12? It is half of the relationship coefficient between the two individuals (0.320312/2).
Since "notdam-notsire" is the default type,
type = "notdam-notsire" might be omitted. Where
relationship coefficients between dams and between sires are needed,
type = "dam-dam" and type = "sire-sire" are
used, respectively.
Let’s calculate the numerator relationship coefficients between dam 7 and dams 8 and 9.
calcR(ped, set1 = 7, set2 = 8:9, type = "dam-dam")
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> Calculating numerator relationship coefficients based on Van Vleck (2007)
#> 8 9
#> 7 0.125 0.5The relationship coefficients between sires 2 & 6 and sires 4 & 10 are calculated as:
calcR(ped, set1 = c(2, 6), set2 = c(4, 10), type = "sire-sire")
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> Calculating numerator relationship coefficients based on Van Vleck (2007)
#> 4 10
#> 2 0.5 0.125
#> 6 0.0 0.750If inbreeding coefficients of the population or previous inbreeding
estimates with a smaller pedigree are available, those can be used via
the argument f to speed up the procedure. Similarly, if
d coefficients are available, those can be used
alongside the inbreeding coefficients via the argument
d.
f <- rep(0, 12)
f[10] <- 0.25
f[11] <- 0.015625
d <- c(1, 1, 1, 0.5, 0.5, 1, 0.5, 0.5, 0.75, 0.5, 0.4375, 0.6875)
calcR(ped, set1 = c(2, 6), set2 = c(4, 10), type = "sire-sire", f = f, d = d)
#> Estimating inbreeding coefficients based on Meuwissen and Luo (1992)
#> Calculating numerator relationship coefficients based on Van Vleck (2007)
#> 4 10
#> 2 0.5 0.125
#> 6 0.0 0.750For very large pedigree and small set1 and
set2, one may consider extracting a sub-pedigree by tracing
the pedigree upward from set1 and set2
(i.e., ggroups::pedup(ped, c(set1, set2))).