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 inread_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
fit
s without resetting the optimizer (BFGS approximation, etc) by allowing the output offit
to be used as the input to a newfit
. - Add the possibility of adding additional covariate information to existing
Subject
s using theSubject(subject; covariates, covariates_time)
constructor with. - Add the dose number information to
DataFrame
s in the:dosenum
column. Adosenum
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 usingNaivePooled
it can even be used to ignore all random effects. - Added the value of the dynamical system variables to the
DataFrame
constructed frominspect
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
andmean
functions forBootstrap
andSIR
based inference.
Bug fixes and minor improvements
- Remove an unintended fallback behavior where the
obstimes
information was set automatically to the range0: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
resultdiffeq_options
invcov
forPumasEMModels
. - Fixed undef var error in
EMModel
LaplaceI
if a model solution failed during a fit. - Improved show methods for
predict
results. - Return
NaN
forfindinfluential
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 to4
in MCMC. Previously, this could depend on the number of threads available. - Document default option values in
BayesMCMC
andMarginalMCMC
. - Fixed a bug that could cause
TimeToEvent
models to fail during fitting. - Fixed the
Constrained
domain'sinit
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
Subject
s. Can occur whenCSV.read
decides to use optimized string types. - Support
EnsembleSerial()
forvcov(::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 tosimobstte
. - Reenable the
fit
docstrings. - Add doc strings to macro blocks.
- Fixed typo in show method for
FittedPumasModelInspection
. - Fixed typo where
nnodes
was writtennodes
in thevpc
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 invpc
. - Mention keyword to change threshold value of
maxnumstrats
whenvpc
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.