Pumas version 0.14.0 (Pumas Beta v1.0) released

A new release of Pumas is now available in the JuliaProRegistry. You can upgrade your current installation of Pumas by simply running ] up Pumas at the command prompt in JuliaPro.
The new release is a beta release, and this means that we have a so-called feature freeze. This means that all breaking changes and all feature additions have been made for what will become Pumas v1.0. This also means that we have included some final breaking changes, so please consult the release notes below if code that used to work no longer works.

Release Notes for Pumas v0.14.0

Features and improvements

  • Add VPC for continuous outcomes
  • Add Time-to-event distribution type to allow single and repeated time to event analysis
  • Add support for continuous-time Markov models using the functional interface
  • Change ordering of internal operations in variance-covarinace matrix, vcov(::FittedPumasModel), calculations.
  • Check that all elements of the @param block are present in the input parameter NamedTuple in fit, simobs and solve for Populations
  • Use automatic differentiation for NaivePooled and FO
  • Introduce a check for gradient elements that are exactly zero as these indicate bad starting values or problems with identifiability
  • Add a method to cond so it can be called on a FittedPumasModel to get the condition number of the variance-covariance matrix
  • Support evid=3 and evid=4 in read_pumas
  • Add explicit check that all required variables are present in @pre when using analytical solutions
  • Add likelihood ratio test (lrtest and pvalue)
  • Allow mixed number of doses in a population in NCA analysis
  • Add parallelization in simobs when simulating for several parameter inputs at once
  • Add convenience methods to predict to predict from a FittedPumasModel onto a new dataset
  • Add probstable that returns the probabilities of discrete observed outcomes. Can be converted to a DataFrame.
  • Add paralellization to simulated diagnostic functions
  • Improve DosageRegimen docstring
  • Improve error messages in NCA
  • Introduce icoef to extract subject-specific variables. Can be converted to a DataFrame.
  • Make bootstrap output a FittedPumasModelInference struct
  • Add liftunits2header as post-processing of NCAReport


  • Unexport ConstDomain usage in @param. Use constantcoef in fit instead.
  • Use η=0 for population predictions and η=η* for individual predictions
  • Rename keywords obs and dvs to observations, cvs to covariates, evs to events, and times to time


  • Fix behavior in mixed (analytical and numerical) models due to changes in RecursiveArrayTools
  • Fix order of rows in NCAReport to be sorted by (id, group)
  • Superposition fixes
  • Keep id when creating a Subject from a SimulatedObservations
  • Require that input covariates are NamedTuples in the Subject to avoid a common mistake of omitting a comma (an assignment(a=1) vs a NamedTuple (a=1,))
  • Correctly pass the option to show progress information to internal functions when doing Bayesian inference.
  • Fix bug in handling of multiple dosage regimens in models with analytical solutions
  • Fix bug in ϵshrinkage when subjects don’t have the same number of observations
  • Fix bug in bic when there are multiple dependent variables and dependent variables with missing values
  • Fix various bugs in the DataFrame constructor for Subject. This includes cases with time-varying covariates, no observations, and no events.
  • Allow for placebo subjects (no events) in analytical models
  • Fix issues of proper extraction of dependent variables when constructing a Subject from a SimulatedSubject
  • Fix alignment of output in printing Vector{<:FittedPumasModels}
  • Fix bug in Central1Peripheral1Metab1


  • RecursiveArrayTools versions 2.x are now supported
  • DataInterpolations version 3.0 is now supported
  • Optim versions 0.21, 0.22 now supported
  • DataFrames 0.21. is now supported
  • CSV version 0.7 now supported
  • MCMCChains v4.0 now supported
  • We now require Roots (v1.0)
  • Remove GLM dependency