-
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:- a new argument
plotType
can be either "base" (default), "ggplot" or "plotly" - the plotting is now done in a separate function
plotCP()
which is also exported - a new argument
ids
, which when given restricts the checks to those individuals - the output column
LR
is renamed toGLR
(generalised likelihood ratio) - new output column
pedrel
describing (in words) each relationship according to the pedigree. The descriptions are obtained with the verbalisr package - estimation of P-values for each pairwise relationship, by parametric bootstrap simulations. This feature is controlled through new arguments
nsim
,pvalThreshold
andseed
. By defaultnsim = 0
, meaning that no simulations are performed. The P-values are stored in the output columnpval
.
- a new argument
-
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 byribd::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()
andwriteFam()
will continue to be re-exported from forrel for some time. -
Remove dependency of pedmut.
-
In
kinshipLR()
, improve checking of argumentmarkers
.
-
New function
writeFam()
. -
readFam()
gains argumentfallbackModel
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 ofpedprobr::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()
andFamilias2ped()
gain argumentprefixAdded
.
- Fixed bug in
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:::
.
- The default output of
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 ofN = 1
in interactive use. To override this behaviour, setsimplify1 = FALSE
.
-
Added dataset FORCE describing the FORCE snp panel (Tillmar et al, 2021, doi:10.3390/genes12121968).
-
profileSim()
has a new argumentsimplify1
(by default TRUE) controlling the output whenN = 1
. -
profileSim()
now allowsmarkers
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 ofsetMarkers()
. -
In
kinshipLR()
the treatment of linked markers (with MERLIN) has been rewritten and is substantially more efficient. A new argumentkeepMerlin
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.
- Fix CRAN complaint: Use
inherits()
instead ofclass()
.
-
New function
findExclusions()
for identifying incompatible markers in identification cases. -
powerPlot()
gains a logical argumentjitter
, which can be switched on to avoid overplotting. -
checkPairwise()
gains an argumentexcludeInbred
, 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 previousIBDestimate()
(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 previouskappaBootstrap()
anddeltaBootstrap()
, and is considerably faster. This function implements both parametric and non-parametric bootstrap, controlled with themethod
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()
anddeltaBootstrap()
for assessing the uncertainty of pairwise relatedness estimates. -
New function
randomPersonEP()
handling a common special case ofexclusionPower()
.
-
forrel now depends on version 0.9.6 (or later) of pedtools.
-
Deprecated arguments
id.labels
andframetitles
inmissingPersonPlot()
has been removed.
-
Implement parallelisation in
profileSim()
. -
Partial rewrite of
kinshipLR()
, including new argumentsource
. -
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()
andprofileSimParametric()
for simulating marker data for two individuals with given kappa (or condensed identity) coefficients.
- In
profileSim()
, fix bug resulting in identical seeds given to each parallel cluster.
-
readFam()
now has a parameterXchrom
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
- Fixed several glitches in
readFam()
. It is more robust now, and fails gracefully in certain situations which cannot currently be handled (e.g. if the file contains twins).
- Initial CRAN release