Skip to contents

Xpose is an R-based model building aid for population analysis using NONMEM. It facilitates data set checkout, exploration and visualization, model diagnostics, candidate covariate identification and model comparison.

Details

Xpose takes output from NONMEM output and/or PsN output and generates graphs or other analyses. It is assumed that each NONMEM run can be uniquely identified by a run number (see section below for how to generate the appropriate input to Xpose). Xpose is implemented using the lattice graphics library.

The Xpose package can be divided up into six subsections (functions associated with each of the different subsections are linked in the "See Also" section):

Data Functions

Functions for managing the input data and manipulating the Xpose database.

Generic Functions

Generic wrapper functions around the lattice functions. These functions can be invoked by the user but require quite detailed instructions to generate the desired output.

Specific Functions

These functions are single purpose functions that generate specific output given only the Xpose database as input. The behavior can, to some extent, be influenced by the user.

Classic Functions

Xpose has a text based menu interface to make it simple for the user to invoke the Xpose specific functions. This interface is called Xpose Classic. Given the limitations a text based interface imposes, Xpose Classic is not very flexible but may be useful for quick assessment of a model and for learning to use Xpose.

PsN Functions

These functions are the interface between Xpose and PsN, i.e. they do not post-process NONMEM output but rather PsN output.

GAM Functions

Functions take an Xpose object and performs a generalized additive model (GAM) stepwise search for influential covariates on a single model parameter.

How to make NONMEM generate input to Xpose

Xpose recognizes NONMEM runs, and files associated to a particular run, though the run number. This is a number that is used in the name of NONMEM model files, output files and table files. The fundamental input to Xpose is one or more NONMEM table files. These table files should be named as below followed by the run number, for example xptab1 for run number 1. Xpose looks for files according to the following pattern, where * is your run number:

sdtab* Standard table file, containing ID, IDV, DV, PRED, IPRED, WRES, IWRES, RES, IRES, etc.

patab* Parameter table, containing model parameters - THETAs, ETAs and EPSes

catab* Categorical covariates, e.g. SEX, RACE

cotab* Continuous covariates, e.g. WT, AGE

extra*, mutab*, mytab*, xptab*, cwtab* Other variables you might need to have available to Xpose

run*.mod Model specification file

run*.lst NONMEM output

Strictly, only one table file is needed for xpose (for example sdtab* or xptab*). However, using patab*, cotab*, catab* will influence the way that Xpose interprets the data and are recommended to get full benefit from Xpose.

You can use code in NONMEM similar to the following to generate the tables you need. NONMEM automatically appends DV, PRED, WRES and RES unless NOAPPEND is specified. Don't forget to leave at least one blank line at the end of the NONMEM model specification file.

$TABLE ID TIME IPRED IWRES EVID MDV NOPRINT ONEHEADER FILE=sdtab1 $TABLE ID CL V2 KA K SLP KENZ NOPRINT ONEHEADER FILE=patab1 $TABLE ID WT HT AGE BMI PKG NOPRINT ONEHEADER FILE=cotab1 $TABLE ID SEX SMOK ALC NOPRINT ONEHEADER FILE=catab1

References

PsN

See also

Useful links:

Other data functions: add_transformed_columns, change_graphical_parameters, change_misc_parameters, compute.cwres(), data.checkout(), data_extract_or_assign, db.names(), export.graph.par(), export.variable.definitions(), import.graph.par(), import.variable.definitions(), make.sb.data(), nsim(), par_cov_summary, read.TTE.sim.data(), read.nm.tables(), read_NM_output, read_nm_table(), simprazExample(), tabulate.parameters(), xlabel(), xpose.data, xpose.print(), xsubset()

Other generic functions: gof(), xpose.multiple.plot

Other specific functions: absval.cwres.vs.cov.bw(), absval.cwres.vs.pred(), absval.cwres.vs.pred.by.cov(), absval.iwres.cwres.vs.ipred.pred(), absval.iwres.vs.cov.bw(), absval.iwres.vs.idv(), absval.iwres.vs.ipred(), absval.iwres.vs.ipred.by.cov(), absval.iwres.vs.pred(), absval.wres.vs.cov.bw(), absval.wres.vs.idv(), absval.wres.vs.pred(), absval.wres.vs.pred.by.cov(), absval_delta_vs_cov_model_comp, addit.gof(), autocorr.cwres(), autocorr.iwres(), autocorr.wres(), basic.gof(), basic.model.comp(), cat.dv.vs.idv.sb(), cat.pc(), cov.splom(), cwres.dist.hist(), cwres.dist.qq(), cwres.vs.cov(), cwres.vs.idv(), cwres.vs.idv.bw(), cwres.vs.pred(), cwres.vs.pred.bw(), cwres.wres.vs.idv(), cwres.wres.vs.pred(), dOFV.vs.cov(), dOFV.vs.id(), dOFV1.vs.dOFV2(), data.checkout(), dv.preds.vs.idv(), dv.vs.idv(), dv.vs.ipred(), dv.vs.ipred.by.cov(), dv.vs.ipred.by.idv(), dv.vs.pred(), dv.vs.pred.by.cov(), dv.vs.pred.by.idv(), dv.vs.pred.ipred(), gof(), ind.plots(), ind.plots.cwres.hist(), ind.plots.cwres.qq(), ipred.vs.idv(), iwres.dist.hist(), iwres.dist.qq(), iwres.vs.idv(), kaplan.plot(), par_cov_hist, par_cov_qq, parm.vs.cov(), parm.vs.parm(), pred.vs.idv(), ranpar.vs.cov(), runsum(), wres.dist.hist(), wres.dist.qq(), wres.vs.idv(), wres.vs.idv.bw(), wres.vs.pred(), wres.vs.pred.bw(), xpose.VPC(), xpose.VPC.both(), xpose.VPC.categorical()

Other classic functions: xpose4()

Other PsN functions: boot.hist(), bootscm.import(), npc.coverage(), randtest.hist(), read.npc.vpc.results(), read.vpctab(), xpose.VPC(), xpose.VPC.both(), xpose.VPC.categorical()

Other GAM functions: GAM_summary_and_plot, xp.get.disp(), xp.scope3(), xpose.bootgam(), xpose.gam()

Author

E. Niclas Jonsson, Mats Karlsson, Justin Wilkins and Andrew Hooker

Examples


if (FALSE) {
# run the classic interface
library(xpose4)
xpose4()
  
# command line interface  
library(xpose4)
xpdb <- xpose.data(5)
basic.gof(xpdb)
}