Skip to contents

Returns the pedigree in TOPOLOGICAL ORDER, with sire and dam before the offspring, and the inbreeding of each animal by Meuwissen and Luo (1992).

Usage

pedigree(
  ped,
  id = 1L,
  sire = 2L,
  dam = 3L,
  metafounders = NULL,
  gamma = NULL,
  type = c("sire_dam", "sire_mgs")
)

Arguments

ped

data.frame with animal, sire and dam. An unknown sire or dam enters as "0" or NA. A parent with no line that matches a line written another way (a trailing space or carriage return, the case, leading zeros), and a 0 written another way (with a carriage return or a space, or "00" with no line), stop with both spellings; a numeric id column at or above 2^53 (16- or 17-digit ids read as numbers) is refused, since its last digits are already lost: read the id columns as text.

id

the animal column (position or name)

sire

the sire column

dam

the dam column

metafounders

labels of unknown-parent groups; a parent with one of these labels needs no line of its own (any OTHER cited-without-line parent is still a declared error). Metafounders enter as virtual base rows of A(Gamma) after Legarra et al. (2015)

gamma

the base relationship matrix of the metafounders. Either a vector of length n_metafounders, read as the DIAGONAL, or a full symmetric n_metafounders x n_metafounders matrix. The off-diagonal gamma_jk is the ancestral relationship BETWEEN two base populations, which is what a multibreed analysis turns on; it may be NEGATIVE, for bases pulled apart by selection in opposite directions. Admissibility is positive SEMI-definiteness, tested by a spectral decomposition and not by a Cholesky, plus a diagonal below 2 so that a metafounder's offspring keeps a positive Mendelian variance. A SINGULAR gamma is accepted, through the Moore-Penrose pseudo-inverse: that covers gamma = 0, the unknown-parent-group limit, where the pseudo-inverse reproduces the A-inverse of unknown parent groups exactly, and two metafounders standing for one population, whose rows are identical. What is still refused is an INDEFINITE gamma, a negative eigenvalue, which does not generate a covariance matrix at all

type

"sire_dam" (default) or "sire_mgs", the third column read as the maternal grandsire; the same as passing sire_mgs()(ped)

Value

data.frame with id, sire, dam (1-based indices, NA if unknown) and F; with a grandsire pedigree the third column is named mgs, and the attribute type says which it is

Details

The order is part of the result because it matters: A^-1 and the genetic effects come in that order, and merging back by the original position would silently swap animals.

A cited parent that has no line of its own is an ERROR, not an unknown. Treating it as unknown would change the offspring's Mendelian variance and the relationships of all the descendants.

THE THIRD COLUMN IS THE DAM unless the pedigree is DECLARED as sires and maternal grandsires, with type = "sire_mgs" or sire_mgs() (Mrode and Pocrnic, secs. 3.6 and 3.7). Read as a dam, a grandsire enters with weight 0.5 where the grandsire rules ask for 0.25, and nothing downstream can catch it: the A^-1 is still symmetric and positive definite (on the book's example of sec. 3.7 the A is off by up to 0.25 and the third bull gets F = 0.25 instead of 0.125). No statistic separates the two formats without sex, which is why every reference program asks for a declaration; a third column NAMED like a grandsire column (mgs, mgsire, maternal_grandsire) is refused unless declared.

References

Meuwissen, T.H.E. & Luo, Z. (1992). Computing inbreeding coefficients in large populations. Genetics Selection Evolution 24:305-313.

Legarra, A., Christensen, O.F., Vitezica, Z.G., Aguilar, I. & Misztal, I. (2015). Ancestral relationships using metafounders. Genetics 200:455-468.