Published May 28, 2024
| Version v2.18.0
Software
Open
matthewwolak/nadiv: v2.18.0
Description
2.18.0
NEW
makeDiiF()can now be given coefficients of inbreeding. Facilitates either:- calculating
fin a new generation of the pedigree iffhas already been calculated for previous generations - creating a "phantom parent" to all founders to specify an average coefficient of inbreeding in the base population.
- can be used to speed up simulations where breeding values are calculated based on mid-parent value plus Mendelian sampling deviation (that needs to account for inbreeding of parents).
- calculating
Major changes
proLik()(andproLik4()) REMOVED from the package.- these functions were only to facilitate advanced use of the
asremlR package (which requires purchasing an expensive license) and due to the unstable behavior ofasremldiscovered when revisingproLik()it was decided thatnadivshould no longer support this other package in this way. - Instead, time will be spent improving the
gremlinR package for a replacement toasreml.
- these functions were only to facilitate advanced use of the
makeA()was affected by a bug inMatrix<1.6-0Matrix::chol2inv()bug highlighted a messy order of operations innadiv- now perfected the order of operations and explicitly use
tcrossprod()andsolve()which are just whatchol2inv()uses- done to be more explicit in
nadivand take 1 step away from future bugs like this
- done to be more explicit in
- checked speed and memory profiling for several options of types of matrices
- dtCMatrix is best for time (tried "dtrMatrix" and "dtpMatrix", but these were much slower.
chol2inv()andtcrossprod(solve())allocated same amount of memory according toprofmempackage
bug in
makeAinv(),makeGGAinv(), andmakeDiiF()caused coefficients of inbreeding (f) and Mendelian sampling variances (dii) to be ordered incorrectly- this did not cause matrices from these functions to be incorrect (e.g., Ainv, Tinv, and their related matrices), but did cause matrices built directly from
diito be incorrect - namely the A matrix frommakeA()and so consequently anything built from A (i.e., dominance and epistatic relatedness matrices throughmakeD()etc.) - this was FIXED with details in the commit
- this did not cause matrices from these functions to be incorrect (e.g., Ainv, Tinv, and their related matrices), but did cause matrices built directly from
Small changes
nadivversion 2.17.2 caused CRAN to archive due to error induced byMatrixupdates- Mikael Jagan (
Matrixauthor) helpfully provided excellent explanations and patches - errors in
nadivcode caused by new methods forall.equal()andrbind2() - removed methods
is.numPed()andis.proLik()- hardly use first and never second plus they just call
inherits()
- hardly use first and never second plus they just call
- Mikael Jagan (
Files
matthewwolak/nadiv-v2.18.0.zip
Files
(788.2 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:bd4b6fcddd746fb4901eb4bb063cca46
|
788.2 kB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/matthewwolak/nadiv/tree/v2.18.0 (URL)