From ade9b9b773f9f7e84c03d19231c50126da79edea Mon Sep 17 00:00:00 2001 From: Andrew Santulli <46230355+Andy00000000000@users.noreply.github.com> Date: Mon, 10 Jun 2024 00:42:06 -0400 Subject: [PATCH] add vignette --- R/load_nonmem.R | 342 ++--- R/nonmem2mrgsolve.R | 164 +- R/writemrgsolve.R | 70 +- README.Rmd | 111 +- README.md | 173 ++- readme_images/vignette_01.PNG | Bin 0 -> 3572 bytes readme_images/vignette_02.PNG | Bin 0 -> 8905 bytes readme_images/vignette_03.PNG | Bin 0 -> 77959 bytes readme_images/vignette_04.PNG | Bin 0 -> 2679 bytes readme_images/vignette_05.PNG | Bin 0 -> 27234 bytes readme_images/vignette_06.PNG | Bin 0 -> 33671 bytes readme_images/vignette_07.PNG | Bin 0 -> 23213 bytes readme_images/vignette_08.PNG | Bin 0 -> 30933 bytes readme_images/vignette_09.PNG | Bin 0 -> 17305 bytes readme_images/vignette_10.PNG | Bin 0 -> 5690 bytes readme_images/vignette_11.PNG | Bin 0 -> 9362 bytes readme_images/vignette_12.PNG | Bin 0 -> 28901 bytes vignette/models/drugx-oral-1cmt-101/mod1.ctl | 60 + vignette/models/drugx-oral-1cmt-101/mod1.ext | 16 + vignette/models/drugx-oral-1cmt-101/mod1.lst | 671 +++++++++ .../mrgsolve_code_drugx-oral.R | 52 + .../run_nonmem2mrgsolve_drugx.R | 22 + .../evolocumab-tmdd-qss-pkpd-101/mod1.ctl | 198 +++ .../evolocumab-tmdd-qss-pkpd-101/mod1.ext | 15 + .../evolocumab-tmdd-qss-pkpd-101/mod1.lst | 1331 +++++++++++++++++ .../mrgsolve_code_evolocumab-tmdd.R | 103 ++ ...solve_code_evolocumab-tmdd_user-modified.R | 103 ++ .../run_nonmem2mrgsolve_evolocumab.R | 25 + vignette/models/mavoglurant-pbpk-101/mod1.ctl | 157 ++ vignette/models/mavoglurant-pbpk-101/mod1.ext | 50 + vignette/models/mavoglurant-pbpk-101/mod1.lst | 958 ++++++++++++ .../mrgsolve_code_mavoglurant-pbpk.R | 127 ++ ...olve_code_mavoglurant-pbpk_user-modified.R | 128 ++ .../run_nonmem2mrgsolve_mavoglurant.R | 28 + 34 files changed, 4608 insertions(+), 296 deletions(-) create mode 100644 readme_images/vignette_01.PNG create mode 100644 readme_images/vignette_02.PNG create mode 100644 readme_images/vignette_03.PNG create mode 100644 readme_images/vignette_04.PNG create mode 100644 readme_images/vignette_05.PNG create mode 100644 readme_images/vignette_06.PNG create mode 100644 readme_images/vignette_07.PNG create mode 100644 readme_images/vignette_08.PNG create mode 100644 readme_images/vignette_09.PNG create mode 100644 readme_images/vignette_10.PNG create mode 100644 readme_images/vignette_11.PNG create mode 100644 readme_images/vignette_12.PNG create mode 100644 vignette/models/drugx-oral-1cmt-101/mod1.ctl create mode 100644 vignette/models/drugx-oral-1cmt-101/mod1.ext create mode 100644 vignette/models/drugx-oral-1cmt-101/mod1.lst create mode 100644 vignette/models/drugx-oral-1cmt-101/mrgsolve_code_drugx-oral.R create mode 100644 vignette/models/drugx-oral-1cmt-101/run_nonmem2mrgsolve_drugx.R create mode 100644 vignette/models/evolocumab-tmdd-qss-pkpd-101/mod1.ctl create mode 100644 vignette/models/evolocumab-tmdd-qss-pkpd-101/mod1.ext create mode 100644 vignette/models/evolocumab-tmdd-qss-pkpd-101/mod1.lst create mode 100644 vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd.R create mode 100644 vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd_user-modified.R create mode 100644 vignette/models/evolocumab-tmdd-qss-pkpd-101/run_nonmem2mrgsolve_evolocumab.R create mode 100644 vignette/models/mavoglurant-pbpk-101/mod1.ctl create mode 100644 vignette/models/mavoglurant-pbpk-101/mod1.ext create mode 100644 vignette/models/mavoglurant-pbpk-101/mod1.lst create mode 100644 vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk.R create mode 100644 vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk_user-modified.R create mode 100644 vignette/models/mavoglurant-pbpk-101/run_nonmem2mrgsolve_mavoglurant.R diff --git a/R/load_nonmem.R b/R/load_nonmem.R index f8bedbf..21955f5 100644 --- a/R/load_nonmem.R +++ b/R/load_nonmem.R @@ -1,171 +1,171 @@ -## Loading Nonmem Files #### - -## FUNCTION LOAD CTL #### - -#' Load NONMEM ctl file into R -#' -#' Loads the NONMEM ctl file into R for translation to mrgsolve format. -#' -#' @param filename String of the NONMEM model name without the .ctl extension -#' @param dir String of the directory path to the NONMEM run files -#' -#' @return R dataframe of the NONMEM ctl file -#' -#' @examples -#' load_ctl(filename = "nonmem-model", dir = "path/to/directory/") -#' -#' @export -load_ctl <- function(filename = NULL, dir = ""){ - - ctl <- read.delim2(paste0(dir,filename,".ctl"), header = F) %>% - dplyr::mutate(V1 = trimws(V1, which = "both"))%>% # remove leading and trailing white space - dplyr::filter(substr(V1,1,1) != ";", V1 != "")%>% # remove white space or comment rows - dplyr::mutate(V1 = gsub(";.*","",V1))%>% # remove anything after comment - dplyr::mutate(FLG_BLOCK = ifelse(startsWith(V1, "$"), 1, 0))%>% # flag beginning of each block - dplyr::mutate(BLOCK = suppressWarnings(ifelse(FLG_BLOCK == 1, trimws(substr(V1,2,6), which = "both"), NA)))%>% # get block name - dplyr::mutate(BLOCK = zoo::na.locf(BLOCK, na.rm = F, fromLast = F)) # pull block name down until next block starts - - return(ctl) -} - -## FUNCTION LOAD EXT #### - -#' Load NONMEM ext file into R -#' -#' Loads the NONMEM ext file into R for capture of the final estimates. -#' -#' @param filename String of the NONMEM model name without the .ext extension -#' @param dir String of the directory path to the NONMEM run files -#' @param sigdig Numeric of the number of significant digits to round non-fixed thetas and etas to; -1 for no rounding -#' @param use.cnv Logical for whether to use the NONMEM cnv file for final parameter estimates instead of the ext file (\code{T} or \code{F}) -#' -#' @return R list of the NONMEM final OFV, parameter estimates, and IIV magnitudes -#' -#' @examples -#' load_ext(filename = "nonmem-model", dir = "path/to/directory/") -#' -#' @export -load_ext <- function(filename = NULL, dir = "", sigdig = -1, use.cnv = F){ - - ext00 <- read.table(paste0(dir,filename,".ext"),sep='',header=T,fill=T,na.strings=".", skip=1) - - if(class(ext00$ITERATION) != "numeric"){ - for(i in 1:ncol(ext00)){ - ext00[,i] <- as.numeric(ext00[,i]) - } - rm(i) - } - - if(use.cnv == T){ - - ext0 <- read.table(paste0(dir,filename,".cnv"),sep='',header=T,fill=T,na.strings =".",skip=1)%>% - dplyr::filter(ITERATION == -2000000000) - - }else{ - - ext0 <- ext00 %>% - dplyr::filter(ITERATION == -1000000000) %>% # NONMEM User Guide VIII for definition (final estimates) - dplyr::filter(dplyr::row_number() == max(dplyr::row_number())) - } - - tmpfixed <- ext00 %>% - dplyr::filter(ITERATION == -1000000006) %>% # NONMEM User Guide VIII for definition (fixed parameters) - dplyr::filter(dplyr::row_number() == max(dplyr::row_number())) - - if(sigdig > 0){ - omnofix <- tmpfixed[1,dplyr::starts_with("OMEGA", vars = colnames(tmpfixed))] - - if(class(omnofix)=="numeric"){ # 3/17/2024 fix load when only 1 IIV - omnofix <- data.frame("OMEGA.1.1." = omnofix) - } - - omnofix <- colnames(omnofix[which(omnofix[1,] != 1)]) - - if(length(omnofix)>0){ # 3/17/2024 fix load when all IIV fixed - tmpomnofix <- lapply(1:length(omnofix), function(i){ - nofixtmpa <- strsplit(trimws(omnofix[[i]]),"\\.") - return(data.frame(R = as.numeric(nofixtmpa[[1]][2]), C = as.numeric(nofixtmpa[[1]][3]))) - }) - omnofix <- dplyr::bind_rows(tmpomnofix) - }else{ - omnofix <- NULL - } - }else{ - omnofix <- NULL - } - - ext <- list(NITER = NA, OFV = NA, THETA = NA, OMEGA = NA) - - ext$NITER <- max(ext00$ITERATION) - ext$OFV <- ext0[1,which(substr(colnames(ext0),nchar(colnames(ext0))-2,nchar(ext0)) == "OBJ")] - ext$THETA <- ext0[1,dplyr::starts_with("THETA",vars = colnames(ext0))] - - tmpom0 <- ext0[1,dplyr::starts_with("OMEGA",vars = colnames(ext0))] - if(class(tmpom0)=="numeric"){ # 3/17/2024 fix load when only 1 IIV - tmpom0 <- data.frame("OMEGA.1.1." = tmpom0) - } - - tmpn <- strsplit(trimws(colnames(tmpom0)[ncol(tmpom0)]), "\\.") - tmpn <- as.numeric(tmpn[[1]][length(tmpn[[1]])]) - - tmpom2 <- matrix(data = 0, ncol = tmpn, nrow = tmpn) - colnames(tmpom2) <- paste0("OMEGA",1:tmpn) - rownames(tmpom2) <- paste0("OMEGA",1:tmpn) - - tmpom <- tmpom0[1, which(tmpom0 != 0)] - if(class(tmpom)=="numeric"){ # 3/17/2024 fix load when only 1 IIV - tmpom_val <- tmpom - tmpom <- data.frame() - tmpom[1,colnames(tmpom0)[which(tmpom0!=0)]] = tmpom_val - } - - if(length(tmpom)>0){ # 3/17/2024 fix error all IIV fixed to zero - for(i in 1:length(tmpom)){ - - tmp <- strsplit(trimws(colnames(tmpom)[i]),"\\.")[[1]] - tmpr <- as.numeric(tmp[2]) - tmpc <- as.numeric(tmp[3]) - - if(sigdig > 0 & !is.null(omnofix)){ # 3/17/2024 fix load when all iiv fixed - - omvalround <- tmpom[1,i] - - tmpa <- which(omnofix$R == tmpr) - - if(length(tmpa)>0){ - - tmpa <- omnofix[tmpa,] - tmpa <- which(tmpa$C == tmpc) - - if(length(tmpa)>0){ - - omvalround <- signif(tmpom[1,i], sigdig) - } - } - - tmpom2[tmpr,tmpc] <- omvalround - tmpom2[tmpc,tmpr] <- omvalround - - }else{ - - tmpom2[tmpr,tmpc] <- tmpom[1,i] - tmpom2[tmpc,tmpr] <- tmpom[1,i] - } - } - } - - ext$OMEGA <- tmpom2 - - if(sigdig > 0){ - - thnofix <- which(tmpfixed[1,dplyr::starts_with("THETA",vars = colnames(tmpfixed))] != 1) - - if(length(thnofix)>0){ - ext[["THETA"]][thnofix] <- signif(ext[["THETA"]][thnofix],sigdig) - } - } - - return(list(ext=ext,ext0=ext0)) -} - -## END #### +## Loading Nonmem Files #### + +## FUNCTION LOAD CTL #### + +#' Load NONMEM ctl file into R +#' +#' Loads the NONMEM ctl file into R for translation to mrgsolve format. +#' +#' @param filename String of the NONMEM model name without the .ctl extension +#' @param dir String of the directory path to the NONMEM run files +#' +#' @return R dataframe of the NONMEM ctl file +#' +#' @examples +#' # load_ctl(filename = "nonmem-model", dir = "path/to/directory/") +#' +#' @export +load_ctl <- function(filename = NULL, dir = ""){ + + ctl <- read.delim2(paste0(dir,filename,".ctl"), header = F) %>% + dplyr::mutate(V1 = trimws(V1, which = "both"))%>% # remove leading and trailing white space + dplyr::filter(substr(V1,1,1) != ";", V1 != "")%>% # remove white space or comment rows + dplyr::mutate(V1 = gsub(";.*","",V1))%>% # remove anything after comment + dplyr::mutate(FLG_BLOCK = ifelse(startsWith(V1, "$"), 1, 0))%>% # flag beginning of each block + dplyr::mutate(BLOCK = suppressWarnings(ifelse(FLG_BLOCK == 1, trimws(substr(V1,2,6), which = "both"), NA)))%>% # get block name + dplyr::mutate(BLOCK = zoo::na.locf(BLOCK, na.rm = F, fromLast = F)) # pull block name down until next block starts + + return(ctl) +} + +## FUNCTION LOAD EXT #### + +#' Load NONMEM ext file into R +#' +#' Loads the NONMEM ext file into R for capture of the final estimates. +#' +#' @param filename String of the NONMEM model name without the .ext extension +#' @param dir String of the directory path to the NONMEM run files +#' @param sigdig Numeric of the number of significant digits to round non-fixed thetas and etas to; -1 for no rounding +#' @param use.cnv Logical for whether to use the NONMEM cnv file for final parameter estimates instead of the ext file (\code{T} or \code{F}) +#' +#' @return R list of the NONMEM final OFV, parameter estimates, and IIV magnitudes +#' +#' @examples +#' load_ext(filename = "nonmem-model", dir = "path/to/directory/") +#' +#' @export +load_ext <- function(filename = NULL, dir = "", sigdig = -1, use.cnv = F){ + + ext00 <- read.table(paste0(dir,filename,".ext"),sep='',header=T,fill=T,na.strings=".", skip=1) + + if(class(ext00$ITERATION) != "numeric"){ + for(i in 1:ncol(ext00)){ + ext00[,i] <- as.numeric(ext00[,i]) + } + rm(i) + } + + if(use.cnv == T){ + + ext0 <- read.table(paste0(dir,filename,".cnv"),sep='',header=T,fill=T,na.strings =".",skip=1)%>% + dplyr::filter(ITERATION == -2000000000) + + }else{ + + ext0 <- ext00 %>% + dplyr::filter(ITERATION == -1000000000) %>% # NONMEM User Guide VIII for definition (final estimates) + dplyr::filter(dplyr::row_number() == max(dplyr::row_number())) + } + + tmpfixed <- ext00 %>% + dplyr::filter(ITERATION == -1000000006) %>% # NONMEM User Guide VIII for definition (fixed parameters) + dplyr::filter(dplyr::row_number() == max(dplyr::row_number())) + + if(sigdig > 0){ + omnofix <- tmpfixed[1,dplyr::starts_with("OMEGA", vars = colnames(tmpfixed))] + + if(class(omnofix)=="numeric"){ # 3/17/2024 fix load when only 1 IIV + omnofix <- data.frame("OMEGA.1.1." = omnofix) + } + + omnofix <- colnames(omnofix[which(omnofix[1,] != 1)]) + + if(length(omnofix)>0){ # 3/17/2024 fix load when all IIV fixed + tmpomnofix <- lapply(1:length(omnofix), function(i){ + nofixtmpa <- strsplit(trimws(omnofix[[i]]),"\\.") + return(data.frame(R = as.numeric(nofixtmpa[[1]][2]), C = as.numeric(nofixtmpa[[1]][3]))) + }) + omnofix <- dplyr::bind_rows(tmpomnofix) + }else{ + omnofix <- NULL + } + }else{ + omnofix <- NULL + } + + ext <- list(NITER = NA, OFV = NA, THETA = NA, OMEGA = NA) + + ext$NITER <- max(ext00$ITERATION) + ext$OFV <- ext0[1,which(substr(colnames(ext0),nchar(colnames(ext0))-2,nchar(ext0)) == "OBJ")] + ext$THETA <- ext0[1,dplyr::starts_with("THETA",vars = colnames(ext0))] + + tmpom0 <- ext0[1,dplyr::starts_with("OMEGA",vars = colnames(ext0))] + if(class(tmpom0)=="numeric"){ # 3/17/2024 fix load when only 1 IIV + tmpom0 <- data.frame("OMEGA.1.1." = tmpom0) + } + + tmpn <- strsplit(trimws(colnames(tmpom0)[ncol(tmpom0)]), "\\.") + tmpn <- as.numeric(tmpn[[1]][length(tmpn[[1]])]) + + tmpom2 <- matrix(data = 0, ncol = tmpn, nrow = tmpn) + colnames(tmpom2) <- paste0("OMEGA",1:tmpn) + rownames(tmpom2) <- paste0("OMEGA",1:tmpn) + + tmpom <- tmpom0[1, which(tmpom0 != 0)] + if(class(tmpom)=="numeric"){ # 3/17/2024 fix load when only 1 IIV + tmpom_val <- tmpom + tmpom <- data.frame() + tmpom[1,colnames(tmpom0)[which(tmpom0!=0)]] = tmpom_val + } + + if(length(tmpom)>0){ # 3/17/2024 fix error all IIV fixed to zero + for(i in 1:length(tmpom)){ + + tmp <- strsplit(trimws(colnames(tmpom)[i]),"\\.")[[1]] + tmpr <- as.numeric(tmp[2]) + tmpc <- as.numeric(tmp[3]) + + if(sigdig > 0 & !is.null(omnofix)){ # 3/17/2024 fix load when all iiv fixed + + omvalround <- tmpom[1,i] + + tmpa <- which(omnofix$R == tmpr) + + if(length(tmpa)>0){ + + tmpa <- omnofix[tmpa,] + tmpa <- which(tmpa$C == tmpc) + + if(length(tmpa)>0){ + + omvalround <- signif(tmpom[1,i], sigdig) + } + } + + tmpom2[tmpr,tmpc] <- omvalround + tmpom2[tmpc,tmpr] <- omvalround + + }else{ + + tmpom2[tmpr,tmpc] <- tmpom[1,i] + tmpom2[tmpc,tmpr] <- tmpom[1,i] + } + } + } + + ext$OMEGA <- tmpom2 + + if(sigdig > 0){ + + thnofix <- which(tmpfixed[1,dplyr::starts_with("THETA",vars = colnames(tmpfixed))] != 1) + + if(length(thnofix)>0){ + ext[["THETA"]][thnofix] <- signif(ext[["THETA"]][thnofix],sigdig) + } + } + + return(list(ext=ext,ext0=ext0)) +} + +## END #### diff --git a/R/nonmem2mrgsolve.R b/R/nonmem2mrgsolve.R index 74a04fc..b001f88 100644 --- a/R/nonmem2mrgsolve.R +++ b/R/nonmem2mrgsolve.R @@ -1,82 +1,82 @@ -## FUNCTION MASTER #### - -#' Automated NONMEM to mrgsolve Translation -#' -#' Translates a NONMEM model into mrgsolve syntax using the NONMEM ctl and ext (or cnv) files. -#' -#' @param filename String of the NONMEM model name with or without the .ctl extension -#' @param dir String of the directory path to the NONMEM files (if not already given in the filename input; or if the working directory was not already set) -#' @param sigdig Numeric of the number of significant digits to round non-fixed thetas and etas to; default NULL for no rounding -#' @param write Logical for whether to write the mrgsolve code to an R file (\code{T} or \code{F}) -#' @param return.orig Logical for whether to output the original NONMEM ctl and ext files (\code{T} or \code{F}) -#' @param out.filename String of the name for the mrgsolve output file without the .R extension -#' @param use.cnv Logical for whether to use the NONMEM cnv file for final parameter estimates instead of the ext file (\code{T} or \code{F}) -#' -#' @return R dataframe of the mrgsolve code -#' -#' @examples -#' setwd("path/to/directory") -#' nonmem2mrgsolve::nonmem2mrgsolve(filename = "nonmem-model.ctl") -#' -#' @export -nonmem2mrgsolve <- function(filename = NULL, dir = NULL, sigdig = NULL, write = T, return.orig = F, out.filename = NULL, use.cnv = F){ - - keep_block <- c("PROB", "PROBL", "PROBLEM", "INPUT", "MODEL", "PK", "DES", "TABLE") - - in.filename <- gsub(".ctl","",filename) - - tsigdig <- ifelse(!is.null(sigdig), sigdig, -1) - tdir <- ifelse(!is.null(dir), paste0(dir,"/"), "") - tusecnv <- ifelse(use.cnv == T, T, F) - - btemp <- load_ext(in.filename, tdir, sigdig = tsigdig, use.cnv = tusecnv) - - ext0 <- btemp$ext0 - ext <- btemp$ext - - ctl0 <- load_ctl(in.filename, tdir) - - ctl <- ctl0 %>% - dplyr::filter(BLOCK %in% keep_block) # filter to useful blocks - - btemp <- get_block_input(ctl,ext) - params <- btemp$params - mrg_code <- btemp$mrg_code - - btemp <- get_block_model(ctl, mrg_code) - mrg_code <- btemp$mrg_code - cmts <- btemp$cmts - - btemp <- get_block_pk(ctl, mrg_code, cmts) - mrg_code <- btemp$mrg_code - params2 <- btemp$params2 - - mrg_code <- get_block_omega(ext0 = ext, mrg_code = mrg_code) - - all_params <- sort(c(params$V1,params2)) - mrg_code <- get_block_table(ctl, mrg_code, all_params, cmts$V1) - - if(write == T){ - - outfile <- paste0("mrgsolve-code-V0_",in.filename) - - if(!is.null(out.filename)){ - if(!is.na(out.filename) & out.filename != "" & out.filename != " "){ - outfile <- out.filename - } - } - - writemrgsolve(mrg_code, outfile, dir = dir) - } - - if(return.orig == T){ - - return(list(mrg_code=mrg_code,ctl0=ctl0,ext0=ext0,ext=ext)) - - }else{ - - return(mrg_code) - } -} - -## END #### +## FUNCTION MASTER #### + +#' Automated NONMEM to mrgsolve Translation +#' +#' Translates a NONMEM model into mrgsolve syntax using the NONMEM ctl and ext (or cnv) files. +#' +#' @param filename String of the NONMEM model name with or without the .ctl extension +#' @param dir String of the directory path to the NONMEM files (if not already given in the filename input; or if the working directory was not already set) +#' @param sigdig Numeric of the number of significant digits to round non-fixed thetas and etas to; default NULL for no rounding +#' @param write Logical for whether to write the mrgsolve code to an R file (\code{T} or \code{F}) +#' @param return.orig Logical for whether to output the original NONMEM ctl and ext files (\code{T} or \code{F}) +#' @param out.filename String of the name for the mrgsolve output file without the .R extension +#' @param use.cnv Logical for whether to use the NONMEM cnv file for final parameter estimates instead of the ext file (\code{T} or \code{F}) +#' +#' @return R dataframe of the mrgsolve code +#' +#' @examples +#' # setwd("path/to/directory") +#' # nonmem2mrgsolve::nonmem2mrgsolve(filename = "nonmem-model.ctl") +#' +#' @export +nonmem2mrgsolve <- function(filename = NULL, dir = NULL, sigdig = NULL, write = T, return.orig = F, out.filename = NULL, use.cnv = F){ + + keep_block <- c("PROB", "PROBL", "PROBLEM", "INPUT", "MODEL", "PK", "DES", "TABLE") + + in.filename <- gsub(".ctl","",filename) + + tsigdig <- ifelse(!is.null(sigdig), sigdig, -1) + tdir <- ifelse(!is.null(dir), paste0(dir,"/"), "") + tusecnv <- ifelse(use.cnv == T, T, F) + + btemp <- load_ext(in.filename, tdir, sigdig = tsigdig, use.cnv = tusecnv) + + ext0 <- btemp$ext0 + ext <- btemp$ext + + ctl0 <- load_ctl(in.filename, tdir) + + ctl <- ctl0 %>% + dplyr::filter(BLOCK %in% keep_block) # filter to useful blocks + + btemp <- get_block_input(ctl,ext) + params <- btemp$params + mrg_code <- btemp$mrg_code + + btemp <- get_block_model(ctl, mrg_code) + mrg_code <- btemp$mrg_code + cmts <- btemp$cmts + + btemp <- get_block_pk(ctl, mrg_code, cmts) + mrg_code <- btemp$mrg_code + params2 <- btemp$params2 + + mrg_code <- get_block_omega(ext0 = ext, mrg_code = mrg_code) + + all_params <- sort(c(params$V1,params2)) + mrg_code <- get_block_table(ctl, mrg_code, all_params, cmts$V1) + + if(write == T){ + + outfile <- paste0("mrgsolve-code-V0_",in.filename) + + if(!is.null(out.filename)){ + if(!is.na(out.filename) & out.filename != "" & out.filename != " "){ + outfile <- out.filename + } + } + + writemrgsolve(mrg_code, outfile, dir = dir) + } + + if(return.orig == T){ + + return(list(mrg_code=mrg_code,ctl0=ctl0,ext0=ext0,ext=ext)) + + }else{ + + return(mrg_code) + } +} + +## END #### diff --git a/R/writemrgsolve.R b/R/writemrgsolve.R index baf7ddd..0e51f1e 100644 --- a/R/writemrgsolve.R +++ b/R/writemrgsolve.R @@ -1,35 +1,35 @@ -## FUNCTION WRITE MRGSOLVE #### - -#' Write the mrgsolve code to an R file -#' -#' Writes the mrgsolve code, translated from the input NONMEM run, to an R file. -#' -#' @param mrg_code Dataframe of the NONMEM model translated into mrgsolve code -#' @param filename String of the name for the mrgsolve output file without the .R extension -#' @param dir String of the directory path to the NONMEM run files -#' -#' @return R file of the mrgsolve code -#' -#' @examples -#' writemrgsolve() -#' -#' @export -writemrgsolve <- function(mrg_code = NULL, filename = "mrgsolve_code0", dir = NULL){ - - tdir <- ifelse(is.na(dir) | is.null(dir), "", paste0(dir,"/")) - nme_pth <- paste0(tdir,filename,".R") - - file <- file(nme_pth) - - cat("code <- ' ",file=nme_pth,sep="\n\n") - - for(i in 1:nrow(mrg_code)){ - cat(mrg_code[i,"V1"],file=nme_pth,sep = "\n",append=TRUE) - } - - cat("'",file=nme_pth,append = T) - - close(file) -} - -## END #### +## FUNCTION WRITE MRGSOLVE #### + +#' Write the mrgsolve code to an R file +#' +#' Writes the mrgsolve code, translated from the input NONMEM run, to an R file. +#' +#' @param mrg_code Dataframe of the NONMEM model translated into mrgsolve code +#' @param filename String of the name for the mrgsolve output file without the .R extension +#' @param dir String of the directory path to the NONMEM run files +#' +#' @return R file of the mrgsolve code +#' +#' @examples +#' # writemrgsolve() +#' +#' @export +writemrgsolve <- function(mrg_code = NULL, filename = "mrgsolve_code0", dir = NULL){ + + tdir <- ifelse(is.na(dir) | is.null(dir), "", paste0(dir,"/")) + nme_pth <- paste0(tdir,filename,".R") + + file <- file(nme_pth) + + cat("code <- ' ",file=nme_pth,sep="\n\n") + + for(i in 1:nrow(mrg_code)){ + cat(mrg_code[i,"V1"],file=nme_pth,sep = "\n",append=TRUE) + } + + cat("'",file=nme_pth,append = T) + + close(file) +} + +## END #### diff --git a/README.Rmd b/README.Rmd index 4af44af..ce998ae 100644 --- a/README.Rmd +++ b/README.Rmd @@ -13,7 +13,7 @@ Provide an R package that automates NONMEM to mrgsolve translation to reduce hum ## Introduction -Pharmacometricians often utilize multiple software, with NONMEM (ICON plc, Dublin, Ireland) widely regarded as the current gold standard for population pharmacokinetic (PK) and pharmacokinetic-pharmacodynamic (PK-PD) modeling. While NONMEM has the ability to simulate, it is often more convenient and practical to perform simulations using free open-source software such as R which can also perform post-processing of the output.A popular pharmacometrics-orientated R package for solving ODE systems is mrgsolve. Although mrgsolve has built-in functionality to streamline translation, to the best of our knowledge a previously-developed and publicly-available R package for fully automated NONMEM to mrgsolve translation does not exist. +Pharmacometricians often utilize multiple software, with NONMEM (ICON plc, Dublin, Ireland) widely regarded as the current gold standard for population pharmacokinetic (PK) and pharmacokinetic-pharmacodynamic (PK-PD) modeling. While NONMEM has the ability to simulate, it is often more convenient and practical to perform simulations using free open-source software such as R which can also perform post-processing of the output. A popular pharmacometrics-orientated R package for solving ODE systems is mrgsolve. Although mrgsolve has built-in functionality to streamline translation, to the best of our knowledge a previously-developed and publicly-available R package for fully automated NONMEM to mrgsolve translation does not exist. ## Installation @@ -24,7 +24,7 @@ devtools::install_github("Andy00000000000/nonmem2mrgsolve") ## Getting Started -Full work-through examples will be created shortly, but in the meantime assume that a NONMEM run has finished estimating and has explicitly-defined ODEs. The ctl and ext files are both named pbpk-101 and are located at C:/Documents/NONMEM/Project. +As an orientation, assume that a theoretical NONMEM run has finished estimating and has explicitly-defined ODEs. The ctl and ext files are both named pbpk-101 and are located at C:/Documents/NONMEM/Project. Load R and run: ```{r} @@ -35,7 +35,7 @@ nonmem2mrgsolve("pbpk-101") # run the nonmem2mrgsolve function with def The resulting mrgsolve code will be wrote to mrgsolve-code-V0_pbpk-101.R within the C:/Documents/NONMEM/Project folder. The user should then validate the translation, for which there is an intuitive and established framework [(Here)](https://mrgsolve.org/blog/posts/2023-update-validation.html). -## Usage Statement +## Usage Statement {.unnumbered #link_1} ```{r} nonmem2mrgsolve::nonmem2mrgsolve( @@ -60,3 +60,108 @@ Please feel free to report problems using the [Issue Tracker](https://github.com [Finch Studio](https://finchstudio.io/) is an integrated modeling environment for pharmacometricians, clinical pharmacologists, and other team members to visualize, develop, and organize PK/PD models and data. It includes a modern NONMEM code editor and workbench, interactive data tables and visualizations, and a PK/PD model library. The development team is led by [Dr. Mohamed Ismail](https://www.linkedin.com/in/mohamed-ismail-bb54a367/). nonmem2mrgsolve was developed at ePD by [Andrew Santulli](https://www.linkedin.com/in/andrew-santulli-219034156/). + +## Vignette + +Three case study models are provided within the vignette folder. The following section will use these examples to provide a brief tutorial on how to implement nonmem2mrgsolve into the model development and simulation workflow. To get started, download nonmem2mrgsolve and copy the vignette folder to a convenient file location. + +### Example 1: A 1-compartment model with first-order absorption {.unnumbered #link_2} + +Within the vignette >> models directory, you should find three folders: + +![](readme_images/vignette_01.png){width=40%} + +This first example is drugx-oral-1cmt-101, in which you will find the NONMEM control stream (.ctl) and output files (.ext and .lst). The nonmem2mrgsolve package does not require the .lst file, it is provided solely for user reference. The nonmem2mrgsolve-translated mrgsolve code, along with the mrgsolve code following any necessary user modifications, are provided as well for reference, but could be deleted at this step and recreated during the vignette. The run_nonmem2mrgsolve_drugx.R file contains all the code presented for this example of the vignette. + +![](readme_images/vignette_02.png){width=40%} + +Now that the directory structure is clear, start R, load the nonmem2mrgsolve package, and set the working directory to immediately before entering the vignette folder: +```{r} +library("nonmem2mrgsolve") +setwd("Your file path to vignette folder here") +``` + +Translating the NONMEM model into mrgsolve code is accomplished using a single function call: +```{r} +nonmem2mrgsolve( + "mod1.ctl", # the NONMEM run name + "./vignette/models/drugx-oral-1cmt-101/", # path to mod1.ctl and mod1.ext, from the working directory (which was set earlier) + out.filename = "mrgsolve_code_drugx-oral", # name for the mrgsolve code .R output file + sigdig = 3 # number of significant digits to report thetas and omegas to within the mrgsolve code (optional) +) +``` +During the translation, the final parameter estimates (thetas and omegas) are obtained from the NONMEM .ext file, while the parameter and differential equations are pulled from the NONMEM .ctl file. There are several optional inputs to the nonmem2mrgsolve function, as detailed in the [usage statement](#link_1). + +When the translation is finished, the mrgsolve code will print to the R console and will also be written to a .R file: + +![](readme_images/vignette_03.png){width=100%} +![](readme_images/vignette_04.png){width=40%} + + +Now is a good time to check whether the nonmem2mrgsolve-translated mrgsolve code requires any user modifications in order to compile: +```{r} +source("./vignettes/models/drugx-oral-1cmt-101/mrgsolve_code_drugx-oral.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) +``` + +In this example manual user changes to the mrgsolve code are not needed, since the model successfully compiled: + +![](readme_images/vignette_05.png){width=50%} + + +If certain model complexities are present (such as time-varying covariates), the nonmem2mrgsolve-translated mrgsolve code may fail to compile into an mrgsolve model object. The compilation failure will provide informative error messages for locating the line of code that needs attention. The compilation failure will also prevent the user from running simulations without first addressing problems in the code. + +As a final step before conducting simulations, the user should validate the mrgsolve model. There is an intuitive and established framework [(Here)](https://mrgsolve.org/blog/posts/2023-update-validation.html). Model validation remains the responsibility of the user and should always be performed, regardless of the robustness of the translation software or the experience of the user. + +### Example 2: A QSS Target-Mediated Drug Disposition (TMDD) Model and Indirect Response PK-PD Model + +This example is located within the evolocumab-tmdd-qss-pkpd-101 folder of the vignette >> models directory. Since the steps for translating the NONMEM model into mrgsolve code are equivalent to those presented in [Example 1](#link_2), the tutorial for this case study will start at compiling the nonmem2mrgsolve-translated mrgsolve code into an mrgsolve model object. The complete code for running the earlier steps as well is included within the run_nonmem2mrgsolve_evolocumab.R file. + +Attempting to compile the nonmem2mrgsolve-translated mrgsolve code results in a fatal error: +```{r} +source("./vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) +``` +![](readme_images/vignette_06.png){width=100%} + + +From the error message it is clear that the issue occurred when the NONMEM dataset column "TIME" was being used in the differential equation code block ($DES). Mrgsolve syntax requires this to be labeled as "SOLVERTIME". + +The user can manually make this single change while leaving the rest of the nonmem2mrgsolve code unmodified: + +![](readme_images/vignette_07.png){width=100%} + + +Compiling the corrected mrgsolve code is successful: +```{r} +source("./vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd_user-modified.R") +mrgsolve::mcode("Test_Modified_Translation",code) +``` +![](readme_images/vignette_08.png){width=50%} + +### Example 3: A Whole-body Physiologically-based Pharmacokinetic (PBPK) Model + +This example is located within the mavoglurant-pbpk-101 folder of the vignette >> models directory. Since the steps for translating the NONMEM model into mrgsolve code are equivalent to those presented in [Example 1](#link_2), the tutorial for this case study will start at compiling the nonmem2mrgsolve-translated mrgsolve code into an mrgsolve model object. The complete code for running the earlier steps as well is included within the run_nonmem2mrgsolve_mavoglurant.R file. + +Attempting to compile the nonmem2mrgsolve-translated mrgsolve code results in a fatal error: +```{r} +source("./vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) +``` +![](readme_images/vignette_09.png){width=80%} + + +From the error message it is clear that the issue occurred because "RATE" was not declared in the parameter block ($PARAM). Additionally, this should be renamed since "RATE" is a reserved term. + +The user can manually make these two changes while leaving the rest of the nonmem2mrgsolve code unmodified: + +![](readme_images/vignette_10.png){width=100%} +![](readme_images/vignette_11.png){width=100%} + + +Compiling the corrected mrgsolve code is successful: +```{r} +source("./vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk_user-modified.R") +mrgsolve::mcode("Test_Modified_Translation",code) +``` +![](readme_images/vignette_12.png){width=50%} diff --git a/README.md b/README.md index be4d931..a949c4a 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ population pharmacokinetic (PK) and pharmacokinetic-pharmacodynamic (PK-PD) modeling. While NONMEM has the ability to simulate, it is often more convenient and practical to perform simulations using free open-source software such as R which can also perform post-processing of -the output.A popular pharmacometrics-orientated R package for solving +the output. A popular pharmacometrics-orientated R package for solving ODE systems is mrgsolve. Although mrgsolve has built-in functionality to streamline translation, to the best of our knowledge a previously-developed and publicly-available R package for fully @@ -31,10 +31,9 @@ devtools::install_github("Andy00000000000/nonmem2mrgsolve") ## Getting Started -Full work-through examples will be created shortly, but in the meantime -assume that a NONMEM run has finished estimating and has -explicitly-defined ODEs. The ctl and ext files are both named pbpk-101 -and are located at C:/Documents/NONMEM/Project. +As an orientation, assume that a theoretical NONMEM run has finished +estimating and has explicitly-defined ODEs. The ctl and ext files are +both named pbpk-101 and are located at C:/Documents/NONMEM/Project. Load R and run: @@ -91,3 +90,167 @@ Ismail](https://www.linkedin.com/in/mohamed-ismail-bb54a367/). nonmem2mrgsolve was developed at ePD by [Andrew Santulli](https://www.linkedin.com/in/andrew-santulli-219034156/). + +## Vignette + +Three case study models are provided within the vignette folder. The +following section will use these examples to provide a brief tutorial on +how to implement nonmem2mrgsolve into the model development and +simulation workflow. To get started, download nonmem2mrgsolve and copy +the vignette folder to a convenient file location. + +### Example 1: A 1-compartment model with first-order absorption + +Within the vignette >> models directory, you should find three +folders: + + + +This first example is drugx-oral-1cmt-101, in which you will find the +NONMEM control stream (.ctl) and output files (.ext and .lst). The +nonmem2mrgsolve package does not require the .lst file, it is provided +solely for user reference. The nonmem2mrgsolve-translated mrgsolve code, +along with the mrgsolve code following any necessary user modifications, +are provided as well for reference, but could be deleted at this step +and recreated during the vignette. The run\_nonmem2mrgsolve\_drugx.R +file contains all the code presented for this example of the vignette. + + + +Now that the directory structure is clear, start R, load the +nonmem2mrgsolve package, and set the working directory to immediately +before entering the vignette folder: + +``` r +library("nonmem2mrgsolve") +setwd("Your file path to vignette folder here") +``` + +Translating the NONMEM model into mrgsolve code is accomplished using a +single function call: + +``` r +nonmem2mrgsolve( + "mod1.ctl", # the NONMEM run name + "./vignette/models/drugx-oral-1cmt-101/", # path to mod1.ctl and mod1.ext, from the working directory (which was set earlier) + out.filename = "mrgsolve_code_drugx-oral", # name for the mrgsolve code .R output file + sigdig = 3 # number of significant digits to report thetas and omegas to within the mrgsolve code (optional) +) +``` + +During the translation, the final parameter estimates (thetas and +omegas) are obtained from the NONMEM .ext file, while the parameter and +differential equations are pulled from the NONMEM .ctl file. There are +several optional inputs to the nonmem2mrgsolve function, as detailed in +the [usage statement](#link_1). + +When the translation is finished, the mrgsolve code will print to the R +console and will also be written to a .R file: + + + + +Now is a good time to check whether the nonmem2mrgsolve-translated +mrgsolve code requires any user modifications in order to compile: + +``` r +source("./vignettes/models/drugx-oral-1cmt-101/mrgsolve_code_drugx-oral.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) +``` + +In this example manual user changes to the mrgsolve code are not needed, +since the model successfully compiled: + + + +If certain model complexities are present (such as time-varying +covariates), the nonmem2mrgsolve-translated mrgsolve code may fail to +compile into an mrgsolve model object. The compilation failure will +provide informative error messages for locating the line of code that +needs attention. The compilation failure will also prevent the user from +running simulations without first addressing problems in the code. + +As a final step before conducting simulations, the user should validate +the mrgsolve model. There is an intuitive and established framework +[(Here)](https://mrgsolve.org/blog/posts/2023-update-validation.html). +Model validation remains the responsibility of the user and should +always be performed, regardless of the robustness of the translation +software or the experience of the user. + +### Example 2: A QSS Target-Mediated Drug Disposition (TMDD) Model and Indirect Response PK-PD Model + +This example is located within the evolocumab-tmdd-qss-pkpd-101 folder +of the vignette >> models directory. Since the steps for +translating the NONMEM model into mrgsolve code are equivalent to those +presented in [Example 1](#link_2), the tutorial for this case study will +start at compiling the nonmem2mrgsolve-translated mrgsolve code into an +mrgsolve model object. The complete code for running the earlier steps +as well is included within the run\_nonmem2mrgsolve\_evolocumab.R file. + +Attempting to compile the nonmem2mrgsolve-translated mrgsolve code +results in a fatal error: + +``` r +source("./vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) +``` + + + +From the error message it is clear that the issue occurred when the +NONMEM dataset column “TIME” was being used in the differential equation +code block ($DES). Mrgsolve syntax requires this to be labeled as +“SOLVERTIME”. + +The user can manually make this single change while leaving the rest of +the nonmem2mrgsolve code unmodified: + + + +Compiling the corrected mrgsolve code is successful: + +``` r +source("./vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd_user-modified.R") +mrgsolve::mcode("Test_Modified_Translation",code) +``` + + + +### Example 3: A Whole-body Physiologically-based Pharmacokinetic (PBPK) Model + +This example is located within the mavoglurant-pbpk-101 folder of the +vignette >> models directory. Since the steps for translating the +NONMEM model into mrgsolve code are equivalent to those presented in +[Example 1](#link_2), the tutorial for this case study will start at +compiling the nonmem2mrgsolve-translated mrgsolve code into an mrgsolve +model object. The complete code for running the earlier steps as well is +included within the run\_nonmem2mrgsolve\_mavoglurant.R file. + +Attempting to compile the nonmem2mrgsolve-translated mrgsolve code +results in a fatal error: + +``` r +source("./vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) +``` + + + +From the error message it is clear that the issue occurred because +“RATE” was not declared in the parameter block ($PARAM). Additionally, +this should be renamed since “RATE” is a reserved term. + +The user can manually make these two changes while leaving the rest of +the nonmem2mrgsolve code unmodified: + + + + +Compiling the corrected mrgsolve code is successful: + +``` r +source("./vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk_user-modified.R") +mrgsolve::mcode("Test_Modified_Translation",code) +``` + + diff --git a/readme_images/vignette_01.PNG b/readme_images/vignette_01.PNG new file mode 100644 index 0000000000000000000000000000000000000000..60cec14d551e941e27a54e7f754bb2dc66d28417 GIT binary patch literal 3572 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 literal 0 HcmV?d00001 diff --git a/readme_images/vignette_02.PNG b/readme_images/vignette_02.PNG new file mode 100644 index 0000000000000000000000000000000000000000..5d3f5269208405ce5090e8fbfe4f49b32d4d0268 GIT binary patch literal 8905 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 literal 0 HcmV?d00001 diff --git a/readme_images/vignette_04.PNG b/readme_images/vignette_04.PNG new file mode 100644 index 0000000000000000000000000000000000000000..77f31fcdbf5911bf7bdb21f8e194da78eb9a4912 GIT binary patch literal 2679 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�$8>KKX9}|91U+0 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 G-v1B9Wf{u= literal 0 HcmV?d00001 diff --git a/readme_images/vignette_07.PNG b/readme_images/vignette_07.PNG new file mode 100644 index 0000000000000000000000000000000000000000..208265117ab6f116edd5f858f2cd881e252de1ca GIT binary patch literal 23213 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 literal 0 HcmV?d00001 diff --git a/readme_images/vignette_08.PNG b/readme_images/vignette_08.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e3bf62b72d85696536624a8fcc0d2c0c1367ff03 GIT binary patch literal 30933 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 au%%P@y2I75AHnu20GJ}pjh`5~UjHAxm6qB7 literal 0 HcmV?d00001 diff --git a/readme_images/vignette_11.PNG b/readme_images/vignette_11.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2b6aaf9ca50245d68b3202da6fb15b1128cd487c GIT binary patch literal 9362 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 literal 0 HcmV?d00001 diff --git a/readme_images/vignette_12.PNG b/readme_images/vignette_12.PNG new file mode 100644 index 0000000000000000000000000000000000000000..0875ea01d556eee80548ebcbcd4f1335f337ff35 GIT binary patch literal 28901 zcmdqIWmuGN6z;2nbR*q@gd#Aa#85i4G)PHRSfPl(SQYzgJAt2q|DIhb1pmYd~ zba(8B|2}7bI_J9f$9>KRE-ygddEe(<&sz7o*Y63_R97S=VkEk8;|8g+lAQL98#n90 z*INQS@RK?Pe}3@KO?PcY*p1>r=6~QDT-#@A&u-i(izYs|xDCE1bWt*Nzj1>Ke*JZG z#)b`XF@D^BAtA4^R)RaEpl?Mbf;{Q0+;l)kz8{cNmB*T@Tx2T1|D zLr<7S0Skq3qNrg6T6SD;7y$>7S|Ck*z~ynr#YG4CP<-BF(z3TaQ7mhhCkNwpDymzm z$2QsSSC>qVgj&)xboBxLSJQr&H&2e17;F`NzaJk2`WLUfai1*kijmK3$~k#8i!-Ia zl1k?oC+%z%?3=9D*?%;CB;&I6u(9?mf3jjIo$utRq-AQmBO1Q-upH^4ap@4I9X0Y-9$Xx4 z_6wt3w;om|o*iwqWND0&MQDk`^tV(uEk=3~^KB7+|7d)#wvdEF_^*3P1IbIuFdVzF z(}G(EWsb<)tBJKgXUW$TKBC6>I-ikhp>=G#KDvQD02 z{r!s+D|K&^ZueIVy80!U3>_F+8Xld5<(`l8^7tB?rTG8&vSt_je^sv^*HcKuF zN`B)fU?G#h3Oz`eJw5P}^_=bZpWPczFsqC9n)wOkW)qpkTi;Gm637vpyW6os=`W zdS7$06V;FyGT~5sQXp}^wU&H_x}|Fetsz!dPkl5pf;Q-R?|WBHV*OoU(Uhc&kCY}P_bZ`V`N=e18NT1T#D z*imeIY_ajZB;oM+A2+t96{Frh!X3L_jFXIkz3#a0Wzh6HQjs#>L&v^}ogE%SBj127 z-6_!oGu`R3A3jbk`~GOZ$`d`k%hVcf%KKU*+CfeW8Zt?cbC-+Af(N?E7>l{9G_j$` z+U*5KVitwpq6(6<_nl_;+?uzx0x)XyPbMPkiz}Yokr`U3$clEy5t$ghIGn$6G#*;w z_$L3fQCyj-9<3q$i;=YZ6g{7jTxzhGGN6H$v{i@|5{h|nN&l#FqV(p`2XnunOSmt( zKZJASX=gXwZ^Ey3Q$de*cJ}BULv4Wn+0VgeNq(LKJ2rp)5px{Ey)6Ncdz({UHpgT< zoMo##@YEq>$u{u4DHXHkk}KR@|r z%iS01at|4GaWQTJ$&PyOFUaekSR(?k-rX+;VQ|5oXJl8_UjNET?pNeoidvGNLzT56P@ovn7xadTlp(pxqm{V_^qA_Mo<< zGa;Itkv^@ql!e+{ak9*-UGGSZQZd&f5-#JNn&c_!nS`f}i&mAi6CC zTI!qDKG+j#0gi~{E_>TVS8_f@EP>X=L~cpgv8cXhx!*arDHAKRl_$s4$|tF#L6hb< zT4*{BOJr#(R&3sy%f#7_V46)O7WYgu^8wy8V!XKEXqY6#- z06#Gqu6$;S9~#lnG1#9`{Py*EZxl1?%zWwB&w@R6qPJwxPXyr2gH#`#Lf=ko+U-q9 zqA>S6f-_I<_r&@9hs1 zK@>1yZ^;tvm52A>&GWY2j|@A527N!ake>5S=rEEz;AlfR9z`C$c-F!FMxR<}z<<3v z@c3f5BEdsxAS)aurMWS*#BbIovfm0TM@H?1unL&JC7`)yVY>CIjX>hY0S8>wwC(Fl z?CW8!J?t(~n(aa&Q>E^jU4bX7$?+7Hxo6Up3QnscZzi{x zTZxgs8t*tJLbbAGAcmtBe?pSp|HHm`)lTXfc(Rxkoivm=Z;=QgVdds@@%Jg|Tp+Z) z*&R~G!=!(5C?Q<$jW&9YeMd-vKs`3tjGWCY!rY9Z=Z`%;ln@a)KKuIYkdERhQ$n(_ zw9Or!01+odOWpeO6tO@GZ9IgyA%@9%N-+EC$u-bMuTJW%UJ*h23XXHTLEz2|C=i&3#4M+tYl!VenMMv$JAe?4YnXD9YvjQCOSe zt39IW?2LfwAH2pqcYh=bEl`U_A@Wt_7TlZH2{S0iz8RmK*VK3nW{EJiOSwsNGj%<)a~vM|SRm(H-X^gu!6{*4 zYyDJe?!0;N@Zaa2-xU>*dN1E(Qp+jQ;dCbJL7`hKOQO6onRhu55y-dbj#sYbXq_eb z4JgTV{zgj;>*QEbw6}^`$}$MYtT#w(evFDWck2nXrJ|GT?DxGzFx4ZmaXMSrpPNy3 z@hSH$B{TP?i<+t)VGkMvrshNIRxjDW_d}=^HIsR1S#sRP{sFDNgq6VU9B)F`K1#4f zIjkeTOVuo;)M=$Tms;iH?S%_YxBjdyUHjW${D7rIELPk?=|PBHJ7F*zdGeVYGhc`W zKC5MqB>X9_d(_A`itnGam-?#~Nr!Dh*d_)Wh4PS?oq@UpE;LC=Y(0xJ-BXD!r{ge1 zZxrbW$Jb(WHVP4_Tx+cu%bgSt@j4bGspKhc_I_%`-`oCt0j3eIA(|`4O{GpBEg^9j z8qx?EOGO->Y$S?YUWzIp{xpa{^-P&V+S>$&{gOnr@Q`;b!e3Sx z7W7O!bVdEo5j9{58gR(OT45ibGO)N0K=knX`70tC_J>ubWv)F}hF`T`^j>kz zjE_#N>`TAi`?IW4KD8d>CgZF08(kqW?|r|Ky!9pQXAh_3R4_;}bo+5{<7}#+WVUik zp3Y=+)B56I+)J=&|H}q`dqF{A`Nv;bU9?66EPne#diwHvpHFaU-}4z7L+vC z`<^T%I8t@JyNR>}D3u1&%kt^(x&`?p zkoJh1&6lTZMI=zK&2?I^!(Mmv2p?F&cw_5z2vK`ylsDxf^u>097e~|3GFMZ5YoBDv z$}UW|DN9P4Py0F_F;_?~#pe5m3uquVX1*XcJEHs=D#t6f-^D13*mTQXT_x!Tm`A5+z~0jT$9b3 z;Wgtuq-RfIl6lLO@<>xL?*Z%J+N9WcZRe~uNH|YXKPNcDG}ksnP15G#8dQ82@j>?zzH^1K1XLeYx*PQq={K-NbJ(r?z` zLCWG+<4gKzvXy^lH(PN)!K`ajcNvr-euRC1xScN?+! zg{PlhG)L5pb!Mqh z)n|J?i+#6;&=65K#uDtX`mUE2OQXRnr!D~yr$%>1|+JS>`kKi!h&Ob&T?h>$Itc)Fsss`+YY@XiU zOXrFtS?sF4(?cP589b*uw05`CK<5i`v#f`;B1}v}at9fAdxf+kmH@+(@z#R78% zcM#bY5xUM{yjZU~wv0yw8wFkE6?UN~60B~tz1yp+Z(_aD5l-B5e@6lFZ6N(`ve2@} zLpV~0(81kt)UaCsv>4%n&32YSHG@r>xeEs$d^2_0gbyqXVQCS%ZvNaPCjlmeK>`KR zTycWdeYH$1`GU>I?c4;EjLV|z(U^Nx#GBFe6`-6>cx=Dn)sds5fcAYBx!mp`H)2{j zy@}$Sc$Q1JsDW#l;#gf~mFWsGA!Z>Z!U>!I_IZdnr`$L1Ts7dRLcni}%I+P~h=QO! zz5iiNYS4_NJuIYk_!D6pW%4V_+X_Tj4-0k%8PpJ^UOR8lwu~kHdpDnWWf=a^lzX(d z>J+gRBc0h>S9tcS#1v0=c)Co*=0ejm++?>-0&M|93T?|_6@tvaQa8IFKthd)gFmjJ z61LjHtqxNKWg2(H=oPplT-5g0r3_&q`mJwZgFmyW*cP7sPE=~ESnA?eBtN*>p+f(8 zCHVa-ZU2r~cFtmbd0eMbeLKGWy2B=_6p4GbqCi$LiTdo1d!Y#_RV_w=6(A8T3e>8X}0x?=O zcDcsX!hwp>tSl@vkzxN{0`Wc~x`VM+l7#ay3Q|F}cqDgwIhXmknvMhNfWnvUP=Ja0 zv7@LxZdoZrgm5*{izb^5X8$+`h>9kFxSzzS%ADz z+{*D{v==@r!W^hHpjmzQi+A51O?x>lC)s*t_@CNW@}$UIPYOU59nvdf5Oqp50{Ue7 zHk~oW1|{rHoB|Jg+}J(R$n%f&bRxtmQ>x0gZYkbfL*@crscQ&?85{L7P(UIRI$fv` z)>WV^|JoJoPQgdioSF{C!mCq_K$TTHw#o4Gtm(U7Pnk{mcf;3DI!kC+w((OE7z$96!FQV5aG4L z3O%N~>=9lAke*t3TEotV6$6jPM!K1HDK7V#+)cq}Xuvz`K65J8Hyuv&`+EVE<|R7& z)*YTr)cE0AK>mC(ZtV2_Hm%D_npgTpz(N?$H?iCRzvKB3Pi92R+y~-%6@fag2_50< zY~|I<5h7UXCo@nx4ur-q`*S21dZ5!a2#nSf=4s0jG*hW}e; zI-MWyc=F?FwMv}r_6uf7>B5dy3rZA>2Gcu0^W(6!Xx$%n&EwlD z`_nORsU6>7#0fPEXr)s=f+5CMi*xrP=wT|xDHWM5f{|rxt%=mIwUONDNRD}VgzR*& ziA2qi0#gztr(D&jwn`mPT|-efyWJN$!wz3sMLzi+6y-?5)f7N-4jL>c*!E__*2IpH zQ(c!FU0Fxz-NuZ!yJ0MxkGqd{u=SoBFa0h*tz-nuZ2tQiNcQpYZ;1QD#_jfBmYWt= zH}RS0)S>^fS7-me3?^fFZK;}6`TAF18t9a4@+fVwqxmr&T+JuTOyey90W~|_ObtL9 zPeui44#rxCik>1QVg*+^J8=5qAI(b>61q#x_|_kc8BL2!zOg#1s|FGK14;x6W(W(9 zDq_mD$MBDPMz}z|orfZ)+9xrYOm&`j_3iHSjN&ruwTn?>_NbUP@q9La)d~?9e)9mE z?>YoH4O4($D=AnH-o2*{(CRN$P3>?`A0dJLFr{xT(ZM@)u34 zssD+!=vL#Ny2U;LaXL_-hpf(jfi|f+%IPICS+I^3c11dLXu1cuet{(ru-qj@IMA6Q zP-mc(D^d+O+YqI$e^~vyJql-ryXRWJ+G)@rKJ55*WA_YAfmq9G*r=Y&afM@K=RSzQDhBgiXQi>^gdAsYvY0wI=b=5hb^GX z0QWwFT{ICUTm<>*W7Lb!`dA8HBpI4&0oLQ5wRqF?({^^t#i5a}E8DvewLD?2J5Wgr z|DFznRe$`$jV566Xi=}ez!HSbYf;|)P``~8YNS_UdmSD~=h{IkDrfYA;;xly-W?o# zvO= z*(bTVg7T^+QWKjf{=8RQ4SRh4x}eBrYXmop5E5|~G)_UpGH)jdCAZ2pa;%DLN&sfl zYgifq%c6;@zRcNr#n0bouC>}Q{Qrc`l#r$BON$R3;6<{rq=87FsI3}%*)N$LEq&VC z{n6)e-O%wVBwiI>yVZO)P|^A|Bu4EWB+u{gPfsIzcXNAyiTPBRFZ6gWFiYy>DG9;k zBidNpU?y_Hvi1~4kvG5Zz*fSDS%Qo!9dDHUQ+C@c z4%4DEv68N+MQAVygXMVFD;gPB9<@*YCrfl|$W))z{6k}2TUe4Q_BcR!(_?$CO~gM` zXyoK(z>JFskKmQeJ4xT_I@`gN{WDOPEl``wEf6u-%cWU$I1=YvKJD;HuHjDhT4>XLxbeW(fqSx zis!|-+(P2P+g5zrsV{4sHm=Q}hLuU@7O4ab2N}Izd!WQtqx*s1tr#eQkv6OA!VIaE z^}uVAy0zklHw*alW>Fme-pFegM#MQ{>rq=bI(A^UF^}oIgbf|EB74Fa-zrY9v8zgG zkpVoIUk7a&qL-P0xW+o?2E$LTbR>TcdWY@JoEn;VQl?p0Az)y*PdCwXxbrcar z!13{U76p`BNr>{MGd>zMb!A^5m}vcRh31mY{9Z2=wEM9iqNJHuAIrYVngy*scwG4-x3!0!yj`|$s6ZjKgUAd#t8_$l$F?aKGQRF@y# zdoUj!jQ(9_mFwL^Jb!hwV`&pf;i1w*#B#;j`o&~~>eB0DfOPRg@7!M%uY2Q-oERK+ zgS+Di-@Y_+uC1gmscbt9@>o&EyhHkL@KeAS8eapr<=I9}jWw|YQJOGq zLv+c(a}%2`Zs?uA+55(z+txcY7A%k}lS~hh%*tL`@WHZwc^PiIgpv;Na0hZMD(aOx z5CBI0DtZ|cen-=}2EX{$8s+Q_%0BAG9h*&6UKzz>;*{&IcukD1A4|p0q7hrPr!m#I zq8k=~5IpiRsSrqwAH5=JDUXO>=Ch;MhDO~te1x` z@$65IFs}Lo7=iAf2KCI>a$_23r^I=u+2*FAQ)&To(~m%kq3;sP(a^7o1ApZW>0EMa zI}4YM4MVpkR{D4j$LJfm>sOo}p97h>w1Am$mcb z*?~vQ85+m(c}R?IF}*rWwG5qJxu+d~J-=ID2#QudLS55wDNUHK@f!{2=O@tTaFK}LhA2J&4pWj zIO~*p2SwqBiz;XYnSQ+45a$~rd?zy#`MnCRmzM8_m zw!`OdCW0TH-d=+8S@~r0Ym#~w*WBT+R&{%c`!VR7H+mvHeK1YJ$lx=y`@$@kRE0$>u`J*;Jxa3bsB_)KAQWZ-CXFKqOX*X1OIO45Njd1 zr}$E;pV*ZDh(>|JU?gt+RFbWDQgDzJEe&f{kQ9aze6p6e+w8S9 zGsX^@`<0~%MON=@?>mM28jA-GZ-(g&V?p_-5n_BnLC(QC_^c%2`DT#7n$O6i%#l(R z>sv>o+?+mNFxDo5QtFKSJ-yn`q6Hss8;*k@7YEo|Kno95G z#&9DfA_=hv76kSL^!QL7f>Ju@m2vGiun|lIBhwvmIet)N02j2_dv95f4Po=xAOfZ-#tXh!hGk&77L_z+-N0*C9T&fJcCZx zlnZR1ynl1|Hx>C(;KO-uZPwqiW_0;0l>u(5!_U~?gc9g@@n%$36Tqw0C3oa}*@#Sl z#QrIwBWQ2LKfy}wu&e4V!h957(1Vhm6GDCn)0bzuH^nBfkm1oJca-OqN-UwAvW>p; zJS_n#%WyJC%JRAJ?*t7Ev@mTgD*IGCZKN+ClK7im=@U$W9z~qJ%ACjP2fn7u4$1Gg&f_LtRY$I} z?>UxG-C@Kg69>aO^A+~tObMLKz!R>oT)PeBN7DY&-H}`jf1cppwC|E%`xO5J6egAF zbc2J!XOi{4M9VV`@qcx{sxUimPSgz)9verHb(YjLBcsxVte-V3zN}S{IixRXp-(Ms znm42v?wFgeqJ|MG-^cHL4c5?ETVmPU&5?o*y2>w$&)WShv3JgFr;N4H73P45urU1g zOIS%lP-w9GqGh|Ccqsio#e5@m!CNGrvv9$~;e3J^nh=;`!@dRLXDdBM?ss4J?s1b&2oxzo)cM7>8VcU((9nbJbM!u<~j6N!=_`!?hCSZdc z|J#e{3X0PFm@zF|LbvoSUE@?BBsaioqjuKUU;TkDQ%R-Z3eEVX&^Nu%GgX%j)P6O|`dZ9Ta2@&8^N*6|y*~)UAlz>V><>tW2m5Wk zMdoXpLm-`!|4_U##TIKtHPsu1)k;k(rwf8__{ZNTo^4q&{ZpmFQ~%&9-PhrcMTJaM zArFNJGkwmvl}js%>9#(VHuQv4#bj#Dd+!){YbbVf(DMxCXuo)Yt$hc4oYn{`nlx8# zl6Ru@_OPCTyHq8^6cBAt_+YC2Lh4zIVn1}RyB7yJu#>m;N*N~E)z#5a3Ud`PR=ik3 zs?08V+jt#qo2^=qQJwV^;EY^L^l02oK2c66*Y&2}^`+NAzIVvcXO_+_TvPiXL_Qxu zAv2~d+i-PxR)iz(d+wH^wjMhqw;;i0&rEXyU6w@A*9?Y*xnSy#jZ~~ z##jJ-2w)*rV!WJYdQYd@un_wX(B972dRi!(NV`Lq3&wk{85D#MKacV!r`V2YOX#Mk z7xg0+hst)lWeQkqe}!l-`2ux2Syx9+wf;!`?A#MzPGtyQ&4Yh7`%! zI;wsLf}OYN@#Sjs@y|tm#B`|BO~%R`$uaCP^u7*vg+)i%KC9au@D?Euo7YOmH!rAD z&M^6 zgJGn1KeRi?W@f?^IfmZl^Y7CNiM=q^NXBR-BA*|#erQ)S0b>DAlIKt0b2cj0^tqo$ zFk;=_CqF?SG8tw4zE$fhQYkdfDo?UA{G#wNj2Rh5u-MgBYGK|u6bLvCeWl)aMC}j~ zLrG2_ZEhFxNSY4TL%F>#T<}kxO^=BfNmv*espdnD=@ljpxZhjM*T96bW3!HM^O#~K zVptLp)R)|mfeKImXwlV~vN`QiBy*1T?Ga1dHiRkWl5Pc;l8=Y>;*e&L-B~1=;#v82 z(`S1j@pIpn#k)|?QDia^i^u0R6i%?#k~`vQPB#{Y>Sz^8@9<-fS0&gsjSBJX63-)# z4J600t+Glu;tTd&snhbLe+wPnQGROg2vO&SwML|6^z*U)ZHL z#{Co=dq;p0fY3)u*wq_8>I1FWJ4z8ZT zHnnWs_or_Y-16Ge^#W`~{GEE=t)}rO&NGq|-(~8(wlDyy5B;r>o}*xC@=ixIr-Sb2Mci4>!LX zzYQRQI#SUo%r#5VSa9tdk}^K-jcTiPU7P|RXyrkVcF50(Pkt^&2F0>V=%tjETE`o9 zO92mPXe_{b9~i_&Co43d-agbNOV@_gbTc}r9;kXvI@VzG+>PFp1yxy099_$)1D6_D6Yy@MVfWfclX0O?LLi_;>IVfC99v zdnMO?HRH!T5)kW!LBWJfX>NUdIzN*i+*6X2=gwwuJM^V5s(=p>hk$b+ z;JN8OuPb$v!Cj8E7g$JT&2aF#qB#3nMK}!PLXVJhQgMt~ID_aa$W1P!dKcL5)Q(GZ zAY|1Z;A@D(jsP1~%NZrs4rL#$xJGbbX>rK2FJQw1R~`JW(f53(C##6BjbbPi218kW z^_y#buS38R`5L_EnnnBVCT-TRUVQY2ZP&&|a*1^zFW}?L8(o$C`<4P`3loO)Nu@O1 zHQX@$)kap_9ByjmV}1p3X$3{Ghs52{1mQfNx#7r_yb&p%{m>|GVwU;oRhgb|C<;OebI>>Oi1Q0!{RfgR zonQG!Fzp?Z4%lwPSM-%LB{+G+8mP2gn5fx)tVR&?mVzXm2E{+yz%w9kM-doJXP|?6 z;9<%>8sgQB8(w0s!=i)cm*Sn;ruU0J8U-l4w<6To|!!E)mZSfA_lt_|0Ql zR@%6z!&(f4JBYx2rqSgB2;+2*xx_JaxQjj26NW66hM7vYZ6S_e3J41kG*R*a8aS?2 zu;=^1Ti5qioxwrS&1a9ELO-mTdK8C&@O^Z%ex$0#&aCoh+XOn2a~Z9#ngPn-5Q2W{ zTe)yC#g@f93S$4BkQ-204&N|0+k`@`;W7@nF5znv zA(xTIf{LR1lVOtT;vp+l2It=}_8q_Oh{WNoA5`_)E4L#!gs&E;Im%mIz_9wzQ|f2( zlL|sUZ;QJ>!6?OXhH89qO(z~R@6EA|Tsk&s4{)_oON=k|SCf2U!@nyr|6qo2XH*Vb zUR?7+9C0j-Qi*bpLNMi4$l(W`BFD)>Inp^jZcVm&6Fvx;TiQu$Jer?pZGQyI3)%(` z28dD$(%b+0g5)*HgSW?5&Ji6~&3rml6qy`A=R64x==KBtQDzZe{$Ivupppo|nW64$ zH1)qzOAtV;%2~l+JQ0-xXnw4Ur{fs)s|(pn9~6_mMpBib3Yc{{R~~6d9mE#p^quAv zIzOj+QQXl1jpbiey`Knn*@)EMfbbCI3e2uEJl2bPS2@EBx8snVq5KNy5R% zMg_Hq?K>a1zx|4wJ&vs4Hz#9gGF^TBK%rV+JeXPhrj6wG`U5uQt1}6Y)mQ&a4Q^-5 z-n&PVl>h$DW8;p`imdiY0!j>ld1dX=r4*1q-HMTn*2MVkg3|AuU)ng*(%6l|IL}E25(V|32L_bfxZ_T`Svy&05R>6i`3mQs(xc{N%!sBGwk+L zsaMm>?sL>An0h)q-l+T2th;9;@C_cx17d1i>S;hb6=trYPT!&@}~~j?SwA zI@sg4T=2WXd%_j;0R6I+P*vfu`Q5oH#= zsRpU9p%{$e?@ugFfydg4H+EAN1vE$9^;S&-QufIz+{Ak+&MC<{-nC*7T3`f5as?$J zrvu(nY<~Nn|5MgL22pJ&=Z<=ZkTTg=KL*T39Y~v#*BwT&QH_%)Kk=pqAQVa;836eB zx*sSMKpKNNoF4h{8`I%cL6UOlH5e_|Z?>q8aGMl5(u*!Sv&ti&{z9cqlG8jVex!l&xlGvtrW#{; zCH1TKB@XAo83X4C7KyQIW@0no>MSD#{GaKXS$~I~5iu}KEgCumIC%9n)o{&A|2dl= znhvGpoZ_z-uv}?eFYnK68uVBl{oz>u@7pG@y}iJwx5m9YAotGO^m1PSZA<}B=2ZYV z`{~>RLovztH!_IHJtntbA?^1XNQ7**;j=wngkBfRbUgGe&TBTjUMou>iDMab@shFR z2j4u_#(=OdN0QzA2UrNdWpHo(x;^Yg%oG&CdVS<{TTpsWl`m$ayXoESf=hkGbd2 zHG(cFX+o&jIIt9bgVqf|;vc?6Rl~dhCRlsjQl$%f%m!kDOxLfQ5yeZepA~(d zyN{@e8a61k6SLrX1KCyKOL+TUWaVCWKb@YjtGw4%(~*Kv&ist%@HmXA@{{#~gft6y12QeS`jrGg@*O4D4;k zDq3$0jeK?Ge7Y}bRP}lZ95>(>R;BlyGrn_ob}=Y?Q1%q)=yfs6V0w&19SDnuh3zY? zGVj3D?|0xrQ0Xo5l(lyDxv{+&nLL19{c;4mZ_Ht7!qn&AJx~Ewk_g%ec~a++MV+0b z4CUw+J%E&$fJD%dBJor?jX^Ip4Y~!Vo_DkVlY{=%@~^`>H`VQ9n3T1mH%2&I)Vy7O z%8K`}3ROnLvZT-xNY;DZQuVasDQ_G*!^goi^(&YY*{oASquPcP*){|k zw_(K2nlAJVpjGn8KPOAqp?VC?$1i)|0CNxE*y0QQ20`(S!A~yOfs;fYJra2I0}{$4 z$XLs^wga#kQ!pMLleIDa5pKrJXfoAbK$!O6;43Y_lX-KVx8YndeZ8gP;K zr>cry=+bhNwO1RP-+IT(G4rxbJZH7TuViZOPozuh08;q@bakrlLCG7GCOfPg&wMQf zRoIC~YAN2?PfH8cu^7e#Cue1z0nEkS`|ieAY#ai$=xmIAXK)2fDTl2Lze7W61|Kte zUPej_<=(v;z!!!^4)xGeeOOAJ`Lvy>ucFGl&>jB#xiu-@JvgG}8c95``}dhrI^SWK zqzm-UTeK$dA-e*i2#Of{@~=~N#xpV9{ma*jCoR{3z-iJpYo6a*_R7hv@Cm30AMkW*u2Z z-@d*?AyXn~mPrGOf5k>WF|3D+;O_mMdWD`y-rJOSz83AQ@2U>utDyEe`>!`Up~d1o zpIWEEHowtt={Z&56F%_Y51@O$#n&BEC*qw=bhJ>i%=8ab7$e>S2d`)$I1ch7E6c*t zU>HdTF+X3wCY=}WNR!{xAdmiBYNLjX`tt&?bcjk_d0x2WZvgHTzr-H1bi!NT-Sm`H zXGH-Lr$bd}xb@h|u49IcBD3hlZ>nLE+rb$-U$&E|lE1}#xee22vx3V8la%dQA{Nmp znsscsy|*+1w?f#V$l0CJc6H_%5tIjP!cf!HSm!u%kg6zjoM!WOAe#S2GR!tYNCJVv zY5%ysHJlUfI3By*SOu}$fz(q(b@hkpr~7EJ!SF5q3mFU7VAr>u+;8Zr@@?%mKA_@{ z=~?#3cHw!An44)L!M93>IO2F`>$5XqJxF4_2iHI((}1lp@>Z)5Cz+~Po0ZkucJ$Z+ zf)}37g|cFf6r!qFL>xz0xTd-g?7VF!S}(}QPzvYLb!9U|+-m9rl#wa+Moq>M(v(2W zBJr3Q3_)gSV69EUv~#kb2c)^0)eRq|%N}z`8%6nrlFt_4&S+xT?ckU4R$mvNB0d_v zR3$U7ra?zS(EO{~SRqFT)NiB^VPZc-WJ{{xeRwa-Vsd(E-bC9S2Kgp9T(|B zffweYK34c-RchV{>ciT2C*t(gLfKm=W%-#9^9P39;Sv}kS?wt}`eR)-Z~^jmQC;X$P5 zfOu`R+Zw~GDq^VqC{Ck}WFJscLgU`Dz`1`YRwCH*&u#2pdN*KbrMmc)8gI4!)pQ5>thLgF zoltm~7m(>%VM#DG2FMJShfN4|8>g#k&O$SOr%x$oQP|ry$9kSr{=5tR+MNGOdG4DX zf4^R_@OmmJH>Z|#gs+7Vz0Mw<1kq2d z_$d<+1W^umliRMsDVbh*5j( z8iqmUe>*-o^Odg(9*9h399=bDmsTfl3Q|}v!%8+;jonbD&lh8HFqfOSjX7Cq{LLKf zQ|jvts>osJJPDiq{hGIHF&~LdOg=qU0No1g@3a4_X_5NhKHhoDfcM?K+G8FIQ~nD* zLZ$k?6N8+fI0Ta7AOxxYA}01`N*ucZD(Heg`6u-44h{d8?FS0SzgQ&;2cLcX;)W*X z=M1qceL>~$zTAdah5VW0ATfbSGDX?b#|7BZQ#I!JRLdO`+AHgW3>RyEjj@v;ia15k zoNF_bUdXIfEZeJpF>2s>K6@p zos>NoABW|IG?jX}G1H0)6_hsGX8L*jN2{W?Y`I*}_OG%LrU^Z_ZjCB=z9^i1)>&;| zswuK2?juI$z<3u{B`ye~6M(BdXK4wx1b3N(B=~H@;Vh{;28kq2GoynzJTn5;#6dJt zo&J?vD?yL2c}V*+OC{R!?ypwI73L6!79S}4H^+&}vZE^T5;~}Kf8Q3r<|MF$fxo;5 zW94`bZV6-E=AehPZJPuR+C7_tcnqP|74Rm4{?L!y^}|Opls35>(=A$N%k|+fFdjF` zY=P#?FzxEQ$V%jj7iUcdnoJX1s}834?FQBI|LECZ;jO-bcy}%GN#M7HNooF4u z!SnqTZa7n(#%c*3ttplRS4QT=uM>A@+kYs>%!X0QsQl{$rFN=MhnWXNXL~?4&lfeu zhPliVns1nMsTbY{JL<{76ds&S_I)ot^NMxW>(m9n=wCbFkSWizo0E!b0rUcv*EsmB zbd<4)fac5uIhz|zwQ04!;~p@88N@S~yHJ`ARigem|92FHMM>ojpR|)vw~n-7C zZj)r6IBaN6&3XYRikgdkL4o{m)M{j2pNX$6eLY@%!q_`8#P+}3T7T;g7YtrU9N*65`prhI;{YHdh zE*KaD)<69#V(=fIox56*;;=7o4fUx~d*>pTHHE9;{SB8)V}NEPQ^#E*#{|;uk8mMm=0rA z^0PU8T;f%>DrP@bt9?&U7n`+ZG4lyP)EIi@m3vL(DS?E#kRSO!)xiX>%l_NUdaId~ zzNTwe>{ExQ7ubel;+|j0@K3pVa9}F^mm(9SEF z9RzmuSCf>iy_J_GAK&{(v^ON;Nl!|)Pt*B!zih$73hsVz#ar~ph^_4N2VnO7p9cNf zsPt@?s@5L@(dcQ&LH#fDpclf6joFub7GauKnXHqiZKrT9#r9+Mf`!RgH@~;;ChvTs zkw~uE$}Yl4DY{bl^-oXgLiNP!?LgR`n3_>4hI)d#`%N3;C1!y6%=$h%GFbUv7Z_@5 z#-frCjZfq!m1v1kRtC*Y0qAtf#bcD9e@!Lt1&|h0D�+FUEWYzS7BAhNL|;N`E;b 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 +INH=(IMAX*FLC)/(IC50+FLC); +} +dxdt_CLDL=KIN - KOUT*(1.0-INH)*CLDL; + +$OMEGA @block + +0.0709136 +0 0.0402987 +0 0 0.11236 +0 0 0 0 +0 0 0 0 0.041995 +0 0 0 0 0 0.0869048 +0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0.0375891 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0.127478 + +$CAPTURE + +KA +V +CL +KDEG +PCSK9_0 +KSS +KINT +KOUT +LDLC_0 +IMAX +IC50 +HEALTHY + +' \ No newline at end of file diff --git a/vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd_user-modified.R b/vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd_user-modified.R new file mode 100644 index 0000000..fe807c5 --- /dev/null +++ b/vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd_user-modified.R @@ -0,0 +1,103 @@ +code <- ' +$PROB Simultaneous PKPD of the human anti-PCSK9 mAb evolocumab + +$PARAM + +HEALTHY=NA_real_ + +$THETA + +0.227505 2.71313 0.276166 2.11422 5.88232 0.265911 0.0528221 0.58245 0.72 0.304556 113.171 1 1.40841 + +$CMT + +DEPOT +TDA +TLC +CLDL + +$MAIN + +/* NOTE: There is no guarantee to the accuracy of the NONMEM to mrgsolve translator. It remains the responsibility of the user to validate the resulting mrgsolve code. */ + +/* NOTE: The nonmem2mrgsolve package remains in active development, please report bugs and feature requests to improve future versions. */ +/* NOTE: If you find nonmem2mrgsolve helpful, please consider giving it a star at github.com/Andy00000000000/nonmem2mrgsolve. */ + +/* NOTE: The translator does not currently convert T or TIME to SOLVERTIME. */ +/* NOTE: The translator does not currently convert MTIME() to self.mtime(). */ + +/* CALLFL=-2; */ +double TVKA = THETA1; +double KA = TVKA*exp(ETA(1)); +double TVV = THETA2; +double V = TVV*exp(ETA(2)); +double TVCL = THETA3; +double CL = TVCL*exp(ETA(3)); +double TVKDEG = THETA4; +double KDEG = TVKDEG*exp(ETA(4)); +double TVPCSK9_0 = THETA5*pow(THETA8,(HEALTHY)); +double PCSK9_0 = TVPCSK9_0*exp(ETA(5)); +double TVKSS = THETA6; +double KSS = TVKSS*exp(ETA(6)); +double TVKINT = THETA7; +double KINT = TVKINT*exp(ETA(7)); +double KEL = CL/V; +double KSYN = KDEG*PCSK9_0; +F_DEPOT=THETA9; +TLC_0=PCSK9_0; +double TVKOUT = THETA10; +double KOUT = TVKOUT*exp(ETA(8)); +double TVLDLC_0 = THETA11; +double LDLC_0 = TVLDLC_0*exp(ETA(9)); +double TVIMAX = THETA12; +double IMAX = TVIMAX*exp(ETA(10)); +double TVIC50 = THETA13; +double IC50 = TVIC50*exp(ETA(11)); +double INH0 = (IMAX*PCSK9_0)/(IC50+PCSK9_0); +double KIN = KOUT*(1.0-INH0)*LDLC_0; +CLDL_0=LDLC_0; + +$ODE + +double TDC=TDA/V; +double FDC=0.5*((TDC-TLC-KSS) + sqrt(pow((TDC-TLC-KSS),2.0 )+ 4.0*KSS*TDC)); +double FLC=TLC - (TDC - FDC); +dxdt_DEPOT=-KA*DEPOT; +dxdt_TDA=KA*DEPOT - KEL*FDC*V - (KINT*TLC*FDC*V)/(KSS+FDC); +dxdt_TLC=KSYN - KDEG*TLC - ((KINT-KDEG)*FDC*TLC)/(KSS+FDC); +double INH=(IMAX*PCSK9_0)/(IC50+PCSK9_0); +if(SOLVERTIME>0){ +INH=(IMAX*FLC)/(IC50+FLC); +} +dxdt_CLDL=KIN - KOUT*(1.0-INH)*CLDL; + +$OMEGA @block + +0.0709136 +0 0.0402987 +0 0 0.11236 +0 0 0 0 +0 0 0 0 0.041995 +0 0 0 0 0 0.0869048 +0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0.0375891 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0.127478 + +$CAPTURE + +KA +V +CL +KDEG +PCSK9_0 +KSS +KINT +KOUT +LDLC_0 +IMAX +IC50 +HEALTHY + +' diff --git a/vignette/models/evolocumab-tmdd-qss-pkpd-101/run_nonmem2mrgsolve_evolocumab.R b/vignette/models/evolocumab-tmdd-qss-pkpd-101/run_nonmem2mrgsolve_evolocumab.R new file mode 100644 index 0000000..42904b7 --- /dev/null +++ b/vignette/models/evolocumab-tmdd-qss-pkpd-101/run_nonmem2mrgsolve_evolocumab.R @@ -0,0 +1,25 @@ +## Start #### + +# devtools::install_github("Andy00000000000/nonmem2mrgsolve") +# setwd("...") + +library("nonmem2mrgsolve") + +nonmem2mrgsolve( + "mod1.ctl", # filename + "./vignette/models/evolocumab-tmdd-qss-pkpd-101/", # dir + out.filename = "mrgsolve_code_evolocumab-tmdd" +) + +source("./vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) + +source("./vignette/models/evolocumab-tmdd-qss-pkpd-101/mrgsolve_code_evolocumab-tmdd_user-modified.R") +mrgsolve::mcode("Test_Modified_Translation",code) + +# Shortcomings of the current translation which requires the user's attention: +# +# Line 69: This line needs to be manually changed by the user +# 1) Rename "TIME" to "SOLVERTIME" (since nonmem2mrgsolve does not currently translate reserved time-related variables) + +## End #### diff --git a/vignette/models/mavoglurant-pbpk-101/mod1.ctl b/vignette/models/mavoglurant-pbpk-101/mod1.ctl new file mode 100644 index 0000000..df7c57d --- /dev/null +++ b/vignette/models/mavoglurant-pbpk-101/mod1.ctl @@ -0,0 +1,157 @@ +$PROB Mavoglurant PBPK (Wendling et al., 2016. DOI: 10.1208/s12248-015-9840-7) presented as an nlmixr2 example (https://nlmixr2.org/articles/mavoglurant.html) + +$INPUT ID CMT EVID EVI2 MDV DV LNDV AMT TIME DOSE OCC RATE AGE SEX RACE WTKG HTM BLQ + +$DATA ../../data/Mavoglurant_A2121_nmpk_edited.csv + IGNORE=I + IGNORE=(OCC.GT.1) ; Match data subsets of nlmixr2 vignette + IGNORE=(ID.GE.812) ; Match data subsets of nlmixr2 vignette + IGNORE=(BLQ.EQ.1) ; Match data subsets of nlmixr2 vignette + +$SUBROUTINES ADVAN13 TRANS1 TOL=6 SUBROUTINES=D + +$MODEL + COMP=(LU) ; 01 + COMP=(HT) ; 02 + COMP=(BR) ; 03 + COMP=(MU) ; 04 + COMP=(AD) ; 05 + COMP=(SK) ; 06 + COMP=(SP) ; 07 + COMP=(PA) ; 08 + COMP=(LI) ; 09 + COMP=(ST) ; 10 + COMP=(GU) ; 11 + COMP=(BO) ; 12 + COMP=(KI) ; 13 + COMP=(AB) ; 14 + COMP=(VB,DEFDOSE,DEFOBS) ; 15 + COMP=(RB) ; 16 + +$PK + ;--- Initial + + CALLFL=-2 + R15=RATE + + ;--- Estimated Parameters + + lCLint = THETA(1) + MU_1 = lCLint + CLint = EXP(MU_1+ETA(1)) + + KbBR = EXP(THETA(2)) + KbMU = EXP(THETA(3)) + KbAD = EXP(THETA(4)) + KbBO = EXP(THETA(5)) + KbRB = EXP(THETA(6)) + + ;--- Fixed Physiological Parameters + + CO = (187.00*WTKG**0.81)*60.0/1000.0 ; Cardiac output (L/h) from White et al (1968) as presented by nlmixr2 vignette + QHT = 4.0 *CO/100.0 + QBR = 12.0*CO/100.0 + QMU = 17.0*CO/100.0 + QAD = 5.0 *CO/100.0 + QSK = 5.0 *CO/100.0 + QSP = 3.0 *CO/100.0 + QPA = 1.0 *CO/100.0 + QLI = 25.5*CO/100.0 + QST = 1.0 *CO/100.0 + QGU = 14.0*CO/100.0 + QHA = QLI - (QSP + QPA + QST + QGU) ; Hepatic artery blood flow + QBO = 5.0 *CO/100.0 + QKI = 19.0*CO/100.0 + QRB = CO - (QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI) + QLU = QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI + QRB + + VLU = (0.76 *WTKG/100.0)/1.051 + VHT = (0.47 *WTKG/100.0)/1.030 + VBR = (2.00 *WTKG/100.0)/1.036 + VMU = (40.00*WTKG/100.0)/1.041 + VAD = (21.42*WTKG/100.0)/0.916 + VSK = (3.71 *WTKG/100.0)/1.116 + VSP = (0.26 *WTKG/100.0)/1.054 + VPA = (0.14 *WTKG/100.0)/1.045 + VLI = (2.57 *WTKG/100.0)/1.040 + VST = (0.21 *WTKG/100.0)/1.050 + VGU = (1.44 *WTKG/100.0)/1.043 + VBO = (14.29*WTKG/100.0)/1.990 + VKI = (0.44 *WTKG/100.0)/1.050 + VAB = (2.81 *WTKG/100.0)/1.040 + VVB = (5.62 *WTKG/100.0)/1.040 + VRB = (3.86 *WTKG/100.0)/1.040 + + ;--- Fixed Drug-specific Parameters + + BP = 0.61 ; Blood:plasma partition coefficient + fup = 0.028 ; Fraction unbound in plasma + fub = fup/BP ; Fraction unbound in blood + + KbLU = exp(0.8334) + KbHT = exp(1.1205) + KbSK = exp(-.5238) + KbSP = exp(0.3224) + KbPA = exp(0.3224) + KbLI = exp(1.7604) + KbST = exp(0.3224) + KbGU = exp(1.2026) + KbKI = exp(1.3171) + + ;--- Finalize + + S15 = VVB*BP/1000.0 + +$DES + + DADT(1) = QLU*(A(15)/VVB - A(1)/KbLU/VLU) + DADT(2) = QHT*(A(14)/VAB - A(2)/KbHT/VHT) + DADT(3) = QBR*(A(14)/VAB - A(3)/KbBR/VBR) + DADT(4) = QMU*(A(14)/VAB - A(4)/KbMU/VMU) + DADT(5) = QAD*(A(14)/VAB - A(5)/KbAD/VAD) + DADT(6) = QSK*(A(14)/VAB - A(6)/KbSK/VSK) + DADT(7) = QSP*(A(14)/VAB - A(7)/KbSP/VSP) + DADT(8) = QPA*(A(14)/VAB - A(8)/KbPA/VPA) + DADT(9) = QHA*A(14)/VAB + QSP*A(7)/KbSP/VSP + QPA*A(8)/KbPA/VPA + QST*A(10)/KbST/VST + QGU*A(11)/KbGU/VGU - CLint*fub*A(9)/KbLI/VLI - QLI*A(9)/KbLI/VLI + DADT(10) = QST*(A(14)/VAB - A(10)/KbST/VST) + DADT(11) = QGU*(A(14)/VAB - A(11)/KbGU/VGU) + DADT(12) = QBO*(A(14)/VAB - A(12)/KbBO/VBO) + DADT(13) = QKI*(A(14)/VAB - A(13)/KbKI/VKI) + DADT(14) = QLU*(A(1)/KbLU/VLU - A(14)/VAB) + DADT(15) = QHT*A(2)/KbHT/VHT + QBR*A(3)/KbBR/VBR + QMU*A(4)/KbMU/VMU + QAD*A(5)/KbAD/VAD + QSK*A(6)/KbSK/VSK + QLI*A(9)/KbLI/VLI + QBO*A(12)/KbBO/VBO + QKI*A(13)/KbKI/VKI + QRB*A(16)/KbRB/VRB - QLU*A(15)/VVB + DADT(16) = QRB*(A(14)/VAB - A(16)/KbRB/VRB) + + C15 = A(15)/S15 + +$THETA + (7.6) ; lCLint + (1.1) ; lKbBR + (0.3) ; lKbMU + (2.0) ; lKbAD + (0.03) ; lKbBO + (0.3) ; lKbRB + +$OMEGA +(0, 4.00) ; IIV on CLint + +$SIGMA +10.0 ; proportional residual variability +1.00 ; additive residual variability + +$ERROR + + IPRED = A(15)/S15 + IRES=DV-IPRED + W=SQRT(IPRED**2*SIGMA(1,1)+SIGMA(2,2)) + IWRES=IRES/W + F_FLAG = 0 + Y = IPRED + IPRED*EPS(1) + EPS(2) + +; $EST METHOD=IMP INTERACTION NOABORT PRINT=5 NOABORT AUTO=1 RANMETHOD=S2P CTYPE=3 NITER=5000 + +$EST METHOD=CONDITIONAL INTERACTION MAXEVAL=9999 PRINT=1 NOABORT NOTBT NOOBT NOSBT NSIG=2 SIGL=6 + +$COV UNCONDITIONAL + +$TABLE ID EVID CMT DOSE C15 WTKG CLint +ETAS(1:LAST) NPDE CWRES IWRES IPRED NOPRINT ONEHEADER FILE=mod1.tbl diff --git a/vignette/models/mavoglurant-pbpk-101/mod1.ext b/vignette/models/mavoglurant-pbpk-101/mod1.ext new file mode 100644 index 0000000..f06cead --- /dev/null +++ b/vignette/models/mavoglurant-pbpk-101/mod1.ext @@ -0,0 +1,50 @@ +TABLE NO. 1: First Order Conditional Estimation with Interaction: Goal Function=MINIMUM VALUE OF OBJECTIVE FUNCTION: Problem=1 Subproblem=0 Superproblem1=0 Iteration1=0 Superproblem2=0 Iteration2=0 + ITERATION THETA1 THETA2 THETA3 THETA4 THETA5 THETA6 SIGMA(1,1) SIGMA(2,1) SIGMA(2,2) OMEGA(1,1) OBJ + 0 7.60000E+00 1.10000E+00 3.00000E-01 2.00000E+00 3.00000E-02 3.00000E-01 1.00000E+01 0.00000E+00 1.00000E+00 4.00000E+00 2653.2644430763830 + 1 7.89013E+00 1.10137E+00 3.01495E-01 2.30000E+00 3.00018E-02 3.00142E-01 9.98149E+00 0.00000E+00 1.00020E+00 3.99980E+00 2612.8117676464426 + 2 9.29882E+00 1.10891E+00 3.12021E-01 2.71431E+00 3.00151E-02 3.00935E-01 9.89852E+00 0.00000E+00 1.00056E+00 3.99823E+00 2610.6891245724055 + 3 9.99623E+00 1.11852E+00 3.26023E-01 2.64757E+00 3.00302E-02 3.01858E-01 9.82702E+00 0.00000E+00 1.00077E+00 3.99544E+00 2605.4042398419460 + 4 1.07531E+01 2.50465E+00 2.28216E+00 3.08980E+00 3.18054E-02 4.24569E-01 4.26380E+00 0.00000E+00 1.03328E+00 3.79118E+00 2449.9931245790508 + 5 1.07085E+01 2.88034E+00 2.32960E+00 3.10294E+00 3.20140E-02 4.43977E-01 3.98901E+00 0.00000E+00 1.03511E+00 3.77340E+00 2443.6624431420360 + 6 6.24820E+00 2.68308E+00 2.06195E+00 3.03630E+00 3.87756E-02 1.33154E+00 4.61359E-01 0.00000E+00 1.07419E+00 3.19667E+00 2251.0708960113002 + 7 5.16848E+00 2.61468E+00 1.97166E+00 3.01421E+00 3.89949E-02 1.15108E+00 2.81458E-01 0.00000E+00 1.07876E+00 2.97293E+00 2235.6318466860494 + 8 5.00628E+00 2.56818E+00 1.91237E+00 2.92750E+00 3.77349E-02 9.73981E-01 2.31417E-01 0.00000E+00 1.14378E+00 5.31227E+00 2230.0874857133399 + 9 3.67333E+00 1.87315E+00 1.04844E+00 2.36365E+00 -3.97876E-02 -1.14797E-01 1.12235E-01 0.00000E+00 1.57050E+01 2.95081E+01 2126.0836744033586 + 10 3.18873E+00 1.63318E+00 7.43131E-01 2.19035E+00 -9.79242E-02 -4.59189E-01 8.59558E-02 0.00000E+00 1.68340E+01 5.45015E+01 2103.0693180302328 + 11 2.79299E+00 1.42094E+00 5.64535E-01 2.20768E+00 3.43954E-01 -1.23265E+00 8.40926E-02 0.00000E+00 1.29816E+00 7.22370E+01 2090.6356567484536 + 12 2.56849E+00 1.55348E+00 5.12727E-01 2.34111E+00 1.53614E-02 -1.63254E+00 8.99406E-02 0.00000E+00 7.27995E-01 4.81787E+01 2077.9996500222251 + 13 2.19402E+00 1.63404E+00 4.78171E-01 2.35062E+00 -7.68071E-02 -2.02460E+00 8.73986E-02 0.00000E+00 5.84006E-01 4.02711E+01 2076.8272909493135 + 14 1.90144E+00 1.71144E+00 4.66011E-01 2.34519E+00 -1.74601E-01 -2.33307E+00 8.69276E-02 0.00000E+00 4.98768E-01 3.71769E+01 2076.6890024621471 + 15 1.90144E+00 1.71144E+00 4.66011E-01 2.34519E+00 -1.74601E-01 -2.33307E+00 8.69276E-02 0.00000E+00 4.98768E-01 3.71769E+01 2076.6890024621471 + 16 1.67166E+00 1.83982E+00 4.76686E-01 2.34859E+00 -2.11057E-01 -2.66352E+00 8.97223E-02 0.00000E+00 4.23895E-01 3.12381E+01 2075.5779670319403 + 17 6.68662E+00 2.03963E+00 5.19792E-01 2.31587E+00 -1.45267E-01 -3.76568E+00 8.74787E-02 0.00000E+00 3.96380E-01 3.07459E+01 2056.0535616458214 + 18 5.37270E+00 2.05013E+00 5.12593E-01 2.31138E+00 -1.52637E-01 -4.23874E+00 8.72086E-02 0.00000E+00 3.87315E-01 2.64261E+01 2055.2391901967908 + 19 4.66287E+00 2.01283E+00 4.96408E-01 2.31699E+00 -1.72502E-01 -4.41215E+00 8.74075E-02 0.00000E+00 3.85361E-01 2.35630E+01 2055.1517311728439 + 20 4.66287E+00 2.01283E+00 4.96408E-01 2.31699E+00 -1.72502E-01 -4.41215E+00 8.74075E-02 0.00000E+00 3.85361E-01 2.35630E+01 2055.1517311728439 + 21 4.47750E+00 2.02372E+00 4.96013E-01 2.31591E+00 -1.68251E-01 -4.47845E+00 8.71359E-02 0.00000E+00 3.82826E-01 2.17802E+01 2054.9745219033916 + 22 4.15993E+00 2.00215E+00 4.75654E-01 2.31688E+00 -1.72533E-01 -4.76637E+00 8.72142E-02 0.00000E+00 3.73513E-01 1.55120E+01 2053.0308694271475 + 23 5.15526E+00 2.00887E+00 4.08130E-01 2.31607E+00 -1.96340E-01 -6.37528E+00 8.45768E-02 0.00000E+00 3.28062E-01 2.28615E+00 2039.8660920503937 + 24 7.19656E+00 2.00854E+00 3.27511E-01 2.31709E+00 -2.28363E-01 -8.14078E+00 8.20936E-02 0.00000E+00 2.85462E-01 2.64558E-01 1974.9391433990561 + 25 7.04435E+00 2.03307E+00 3.74566E-01 2.29590E+00 -2.06079E-01 -8.03655E+00 8.66785E-02 0.00000E+00 2.98045E-01 2.94709E-01 1974.5444862388053 + 26 7.24171E+00 2.07334E+00 4.32217E-01 2.26396E+00 -1.76277E-01 -8.29979E+00 9.35533E-02 0.00000E+00 3.09373E-01 1.98773E-01 1970.0428535705735 + 27 7.14920E+00 2.06052E+00 4.89068E-01 2.35380E+00 -1.39656E-01 -8.44777E+00 8.37990E-02 0.00000E+00 3.56596E-01 1.54212E-01 1967.2574730390793 + 28 7.13728E+00 1.88636E+00 4.93083E-01 2.31983E+00 -1.87158E-01 -8.74898E+00 8.39644E-02 0.00000E+00 3.33434E-01 9.87576E-02 1964.4019324527226 + 29 7.15787E+00 1.98443E+00 4.54449E-01 2.32284E+00 -1.95231E-01 -8.90260E+00 8.87764E-02 0.00000E+00 3.22188E-01 7.97237E-02 1963.7772739376223 + 30 7.14485E+00 1.99059E+00 4.52406E-01 2.31644E+00 -1.96066E-01 -8.88831E+00 8.78743E-02 0.00000E+00 3.13133E-01 8.14532E-02 1963.7317217607010 + 31 7.14521E+00 1.99649E+00 4.51296E-01 2.30993E+00 -1.94667E-01 -8.88019E+00 8.65211E-02 0.00000E+00 3.00459E-01 8.27458E-02 1963.6787758263199 + 32 7.16067E+00 2.00054E+00 4.52002E-01 2.31015E+00 -1.85604E-01 -8.98750E+00 8.65005E-02 0.00000E+00 2.68010E-01 8.32930E-02 1963.6271921483342 + 33 7.16030E+00 2.00052E+00 4.52003E-01 2.31014E+00 -1.85919E-01 -9.02268E+00 8.65018E-02 0.00000E+00 2.68132E-01 8.32924E-02 1963.6271463019898 + 34 7.16030E+00 2.00052E+00 4.52003E-01 2.31014E+00 -1.85919E-01 -9.02268E+00 8.65018E-02 0.00000E+00 2.68132E-01 8.32924E-02 1963.6271463019898 + 35 7.16011E+00 2.00051E+00 4.52002E-01 2.31013E+00 -1.86123E-01 -9.03959E+00 8.65024E-02 0.00000E+00 2.68195E-01 8.32919E-02 1963.6271438357737 + 36 7.15952E+00 2.00043E+00 4.51933E-01 2.31038E+00 -1.86576E-01 -9.07856E+00 8.65030E-02 0.00000E+00 2.70895E-01 8.33020E-02 1963.6270294603462 + 37 7.16059E+00 2.00032E+00 4.52833E-01 2.31071E+00 -1.86624E-01 -1.00029E+01 8.68449E-02 0.00000E+00 2.73824E-01 8.32052E-02 1963.6240820290291 + 38 7.16049E+00 2.00030E+00 4.52950E-01 2.31074E+00 -1.86674E-01 -1.01745E+01 8.68874E-02 0.00000E+00 2.74203E-01 8.31927E-02 1963.6238498152991 + 39 7.16049E+00 2.00030E+00 4.52950E-01 2.31074E+00 -1.86674E-01 -1.01745E+01 8.68874E-02 0.00000E+00 2.74203E-01 8.31927E-02 1963.6238498152991 + 40 7.16049E+00 2.00030E+00 4.52950E-01 2.31074E+00 -1.86674E-01 -1.01745E+01 8.68874E-02 0.00000E+00 2.74203E-01 8.31927E-02 1963.6238498152991 + -1000000000 7.16049E+00 2.00030E+00 4.52950E-01 2.31074E+00 -1.86674E-01 -1.01745E+01 8.68874E-02 0.00000E+00 2.74203E-01 8.31927E-02 1963.6238498152991 + -1000000001 7.41825E-02 2.17470E-01 2.21092E-01 1.62808E-01 1.55338E-01 3.44156E+01 1.46300E-02 1.00000E+10 9.15875E-01 2.29954E-02 0.0000000000000000 + -1000000004 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 2.94767E-01 0.00000E+00 5.23644E-01 2.88431E-01 0.0000000000000000 + -1000000005 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 2.48163E-02 1.00000E+10 8.74522E-01 3.98628E-02 0.0000000000000000 + -1000000006 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.00000E+00 0.00000E+00 0.00000E+00 0.0000000000000000 + -1000000007 0.00000E+00 3.70000E+01 3.80000E+01 4.90000E+01 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.0000000000000000 + -1000000008 1.09841E-01 -4.11955E-03 1.37611E-01 1.12246E-01 -4.44219E-03 -2.68801E-04 3.26364E-01 0.00000E+00 -3.21276E-03 -3.83805E-03 0.0000000000000000 diff --git a/vignette/models/mavoglurant-pbpk-101/mod1.lst b/vignette/models/mavoglurant-pbpk-101/mod1.lst new file mode 100644 index 0000000..dca68b1 --- /dev/null +++ b/vignette/models/mavoglurant-pbpk-101/mod1.lst @@ -0,0 +1,958 @@ +Tue 04/09/2024 +01:34 PM +$PROBLEM Mavoglurant PBPK (Wendling et al.,2016. DOI: +; 10.1208/s12248-015-9840-7) presented as an nlmixr2 example +; (https://nlmixr2.org/articles/mavoglurant.html) +$INPUT ID CMT EVID EVI2 MDV DV LNDV AMT TIME DOSE OCC RATE AGE + SEX RACE WTKG HTM BLQ +$DATA Mavoglurant_A2121_nmpk_edited.csv IGNORE=I + IGNORE=(OCC.GT.1) IGNORE=(ID.GE.812) IGNORE=(BLQ.EQ.1) + ; Match data subsets of nlmixr2 vignette + ; Match data subsets of nlmixr2 vignette + ; Match data subsets of nlmixr2 vignette +$SUBROUTINE ADVAN13 TRANS1 TOL=6 SUBROUTINES=D +$MODEL COMP=(LU) ; 01 + COMP=(HT) ; 02 + COMP=(BR) ; 03 + COMP=(MU) ; 04 + COMP=(AD) ; 05 + COMP=(SK) ; 06 + COMP=(SP) ; 07 + COMP=(PA) ; 08 + COMP=(LI) ; 09 + COMP=(ST) ; 10 + COMP=(GU) ; 11 + COMP=(BO) ; 12 + COMP=(KI) ; 13 + COMP=(AB) ; 14 + COMP=(VB,DEFDOSE,DEFOBS) ; 15 + COMP=(RB) ; 16 +$PK + ;--- Initial + + CALLFL=-2 + R15=RATE + + ;--- Estimated Parameters + + lCLint = THETA(1) + MU_1 = lCLint + CLint = EXP(MU_1+ETA(1)) + + KbBR = EXP(THETA(2)) + KbMU = EXP(THETA(3)) + KbAD = EXP(THETA(4)) + KbBO = EXP(THETA(5)) + KbRB = EXP(THETA(6)) + + ;--- Fixed Physiological Parameters + + CO = (187.00*WTKG**0.81)*60.0/1000.0 ; Cardiac output (L/h) from White et al (1968) as presented by nlmixr2 vignette + QHT = 4.0 *CO/100.0 + QBR = 12.0*CO/100.0 + QMU = 17.0*CO/100.0 + QAD = 5.0 *CO/100.0 + QSK = 5.0 *CO/100.0 + QSP = 3.0 *CO/100.0 + QPA = 1.0 *CO/100.0 + QLI = 25.5*CO/100.0 + QST = 1.0 *CO/100.0 + QGU = 14.0*CO/100.0 + QHA = QLI - (QSP + QPA + QST + QGU) ; Hepatic artery blood flow + QBO = 5.0 *CO/100.0 + QKI = 19.0*CO/100.0 + QRB = CO - (QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI) + QLU = QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI + QRB + + VLU = (0.76 *WTKG/100.0)/1.051 + VHT = (0.47 *WTKG/100.0)/1.030 + VBR = (2.00 *WTKG/100.0)/1.036 + VMU = (40.00*WTKG/100.0)/1.041 + VAD = (21.42*WTKG/100.0)/0.916 + VSK = (3.71 *WTKG/100.0)/1.116 + VSP = (0.26 *WTKG/100.0)/1.054 + VPA = (0.14 *WTKG/100.0)/1.045 + VLI = (2.57 *WTKG/100.0)/1.040 + VST = (0.21 *WTKG/100.0)/1.050 + VGU = (1.44 *WTKG/100.0)/1.043 + VBO = (14.29*WTKG/100.0)/1.990 + VKI = (0.44 *WTKG/100.0)/1.050 + VAB = (2.81 *WTKG/100.0)/1.040 + VVB = (5.62 *WTKG/100.0)/1.040 + VRB = (3.86 *WTKG/100.0)/1.040 + + ;--- Fixed Drug-specific Parameters + + BP = 0.61 ; Blood:plasma partition coefficient + fup = 0.028 ; Fraction unbound in plasma + fub = fup/BP ; Fraction unbound in blood + + KbLU = exp(0.8334) + KbHT = exp(1.1205) + KbSK = exp(-.5238) + KbSP = exp(0.3224) + KbPA = exp(0.3224) + KbLI = exp(1.7604) + KbST = exp(0.3224) + KbGU = exp(1.2026) + KbKI = exp(1.3171) + + ;--- Finalize + + S15 = VVB*BP/1000.0 + +$DES + + DADT(1) = QLU*(A(15)/VVB - A(1)/KbLU/VLU) + DADT(2) = QHT*(A(14)/VAB - A(2)/KbHT/VHT) + DADT(3) = QBR*(A(14)/VAB - A(3)/KbBR/VBR) + DADT(4) = QMU*(A(14)/VAB - A(4)/KbMU/VMU) + DADT(5) = QAD*(A(14)/VAB - A(5)/KbAD/VAD) + DADT(6) = QSK*(A(14)/VAB - A(6)/KbSK/VSK) + DADT(7) = QSP*(A(14)/VAB - A(7)/KbSP/VSP) + DADT(8) = QPA*(A(14)/VAB - A(8)/KbPA/VPA) + DADT(9) = QHA*A(14)/VAB + QSP*A(7)/KbSP/VSP + QPA*A(8)/KbPA/VPA + QST*A(10)/KbST/VST + QGU*A(11)/KbGU/VGU - CLint*fub*A(9)/KbLI/VLI - QLI*A(9)/KbLI/VLI + DADT(10) = QST*(A(14)/VAB - A(10)/KbST/VST) + DADT(11) = QGU*(A(14)/VAB - A(11)/KbGU/VGU) + DADT(12) = QBO*(A(14)/VAB - A(12)/KbBO/VBO) + DADT(13) = QKI*(A(14)/VAB - A(13)/KbKI/VKI) + DADT(14) = QLU*(A(1)/KbLU/VLU - A(14)/VAB) + DADT(15) = QHT*A(2)/KbHT/VHT + QBR*A(3)/KbBR/VBR + QMU*A(4)/KbMU/VMU + QAD*A(5)/KbAD/VAD + QSK*A(6)/KbSK/VSK + QLI*A(9)/KbLI/VLI + QBO*A(12)/KbBO/VBO + QKI*A(13)/KbKI/VKI + QRB*A(16)/KbRB/VRB - QLU*A(15)/VVB + DADT(16) = QRB*(A(14)/VAB - A(16)/KbRB/VRB) + + C15 = A(15)/S15 + +$THETA 7.6 ; lCLint + 1.1 ; lKbBR + 0.3 ; lKbMU + 2.0 ; lKbAD + 0.03 ; lKbBO + 0.3 ; lKbRB +$OMEGA 4.00 ; IIV on CLint +$SIGMA 10.0 ; proportional residual variability + 1.00 ; additive residual variability +$ERROR + + IPRED = A(15)/S15 + IRES=DV-IPRED + W=SQRT(IPRED**2*SIGMA(1,1)+SIGMA(2,2)) + IWRES=IRES/W + F_FLAG = 0 + Y = IPRED + IPRED*EPS(1) + EPS(2) + +; $EST METHOD=IMP INTERACTION NOABORT PRINT=5 NOABORT AUTO=1 RANMETHOD=S2P CTYPE=3 NITER=5000 + +$ESTIMATION METHOD=CONDITIONAL INTERACTION MAXEVAL=9999 PRINT=1 + NOABORT NOTBT NOOBT NOSBT NSIG=2 SIGL=6 +$COVARIANCE UNCONDITIONAL +$TABLE ID EVID CMT DOSE C15 WTKG CLint ETAS(1:LAST) NPDE CWRES + IWRES IPRED NOPRINT ONEHEADER FILE=mod1.tbl + + +NM-TRAN MESSAGES + + WARNINGS AND ERRORS (IF ANY) FOR PROBLEM 1 + + (WARNING 2) NM-TRAN INFERS THAT THE DATA ARE POPULATION. + + (WARNING 48) DES-DEFINED ITEMS ARE COMPUTED ONLY WHEN EVENT TIME + INCREASES. E.G., DISPLAYED VALUES ASSOCIATED WITH THE FIRST EVENT RECORD + OF AN INDIVIDUAL RECORD ARE COMPUTED WITH (THE LAST ADVANCE TO) AN EVENT + TIME OF THE PRIOR INDIVIDUAL RECORD. + + (WARNING 79) SIGMA IS USED ON THE RIGHT. WITH A SUBSEQUENT RUN, IF AN + INITIAL ESTIMATE OF A DIAGONAL BLOCK OF SIGMA IS TO BE COMPUTED BY + NONMEM, THAT BLOCK WILL BE SET TO AN IDENTITY MATRIX DURING THAT + COMPUTATION. THIS COULD LEAD TO AN ARITHMETIC EXCEPTION.* + + * THE MAXIMUM NUMBER OF WARNINGS OF ONE OR MORE TYPES WAS REACHED. + IT IS POSSIBLE THAT SOME WARNING MESSAGES WERE SUPPRESSED. + +License Registered to: Enhanced Pharmacodynamics LLC +Expiration Date: 14 SEP 2024 +Current Date: 9 APR 2024 +Days until program expires : 155 +1NONLINEAR MIXED EFFECTS MODEL PROGRAM (NONMEM) VERSION 7.4.4 + ORIGINALLY DEVELOPED BY STUART BEAL, LEWIS SHEINER, AND ALISON BOECKMANN + CURRENT DEVELOPERS ARE ROBERT BAUER, ICON DEVELOPMENT SOLUTIONS, + AND ALISON BOECKMANN. IMPLEMENTATION, EFFICIENCY, AND STANDARDIZATION + PERFORMED BY NOUS INFOSYSTEMS. + + PROBLEM NO.: 1 + Mavoglurant PBPK (Wendling et al.,2016. DOI: +0DATA CHECKOUT RUN: NO + DATA SET LOCATED ON UNIT NO.: 2 + THIS UNIT TO BE REWOUND: NO + NO. OF DATA RECS IN DATA SET: 275 + NO. OF DATA ITEMS IN DATA SET: 18 + ID DATA ITEM IS DATA ITEM NO.: 1 + DEP VARIABLE IS DATA ITEM NO.: 6 + MDV DATA ITEM IS DATA ITEM NO.: 5 +0INDICES PASSED TO SUBROUTINE PRED: + 3 9 8 12 0 0 2 0 0 0 0 +0LABELS FOR DATA ITEMS: + ID CMT EVID EVI2 MDV DV LNDV AMT TIME DOSE OCC RATE AGE SEX RACE WTKG HTM BLQ +0(NONBLANK) LABELS FOR PRED-DEFINED ITEMS: + CLint C15 IPRED IWRES +0FORMAT FOR DATA: + (2(6E12.0/),6E12.0) + + TOT. NO. OF OBS RECS: 256 + TOT. NO. OF INDIVIDUALS: 19 +0LENGTH OF THETA: 6 +0DEFAULT THETA BOUNDARY TEST OMITTED: YES +0OMEGA HAS SIMPLE DIAGONAL FORM WITH DIMENSION: 1 +0DEFAULT OMEGA BOUNDARY TEST OMITTED: YES +0SIGMA HAS SIMPLE DIAGONAL FORM WITH DIMENSION: 2 +0DEFAULT SIGMA BOUNDARY TEST OMITTED: YES +0INITIAL ESTIMATE OF THETA: + 0.7600E+01 0.1100E+01 0.3000E+00 0.2000E+01 0.3000E-01 0.3000E+00 +0INITIAL ESTIMATE OF OMEGA: + 0.4000E+01 +0INITIAL ESTIMATE OF SIGMA: + 0.1000E+02 + 0.0000E+00 0.1000E+01 +0COVARIANCE STEP OMITTED: NO + EIGENVLS. PRINTED: NO + SPECIAL COMPUTATION: NO + COMPRESSED FORMAT: NO + GRADIENT METHOD USED: NOSLOW + SIGDIGITS ETAHAT (SIGLO): -1 + SIGDIGITS GRADIENTS (SIGL): -1 + EXCLUDE COV FOR FOCE (NOFCOV): NO + TURN OFF Cholesky Transposition of R Matrix (CHOLROFF): NO + KNUTHSUMOFF: -1 + RESUME COV ANALYSIS (RESUME): NO + SIR SAMPLE SIZE (SIRSAMPLE): -1 + NON-LINEARLY TRANSFORM THETAS DURING COV (THBND): 1 + PRECONDTIONING CYCLES (PRECOND): 0 + PRECONDTIONING TYPES (PRECONDS): TOS + FORCED PRECONDTIONING CYCLES (PFCOND):0 + PRECONDTIONING TYPE (PRETYPE): 0 + FORCED POS. DEFINITE SETTING: (FPOSDEF):0 +0TABLES STEP OMITTED: NO + NO. OF TABLES: 1 + SEED NUMBER (SEED): 11456 + RANMETHOD: 3U + MC SAMPLES (ESAMPLE): 300 + WRES SQUARE ROOT TYPE (WRESCHOL): EIGENVALUE +0-- TABLE 1 -- +0RECORDS ONLY: ALL +04 COLUMNS APPENDED: YES + PRINTED: NO + HEADER: YES + FILE TO BE FORWARDED: NO + FORMAT: S1PE11.4 + LFORMAT: + RFORMAT: + FIXED_EFFECT_ETAS: +0USER-CHOSEN ITEMS: + ID EVID CMT DOSE C15 WTKG CLint ETA1 NPDE CWRES IWRES IPRED +1DOUBLE PRECISION PREDPP VERSION 7.4.4 + + GENERAL NONLINEAR KINETICS MODEL WITH STIFF/NONSTIFF EQUATIONS (LSODA, ADVAN13) +0MODEL SUBROUTINE USER-SUPPLIED - ID NO. 9999 +0MAXIMUM NO. OF BASIC PK PARAMETERS: 48 +0COMPARTMENT ATTRIBUTES + COMPT. NO. FUNCTION INITIAL ON/OFF DOSE DEFAULT DEFAULT + STATUS ALLOWED ALLOWED FOR DOSE FOR OBS. + 1 LU ON YES YES NO NO + 2 HT ON YES YES NO NO + 3 BR ON YES YES NO NO + 4 MU ON YES YES NO NO + 5 AD ON YES YES NO NO + 6 SK ON YES YES NO NO + 7 SP ON YES YES NO NO + 8 PA ON YES YES NO NO + 9 LI ON YES YES NO NO + 10 ST ON YES YES NO NO + 11 GU ON YES YES NO NO + 12 BO ON YES YES NO NO + 13 KI ON YES YES NO NO + 14 AB ON YES YES NO NO + 15 VB ON YES YES YES YES + 16 RB ON YES YES NO NO + 17 OUTPUT OFF YES NO NO NO + INITIAL (BASE) TOLERANCE SETTINGS: + NRD (RELATIVE) VALUE(S) OF TOLERANCE: 6 + ANRD (ABSOLUTE) VALUE(S) OF TOLERANCE: 12 +1 + ADDITIONAL PK PARAMETERS - ASSIGNMENT OF ROWS IN GG + COMPT. NO. INDICES + SCALE BIOAVAIL. ZERO-ORDER ZERO-ORDER ABSORB + FRACTION RATE DURATION LAG + 1 * * * * * + 2 * * * * * + 3 * * * * * + 4 * * * * * + 5 * * * * * + 6 * * * * * + 7 * * * * * + 8 * * * * * + 9 * * * * * + 10 * * * * * + 11 * * * * * + 12 * * * * * + 13 * * * * * + 14 * * * * * + 15 50 * 49 * * + 16 * * * * * + 17 * - - - - + - PARAMETER IS NOT ALLOWED FOR THIS MODEL + * PARAMETER IS NOT SUPPLIED BY PK SUBROUTINE; + WILL DEFAULT TO ONE IF APPLICABLE +0DATA ITEM INDICES USED BY PRED ARE: + EVENT ID DATA ITEM IS DATA ITEM NO.: 3 + TIME DATA ITEM IS DATA ITEM NO.: 9 + DOSE AMOUNT DATA ITEM IS DATA ITEM NO.: 8 + DOSE RATE DATA ITEM IS DATA ITEM NO.: 12 + COMPT. NO. DATA ITEM IS DATA ITEM NO.: 2 + +0PK SUBROUTINE CALLED WITH EVERY EVENT RECORD. + PK SUBROUTINE CALLED AT NONEVENT (ADDITIONAL AND LAGGED) DOSE TIMES. +0ERROR SUBROUTINE CALLED WITH EVERY EVENT RECORD. +0ERROR SUBROUTINE INDICATES THAT DERIVATIVES OF COMPARTMENT AMOUNTS ARE USED. +0DES SUBROUTINE USES COMPACT STORAGE MODE. +1 + + + #TBLN: 1 + #METH: First Order Conditional Estimation with Interaction + + ESTIMATION STEP OMITTED: NO + ANALYSIS TYPE: POPULATION + NUMBER OF SADDLE POINT RESET ITERATIONS: 0 + GRADIENT METHOD USED: NOSLOW + CONDITIONAL ESTIMATES USED: YES + CENTERED ETA: NO + EPS-ETA INTERACTION: YES + LAPLACIAN OBJ. FUNC.: NO + NO. OF FUNCT. EVALS. ALLOWED: 9999 + NO. OF SIG. FIGURES REQUIRED: 2 + INTERMEDIATE PRINTOUT: YES + ESTIMATE OUTPUT TO MSF: NO + ABORT WITH PRED EXIT CODE 1: NO + IND. OBJ. FUNC. VALUES SORTED: NO + NUMERICAL DERIVATIVE + FILE REQUEST (NUMDER): NONE + MAP (ETAHAT) ESTIMATION METHOD (OPTMAP): 0 + ETA HESSIAN EVALUATION METHOD (ETADER): 0 + INITIAL ETA FOR MAP ESTIMATION (MCETA): 0 + SIGDIGITS FOR MAP ESTIMATION (SIGLO): 6 + GRADIENT SIGDIGITS OF + FIXED EFFECTS PARAMETERS (SIGL): 6 + NOPRIOR SETTING (NOPRIOR): OFF + NOCOV SETTING (NOCOV): OFF + DERCONT SETTING (DERCONT): OFF + FINAL ETA RE-EVALUATION (FNLETA): ON + EXCLUDE NON-INFLUENTIAL (NON-INFL.) ETAS + IN SHRINKAGE (ETASTYPE): NO + NON-INFL. ETA CORRECTION (NONINFETA): OFF + RAW OUTPUT FILE (FILE): psn.ext + EXCLUDE TITLE (NOTITLE): NO + EXCLUDE COLUMN LABELS (NOLABEL): NO + FORMAT FOR ADDITIONAL FILES (FORMAT): S1PE12.5 + PARAMETER ORDER FOR OUTPUTS (ORDER): TSOL + WISHART PRIOR DF INTERPRETATION (WISHTYPE):0 + KNUTHSUMOFF: 0 + INCLUDE LNTWOPI: NO + INCLUDE CONSTANT TERM TO PRIOR (PRIORC): NO + INCLUDE CONSTANT TERM TO OMEGA (ETA) (OLNTWOPI):NO + ADDITIONAL CONVERGENCE TEST (CTYPE=4)?: NO + EM OR BAYESIAN METHOD USED: NONE + + TOLERANCES FOR ESTIMATION/EVALUATION STEP: + NRD (RELATIVE) VALUE(S) OF TOLERANCE: 6 + ANRD (ABSOLUTE) VALUE(S) OF TOLERANCE: 12 + TOLERANCES FOR COVARIANCE STEP: + NRD (RELATIVE) VALUE(S) OF TOLERANCE: 6 + ANRD (ABSOLUTE) VALUE(S) OF TOLERANCE: 12 + TOLERANCES FOR TABLE/SCATTER STEP: + NRD (RELATIVE) VALUE(S) OF TOLERANCE: 6 + ANRD (ABSOLUTE) VALUE(S) OF TOLERANCE: 12 + + THE FOLLOWING LABELS ARE EQUIVALENT + PRED=PREDI + RES=RESI + WRES=WRESI + IWRS=IWRESI + IPRD=IPREDI + IRS=IRESI + + MONITORING OF SEARCH: + + +0ITERATION NO.: 0 OBJECTIVE VALUE: 2653.26444307638 NO. OF FUNC. EVALS.: 10 + CUMULATIVE NO. OF FUNC. EVALS.: 10 + NPARAMETR: 7.6000E+00 1.1000E+00 3.0000E-01 2.0000E+00 3.0000E-02 3.0000E-01 4.0000E+00 1.0000E+01 1.0000E+00 + PARAMETER: 1.0000E-01 1.0000E-01 1.0000E-01 1.0000E-01 1.0000E-01 1.0000E-01 1.0000E-01 1.0000E-01 1.0000E-01 + GRADIENT: -9.7774E+02 -3.1881E+01 -1.2764E+02 -3.8418E+03 -1.5441E+00 -1.2123E+01 6.3171E+00 2.3732E+02 -2.6242E+01 + +0ITERATION NO.: 1 OBJECTIVE VALUE: 2612.81176764644 NO. OF FUNC. EVALS.: 12 + CUMULATIVE NO. OF FUNC. EVALS.: 22 + NPARAMETR: 7.8901E+00 1.1014E+00 3.0150E-01 2.3000E+00 3.0002E-02 3.0014E-01 3.9998E+00 9.9815E+00 1.0002E+00 + PARAMETER: 1.0382E-01 1.0012E-01 1.0050E-01 1.1500E-01 1.0001E-01 1.0005E-01 9.9975E-02 9.9073E-02 1.0010E-01 + GRADIENT: -9.2564E+02 -3.4233E+01 -1.7522E+02 -1.0345E+03 -2.2071E+00 -1.3199E+01 9.8211E+00 2.0840E+02 -8.9248E+00 + +0ITERATION NO.: 2 OBJECTIVE VALUE: 2610.68912457241 NO. OF FUNC. EVALS.: 14 + CUMULATIVE NO. OF FUNC. EVALS.: 36 + NPARAMETR: 9.2988E+00 1.1089E+00 3.1202E-01 2.7143E+00 3.0015E-02 3.0093E-01 3.9982E+00 9.8985E+00 1.0006E+00 + PARAMETER: 1.2235E-01 1.0081E-01 1.0401E-01 1.3572E-01 1.0005E-01 1.0031E-01 9.9779E-02 9.4900E-02 1.0028E-01 + GRADIENT: 1.0345E+02 -5.6712E+01 -3.1239E+02 1.6556E+03 -2.9898E+00 -1.8552E+01 2.7342E+01 1.5333E+02 -5.3829E-01 + +0ITERATION NO.: 3 OBJECTIVE VALUE: 2605.40423984195 NO. OF FUNC. EVALS.: 13 + CUMULATIVE NO. OF FUNC. EVALS.: 49 + NPARAMETR: 9.9962E+00 1.1185E+00 3.2602E-01 2.6476E+00 3.0030E-02 3.0186E-01 3.9954E+00 9.8270E+00 1.0008E+00 + PARAMETER: 1.3153E-01 1.0168E-01 1.0867E-01 1.3238E-01 1.0010E-01 1.0062E-01 9.9430E-02 9.1275E-02 1.0038E-01 + GRADIENT: 4.5938E+02 -5.9832E+01 -3.2219E+02 1.4663E+03 -2.7546E+00 -1.8613E+01 2.0947E+01 1.3590E+02 -1.4852E+00 + +0ITERATION NO.: 4 OBJECTIVE VALUE: 2449.99312457905 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 60 + NPARAMETR: 1.0753E+01 2.5046E+00 2.2822E+00 3.0898E+00 3.1805E-02 4.2457E-01 3.7912E+00 4.2638E+00 1.0333E+00 + PARAMETER: 1.4149E-01 2.2770E-01 7.6072E-01 1.5449E-01 1.0602E-01 1.4152E-01 7.3192E-02 -3.2621E-01 1.1637E-01 + GRADIENT: 9.7184E+02 -3.7685E+02 2.8799E+02 9.0455E+01 -4.2423E+00 -5.5988E+01 -3.2151E-01 5.9477E+01 7.8690E-01 + +0ITERATION NO.: 5 OBJECTIVE VALUE: 2443.66244314204 NO. OF FUNC. EVALS.: 12 + CUMULATIVE NO. OF FUNC. EVALS.: 72 + NPARAMETR: 1.0709E+01 2.8803E+00 2.3296E+00 3.1029E+00 3.2014E-02 4.4398E-01 3.7734E+00 3.9890E+00 1.0351E+00 + PARAMETER: 1.4090E-01 2.6185E-01 7.7653E-01 1.5515E-01 1.0671E-01 1.4799E-01 7.0841E-02 -3.5952E-01 1.1725E-01 + GRADIENT: 1.0419E+03 -4.3251E+01 2.4796E+02 3.8950E+01 -3.1436E+00 -5.8433E+01 -1.7164E+00 5.3046E+01 9.2924E-01 + +0ITERATION NO.: 6 OBJECTIVE VALUE: 2251.07089601130 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 83 + NPARAMETR: 6.2482E+00 2.6831E+00 2.0619E+00 3.0363E+00 3.8776E-02 1.3315E+00 3.1967E+00 4.6136E-01 1.0742E+00 + PARAMETER: 8.2213E-02 2.4392E-01 6.8732E-01 1.5181E-01 1.2925E-01 4.4385E-01 -1.2093E-02 -1.4381E+00 1.3578E-01 + GRADIENT: -6.7107E+02 5.4343E+02 1.9583E+02 -6.0719E+02 2.8823E+00 6.5493E+01 2.4064E+01 1.1132E+02 1.8367E+00 + +0ITERATION NO.: 7 OBJECTIVE VALUE: 2235.63184668605 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 94 + NPARAMETR: 5.1685E+00 2.6147E+00 1.9717E+00 3.0142E+00 3.8995E-02 1.1511E+00 2.9729E+00 2.8146E-01 1.0788E+00 + PARAMETER: 6.8006E-02 2.3770E-01 6.5722E-01 1.5071E-01 1.2998E-01 3.8369E-01 -4.8372E-02 -1.6852E+00 1.3791E-01 + GRADIENT: -1.5563E+03 7.1021E+02 2.3626E+02 -8.3364E+02 4.9444E+00 7.1148E+01 -6.2199E+00 3.1841E+01 1.5134E+00 + +0ITERATION NO.: 8 OBJECTIVE VALUE: 2230.08748571334 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 105 + NPARAMETR: 5.0063E+00 2.5682E+00 1.9124E+00 2.9275E+00 3.7735E-02 9.7398E-01 5.3123E+00 2.3142E-01 1.1438E+00 + PARAMETER: 6.5872E-02 2.3347E-01 6.3746E-01 1.4637E-01 1.2578E-01 3.2466E-01 2.4186E-01 -1.7831E+00 1.6717E-01 + GRADIENT: -8.7691E+02 7.7632E+02 3.1526E+02 -8.4979E+02 5.4767E+00 5.4145E+01 8.9162E+00 -2.4133E+01 1.5129E+00 + +0ITERATION NO.: 9 OBJECTIVE VALUE: 2126.08367440336 NO. OF FUNC. EVALS.: 13 + CUMULATIVE NO. OF FUNC. EVALS.: 118 + NPARAMETR: 3.6733E+00 1.8731E+00 1.0484E+00 2.3636E+00 -3.9788E-02 -1.1480E-01 2.9508E+01 1.1223E-01 1.5705E+01 + PARAMETER: 4.8333E-02 1.7029E-01 3.4948E-01 1.1818E-01 -1.3263E-01 -3.8266E-02 1.0992E+00 -2.1449E+00 1.4770E+00 + GRADIENT: 6.1584E+01 1.4218E+02 4.6649E+02 -6.0966E+02 5.8285E+00 -2.9366E+01 2.1279E+01 8.0255E+00 3.0112E+01 + +0ITERATION NO.: 10 OBJECTIVE VALUE: 2103.06931803023 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 129 + NPARAMETR: 3.1887E+00 1.6332E+00 7.4313E-01 2.1904E+00 -9.7924E-02 -4.5919E-01 5.4502E+01 8.5956E-02 1.6834E+01 + PARAMETER: 4.1957E-02 1.4847E-01 2.4771E-01 1.0952E-01 -3.2641E-01 -1.5306E-01 1.4060E+00 -2.2783E+00 1.5117E+00 + GRADIENT: 3.2970E+02 -8.4189E+01 2.7942E+02 -4.2319E+02 2.5641E+00 -2.3584E+01 2.6291E+01 2.7502E+00 3.3145E+01 + +0ITERATION NO.: 11 OBJECTIVE VALUE: 2090.63565674845 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 140 + NPARAMETR: 2.7930E+00 1.4209E+00 5.6454E-01 2.2077E+00 3.4395E-01 -1.2327E+00 7.2237E+01 8.4093E-02 1.2982E+00 + PARAMETER: 3.6750E-02 1.2918E-01 1.8818E-01 1.1038E-01 1.1465E+00 -4.1088E-01 1.5468E+00 -2.2892E+00 2.3047E-01 + GRADIENT: 7.3240E+02 -1.8959E+02 1.7060E+02 -9.9700E+02 4.5198E+00 -3.3894E+00 2.7736E+01 -2.4638E+01 -4.2288E-01 + +0ITERATION NO.: 12 OBJECTIVE VALUE: 2077.99965002223 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 151 + NPARAMETR: 2.5685E+00 1.5535E+00 5.1273E-01 2.3411E+00 1.5361E-02 -1.6325E+00 4.8179E+01 8.9941E-02 7.2799E-01 + PARAMETER: 3.3796E-02 1.4123E-01 1.7091E-01 1.1706E-01 5.1205E-02 -5.4418E-01 1.3443E+00 -2.2556E+00 -5.8731E-02 + GRADIENT: 6.7137E+02 -1.9942E+02 -1.9420E+01 2.8992E+02 -3.4960E-01 1.2314E+00 2.1230E+01 1.4906E+01 1.7407E+00 + +0ITERATION NO.: 13 OBJECTIVE VALUE: 2076.82729094931 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 162 + NPARAMETR: 2.1940E+00 1.6340E+00 4.7817E-01 2.3506E+00 -7.6807E-02 -2.0246E+00 4.0271E+01 8.7399E-02 5.8401E-01 + PARAMETER: 2.8869E-02 1.4855E-01 1.5939E-01 1.1753E-01 -2.5602E-01 -6.7487E-01 1.2547E+00 -2.2699E+00 -1.6892E-01 + GRADIENT: 6.4939E+02 -1.9892E+02 -6.2892E+01 4.8911E+02 -7.1646E-01 2.4566E+00 1.4662E+01 5.9836E+00 1.1985E+00 + +0ITERATION NO.: 14 OBJECTIVE VALUE: 2076.68900246215 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 173 + NPARAMETR: 1.9014E+00 1.7114E+00 4.6601E-01 2.3452E+00 -1.7460E-01 -2.3331E+00 3.7177E+01 8.6928E-02 4.9877E-01 + PARAMETER: 2.5019E-02 1.5559E-01 1.5534E-01 1.1726E-01 -5.8200E-01 -7.7769E-01 1.2147E+00 -2.2726E+00 -2.4781E-01 + GRADIENT: 6.0628E+02 -1.8765E+02 -7.2981E+01 4.6906E+02 -1.3099E+00 2.4200E+00 9.6864E+00 5.1476E+00 8.3548E-01 + +0ITERATION NO.: 15 OBJECTIVE VALUE: 2076.68900246215 NO. OF FUNC. EVALS.: 28 + CUMULATIVE NO. OF FUNC. EVALS.: 201 + NPARAMETR: 1.9014E+00 1.7114E+00 4.6601E-01 2.3452E+00 -1.7460E-01 -2.3331E+00 3.7177E+01 8.6928E-02 4.9877E-01 + PARAMETER: 2.5019E-02 1.5559E-01 1.5534E-01 1.1726E-01 -5.8200E-01 -7.7769E-01 1.2147E+00 -2.2726E+00 -2.4781E-01 + GRADIENT: 1.2944E+02 -1.8845E+02 -7.4019E+01 4.5007E+02 -1.4817E+00 2.3649E+00 9.6864E+00 3.8903E+00 8.3476E-01 + +0ITERATION NO.: 16 OBJECTIVE VALUE: 2075.57796703194 NO. OF FUNC. EVALS.: 25 + CUMULATIVE NO. OF FUNC. EVALS.: 226 + NPARAMETR: 1.6717E+00 1.8398E+00 4.7669E-01 2.3486E+00 -2.1106E-01 -2.6635E+00 3.1238E+01 8.9722E-02 4.2390E-01 + PARAMETER: 2.1995E-02 1.6726E-01 1.5890E-01 1.1743E-01 -7.0352E-01 -8.8784E-01 1.1277E+00 -2.2568E+00 -3.2913E-01 + GRADIENT: 2.8005E+01 -1.2414E+02 -4.8543E+01 3.5857E+02 -1.0375E+00 2.0525E+00 1.2215E+00 1.5017E+01 8.1333E-01 + +0ITERATION NO.: 17 OBJECTIVE VALUE: 2056.05356164582 NO. OF FUNC. EVALS.: 36 + CUMULATIVE NO. OF FUNC. EVALS.: 262 RESET HESSIAN, TYPE I + NPARAMETR: 6.6866E+00 2.0396E+00 5.1979E-01 2.3159E+00 -1.4527E-01 -3.7657E+00 3.0746E+01 8.7479E-02 3.9638E-01 + PARAMETER: 8.7982E-02 1.8542E-01 1.7326E-01 1.1579E-01 -4.8422E-01 -1.2552E+00 1.1197E+00 -2.2695E+00 -3.6269E-01 + GRADIENT: 9.5292E+02 1.0143E+02 7.4048E+01 -1.6854E+02 1.4310E+00 8.6338E-01 3.7570E+01 -6.3253E+00 1.0593E-01 + +0ITERATION NO.: 18 OBJECTIVE VALUE: 2055.23919019679 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 273 + NPARAMETR: 5.3727E+00 2.0501E+00 5.1259E-01 2.3114E+00 -1.5264E-01 -4.2387E+00 2.6426E+01 8.7209E-02 3.8732E-01 + PARAMETER: 7.0693E-02 1.8638E-01 1.7086E-01 1.1557E-01 -5.0879E-01 -1.4129E+00 1.0440E+00 -2.2710E+00 -3.7426E-01 + GRADIENT: 8.0313E+02 1.0606E+02 7.2545E+01 -2.0134E+02 1.3960E+00 5.7063E-01 3.3166E+01 -6.6705E+00 1.2881E-02 + +0ITERATION NO.: 19 OBJECTIVE VALUE: 2055.15173117284 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 284 + NPARAMETR: 4.6629E+00 2.0128E+00 4.9641E-01 2.3170E+00 -1.7250E-01 -4.4121E+00 2.3563E+01 8.7408E-02 3.8536E-01 + PARAMETER: 6.1354E-02 1.8298E-01 1.6547E-01 1.1585E-01 -5.7501E-01 -1.4707E+00 9.8669E-01 -2.2699E+00 -3.7679E-01 + GRADIENT: 6.9056E+02 4.5389E+01 3.8800E+01 -7.6284E+01 6.8400E-01 4.5457E-01 2.7675E+01 -1.0736E+00 1.1506E-01 + +0ITERATION NO.: 20 OBJECTIVE VALUE: 2055.15173117284 NO. OF FUNC. EVALS.: 27 + CUMULATIVE NO. OF FUNC. EVALS.: 311 + NPARAMETR: 4.6629E+00 2.0128E+00 4.9641E-01 2.3170E+00 -1.7250E-01 -4.4121E+00 2.3563E+01 8.7408E-02 3.8536E-01 + PARAMETER: 6.1354E-02 1.8298E-01 1.6547E-01 1.1585E-01 -5.7501E-01 -1.4707E+00 9.8669E-01 -2.2699E+00 -3.7679E-01 + GRADIENT: 2.2371E+02 4.3806E+01 3.7898E+01 -9.5590E+01 5.1853E-01 4.0174E-01 2.7675E+01 -2.3545E+00 1.1409E-01 + +0ITERATION NO.: 21 OBJECTIVE VALUE: 2054.97452190339 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 335 + NPARAMETR: 4.4775E+00 2.0237E+00 4.9601E-01 2.3159E+00 -1.6825E-01 -4.4785E+00 2.1780E+01 8.7136E-02 3.8283E-01 + PARAMETER: 5.8914E-02 1.8397E-01 1.6534E-01 1.1580E-01 -5.6084E-01 -1.4928E+00 9.4735E-01 -2.2714E+00 -3.8009E-01 + GRADIENT: 1.8204E+02 5.5926E+01 4.2474E+01 -1.1397E+02 6.2410E-01 3.7399E-01 2.5147E+01 -4.1176E+00 8.0202E-02 + +0ITERATION NO.: 22 OBJECTIVE VALUE: 2053.03086942715 NO. OF FUNC. EVALS.: 25 + CUMULATIVE NO. OF FUNC. EVALS.: 360 + NPARAMETR: 4.1599E+00 2.0022E+00 4.7565E-01 2.3169E+00 -1.7253E-01 -4.7664E+00 1.5512E+01 8.7214E-02 3.7351E-01 + PARAMETER: 5.4736E-02 1.8201E-01 1.5855E-01 1.1584E-01 -5.7511E-01 -1.5888E+00 7.7766E-01 -2.2710E+00 -3.9240E-01 + GRADIENT: -9.7006E+00 1.4504E+01 1.4990E+01 -3.5317E+01 2.1940E-01 2.8360E-01 1.5584E+01 -3.8010E-02 1.0061E-01 + +0ITERATION NO.: 23 OBJECTIVE VALUE: 2039.86609205039 NO. OF FUNC. EVALS.: 26 + CUMULATIVE NO. OF FUNC. EVALS.: 386 + NPARAMETR: 5.1553E+00 2.0089E+00 4.0813E-01 2.3161E+00 -1.9634E-01 -6.3753E+00 2.2861E+00 8.4577E-02 3.2806E-01 + PARAMETER: 6.7832E-02 1.8262E-01 1.3604E-01 1.1580E-01 -6.5447E-01 -2.1251E+00 -1.7971E-01 -2.2863E+00 -4.5728E-01 + GRADIENT: -1.9191E+03 -3.9449E+01 -3.5874E+01 9.3585E+01 -4.9597E-01 6.0463E-02 -2.9598E+01 -3.4354E+00 1.5274E-02 + +0ITERATION NO.: 24 OBJECTIVE VALUE: 1974.93914339906 NO. OF FUNC. EVALS.: 25 + CUMULATIVE NO. OF FUNC. EVALS.: 411 + NPARAMETR: 7.1966E+00 2.0085E+00 3.2751E-01 2.3171E+00 -2.2836E-01 -8.1408E+00 2.6456E-01 8.2094E-02 2.8546E-01 + PARAMETER: 9.4692E-02 1.8259E-01 1.0917E-01 1.1585E-01 -7.6121E-01 -2.7136E+00 -1.2580E+00 -2.3012E+00 -5.2682E-01 + GRADIENT: 1.2762E+03 -1.4302E+02 -1.2690E+02 5.5002E+02 -1.6931E+00 8.7794E-03 2.3988E+01 -1.8866E+01 -3.6388E-01 + +0ITERATION NO.: 25 OBJECTIVE VALUE: 1974.54448623881 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 435 + NPARAMETR: 7.0444E+00 2.0331E+00 3.7457E-01 2.2959E+00 -2.0608E-01 -8.0366E+00 2.9471E-01 8.6678E-02 2.9804E-01 + PARAMETER: 9.2689E-02 1.8482E-01 1.2486E-01 1.1479E-01 -6.8693E-01 -2.6789E+00 -1.2040E+00 -2.2741E+00 -5.0526E-01 + GRADIENT: -4.4202E+02 -5.9766E+01 -5.8633E+01 2.4605E+01 -7.9530E-01 8.2294E-03 2.4170E+01 6.5936E+00 -2.8197E-01 + +0ITERATION NO.: 26 OBJECTIVE VALUE: 1970.04285357057 NO. OF FUNC. EVALS.: 26 + CUMULATIVE NO. OF FUNC. EVALS.: 461 + NPARAMETR: 7.2417E+00 2.0733E+00 4.3222E-01 2.2640E+00 -1.7628E-01 -8.2998E+00 1.9877E-01 9.3553E-02 3.0937E-01 + PARAMETER: 9.5286E-02 1.8849E-01 1.4407E-01 1.1320E-01 -5.8759E-01 -2.7666E+00 -1.4009E+00 -2.2359E+00 -4.8660E-01 + GRADIENT: 1.4494E+03 2.8530E+01 2.8734E+00 -4.7785E+02 1.0626E-01 8.3064E-03 1.9146E+01 2.7714E+01 -7.0151E-01 + +0ITERATION NO.: 27 OBJECTIVE VALUE: 1967.25747303908 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 485 + NPARAMETR: 7.1492E+00 2.0605E+00 4.8907E-01 2.3538E+00 -1.3966E-01 -8.4478E+00 1.5421E-01 8.3799E-02 3.5660E-01 + PARAMETER: 9.4068E-02 1.8732E-01 1.6302E-01 1.1769E-01 -4.6552E-01 -2.8159E+00 -1.5279E+00 -2.2910E+00 -4.1558E-01 + GRADIENT: 3.5121E+02 9.7610E+01 4.2680E+01 2.7802E+02 1.0564E+00 8.2139E-03 1.5016E+01 -2.2576E+01 5.6381E-01 + +0ITERATION NO.: 28 OBJECTIVE VALUE: 1964.40193245272 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 509 + NPARAMETR: 7.1373E+00 1.8864E+00 4.9308E-01 2.3198E+00 -1.8716E-01 -8.7490E+00 9.8758E-02 8.3964E-02 3.3343E-01 + PARAMETER: 9.3912E-02 1.7149E-01 1.6436E-01 1.1599E-01 -6.2386E-01 -2.9163E+00 -1.7507E+00 -2.2900E+00 -4.4916E-01 + GRADIENT: -3.8056E+01 -4.9492E+01 1.5491E+01 2.8659E+01 -1.0772E-01 5.2496E-03 4.7636E+00 -1.2848E+01 1.8394E-01 + +0ITERATION NO.: 29 OBJECTIVE VALUE: 1963.77727393762 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 533 + NPARAMETR: 7.1579E+00 1.9844E+00 4.5445E-01 2.3228E+00 -1.9523E-01 -8.9026E+00 7.9724E-02 8.8776E-02 3.2219E-01 + PARAMETER: 9.4183E-02 1.8040E-01 1.5148E-01 1.1614E-01 -6.5077E-01 -2.9675E+00 -1.8577E+00 -2.2621E+00 -4.6631E-01 + GRADIENT: 4.8596E+02 -2.0213E+01 -1.2959E+01 1.5018E+02 -2.0411E-01 4.7835E-03 -1.3068E+00 1.0028E+01 4.7151E-01 + +0ITERATION NO.: 30 OBJECTIVE VALUE: 1963.73172176070 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 557 + NPARAMETR: 7.1449E+00 1.9906E+00 4.5241E-01 2.3164E+00 -1.9607E-01 -8.8883E+00 8.1453E-02 8.7874E-02 3.1313E-01 + PARAMETER: 9.4011E-02 1.8096E-01 1.5080E-01 1.1582E-01 -6.5355E-01 -2.9628E+00 -1.8470E+00 -2.2672E+00 -4.8056E-01 + GRADIENT: 8.9267E+01 -1.2004E+01 -6.5506E+00 6.8832E+01 -1.2857E-01 3.4714E-03 -6.6732E-01 6.7561E+00 3.3146E-01 + +0ITERATION NO.: 31 OBJECTIVE VALUE: 1963.67877582632 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 581 + NPARAMETR: 7.1452E+00 1.9965E+00 4.5130E-01 2.3099E+00 -1.9467E-01 -8.8802E+00 8.2746E-02 8.6521E-02 3.0046E-01 + PARAMETER: 9.4016E-02 1.8150E-01 1.5043E-01 1.1550E-01 -6.4889E-01 -2.9601E+00 -1.8391E+00 -2.2750E+00 -5.0122E-01 + GRADIENT: 1.1589E+02 -3.3305E+00 -7.1896E-01 -2.7353E+00 -4.9492E-02 3.4053E-03 -1.9565E-01 1.0391E-01 1.0998E-01 + +0ITERATION NO.: 32 OBJECTIVE VALUE: 1963.62719214833 NO. OF FUNC. EVALS.: 33 + CUMULATIVE NO. OF FUNC. EVALS.: 614 RESET HESSIAN, TYPE I + NPARAMETR: 7.1607E+00 2.0005E+00 4.5200E-01 2.3102E+00 -1.8560E-01 -8.9875E+00 8.3293E-02 8.6501E-02 2.6801E-01 + PARAMETER: 9.4219E-02 1.8187E-01 1.5067E-01 1.1551E-01 -6.1868E-01 -2.9958E+00 -1.8358E+00 -2.2751E+00 -5.5836E-01 + GRADIENT: 1.0732E+03 1.5270E+00 -2.1702E-02 1.4430E+01 1.2292E-01 3.1684E-02 3.3879E-02 -5.5528E-01 -4.6002E-02 + +0ITERATION NO.: 33 OBJECTIVE VALUE: 1963.62714630199 NO. OF FUNC. EVALS.: 12 + CUMULATIVE NO. OF FUNC. EVALS.: 626 + NPARAMETR: 7.1603E+00 2.0005E+00 4.5200E-01 2.3101E+00 -1.8592E-01 -9.0227E+00 8.3292E-02 8.6502E-02 2.6813E-01 + PARAMETER: 9.4214E-02 1.8187E-01 1.5067E-01 1.1551E-01 -6.1973E-01 -3.0076E+00 -1.8358E+00 -2.2751E+00 -5.5814E-01 + GRADIENT: 1.0710E+03 1.4693E+00 1.4417E-01 1.4082E+01 1.5067E-01 2.9351E-02 4.5407E-02 -5.4347E-01 -4.5464E-02 + +0ITERATION NO.: 34 OBJECTIVE VALUE: 1963.62714630199 NO. OF FUNC. EVALS.: 30 + CUMULATIVE NO. OF FUNC. EVALS.: 656 + NPARAMETR: 7.1603E+00 2.0005E+00 4.5200E-01 2.3101E+00 -1.8592E-01 -9.0227E+00 8.3292E-02 8.6502E-02 2.6813E-01 + PARAMETER: 9.4214E-02 1.8187E-01 1.5067E-01 1.1551E-01 -6.1973E-01 -3.0076E+00 -1.8358E+00 -2.2751E+00 -5.5814E-01 + GRADIENT: 6.0567E+02 3.0477E-01 -7.6708E-01 -7.8383E+00 1.4000E-02 3.6019E-03 4.5407E-02 -1.8395E+00 -4.6458E-02 + +0ITERATION NO.: 35 OBJECTIVE VALUE: 1963.62714383577 NO. OF FUNC. EVALS.: 29 + CUMULATIVE NO. OF FUNC. EVALS.: 685 + NPARAMETR: 7.1601E+00 2.0005E+00 4.5200E-01 2.3101E+00 -1.8612E-01 -9.0396E+00 8.3292E-02 8.6502E-02 2.6819E-01 + PARAMETER: 9.4212E-02 1.8186E-01 1.5067E-01 1.1551E-01 -6.2041E-01 -3.0132E+00 -1.8358E+00 -2.2751E+00 -5.5802E-01 + GRADIENT: 5.9218E+02 3.2175E-01 -7.2367E-01 -8.9734E+00 1.2385E-02 3.5633E-03 4.1934E-02 -1.7956E+00 -4.9385E-02 + +0ITERATION NO.: 36 OBJECTIVE VALUE: 1963.62702946035 NO. OF FUNC. EVALS.: 24 + CUMULATIVE NO. OF FUNC. EVALS.: 709 + NPARAMETR: 7.1595E+00 2.0004E+00 4.5193E-01 2.3104E+00 -1.8658E-01 -9.0786E+00 8.3302E-02 8.6503E-02 2.7089E-01 + PARAMETER: 9.4204E-02 1.8186E-01 1.5064E-01 1.1552E-01 -6.2192E-01 -3.0262E+00 -1.8358E+00 -2.2751E+00 -5.5301E-01 + GRADIENT: 5.7477E+02 5.2360E-02 -9.1254E-01 -4.0427E+00 6.1464E-03 3.0940E-03 4.1408E-02 -1.7087E+00 -3.0437E-02 + +0ITERATION NO.: 37 OBJECTIVE VALUE: 1963.62408202903 NO. OF FUNC. EVALS.: 33 + CUMULATIVE NO. OF FUNC. EVALS.: 742 RESET HESSIAN, TYPE I + NPARAMETR: 7.1606E+00 2.0003E+00 4.5283E-01 2.3107E+00 -1.8662E-01 -1.0003E+01 8.3205E-02 8.6845E-02 2.7382E-01 + PARAMETER: 9.4218E-02 1.8185E-01 1.5094E-01 1.1554E-01 -6.2208E-01 -3.3343E+00 -1.8364E+00 -2.2731E+00 -5.4763E-01 + GRADIENT: 1.0498E+03 1.0392E+00 -8.8034E-02 1.9228E+01 1.0038E-01 3.2808E-02 1.3819E-03 1.1840E+00 1.3805E-03 + +0ITERATION NO.: 38 OBJECTIVE VALUE: 1963.62384981530 NO. OF FUNC. EVALS.: 11 + CUMULATIVE NO. OF FUNC. EVALS.: 753 + NPARAMETR: 7.1605E+00 2.0003E+00 4.5295E-01 2.3107E+00 -1.8667E-01 -1.0175E+01 8.3193E-02 8.6887E-02 2.7420E-01 + PARAMETER: 9.4217E-02 1.8185E-01 1.5098E-01 1.1554E-01 -6.2225E-01 -3.3915E+00 -1.8364E+00 -2.2729E+00 -5.4694E-01 + GRADIENT: 1.0549E+03 1.3889E+00 2.3893E-01 1.9409E+01 1.6209E-01 2.1596E-02 1.2772E-03 1.3786E+00 6.5595E-04 + +0ITERATION NO.: 39 OBJECTIVE VALUE: 1963.62384981530 NO. OF FUNC. EVALS.: 25 + CUMULATIVE NO. OF FUNC. EVALS.: 778 + NPARAMETR: 7.1605E+00 2.0003E+00 4.5295E-01 2.3107E+00 -1.8667E-01 -1.0175E+01 8.3193E-02 8.6887E-02 2.7420E-01 + PARAMETER: 9.4217E-02 1.8185E-01 1.5098E-01 1.1554E-01 -6.2225E-01 -3.3915E+00 -1.8364E+00 -2.2729E+00 -5.4694E-01 + GRADIENT: 5.8963E+02 -6.0073E-02 -8.3219E-01 -2.5658E+00 3.0793E-03 9.9616E-04 1.2772E-03 8.9434E-02 -3.4752E-04 + +0ITERATION NO.: 40 OBJECTIVE VALUE: 1963.62384981530 NO. OF FUNC. EVALS.: 21 + CUMULATIVE NO. OF FUNC. EVALS.: 799 + NPARAMETR: 7.1605E+00 2.0003E+00 4.5295E-01 2.3107E+00 -1.8667E-01 -1.0175E+01 8.3193E-02 8.6887E-02 2.7420E-01 + PARAMETER: 9.4217E-02 1.8185E-01 1.5098E-01 1.1554E-01 -6.2225E-01 -3.3915E+00 -1.8364E+00 -2.2729E+00 -5.4694E-01 + GRADIENT: -1.7918E+01 -5.1442E-02 -8.0177E-01 -1.6108E+00 5.0919E-03 9.6655E-04 -4.2896E-03 1.0678E-01 -1.2248E-03 + + #TERM: +0MINIMIZATION SUCCESSFUL + HOWEVER, PROBLEMS OCCURRED WITH THE MINIMIZATION. + REGARD THE RESULTS OF THE ESTIMATION STEP CAREFULLY, AND ACCEPT THEM ONLY + AFTER CHECKING THAT THE COVARIANCE STEP PRODUCES REASONABLE OUTPUT. + NO. OF FUNCTION EVALUATIONS USED: 799 + NO. OF SIG. DIGITS IN FINAL EST.: 2.8 + + ETABAR IS THE ARITHMETIC MEAN OF THE ETA-ESTIMATES, + AND THE P-VALUE IS GIVEN FOR THE NULL HYPOTHESIS THAT THE TRUE MEAN IS 0. + + ETABAR: -7.2140E-04 + SE: 6.2022E-02 + N: 19 + + P VAL.: 9.9072E-01 + + ETASHRINKSD(%) 3.7014E+00 + ETASHRINKVR(%) 7.2658E+00 + EBVSHRINKSD(%) 5.9433E+00 + EBVSHRINKVR(%) 1.1533E+01 + EPSSHRINKSD(%) 2.9359E+00 2.9359E+00 + EPSSHRINKVR(%) 5.7856E+00 5.7856E+00 + + + TOTAL DATA POINTS NORMALLY DISTRIBUTED (N): 256 + N*LOG(2PI) CONSTANT TO OBJECTIVE FUNCTION: 470.49652900079241 + OBJECTIVE FUNCTION VALUE WITHOUT CONSTANT: 1963.6238498152991 + OBJECTIVE FUNCTION VALUE WITH CONSTANT: 2434.1203788160915 + REPORTED OBJECTIVE FUNCTION DOES NOT CONTAIN CONSTANT + + TOTAL EFFECTIVE ETAS (NIND*NETA): 19 + + #TERE: + Elapsed estimation time in seconds: 434.54 + Elapsed covariance time in seconds: 227.18 + Elapsed postprocess time in seconds: 9.61 +1 + + + + + + + + + + + + + + + + + + + + + ************************************************************************************************************************ + ******************** ******************** + ******************** FIRST ORDER CONDITIONAL ESTIMATION WITH INTERACTION ******************** + #OBJT:************** MINIMUM VALUE OF OBJECTIVE FUNCTION ******************** + ******************** ******************** + ************************************************************************************************************************ + + + + + + + #OBJV:******************************************** 1963.624 ************************************************** +1 + ************************************************************************************************************************ + ******************** ******************** + ******************** FIRST ORDER CONDITIONAL ESTIMATION WITH INTERACTION ******************** + ******************** FINAL PARAMETER ESTIMATE ******************** + ******************** ******************** + ************************************************************************************************************************ + + + + THETA - VECTOR OF FIXED EFFECTS PARAMETERS ********* + + + TH 1 TH 2 TH 3 TH 4 TH 5 TH 6 + + 7.16E+00 2.00E+00 4.53E-01 2.31E+00 -1.87E-01 -1.02E+01 + + + + OMEGA - COV MATRIX FOR RANDOM EFFECTS - ETAS ******** + + + ETA1 + + ETA1 ++ 8.32E-02 + + + + SIGMA - COV MATRIX FOR RANDOM EFFECTS - EPSILONS **** + + + EPS1 EPS2 + + EPS1 ++ 8.69E-02 + + EPS2 ++ 0.00E+00 2.74E-01 + +1 + + + OMEGA - CORR MATRIX FOR RANDOM EFFECTS - ETAS ******* + + + ETA1 + + ETA1 ++ 2.88E-01 + + + + SIGMA - CORR MATRIX FOR RANDOM EFFECTS - EPSILONS *** + + + EPS1 EPS2 + + EPS1 ++ 2.95E-01 + + EPS2 ++ 0.00E+00 5.24E-01 + +1 + ************************************************************************************************************************ + ******************** ******************** + ******************** FIRST ORDER CONDITIONAL ESTIMATION WITH INTERACTION ******************** + ******************** STANDARD ERROR OF ESTIMATE ******************** + ******************** ******************** + ************************************************************************************************************************ + + + + THETA - VECTOR OF FIXED EFFECTS PARAMETERS ********* + + + TH 1 TH 2 TH 3 TH 4 TH 5 TH 6 + + 7.42E-02 2.17E-01 2.21E-01 1.63E-01 1.55E-01 3.44E+01 + + + + OMEGA - COV MATRIX FOR RANDOM EFFECTS - ETAS ******** + + + ETA1 + + ETA1 ++ 2.30E-02 + + + + SIGMA - COV MATRIX FOR RANDOM EFFECTS - EPSILONS **** + + + EPS1 EPS2 + + EPS1 ++ 1.46E-02 + + EPS2 ++ ......... 9.16E-01 + +1 + + + OMEGA - CORR MATRIX FOR RANDOM EFFECTS - ETAS ******* + + + ETA1 + + ETA1 ++ 3.99E-02 + + + + SIGMA - CORR MATRIX FOR RANDOM EFFECTS - EPSILONS *** + + + EPS1 EPS2 + + EPS1 ++ 2.48E-02 + + EPS2 ++ ......... 8.75E-01 + +1 + ************************************************************************************************************************ + ******************** ******************** + ******************** FIRST ORDER CONDITIONAL ESTIMATION WITH INTERACTION ******************** + ******************** COVARIANCE MATRIX OF ESTIMATE ******************** + ******************** ******************** + ************************************************************************************************************************ + + + TH 1 TH 2 TH 3 TH 4 TH 5 TH 6 OM11 SG11 SG12 SG22 + + TH 1 ++ 5.50E-03 + + TH 2 ++ 7.17E-03 4.73E-02 + + TH 3 ++ 9.14E-04 -2.07E-02 4.89E-02 + + TH 4 ++ 4.75E-04 -5.98E-03 2.78E-02 2.65E-02 + + TH 5 ++ 4.44E-03 3.28E-02 -2.13E-02 -9.86E-03 2.41E-02 + + TH 6 ++ 5.90E-03 -1.21E+00 5.78E+00 5.45E+00 -2.05E+00 1.18E+03 + + OM11 ++ -6.12E-04 -2.93E-04 6.56E-04 -1.64E-04 -2.07E-04 3.16E-02 5.29E-04 + + SG11 ++ 2.75E-04 1.69E-04 1.90E-03 1.35E-03 -2.50E-04 3.09E-01 -3.75E-05 2.14E-04 + + SG12 ++ ......... ......... ......... ......... ......... ......... ......... ......... ......... + + SG22 ++ 9.30E-04 3.84E-02 -1.53E-01 -1.45E-01 5.85E-02 -3.15E+01 -5.19E-04 -8.07E-03 ......... 8.39E-01 + +1 + ************************************************************************************************************************ + ******************** ******************** + ******************** FIRST ORDER CONDITIONAL ESTIMATION WITH INTERACTION ******************** + ******************** CORRELATION MATRIX OF ESTIMATE ******************** + ******************** ******************** + ************************************************************************************************************************ + + + TH 1 TH 2 TH 3 TH 4 TH 5 TH 6 OM11 SG11 SG12 SG22 + + TH 1 ++ 7.42E-02 + + TH 2 ++ 4.45E-01 2.17E-01 + + TH 3 ++ 5.58E-02 -4.31E-01 2.21E-01 + + TH 4 ++ 3.94E-02 -1.69E-01 7.73E-01 1.63E-01 + + TH 5 ++ 3.85E-01 9.71E-01 -6.19E-01 -3.90E-01 1.55E-01 + + TH 6 ++ 2.31E-03 -1.61E-01 7.59E-01 9.72E-01 -3.83E-01 3.44E+01 + + OM11 ++ -3.59E-01 -5.87E-02 1.29E-01 -4.37E-02 -5.80E-02 4.00E-02 2.30E-02 + + SG11 ++ 2.54E-01 5.30E-02 5.89E-01 5.67E-01 -1.10E-01 6.14E-01 -1.11E-01 1.46E-02 + + SG12 ++ ......... ......... ......... ......... ......... ......... ......... ......... ......... + + SG22 ++ 1.37E-02 1.93E-01 -7.57E-01 -9.73E-01 4.11E-01 -9.99E-01 -2.46E-02 -6.03E-01 ......... 9.16E-01 + +1 + ************************************************************************************************************************ + ******************** ******************** + ******************** FIRST ORDER CONDITIONAL ESTIMATION WITH INTERACTION ******************** + ******************** INVERSE COVARIANCE MATRIX OF ESTIMATE ******************** + ******************** ******************** + ************************************************************************************************************************ + + + TH 1 TH 2 TH 3 TH 4 TH 5 TH 6 OM11 SG11 SG12 SG22 + + TH 1 ++ 4.86E+02 + + TH 2 ++ 2.22E+04 3.59E+06 + + TH 3 ++ -3.87E+03 -6.00E+05 1.02E+05 + + TH 4 ++ 4.74E+02 6.40E+04 -1.20E+04 2.78E+03 + + TH 5 ++ -3.59E+04 -5.76E+06 9.66E+05 -1.05E+05 9.26E+06 + + TH 6 ++ 4.37E+01 5.50E+03 -1.27E+03 2.77E+02 -9.45E+03 6.64E+01 + + OM11 ++ 4.04E+03 6.04E+05 -9.46E+04 8.20E+03 -9.58E+05 -1.79E+02 1.26E+05 + + SG11 ++ 5.34E+03 8.69E+05 -1.43E+05 1.55E+04 -1.39E+06 8.67E+02 1.57E+05 2.26E+05 + + SG12 ++ ......... ......... ......... ......... ......... ......... ......... ......... ......... + + SG22 ++ 2.56E+03 3.55E+05 -7.23E+04 1.32E+04 -5.93E+05 2.72E+03 1.82E+04 6.86E+04 ......... 1.17E+05 + + Elapsed finaloutput time in seconds: 0.08 +1THERE ARE ERROR MESSAGES IN FILE PRDERR + #CPUT: Total CPU Time in Seconds, 671.125 +Stop Time: +Tue 04/09/2024 +01:45 PM diff --git a/vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk.R b/vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk.R new file mode 100644 index 0000000..abfbb0d --- /dev/null +++ b/vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk.R @@ -0,0 +1,127 @@ +code <- ' +$PROB Mavoglurant PBPK (Wendling et al., 2016. DOI: 10.1208/s12248-015-9840-7) presented as an nlmixr2 example (https://nlmixr2.org/articles/mavoglurant.html) + +$PARAM + +WTKG=NA_real_ + +$THETA + +7.2 2 0.45 2.3 -0.19 -10 + +$CMT + +LU +HT +BR +MU +AD +SK +SP +PA +LI +ST +GU +BO +KI +AB +VB +RB + +$MAIN + +/* NOTE: There is no guarantee to the accuracy of the NONMEM to mrgsolve translator. It remains the responsibility of the user to validate the resulting mrgsolve code. */ + +/* NOTE: The nonmem2mrgsolve package remains in active development, please report bugs and feature requests to improve future versions. */ +/* NOTE: If you find nonmem2mrgsolve helpful, please consider giving it a star at github.com/Andy00000000000/nonmem2mrgsolve. */ + +/* NOTE: The translator does not currently convert T or TIME to SOLVERTIME. */ +/* NOTE: The translator does not currently convert MTIME() to self.mtime(). */ + +/* CALLFL=-2; */ +R_VB=RATE; +double lCLint = THETA1; +double MU_1 = lCLint; +double CLint = exp(MU_1+ETA(1)); +double KbBR = exp(THETA2); +double KbMU = exp(THETA3); +double KbAD = exp(THETA4); +double KbBO = exp(THETA5); +double KbRB = exp(THETA6); +double CO = (187.00*pow(WTKG,0.81))*60.0/1000.0; +double QHT = 4.0 *CO/100.0; +double QBR = 12.0*CO/100.0; +double QMU = 17.0*CO/100.0; +double QAD = 5.0 *CO/100.0; +double QSK = 5.0 *CO/100.0; +double QSP = 3.0 *CO/100.0; +double QPA = 1.0 *CO/100.0; +double QLI = 25.5*CO/100.0; +double QST = 1.0 *CO/100.0; +double QGU = 14.0*CO/100.0; +double QHA = QLI - (QSP + QPA + QST + QGU); +double QBO = 5.0 *CO/100.0; +double QKI = 19.0*CO/100.0; +double QRB = CO - (QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI); +double QLU = QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI + QRB; +double VLU = (0.76 *WTKG/100.0)/1.051; +double VHT = (0.47 *WTKG/100.0)/1.030; +double VBR = (2.00 *WTKG/100.0)/1.036; +double VMU = (40.00*WTKG/100.0)/1.041; +double VAD = (21.42*WTKG/100.0)/0.916; +double VSK = (3.71 *WTKG/100.0)/1.116; +double VSP = (0.26 *WTKG/100.0)/1.054; +double VPA = (0.14 *WTKG/100.0)/1.045; +double VLI = (2.57 *WTKG/100.0)/1.040; +double VST = (0.21 *WTKG/100.0)/1.050; +double VGU = (1.44 *WTKG/100.0)/1.043; +double VBO = (14.29*WTKG/100.0)/1.990; +double VKI = (0.44 *WTKG/100.0)/1.050; +double VAB = (2.81 *WTKG/100.0)/1.040; +double VVB = (5.62 *WTKG/100.0)/1.040; +double VRB = (3.86 *WTKG/100.0)/1.040; +double BP = 0.61; +double fup = 0.028; +double fub = fup/BP; +double KbLU = exp(0.8334); +double KbHT = exp(1.1205); +double KbSK = exp(-.5238); +double KbSP = exp(0.3224); +double KbPA = exp(0.3224); +double KbLI = exp(1.7604); +double KbST = exp(0.3224); +double KbGU = exp(1.2026); +double KbKI = exp(1.3171); +double S15 = VVB*BP/1000.0; + +$ODE + +dxdt_LU=QLU*(VB/VVB - LU/KbLU/VLU); +dxdt_HT=QHT*(AB/VAB - HT/KbHT/VHT); +dxdt_BR=QBR*(AB/VAB - BR/KbBR/VBR); +dxdt_MU=QMU*(AB/VAB - MU/KbMU/VMU); +dxdt_AD=QAD*(AB/VAB - AD/KbAD/VAD); +dxdt_SK=QSK*(AB/VAB - SK/KbSK/VSK); +dxdt_SP=QSP*(AB/VAB - SP/KbSP/VSP); +dxdt_PA=QPA*(AB/VAB - PA/KbPA/VPA); +dxdt_LI=QHA*AB/VAB + QSP*SP/KbSP/VSP + QPA*PA/KbPA/VPA + QST*ST/KbST/VST + QGU*GU/KbGU/VGU - CLint*fub*LI/KbLI/VLI - QLI*LI/KbLI/VLI; +dxdt_ST=QST*(AB/VAB - ST/KbST/VST); +dxdt_GU=QGU*(AB/VAB - GU/KbGU/VGU); +dxdt_BO=QBO*(AB/VAB - BO/KbBO/VBO); +dxdt_KI=QKI*(AB/VAB - KI/KbKI/VKI); +dxdt_AB=QLU*(LU/KbLU/VLU - AB/VAB); +dxdt_VB=QHT*HT/KbHT/VHT + QBR*BR/KbBR/VBR + QMU*MU/KbMU/VMU + QAD*AD/KbAD/VAD + QSK*SK/KbSK/VSK + QLI*LI/KbLI/VLI + QBO*BO/KbBO/VBO + QKI*KI/KbKI/VKI + QRB*RB/KbRB/VRB - QLU*VB/VVB; +dxdt_RB=QRB*(AB/VAB - RB/KbRB/VRB); +double C15=VB/S15; + +$OMEGA @block + +0.083 + +$CAPTURE + +C15 +WTKG +CLint + +' \ No newline at end of file diff --git a/vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk_user-modified.R b/vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk_user-modified.R new file mode 100644 index 0000000..f94212d --- /dev/null +++ b/vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk_user-modified.R @@ -0,0 +1,128 @@ +code <- ' +$PROB Mavoglurant PBPK (Wendling et al., 2016. DOI: 10.1208/s12248-015-9840-7) presented as an nlmixr2 example (https://nlmixr2.org/articles/mavoglurant.html) + +$PARAM + +WTKG=NA_real_ +INRATE=NA_real_ + +$THETA + +7.2 2 0.45 2.3 -0.19 -10 + +$CMT + +LU +HT +BR +MU +AD +SK +SP +PA +LI +ST +GU +BO +KI +AB +VB +RB + +$MAIN + +/* NOTE: There is no guarantee to the accuracy of the NONMEM to mrgsolve translator. It remains the responsibility of the user to validate the resulting mrgsolve code. */ + +/* NOTE: The nonmem2mrgsolve package remains in active development, please report bugs and feature requests to improve future versions. */ +/* NOTE: If you find nonmem2mrgsolve helpful, please consider giving it a star at github.com/Andy00000000000/nonmem2mrgsolve. */ + +/* NOTE: The translator does not currently convert T or TIME to SOLVERTIME. */ +/* NOTE: The translator does not currently convert MTIME() to self.mtime(). */ + +/* CALLFL=-2; */ +R_VB=INRATE; +double lCLint = THETA1; +double MU_1 = lCLint; +double CLint = exp(MU_1+ETA(1)); +double KbBR = exp(THETA2); +double KbMU = exp(THETA3); +double KbAD = exp(THETA4); +double KbBO = exp(THETA5); +double KbRB = exp(THETA6); +double CO = (187.00*pow(WTKG,0.81))*60.0/1000.0; +double QHT = 4.0 *CO/100.0; +double QBR = 12.0*CO/100.0; +double QMU = 17.0*CO/100.0; +double QAD = 5.0 *CO/100.0; +double QSK = 5.0 *CO/100.0; +double QSP = 3.0 *CO/100.0; +double QPA = 1.0 *CO/100.0; +double QLI = 25.5*CO/100.0; +double QST = 1.0 *CO/100.0; +double QGU = 14.0*CO/100.0; +double QHA = QLI - (QSP + QPA + QST + QGU); +double QBO = 5.0 *CO/100.0; +double QKI = 19.0*CO/100.0; +double QRB = CO - (QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI); +double QLU = QHT + QBR + QMU + QAD + QSK + QLI + QBO + QKI + QRB; +double VLU = (0.76 *WTKG/100.0)/1.051; +double VHT = (0.47 *WTKG/100.0)/1.030; +double VBR = (2.00 *WTKG/100.0)/1.036; +double VMU = (40.00*WTKG/100.0)/1.041; +double VAD = (21.42*WTKG/100.0)/0.916; +double VSK = (3.71 *WTKG/100.0)/1.116; +double VSP = (0.26 *WTKG/100.0)/1.054; +double VPA = (0.14 *WTKG/100.0)/1.045; +double VLI = (2.57 *WTKG/100.0)/1.040; +double VST = (0.21 *WTKG/100.0)/1.050; +double VGU = (1.44 *WTKG/100.0)/1.043; +double VBO = (14.29*WTKG/100.0)/1.990; +double VKI = (0.44 *WTKG/100.0)/1.050; +double VAB = (2.81 *WTKG/100.0)/1.040; +double VVB = (5.62 *WTKG/100.0)/1.040; +double VRB = (3.86 *WTKG/100.0)/1.040; +double BP = 0.61; +double fup = 0.028; +double fub = fup/BP; +double KbLU = exp(0.8334); +double KbHT = exp(1.1205); +double KbSK = exp(-.5238); +double KbSP = exp(0.3224); +double KbPA = exp(0.3224); +double KbLI = exp(1.7604); +double KbST = exp(0.3224); +double KbGU = exp(1.2026); +double KbKI = exp(1.3171); +double S15 = VVB*BP/1000.0; + +$ODE + +dxdt_LU=QLU*(VB/VVB - LU/KbLU/VLU); +dxdt_HT=QHT*(AB/VAB - HT/KbHT/VHT); +dxdt_BR=QBR*(AB/VAB - BR/KbBR/VBR); +dxdt_MU=QMU*(AB/VAB - MU/KbMU/VMU); +dxdt_AD=QAD*(AB/VAB - AD/KbAD/VAD); +dxdt_SK=QSK*(AB/VAB - SK/KbSK/VSK); +dxdt_SP=QSP*(AB/VAB - SP/KbSP/VSP); +dxdt_PA=QPA*(AB/VAB - PA/KbPA/VPA); +dxdt_LI=QHA*AB/VAB + QSP*SP/KbSP/VSP + QPA*PA/KbPA/VPA + QST*ST/KbST/VST + QGU*GU/KbGU/VGU - CLint*fub*LI/KbLI/VLI - QLI*LI/KbLI/VLI; +dxdt_ST=QST*(AB/VAB - ST/KbST/VST); +dxdt_GU=QGU*(AB/VAB - GU/KbGU/VGU); +dxdt_BO=QBO*(AB/VAB - BO/KbBO/VBO); +dxdt_KI=QKI*(AB/VAB - KI/KbKI/VKI); +dxdt_AB=QLU*(LU/KbLU/VLU - AB/VAB); +dxdt_VB=QHT*HT/KbHT/VHT + QBR*BR/KbBR/VBR + QMU*MU/KbMU/VMU + QAD*AD/KbAD/VAD + QSK*SK/KbSK/VSK + QLI*LI/KbLI/VLI + QBO*BO/KbBO/VBO + QKI*KI/KbKI/VKI + QRB*RB/KbRB/VRB - QLU*VB/VVB; +dxdt_RB=QRB*(AB/VAB - RB/KbRB/VRB); +double C15=VB/S15; + +$OMEGA @block + +0.083 + +$CAPTURE + +C15 +WTKG +CLint + +' diff --git a/vignette/models/mavoglurant-pbpk-101/run_nonmem2mrgsolve_mavoglurant.R b/vignette/models/mavoglurant-pbpk-101/run_nonmem2mrgsolve_mavoglurant.R new file mode 100644 index 0000000..1452401 --- /dev/null +++ b/vignette/models/mavoglurant-pbpk-101/run_nonmem2mrgsolve_mavoglurant.R @@ -0,0 +1,28 @@ +## Start #### + +# devtools::install_github("Andy00000000000/nonmem2mrgsolve") +# setwd("...") + +library("nonmem2mrgsolve") + +nonmem2mrgsolve( + "mod1.ctl", # filename + "./vignette/models/mavoglurant-pbpk-101/", # dir + out.filename = "mrgsolve_code_mavoglurant-pbpk", + sigdig = 2 +) + +source("./vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk.R") +mrgsolve::mcode("Test_Unmodified_Translation",code) + +source("./vignette/models/mavoglurant-pbpk-101/mrgsolve_code_mavoglurant-pbpk_user-modified.R") +mrgsolve::mcode("Test_Modified_Translation",code) + +# Shortcomings of the current translation which requires the user's attention: +# +# Line 42: This line needs to be manually changed by the user +# 1) Rename "RATE" to a non-reserved term such as "INRATE" +# 2) Add "INRATE" to $PARAM +# 3) Pass "INRATE" into the mrgsolve simulation using either param(INRATE = ...) or data_set() + +## End ####