Skip to content
Kyle Baron edited this page Apr 15, 2016 · 13 revisions
library(mrgsolve)
library(rbenchmark)
library(dplyr)
library(magrittr)

$NMXML

There is a NONMEM run embedded in the mrgsolve package

path <- file.path(path.package("mrgsolve"),"nonmem")
list.files(path, recursive=TRUE)
.  [1] "1005/1005.cat"    "1005/1005.coi"    "1005/1005.cor"   
.  [4] "1005/1005.cov"    "1005/1005.cpu"    "1005/1005.ctl"   
.  [7] "1005/1005.ext"    "1005/1005.grd"    "1005/1005.lst"   
. [10] "1005/1005.phi"    "1005/1005.shk"    "1005/1005.shm"   
. [13] "1005/1005.tab"    "1005/1005.xml"    "1005/1005par.tab"
. [16] "1005/INTER"

We can create a mrgsolve control stream that will import THETA, OMEGA and SIGMA from that run using the $NMXML code block.

code <- '
$NMXML
run = 1005
project=path
theta=TRUE, omega=TRUE,sigma=TRUE
olabels = s(ECL, EVC, EKA)
slabels = s(PROP, ADD)

$MAIN
pred_CL = THETA1*exp(ECL);
pred_V2 = THETA2*exp(EVC);
pred_KA = THETA3*exp(EKA);
pred_Q = THETA4;
pred_V3 = THETA5;

$ADVAN4
$CMT GUT CENT PERIPH

$TABLE
table(CP) = (CENT/pred_V2)*(1+PROP) + ADD/50;

$SET delta=4, end=96
'

NOTE: in order to use this code, we need to install the XML package.

mod <- mcode("nmxml", code, warn=FALSE ,quiet=TRUE)
. Loading required namespace: XML
mod
. 
. 
. -------- mrgsolve model object (unix) --------
.   Project: /private/var/fol...dbsj0x4637ptj4hnd7kg900000gp/T/Rtmp3G4eW1
.   source:        nmxml.cpp
.   shared object: 2a796d0508df (loaded)
. 
.   compile date:  04/15 00:08
.   Time:          start: 0 end: 96 delta: 4
.   >              add: <none>
.   >              tscale: 1
. 
.   Compartments:  GUT CENT PERIPH [3]
.   Parameters:    THETA1 THETA2 THETA3 THETA4 THETA5 THETA6
.   >              THETA7 [7]
.   Omega:         3x3 
.   Sigma:         2x2 
. 
.   Solver:        atol: 1e-08 rtol: 1e-08
.   >              maxsteps: 2000 hmin: 0 hmax: 0
param(mod)
. 
.  Model parameters (N=7):
.  name   value  . name   value
.  THETA1 9.51   | THETA5 113  
.  THETA2 22.8   | THETA6 1.02 
.  THETA3 0.0714 | THETA7 1.19 
.  THETA4 3.47   | .      .
revar(mod)
. $omega
. $...
.              [,1]        [,2]        [,3]
. ECL:   0.21387884  0.12077020 -0.01162777
. EVC:   0.12077020  0.09451047 -0.03720637
. EKA:  -0.01162777 -0.03720637  0.04656315
. 
. 
. $sigma
. $...
.              [,1]      [,2]
. PROP:  0.04917071 0.0000000
. ADD:   0.00000000 0.2017688

Infusion into GUT

set.seed(2922)
mod %>%
  ev(amt=1000, rate=1000/36, cmt="GUT") %>%
  mrgsim(nid=10) %>%
  plot
devtools::session_info()
. Session info --------------------------------------------------------------

.  setting  value                       
.  version  R version 3.2.3 (2015-12-10)
.  system   x86_64, darwin13.4.0        
.  ui       X11                         
.  language (EN)                        
.  collate  en_US.UTF-8                 
.  tz       America/Chicago             
.  date     2016-04-15

. Packages ------------------------------------------------------------------

.  package    * version     date       source        
.  assertthat   0.1         2013-11-08 local         
.  DBI          0.3.1       2014-09-24 CRAN (R 3.1.1)
.  devtools     1.10.0      2016-01-23 CRAN (R 3.2.1)
.  digest       0.6.9       2016-01-08 CRAN (R 3.2.1)
.  dplyr      * 0.4.3       2015-09-01 CRAN (R 3.2.1)
.  evaluate     0.8.3       2016-03-05 CRAN (R 3.2.3)
.  formatR      1.3         2016-03-05 CRAN (R 3.2.3)
.  htmltools    0.3.5       2016-03-21 CRAN (R 3.2.3)
.  knitr      * 1.12.3      2016-01-22 CRAN (R 3.2.1)
.  lattice      0.20-33     2015-07-14 CRAN (R 3.2.3)
.  lazyeval     0.1.10      2015-01-02 CRAN (R 3.1.2)
.  magrittr   * 1.5         2014-11-22 CRAN (R 3.1.2)
.  memoise      1.0.0       2016-01-29 CRAN (R 3.2.1)
.  mrgsolve   * 0.5.12.9000 2016-04-14 local         
.  R6           2.1.2       2016-01-26 CRAN (R 3.2.3)
.  rbenchmark * 1.0.0       2012-08-30 CRAN (R 3.0.3)
.  Rcpp         0.12.4      2016-03-26 CRAN (R 3.2.3)
.  rmarkdown    0.9.5       2016-02-22 CRAN (R 3.2.3)
.  stringi      1.0-1       2015-10-22 CRAN (R 3.2.1)
.  stringr      1.0.0       2015-04-30 CRAN (R 3.1.3)
.  XML          3.98-1.4    2016-03-01 CRAN (R 3.2.3)
.  yaml         2.1.13      2014-06-12 CRAN (R 3.0.2)
Clone this wiki locally