Pumas is a collection of a modules that facilitate workflows related to data analysis in the pre-clinical and clinical stages of drug development. This document provides a general overview of each of these workflows.
The core Pumas NLME workflow is:
- Define a
PumasEMModel. Both these models define the structure of the NLME model.
- Define a
Population. These structure specify the dosage regimens of the patients, their covariates, and possible observation data to fit against. This can be done programmatically or by reading in tabular input data.
- Define a
NamedTuplefor the parameters describing the structure of the
PumasEMModel. For simulation, these are the parameter values to simulate with. For estimation, these are the initial conditions.
- Call the model API functions (
fit) to perform the simulations and estimation. Both functions act on the pieces defined before.
- Post-process the results of a model or compare between different models using automated workflows such
- Generate automated reports of your model.
This workflow directly integrates with usage of the Julia language. For example, one may define Julia functions and use these functions within the definition of a
PumasModel. Additionally, one may write loops that defines
Subjects or new random
params and use these in simulations via
simobs. Thus Pumas gives the core tools for handling NLME models but is a lean system that allows the user to seamlessly utilize the larger Julia ecosystem to solve their problem.
After fits and simulations are performed, the returned objects have smart defaults that allow for inspection. Each returned object has a
DataFrame overload so that
DataFrame(ret) displays the simulation or estimation as tabular data. Additionally, each returned object has a plotting function that gives a standardized plot (with options) of the simulation or estimation. All of the internal values are accessible and the fields are documented within the manual.
The NCA submodule works by:
- Defining an
NCAPopulation, either programmatically or by reading tabular data in the
- Running NCA functions on the subject or population, such as
NCA.auc, or generating a full NCA report using
Each of the NCA data objects have smart defaults that allow for inspection. Each of them has a plotting function that provides a standardized plot (with options) of the NCA data and results.
The Bioequivalence module works by:
- Reading in tabular data that support various designs
- Perform the bioequivalence analysis on the tabular data using
The optimal design module of Pumas currently includes sample time optimization. The sample time optimization workflow in Pumas is:
- Define the model and subject template or population
- Define time windows in human readable times and dates
- Define resource and logistic constraints
- Choose the optimality type (D/A/T optimality)
- Optimize the sample times
- View the optimal sample times for each subject in human readable times and dates