RZooRoH 0.4.2
- Improved memory usage - in particular for parallel computing
- More efficient computation of allele frequencies (C functions)
- Improved management of convergence problems:
- possibility to automatically restart analysis in case of convergence
problems by providing multiple optim methods or starting values for
mixing coefficients,
- improved error message, information on problematic individuals (or
pairs),
- added
@optimerr slot to kinship results
- Improved numerical properties for ‘Interval’ models (better
stability with very low values)
- New modelling of the minimum rate in MixKL models (compatible with
more optim methods)
- New options to provide map directly in cM or in physical position
but with a cM-to-Mb ratio different from 1
- Added new accessor functions for kinship results (update and merge),
extended update and merge functions to IBD analyses
- Added new accessor function to estimate inbreeding coefficients
based on identified HBD segments
- Corrections of minor bugs
- Updated documentation according to changes and clarified links
between mixing coefficients and inbreeding rates per layer, and between
“rates” and rates of coancestry changes
- Updated documentation on conversions (using PLINK2 and dosage
formats)
- Modifications to the vignette, including advice for memory
management and handling convergence problems
- Set freqem to TRUE by default
- Updated citations
RZooRoH 0.4.3
- Optimization of the Viterbi algorithm: improved efficiency for
identical results
- Replacement of sums over generations by exact closed forms (faster,
same results)
- RecTable: new logarithmic grid (1 bp to 1 Gb) with a uniform error
< 0.5% (the best value of the previous grid), without the former 100
bp floor
- Fixed handling of optim failures in zoorun() and zookin(): no more
crash when optim returns an error, and results are now correctly kept
when a run converges after an automatic relaunch (additional_zmix or
multiple optim_methods). Failed runs are reported with zeros (optimerr =
99)
- Corrected bug when running Viterbi with the step function and
without parameter estimation
- Fixed small bug of error reporting (in case of single error)
- Forward-backward: guard against division by zero when emission or
initial (stationary) state probabilities are extremely low or zero
- RecTable: fixed incorrect indexing for marker spacings > 100 Mb
(and > 1000 Mb)
- Mixing coefficients in
mixkl and
step_mixkl models are now bounded above by a fixed value of
0.999 (in addition to the lower bound minmix). This avoids
numerical problems when a single class captures almost all autozygosity,
with negligible impact on estimates in practice
- The transformation between optimized parameters and mixing
coefficients now uses
plogis()/qlogis(), which
are numerically stable for extreme values (the previous form could
return NaN)
- Fixed the
@realized slot for step_mixkl
models run without localhbd: it stored the full
Forward-Backward output instead of the realized autozygosity
proportions
- Improved numerical stability of the likelihood, Forward-Backward and
Viterbi routines for layer models (“SingleRate” HBD classes)
- Emission probabilities are now bounded below by 1e-12 to avoid
numerical failures when an observation is impossible under the model,
e.g. a genotype incompatible with an allele frequency of zero, or
extreme read depths with the “ad” format. The bound has no effect on
realistic data
- Fix mixc length (rep(0, K2)) after optimization failure in Step
models
- Internal code simplifications in
lik_kl() (no change in
results)
- Updated help pages, vignette and citations, notably regarding the
trim_ad option, MAF filtering, minmix usage,
starting values for interval models and the new rectable.