The function checkPairwise()
has undergone substantial revision, with plots implemented in both ggplot2 and plotly in addition to the default base plot. A summary of the main changes are:
plotType
can be either "base" (default), "ggplot" or "plotly"plotCP()
which is also exportedids
, which when given restricts the checks to those individualsLR
is renamed to GLR
(generalised likelihood ratio)pedrel
describing (in words) each relationship according to the pedigree. The descriptions are obtained with the verbalisr packagensim
, pvalThreshold
and seed
. By default nsim = 0
, meaning that no simulations are performed. The P-values are stored in the output column pval
.New function quickLR()
performs the most common kinship tests (paternity and sibship) for a pair of individuals.
New function ibdLoglik()
computes the pairwise likelihood for given set IBD coefficients (kappa or delta).
Improved progress bars using the pbapply
package.
Removed (long deprecated) IBDtriangle()
, replaced by ribd::ibdTriangle()
.
Improved missingPersonPlot()
appearance.
In ibdEstimate()
, more efficient data prep, and better removal of missing data.
Refresh code in examples.
Functions facilitating interaction with the Familias software have been moved to a dedicated package, pedFamilias. However, readFam()
and writeFam()
will continue to be re-exported from forrel for some time.
Remove dependency of pedmut.
In kinshipLR()
, improve checking of argument markers
.
New function writeFam()
.
readFam()
gains argument fallbackModel
to be applied if the function encounters unrecognisable mutation models in the .fam
file.
Remove use of packageVersion()
(thereby sidestepping CRAN issue).
Use pedtools::setMutmod()
instead of pedprobr::setMutationModel()
.
Update version requirements for imported packages.
readFam()
includes more input checks and gives better error/warning messages.readFam()
now handle all mutation models available in the Familias software.
readFam()
and Familias2ped()
gain argument prefixAdded
.
missingPersonLR()
manifesting when POI and MP have identical names.Added license statement GPL (>=2).
Expanded README, adding an example with conditional simulation.
Updated package documentation.
Fixed CRAN note by avoiding ibdsim2:::
.
profileSim(x, N = 1)
is now a single pedigree, instead of a list of length 1 (containing the pedigree). This is usually the desired output of N = 1
in interactive use. To override this behaviour, set simplify1 = FALSE
.Added dataset FORCE describing the FORCE snp panel (Tillmar et al, 2021, doi:10.3390/genes12121968).
profileSim()
has a new argument simplify1
(by default TRUE) controlling the output when N = 1
.
profileSim()
now allows markers
to be a list of frequency vectors, simplifying the code in unconditional simulations. For instance, the following command now works: nuclearPed() |> profileSim(markers = NorwegianFrequencies)
. Previously this required an intermediate step of setMarkers()
.
In kinshipLR()
the treatment of linked markers (with MERLIN) has been rewritten and is substantially more efficient. A new argument keepMerlin
allows to keep merlin files for debugging.
missingPersonLR()
was overhauled, making it more user friendly.
missingPersonPlot()
has been modified and updated in sync with changes in pedtools.
inherits()
instead of class()
.New function findExclusions()
for identifying incompatible markers in identification cases.
powerPlot()
gains a logical argument jitter
, which can be switched on to avoid overplotting.
checkPairwise()
gains an argument excludeInbred
, which is TRUE by default. This is sensible since the plot shows estimated kappa coefficients, which are well-behaved only for pairs of noninbred individuals.
forrel now requires R version 4.1 and recent versions of pedtools and ribd. This allowed many simplifications in code and examples.
Added scales as a suggested package.
The new function ibdEstimate()
replaces the previous IBDestimate()
(note the name change). This is a complete rewrite, which optimises the log-likelihood using a projected gradient descent algorithm, combined with a version of Armijo line search.
The function ibdBootstrap()
replaces the previous kappaBootstrap()
and deltaBootstrap()
, and is considerably faster. This function implements both parametric and non-parametric bootstrap, controlled with the method
parameter.
The output of ibdEstimate()
now has a class attribute "ibdEst", with its own print and subsetting methods.
kinshipLR()
now handles linked markers by wrapping MERLIN.
New functions kappaBootstrap()
and deltaBootstrap()
for assessing the uncertainty of pairwise relatedness estimates.
New function randomPersonEP()
handling a common special case of exclusionPower()
.
forrel now depends on version 0.9.6 (or later) of pedtools.
Deprecated arguments id.labels
and frametitles
in missingPersonPlot()
has been removed.
Implement parallelisation in profileSim()
.
Partial rewrite of kinshipLR()
, including new argument source
.
Added the NorwegianFrequencies
dataset, containing allele frequencies for 35 STR markers.
New function missingPersonLR()
.
New function checkPairwise()
replaces the (long obsolete) examineKinships()
.
New functions markerSimParametric()
and profileSimParametric()
for simulating marker data for two individuals with given kappa (or condensed identity) coefficients.
profileSim()
, fix bug resulting in identical seeds given to each parallel cluster.readFam()
now has a parameter Xchrom
which can be used to indicate that the markers included in the file are on the X chromosome
MPPsims()
is more flexible, and allows subsetting of its output.
powerPlot()
is more flexible and allows finer control of the plot contents
readFam()
. It is more robust now, and fails gracefully in certain situations which cannot currently be handled (e.g. if the file contains twins).