Why NMproject?


NMproject’s initial outing (the “alpha” interface) was developed in AZ and internally had 83% voluntary user retention (“user” = someone with 5+ separate model development workflows) across 100s of analyses in all TAs. It was a prototype R package produced to demonstrate the concept of industrialising pharmacometric analyses via script based model development. Key benefits included:

  1. script-based model development workflows being used as the primary location to record modeller thoughts/notes/decisions alongside reproducible, re-executable code

  2. a code library to encourage standardisation and sharing of best coding practices

  3. compatibility with PsN and Pirana

  4. installable in a wide variety of infrastructures in multiple organisations, from standalone windows installations to large unix based clusters

New interface

This is the new “beta” interface. A completely redesigned syntax that address several shortcoming of the previous syntax and expands functionality. Why the redesign?

  • (New)End-to-end model development workflows/notebooks for people who want 100% control over their model files. The new interface is the only NONMEM interface (known to the author) that can record and replay manual edits to files (seemlessly) for 100% flexibility without breaking the end-to-end reproducibility.

  • (New)R Functions to automatically fill $INPUT, $DATA, $THETA,… elements as well as various other routine model file manipulations

  • (New)Import code library templates (via a shiny interface) and get to a working NONMEM model quickly and entirely within R. See demo.

  • (New)NMproject is the only R package (known to the author) with a vectorised model object allowing groups of models to be operated on using the same syntax as a single model.

  • (New)Custom NMproject implementations of bootstrap, cross-validation, PPCs, stepwise covariate selection, and simulation-re-estimation. All controllable on granular level using vectorised model objects.

  • Diagnostics and VPCs using your favourite packages (e.g., ‘xpose’, ‘vpc’, …)

  • (New)RStudio ‘Addins’ to streamline user experience.

  • Monitor runs via shiny app including interactive OFV vs iteration plots for convergence assessment.

  • Optional customisable analysis directory structure for consistent code organisation

  • (New)R markdown friendly. Pipe friendly

NMproject has been used to conduct exploratory analyses and submission work. Model based power calculations were performed with NMproject in collaboration with biostatistics to demonstrate feasibility, design (sample size and dose), and to plan interim decision points of a recently published oncology dose finding study using pharmacometric endpoints: video presentation


NMproject targetted towards mid to upper level R users. If you know what a pipe is, what Knitr is, you should be good. NMproject does not hide NONMEM from the user so users should be familiar with NONMEM coding. For advanced functionality, knowledge of dplyr will help to create complex workflows.

Getting started

The articles comprise the main documentation of NMproject. The easiest way to learn is to read them, watch the videos and follow through the demo.