Th main focus of this version is an overhaul of the IBD triangle plots, and implementing such plots also in ggplot2
and plotly
.
ibdTriangle()
and showInTriangle()
gain an argument plotType
, with permitted values “base” (default), “ggplot2” and “plotly”.
ibdTriangle()
now supports graphic parameters las
, mar
and title
. (These work for base plots and also ggplot2
.)
showInTriangle()
has a new argument ped
, for adding an inset pedigree in the top right corner.
Improved handling of labels in showInTriangle()
.
New dataset basicRelationships
, which is called by ibdTriangle()
.
In kinship(x, ids)
, ids
is no longer restricted to length 2.
Improve documentation of kappaIBD()
.
kinship(x)
now catches duplicated ID labels across components when x
is a pedlist.ibdTriangle()
gains argument shortLines
, restricting kinship lines to the interior of the triangle.
ibdDraw()
now automatically calculates sensible plot margins.
Add citation info.
kappaIBD(x, ids, simplify = TRUE)
now works as intended when x
is a ped list and ids
has length 2.
Fixed printing of two-locus kinship patterns in twoLocusIBD(..., verbose = TRUE)
.
coeffTable()
several columns have been renamed.New function twoLocusInbreeding()
.
New function: realisedIbdVariance()
.
New function ELR()
, implementing method of Egeland & Slooten (2016).
All two-locus functions have been cleaned up and improved, and new examples have been added.
Check that the input vector to detailed2condensed()
has sum 1 (#14).
Fixed edge-case bug in twoLocusIdentity()
(#9).
The function idcoefs()
was removed, since it relied on the no-longer-available package identity
.
The deprecated kinshipX()
, inbreedingX()
and kappaIbdX()
were removed, and replaced with an argument Xchrom
in kinship()
, inbreeding()
and kappaIBD()
.
The function generalisedKinship()
has been replaced with the much more versatile gKinship()
(see below).
New function identityCoefs()
for computing condensed and detailed identity coefficients (“Jacquard coefficients”). Both autosomal and X-chromosomal versions are supported. This function supersedes condensedIdentity()
and condensedIdentityX()
, which will continue to exist, nonetheless.
condensedIdentity()
gains arguments simplify
and self
, to match the new identityCoefs()
.
Computation of identity coefficients by MERLIN (via the “–extended” feature) is implemented in identityCoefs()
with the option method = "merlin"
. Note that MERLIN rounds the output to 3 decimals, reducing its utility somewhat.
New function gKinship()
for computing generalised kinship coefficients. Several algorithms are implemented, supporting various flavours (random vs. deterministic; distinct vs. non-distinct groups; autosomal vs. X).
New container class gip
for generalised IBD patterns. Includes a print method.
New function coeffTable()
collecting various pedigree coefficients in a single table.
New function kin2deg()
computing the degree of relatedness, as used e.g. by the software KING.
kinship(x, ids)
affecting pedigrees in nonstandard order.kinship()
now accepts a list of pedigrees as input.The README has been rewritten and substantially expanded.
kappaIBD()
now accepts ped lists as input.
In inbreeding()
the argument id
is renamed to ids
and accepts vectors of length > 1.
New function ibdDraw()
for illustrating IBD patterns in a pedigree. IBD alleles are represented as coloured dots or as letters.
New function ibdTriangle()
, which replaces forrel::IBDtriangle()
.
constructPedigree()
now gives a textual description of the (usually double-half-cousin-like) pedigree it produces.
New function constructPedigree()
, which constructs a pedigree yielding a prescribed set of IBD coefficients. This implements the algorithm described in https://doi.org/10.1007/s00285-020-01505-x.
kinship()
gains a new argument ids
, which is handy when you only want the kinship coefficient between two individuals (and not the whole kinship matrix)
Similarly, inbreeding()
gains the argument id
for computing the inbreeding coefficient of a single individual.