Release Notes for Pumas 2.4.0

Pumas

Features

  • Automatic covariate selection methods were added to Pumas. Currently supported methods are forward and backwards stepwise covariate modeling. Covariate search supports distributed parallelism that allows for large scale covariate modeling using the JuliaHub infrastructure.
  • A @delay macro was added to support smoothly delayed dosing as an alternative to the lags dose control parameter. Transit compartments are supported through this new feature, including estimation of the number of transit compartments through the Gamma delay model.
  • Solution of steady state models are now faster thanks to the use of Anderson Acceleration. Several general improvements to the code was also made and it is now possible to tweak the steady state solver through an customizable options.
  • Allow for missingstring input in read_pumas(filepath, ...; missingstring, ...) to create populations directly from a filepath with more flexibility.
  • Introduce the discard function to discard burn-in/warmup samples and thin the samples after Bayesian inference is done.
  • Allow for continuation of fits without resetting the optimizer (BFGS approximation, etc) by allowing the output of fit to be used as the input to a new fit.
  • Add the possibility of adding additional covariate information to existing Subjects using the Subject(subject; covariates, covariates_time) constructor with.
  • Add the dose number information to DataFrames in the :dosenum column. A dosenum function is also available to be used in models.
  • Support zero variance specifications for random effects using the constantcoef keyword. This can be used to ignore specific random effects when fitting. When using NaivePooled it can even be used to ignore all random effects.
  • Added the value of the dynamical system variables to the DataFrame constructed from inspect output.
  • Added a cor2cov function to allow for non-centered parametrization of multivariate normal distributions for Bayesian inference.
  • Add support for :=-definitions in @init block to allow for untracted intermediate calculations.
  • Allow the user to call simobs with a new subject using the posterior distribution of an existing subject using the output of a Bayesian inference run.
  • Added vcov and mean functions for Bootstrap and SIR based inference.

Bug fixes and minor improvements

  • Remove an unintended fallback behavior where the obstimes information was set automatically to the range 0:24 if no observation times had been provided. Instead, an error is now thrown with instructions on how to correctly provide the missing information.
  • Use fit result diffeq_options in vcov for PumasEMModels.
  • Fixed undef var error in EMModel LaplaceI if a model solution failed during a fit.
  • Improved show methods for predict results.
  • Return NaN for findinfluential calculations if the log-likelihood evaluation failed for numerical reasons, but re-throw the error if the evaluation failed for any other type of error.
  • Fixed default nchains value to 4 in MCMC. Previously, this could depend on the number of threads available.
  • Document default option values in BayesMCMC and MarginalMCMC.
  • Fixed a bug that could cause TimeToEvent models to fail during fitting.
  • Fixed the Constrained domain's init keyword to work. Previously, it was always set to zero.
  • Fixed bug in use of Constrained univariate distributions.
  • Fixed code that would issue a warning when running simobs for Bayesian analyses due to unused keyword arguments being passed on.
  • Fix param use in simobs of a single subject. Previously, the function would not sample parameters from their prior.
  • Support fixed width strings in Subjects. Can occur when CSV.read decides to use optimized string types.
  • Support EnsembleSerial() for vcov(::FittedPumasEMModel).
  • Improve performance of code that solves large systems of linear ODEs.
  • Speed up DataFrame constructor for SimulatedPopulation by avoiding unnecessary copies of data.
  • Avoid allocations in the @tad function.
  • Base tolerances of steady state solver on numerical integration tolerances.
  • Warn users if fixed-point solver did not converge with steady state dynamics.
  • Limit the numerical integration tolerances when calculating the default variance-covariance matrix using infer.
  • Allow passing integer maxT value to simobstte.
  • Reenable the fit docstrings.
  • Add doc strings to macro blocks.
  • Fixed typo in show method for FittedPumasModelInspection.
  • Fixed typo where nnodes was written nodes in the vpc docstring.
  • Fixed vpc error messages when nodes argument is invalid. Previously, a non-sensical error message was shown.
  • Throw an error if both obstimes and subject times are not set in vpc.
  • Mention keyword to change threshold value of maxnumstratswhen vpc warns that a stratification variable has too many unique values.
  • Change EVID to evid in a read_pumas error message.
  • Fixed language errors in predict docstring.
  • Remove trailing newlines in show methods.

Pumas Utilities

Features

Bug fixes and minor improvements

Bioequivalence

Features

Bug fixes and minor improvements

NCA

Features

Bug fixes and minor improvements