Mouse-full-greyscale.png
 

PKPD Model Development and deployment

 

What is Ubiquity?

 
treadmill-monochrome.png

The Modeling Treadmill

Model development is an iterative process integrating  experimental information and clinical data to identify a structure that attempts to collectively explain observations. This structure is then written into a numerical programming framework to fit data or simply provide predictions. The predictions are then compared to observational data, emergent properties are verified by scientists with the relevant expertise, and hypotheses are postulated and tested.  During this process non-modelers may want to interrogate the model. Eventually, as projects move forward models need to be transferred to other modelers who may use different languages and software. There are several aspects of this process that, if improved upon, can make models much more useful.

 

Ubiquity is a set of modeling tools created to accelerate PKPD model development and deployment within an organization or institution. It is designed to make model development easier, reduce the pain when moving between modeling software, and provide a simple but customizable interface to allow other scientists to interrogate models. It is provide free under a BSD license with source code available in GitHub. There are three main challenges ubiquity attempts to address:

Beyond ODEs

While most languages are at most one step removed from the underlying programming language, ubiquity provides a layer of abstraction that allows for:

  • Parameter sets: Multiple parameterizations can be contained in the same model file

  • Process-centric model descriptions: Means of writing differential equations explicitly, use descriptors of the underlying processes, or a combination of these methods

  • Mathematical sets: Aspects of the system can be written using a set notation to take advantage of structural similarities between parts of the model to address repetitive tasks

Moving between Modeling Software/Programming Languages

To facilitate moving between software and languages, the ubiquity system file is translated into several different outputs. These outputs are created to be human readable. This means that parameter, state and output names are preserved and attempts are made to formate the files. This allows models to be shared between people with different technical backgrounds and is targeted at heterogenous modeling environments. Complete workflows are provided in both Matlab and R.

Deployment to scientists with limited technical expertise

To make models more broadly accessible a generic Shiny App is provided. This app can be run locally in team meetings in an interactive fashion for model exploration. The App can also be deployed on a shiny server. The default settings for the App can be easily modified with the ability to control plotting, controls, model descriptions and reports. The simulations can be saved with stand-alone R scripts to reproduce results independently.

 

 

Get Ubiquity

 

 
dl-r.png

R Workflow

A complete workflow in R is available to perform: pooled parameter estimation, individual/population based simulations, rule-based simulations for clinical trial design and modeling assays, deployment with a customizable 'Shiny' app, non-compartmental analysis, and integrated reporting with PowerPoint and Word. The link below will tell you what you need to get started and provide video tutorials to help get you started.

r.ubiquity.tools

 
dl-template.png

Analysis Template

To being a new analysis download a copy of the ubiquity analysis template. Simply follow the link below, unzip the file and start creating your system. You can start with the include template (system_template.txt) and uncomment the lines that are relevant for your system, or you can copy a file from the examples directory.

template.ubiquity.tools

 
dl-github.png

Source

The source code for the build script, supporting workflow files, output templates, etc. are all available at GitHub. These are provided with a BSD license to allow developers the flexibility to use ubiquity within their organization.