NONMEM History


What is NONMEM

NONMEM stands for NONlinear Mixed Effects Modeling. NONMEM is a computer program that is implemented in Fortran90/95.  It solves pharmaceutical statistical problems in which within subject and between subjects variability is taken into account when fitting a pharmacokinetic and/or pharmacodynamic (PK/PD) model to data.  The appropriate statistical analysis using the appropriate model helps pharmaceutical companies determine appropriate dosing strategies for their products, and increases their understanding of drug mechanisms and interactions.

NONMEM software was originally developed by Lewis Sheiner and Stuart Beal and the NONMEM Project Group at the University of California, and has been used for over 30 years for population analysis by many pharmaceutical companies and the PK/PD modeling community.  Its continued development and improvement by ICON Development Solutions assures pharmaceutical companies that they may continue to use the analysis tool with which they are familiar for present day pharmaceutical development.

PK/PD are data typically collected from clinical studies of pharmaceutics agents, involving the administration of a drug to individuals and the subsequent observation of drug, metabolite, and/or biomarker levels (most often in the blood, plasma, or urine), as well as clinical outcome measures. Proper modeling of these data involves accounting for both unexplainable inter- and intra-subject effects (random effects), as well as measured concomitant effects (fixed effects). NONMEM allows this mixed effect modeling. Such modeling is especially useful when there are only a few measurements from each individual sampled in the population, or when the data collection design varies considerably between these individuals.  However, NONMEM is a general program which can be used to fit models to a wide variety of data.

History of NONMEM Development

Date Version Sponsor/Medium/
Language
Components Added Documentation Added
(NONMEM Users Guide Series)
Description
1980  I UCSF
Fortran IV source code
IBM specific binaries
Magnetic tape
NONMEM (LS, SB): FO Part I Users Basic (SB)
Part II Users Supplemental (SB)
FO: Simultaneously discern variability of measured levels of drug or drug response (residual variance) within a subject (intra-subject effects), and variability of PK/PD parameters between subjects (inter-subject effects).

Method could determine how population PK/PD parameters related to patient characteristics, even when there were few data points per subject
1984 II Fortran 77 source code
All platforms (AB)
 
PREDPP I (SB, LS, AB): ADVAN1-6 Part VI PREDPP (SB) PREDPP: library of routines for specific PK models, designed by Stuart Beal and implemented by Alison Boeckmann

Reduced the mathematical barrier which users had to overcome. 
1989 III   PREDPP II (SB, LS, AB): ADVAN7-9

NM-TRAN I (AB)
Part IV NM-TRAN (SB)
Part V Introductory (AB,LB)
NM-TRAN: Data preprocessor and model translator, made it much easier for PK/PD models to be developed
1992 IV Floppy disks NONMEM (SB):
FOCE/Laplace
Interaction
Mixture models

PREDPP III: ALAG (AB), ADVAN10 (SB)

NM-TRAN II (AB)
Part III Installation (AB)
Instructions for Installation on DOS (WB)
Part VII Conditional Estimation Methods (SB)
FOCE: FO was fast, but very approximate. Sometimes inaccurate assessments occurred if residual error and/or inter-subject variability were large. Conditional method (FOCE), while also approximate, was more accurate for a larger variety of problems
1994     NONMEM Users Network
Internet
   
1996       On-line help (AB,LB,SB)
Part VIII Help (AB,LB,SB)
 
1998 V SETUP,SETUP.bat (AB)
NMFE (AB)
NSIZES,PSIZES,
TSIZES (SB,AB)
NONMEM (SB):
LIKELIHOOD (Non-normal Likelihood such as Discrete/ non-continuous observations; logistic regression)
Superproblems
Centering
Hybrid methods
Raw-data and Marginal Data Items

PREDPP IV (SB): ADVAN11-12

NM-TRAN III (AB):
$MIX
LAST20 (for Year 2000)
TRANSLATE
NONMEM V Supplemental (SB)  
2000-2001   Globomax: Licensing
distribution, additional platforms, support
CDROM, CDSETUP, CDSETUP.BAT (WB, AB)
  Readme (AB,WB)  
2006 VI 1.0 Icon Development Solutions acquires Globomax, NONMEM
Commented code
SIZES
NONMEM (SB): PRIOR
post-processing nonparametric estimation
Stieltjes method in NONMEM

PREDPP V (AB): MTIME

NM-TRAN IV (AB): $INFN
recursive abbreviated code
abbreviated functions
INCLUDE record
Introduction to Version VI (SB,TL,AB)
HTML On-line Help (TL, AB)
PDF versions of guides (TL, AB)
For many problems the speed and stability of the FOCE/
FOCE-INTERACTION method was improved over previous versions (SB).
2008 VI 2.0   NONMEM (TL,AB):
Default boundary test is user selectable
More items in a table file

PREDPP (AB)
Initial steady-state feature

NMTRAN(AB):
Eta partial derivatives G and H variables can be tabled
$PRIOR to replace user PRIOR subroutine.
Abbreviated code for implementing the PHI function (integral of normal density).
Abbreviated code for tabling each individual's contribution to the objective function value (TL, AB).
   
