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 symmetricn_metafounders x n_metafoundersmatrix. The off-diagonalgamma_jkis 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 coversgamma = 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 passingsire_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.