Skip to content
Kyle Baron edited this page Jan 7, 2019 · 13 revisions

Metrum Research Group

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
olabels = c("ECL", "EVC", "EKA")
slabels = c("PROP", "ADD")

$MAIN
double CL = THETA1*exp(ECL);
double V2 = THETA2*exp(EVC);
double KA = THETA3*exp(EKA);
double Q = THETA4;
double V3 = THETA5;

$PKMODEL ncmt=2, depot=TRUE

$CMT GUT CENT PERIPH

$TABLE
double CP = (CENT/V2)*(1+PROP) + ADD/5;

$CAPTURE CP

$SET delta=4, end=96
'

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

mod <- mcode("nmxml", code, quiet=TRUE)
. Loading required namespace: xml2
mod
. 
. 
. -------- mrgsolve model object (unix) --------
.   Project: /private/var/fol.../T/RtmpDCEwD2
.   source:        nmxml.cpp
.   shared object: nmxml-so-1536e10efb261 
. 
.   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.5.2 (2018-12-20)
.  os       macOS Sierra 10.12.6        
.  system   x86_64, darwin15.6.0        
.  ui       X11                         
.  language (EN)                        
.  collate  en_US.UTF-8                 
.  ctype    en_US.UTF-8                 
.  tz       America/Chicago             
.  date     2019-01-07                  
. 
. ─ Packages ──────────────────────────────────────────────────────────────
.  package       * version     date       lib source        
.  assertthat      0.2.0       2017-04-11 [1] CRAN (R 3.5.0)
.  backports       1.1.3       2018-12-14 [1] CRAN (R 3.5.0)
.  bindr           0.1.1       2018-03-13 [1] CRAN (R 3.5.0)
.  bindrcpp        0.2.2       2018-03-29 [1] CRAN (R 3.5.0)
.  callr           3.1.1       2018-12-21 [1] CRAN (R 3.5.0)
.  cli             1.0.1       2018-09-25 [1] CRAN (R 3.5.0)
.  crayon          1.3.4       2017-09-16 [1] CRAN (R 3.5.0)
.  desc            1.2.0       2018-05-01 [1] CRAN (R 3.5.0)
.  devtools        2.0.1       2018-10-26 [1] CRAN (R 3.5.2)
.  digest          0.6.18      2018-10-10 [1] CRAN (R 3.5.0)
.  dplyr         * 0.7.8       2018-11-10 [1] CRAN (R 3.5.0)
.  evaluate        0.12        2018-10-09 [1] CRAN (R 3.5.0)
.  fs              1.2.6       2018-08-23 [1] CRAN (R 3.5.0)
.  glue            1.3.0       2018-07-17 [1] CRAN (R 3.5.0)
.  highr           0.7         2018-06-09 [1] CRAN (R 3.5.0)
.  htmltools       0.3.6       2017-04-28 [1] CRAN (R 3.5.0)
.  knitr         * 1.21        2018-12-10 [1] CRAN (R 3.5.2)
.  lattice         0.20-38     2018-11-04 [2] CRAN (R 3.5.2)
.  magrittr      * 1.5         2014-11-22 [1] CRAN (R 3.5.0)
.  memoise         1.1.0       2017-04-21 [1] CRAN (R 3.5.0)
.  mrgsolve      * 0.8.12      2018-04-27 [1] CRAN (R 3.5.0)
.  pillar          1.3.1       2018-12-15 [1] CRAN (R 3.5.0)
.  pkgbuild        1.0.2       2018-10-16 [1] CRAN (R 3.5.0)
.  pkgconfig       2.0.2       2018-08-16 [1] CRAN (R 3.5.0)
.  pkgload         1.0.2       2018-10-29 [1] CRAN (R 3.5.0)
.  prettyunits     1.0.2       2015-07-13 [1] CRAN (R 3.5.0)
.  processx        3.2.1       2018-12-05 [1] CRAN (R 3.5.0)
.  ps              1.3.0       2018-12-21 [1] CRAN (R 3.5.0)
.  purrr           0.2.5       2018-05-29 [1] CRAN (R 3.5.0)
.  R6              2.3.0       2018-10-04 [1] CRAN (R 3.5.0)
.  rbenchmark    * 1.0.0       2012-08-30 [1] CRAN (R 3.5.0)
.  Rcpp            1.0.0       2018-11-07 [1] CRAN (R 3.5.0)
.  RcppArmadillo   0.9.200.5.0 2018-11-28 [1] CRAN (R 3.5.0)
.  remotes         2.0.2       2018-10-30 [1] CRAN (R 3.5.0)
.  rlang           0.3.0.1     2018-10-25 [1] CRAN (R 3.5.0)
.  rmarkdown       1.11        2018-12-08 [1] CRAN (R 3.5.0)
.  rprojroot       1.3-2       2018-01-03 [1] CRAN (R 3.5.0)
.  sessioninfo     1.1.1       2018-11-05 [1] CRAN (R 3.5.0)
.  stringi         1.2.4       2018-07-20 [1] CRAN (R 3.5.0)
.  stringr         1.3.1       2018-05-10 [1] CRAN (R 3.5.0)
.  testthat        2.0.1       2018-10-13 [1] CRAN (R 3.5.0)
.  tibble          1.4.2       2018-01-22 [1] CRAN (R 3.5.0)
.  tidyselect      0.2.5       2018-10-11 [1] CRAN (R 3.5.0)
.  usethis         1.4.0       2018-08-14 [1] CRAN (R 3.5.0)
.  withr           2.1.2       2018-03-15 [1] CRAN (R 3.5.0)
.  xfun            0.4         2018-10-23 [1] CRAN (R 3.5.0)
.  xml2            1.2.0       2018-01-24 [1] CRAN (R 3.5.0)
.  yaml            2.2.0       2018-07-25 [1] CRAN (R 3.5.0)
. 
. [1] /Users/kyleb/Rlibs
. [2] /Library/Frameworks/R.framework/Versions/3.5/Resources/library
Clone this wiki locally