2009 7.1.0 Fortran 95, centralized global variable definitions (Nous Infosystems).
double precision throughout, including input data record
(Nous Infosystems).
Encrypted source code (AB).
License file (RB).
NONMEM (RB):
ITS: Iterative Two Stage
SAEM: Markov Chain Monte Carlo (MCMC) Stochastic Approximation Expectation Maximization (EM)
IMP: Monte Carlo importance sampling EM
BAYES: MCMC Bayesian Analysis
Additional output files for easy post-processing
Improved incidence of success with FOCE
Improved SuperProblem robustness (Nous)
Diagnostics CWRES, NPDE
SIGL: Better control of gradients in FOCE/Laplace
$COV: Reactivation of UNCONDITIONAL

PREDPP (RB): ADVAN13, Sequential application of estimation methods

NM-TRAN (AB, Nous): Increased flexibility such as 50 data items per record, more digits and E-field numeric notation allowed, 20 character data item names
Introduction to NONMEM Version 7 (RB) FOCE performance was further improved with converting all computations to double precision, and supplying additional user control (SIGL).  Advanced Monte Carlo estimation methods allow exact maximum likelihood estimation, removing bias often observed with FOCE in very sparse data (fewer observations per subject than parameters to be fitted), and with non-normally distributed data.
2010 7.1.2   Minor bugs fixed:
NONMEM (RB):
band symmetric matrices properly processed.
SLOW option automatically applied with single subject problems.
INTERACTION option more flexible with SAEM or MCMC.
MSF system transfers information properly.
Multiple sub-problems with simulation and estimation work correctly

PREDPP (AB,TL)
When SS=2, model is correctly evaluated

NMTRAN (RB, AB)
$COV properly interpreted regardless of position in control stream file.
Introduction to NONMEM Version 7.1.2. (RB)  
2011 7.2.0 Enhanced nmfe72 execution scripts to accommodate parallel computing and building executable to fit size of problem NONMEM:
Dynamic memory allocation (Nous),
Parallel computing estimation methods (Sale, Thomsen, RB),
OMEGA and SIGMA additionally outputted in correlation format (RB)
OMEGA and SIGMA may be inputted in correlation or Cholesky format (AB,RB)
XML markup version of the standard results output file (RB)
Features to facilitate stochastic differential equations (SDE) problems (RB)
additional improvements in Monte Carlo EM methods (RB)
MSF allows accurate resumption of advanced methods (RB)
$CHAIN record to allow initial parameter setting from a raw output file (RB)
Intermediate output from the Estimation Step for classical methods incudes native parameters (RB)
Alternative convergence criterion for FO/FOCE/Laplace (RB)

NM-TRAN (AB, Nous): Mixed case command and option entries allowed
Introduction to NONMEM Version 7.2.0 (RB)
Part V updated for NONMEM 7.2.0 (AB)
Memory dynamically allocated according to problem size.  No need to recompile the NONMEM program for unusually large problems.  Memory is automatically sized according to the number of parameters and number of subjects. User may override program generated suggested values using a statement in the control stream. Often for moderate sized problems, this results in much smaller memory usage, compared to the standard memory usage in NONMEM 7.1.2 and earlier.  Particularly helpful for parallel computing when using multiple cores on a single computer.
2013 7.3.0 Enhanced nmfe73 execution scripts to accommodate enhanced sizing options, and compiler location. NONMEM (RB, Nous): More efficient memory allocation for sizing problems, particularly for huge models with many parameters to be estimated. More mixed effects levels, with random effects across groups of individuals such as clinical site, may now be modeled. Sites themselves may be additionally grouped, such as by country, etc. Algorithms to assess optimal settings for Monte Carlo estimation methods. Algorithms to aid in global optimization of classical estimation methods. Enhanced non-parametric analysis methods.  

NMTRAN (AB, Nous): Expanded language facilities for the control stream file, such as handling repetitive code, symbolic references to indexed parameters, extending code across lines, up to 67000 characters.
Introduction to NONMEM Version 7.3.0 (RB) Part V, VIII updated for NONMEM 7.3.0 (AB) Part III installation for NONMEM 7.3 (RB) Enhanced electronic version of Part II (RB) More efficient memory allocation for sizing problems, particularly for huge models with many parameters to be estimated. More mixed effects levels, with random effects across groups of individuals such as clinical site, may now be modeled. Sites themselves may be additionally grouped, such as by country, etc.  Easy to code inter-occasion variability.  ETA’s can be referenced by an index variable related to the inter-occasion data item.  Symbolic reference to thetas, etas, and epsilons. Priors for SIGMA matrix may be added. Enhanced annealing feature for SAEM to facilitate estimation of fixed effect parameters (THETAs) that do not have associated inter-subject variance (ETA’s). Boot-strap simulations 

SB=Stuart Beal; LS=Lewis Sheiner; AB=Alison Boeckmann; TL=Thomas Ludden; WB=William Bachman; RB=Robert Bauer; Nous=Nous Infosystems, Inc.