Changes in version 0.6.2 (2026-03-19) 26/02/2026 - Improved error checks in deconvolute() to help with issue #20. New features - Add measurement of bias and variance to tune_deconv(). - Add plot_tunevar() to compare MSE, bias^2 and variance. - Add S3 method for kappa() to compute the condition number of the spillover matrix. - Add plot_path() to show how the coefficient paths vary with compensation for either a single bulk sample or a cell subclass. - Add plot_pred() as an alternative to plot_set() for viewing predicted vs observed results from simulations in a single correlation plot. - Add zero_fraction argument to generate_samples(). Changes in version 0.6.1 13/01/2026 - Fix subtle division by near 0 issue in nest_output New features - Massive speed up of deconvolute(). - Add ridge parameter lambda to deconvolute() [experimental]. - Add resvar metric to tune_deconv() to examine residual variance of bulk gene expression. Important change - deconvolute() no longer returns se and hat in the subclass list element. Standard errors can be obtained with the new function se(). - cores argument has been removed from deconvolute() Important bugfix - R 4.5.2 for macOS arm64 (Apple M* Macs) has switched to using a faster BLAS (vecLib?) by default, which causes errors with parallelisation in mclapply(). The problem is isolated to R 4.5.2 arm64 for macOS on M* Macs; or any version of R for macOS including intel, if vecLib BLAS is being used via a symlink. The solution is to use cores = 1 with deconvolute() and tune_deconv() whenever vecLib BLAS is in use. - Removed use of pbmcapply::pbmclapply() as this caused problems with R 4.5.2 for macOS arm64 (Apple M* Macs) even with cores=1. This fixes indefinite hanging in tune_deconv() associated with vecLib BLAS. Changes in version 0.5.7 (2025-12-11) 11/12/2025 - Change log argument in deconvolute() to logged_bulk. NB. this is a change of logic. Changes in version 0.5.6 07/10/2025 - Add residuals.deconv() to allow recalculation of full residuals matrix. Changes in version 0.5.5 10/09/2025 - Fix bug in mergeMarkers() if cellMarkers object has no cell grouping vector. Changes in version 0.5.4 (2025-09-15) 09/09/2025 - Fix CRAN checks - Switch from using cat() to message() Changes in version 0.5.3 26/08/2025 - Massive speed up (4-5x) in compensation optimisation Changes in version 0.5.2 30/07/2025 - Expanded to 3 methods for identifying outlier genes (var.e, Cook's distance, Studentized residuals) - Improved (nested) parallelisation of tune_deconv() - Rewrite weights code (faster) Changes in version 0.5.0 14/07/2025 - Calculation of SE - Detection and multipass removal of problematic genes with extreme residuals Changes in version 0.2.0 24/01/2025 - This is the initial build of cellGeometry