Learn R Programming

ribd (version 1.3.1)

ibdTriangle: IBD triangle plot

Description

The IBD triangle is typically used to visualize the pairwise relatedness of non-inbred individuals. Various annotations are available, including points marking the most common relationships, contour lines for the kinship coefficients, and shading of the unattainable region.

Usage

ibdTriangle(
  relationships = c("UN", "PO", "MZ", "S", "H,U,G", "FC"),
  pch = 16,
  cexPoint = 1.2,
  cexText = 1.2,
  kinshipLines = numeric(),
  shading = "lightgray",
  xlim = c(0, 1),
  ylim = c(0, 1),
  axes = FALSE,
  xlab = expression(kappa[0]),
  ylab = expression(kappa[2]),
  cexLab = cexText,
  mar = c(3.1, 3.1, 1, 1),
  xpd = TRUE,
  keep.par = TRUE
)

Arguments

relationships

A character vector indicating relationships points to be included in the plot. See Details for a list of valid entries.

pch

Symbol used for the relationship points (see par()).

cexPoint

A number controlling the symbol size for the relationship points.

cexText

A number controlling the font size for the relationship labels.

kinshipLines

A numeric vector (see Details).

shading

The shading colour for the unattainable region.

xlim, ylim, mar, xpd

Graphical parameters; see par().

axes

A logical: Draw surrounding axis box? Default: FALSE.

xlab, ylab

Axis labels.

cexLab

A number controlling the font size for the axis labels.

keep.par

A logical. If TRUE, the graphical parameters are not reset after plotting, which may be useful for adding additional annotation.

Value

None

Details

For any pair of non-inbred individuals A and B, their genetic relationship can be summarized by the IBD coefficients \((\kappa_0, \kappa_1, \kappa_2)\), where \(\kappa_i\) = P(A and B share i alleles IBD at random autosomal locus). Since \(\kappa_0 + \kappa_1 + \kappa_2 = 1\), any relationship corresponds to a point in the triangle in the \((\kappa_0, \kappa_2)\)-plane defined by \(\kappa_0 \ge 0, \kappa_2 \ge 0, \kappa_0 + \kappa_2 \le 1\). The choice of \(\kappa_0\) and \(\kappa_2\) as the axis variables is done for reasons of symmetry and is not significant (other authors have used different views of the triangle).

As shown by Thompson (1976), points in the subset of the triangle defined by \(4\kappa_0\kappa_2 > \kappa_1^2\) are unattainable for pairwise relationships. By default this region in shaded in a 'light grey' colour, but this can be modified with the shading argument.

The IBD coefficients are linearly related to the kinship coefficient \(\phi\) by the formula $$\phi = 0.25\kappa_1 + 0.5\kappa_2.$$ By indicating values for \(\phi\) in the kinshipLines argument, the corresponding contour lines are shown as dashed lines in the triangle plot.

The following abbreviations are valid entries in the relationships argument:

  • UN = unrelated

  • PO = parent/offspring

  • MZ = monozygotic twins

  • S = full siblings

  • H,U,G = half sibling/avuncular (uncle)/grandparent

  • FC = first cousins

  • SC = second cousins

  • DFC = double first cousins

  • Q = quadruple first half cousins

References

  • E. A. Thompson (1975). The estimation of pairwise relationships. Annals of Human Genetics 39.

  • E. A. Thompson (1976). A restriction on the space of genetic relationships. Annals of Human Genetics 40.

Examples

Run this code
# NOT RUN {
opar = par(no.readonly = TRUE) # store graphical parameters

ibdTriangle()
ibdTriangle(kinshipLines = c(0.25, 0.125), shading = NULL, cexText = 0.8)

par(opar) # reset graphical parameters

# }

Run the code above in your browser using DataLab