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
@delaymacro 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
missingstringinput inread_pumas(filepath, ...; missingstring, ...)to create populations directly from a filepath with more flexibility. - Introduce the
discardfunction 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 offitto be used as the input to a newfit. - Add the possibility of adding additional covariate information to existing
Subjects using theSubject(subject; covariates, covariates_time)constructor with. - Add the dose number information to
DataFrames in the:dosenumcolumn. Adosenumfunction is also available to be used in models. - Support zero variance specifications for random effects using the
constantcoefkeyword. This can be used to ignore specific random effects when fitting. When usingNaivePooledit can even be used to ignore all random effects. - Added the value of the dynamical system variables to the
DataFrameconstructed frominspectoutput. - Added a
cor2covfunction to allow for non-centered parametrization of multivariate normal distributions for Bayesian inference. - Add support for
:=-definitions in@initblock to allow for untracted intermediate calculations. - Allow the user to call
simobswith a new subject using the posterior distribution of an existing subject using the output of a Bayesian inference run. - Added
vcovandmeanfunctions forBootstrapandSIRbased inference.
Bug fixes and minor improvements
- Remove an unintended fallback behavior where the
obstimesinformation was set automatically to the range0:24if no observation times had been provided. Instead, an error is now thrown with instructions on how to correctly provide the missing information. - Use
fitresultdiffeq_optionsinvcovforPumasEMModels. - Fixed undef var error in
EMModelLaplaceIif a model solution failed during a fit. - Improved show methods for
predictresults. - Return
NaNforfindinfluentialcalculations 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
nchainsvalue to4in MCMC. Previously, this could depend on the number of threads available. - Document default option values in
BayesMCMCandMarginalMCMC. - Fixed a bug that could cause
TimeToEventmodels to fail during fitting. - Fixed the
Constraineddomain'sinitkeyword to work. Previously, it was always set to zero. - Fixed bug in use of
Constrainedunivariate distributions. - Fixed code that would issue a warning when running
simobsfor Bayesian analyses due to unused keyword arguments being passed on. - Fix param use in
simobsof a single subject. Previously, the function would not sample parameters from their prior. - Support fixed width strings in
Subjects. Can occur whenCSV.readdecides to use optimized string types. - Support
EnsembleSerial()forvcov(::FittedPumasEMModel). - Improve performance of code that solves large systems of linear ODEs.
- Speed up
DataFrameconstructor for SimulatedPopulation by avoiding unnecessary copies of data. - Avoid allocations in the
@tadfunction. - 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
maxTvalue tosimobstte. - Reenable the
fitdocstrings. - Add doc strings to macro blocks.
- Fixed typo in show method for
FittedPumasModelInspection. - Fixed typo where
nnodeswas writtennodesin thevpcdocstring. - Fixed
vpcerror messages when nodes argument is invalid. Previously, a non-sensical error message was shown. - Throw an error if both
obstimesand subject times are not set invpc. - Mention keyword to change threshold value of
maxnumstratswhenvpcwarns that a stratification variable has too many unique values. - Change EVID to evid in a
read_pumaserror message. - Fixed language errors in
predictdocstring. - Remove trailing newlines in show methods.