Pumas (PharmaceUtical Modeling And Simulation) is a suite of tools for developing, simulating, fitting, and analyzing pharmaceutical models. The purpose of this framework is to bring efficient implementations of all aspects of pharmaceutical modeling under one cohesive package. While Pumas is still in alpha, the package currently includes:
- Specification of Nonlinear Mixed Effects (NLME) Models
- Automatic parallelization of NLME simulations
- Deep control over the differential equation solvers for high efficiency
- Estimation of NLME parameters via Maximum Likelihood and Bayesian methods
- Integrated Noncompartmental Analysis (NCA)
- Mixed analytical PK with numerical PD
- Interfacing with global optimizers for more accurate parameter estimates
- Simulation and estimation diagnostics
- Bioequivalence analysis
Additional features are under development, with the central goal being a complete clinical trial simulation engine which combines efficiency with a standardized workflow, consistent nomenclature, and automated report generation. All of this takes place in the high level interactive Julia programming language and integrates with the other packages in the Julia ecosystem for a robust user experience.
Pumas is covered by the Julia Computing EULA.
Getting Started: Installation and First Steps
Pumas is distributed via JuliaPro from Julia Computing Inc. Please install the current stable release of JuliaPro.
To add the
Pumas package, use the following commands inside the JuliaPro REPL:
using Pkg Pkg.add("Pumas")
To verify that the package has been correctly installed, you can run the command
Pkg.test("Pumas") which will run an internal verification suite to ensure accuracy. When installed, use the command:
to bring the functionality of Pumas into your REPL. Once done, you are ready to start using Pumas!
To start understanding the package in more detail, please checkout the tutorials at the start of this manual. We highly suggest that all new users start with the Introduction to Pumas tutorial! If you find any example where there seems to be an error, please open an issue.
For the most up to date information on using the package, please join the Slack channel.
Jupyter Notebook Tutorials
Extra tutorials are provided with the installation of Pumas. These tutorials are delivered in an interactive Jupyter notebook that allows you to follow along and tweak values to gain a better understanding. To install these tutorials and open the Jupyter notebooks in the browser, run the following commands:
using Pkg pkg"add https://github.com/PumasAI/PumasTutorials.jl" using PumasTutorials PumasTutorials.open_notebooks()
Annotated Table Of Contents
Below is an annotated table of contents with summaries to help guide you to the appropriate page. The materials shown here are links to the same materials in the sidebar. Additionally, you may use the search bar provided on the left to directly find the manual pages with the appropriate terms.
These tutorials give an "example first" approach to learning Pumas and establish the standardized nomenclature for the package. Additionally, ways of interfacing with the rest of the Julia ecosystem for visualization and statistics are demonstrated. Thus we highly recommend new users check out these tutorials before continuing into the manual. More tutorials can be found in the PumasTutorials.jl repository.
- Introduction to Pumas
The basics are the core principles of using Pumas. An overview introduces the user to the basic design tenants, and manual pages proceed to give details on the central functions and types used throughout Pumas.
- Overview of Pumas
- Defining NLME Models
- Dosage Regimens, Subjects, and Populations
- Simulation of Pumas Models
- Estimating Parameters of Pumas Models
- Noncompartmental Analysis (NCA)
- Frequently Asked Questions (FAQ)
This section of the documentation goes into more detail on the model components, specifying the possible domain types, dosage control parameters (DCP), and the various differential equation types for specifying problems with analytical solutions and alternative differential equations such as delay differential equations (DDEs), stochastic differential equations (SDEs), etc.
- Matching Parameter Types and Domains
- RealDomain and VectorDomain
- Positive-Definite Matrix Domains
- Distributional Domains
- Dosing Control Parameters (DCP)
- Dynamical Problem Types
This section of the documentation defines the analysis tooling. Essential tools such as diagnostics, plotting, report generation, and sensitivity analysis are discussed in detail in this portion.
- Simulation and Estimation Diagnostics
Pumas Development Team
The Pumas team is supported by the University of Maryland, Baltimore Center for Translational Medicine (CTM). Vijay Ivaturi is the project lead and Chris Rackauckas is the lead developer. For information on developing and supporting Pumas, please consult Vijay Ivaturi.