Skip to contents

Creates a list of the initialized module state

Usage

MB_init_state(FM_yaml_file, MOD_yaml_file, id, session)

Arguments

FM_yaml_file

App configuration file with FM as main section.

MOD_yaml_file

Module configuration file with MC as main section.

id

ID string for the module.

session

Shiny session variable

Value

list containing an empty MB state

Examples

# Within shiny both session and input variables will exist,
# this creates examples here for testing purposes:
sess_res = MB_test_mksession(session=list(), full_session=FALSE)
#> → MB: including file
#> → MB:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → MB:   dest:   file.path("config","report.docx")
#> → MB: including file
#> → MB:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → MB:   dest:   file.path("config","report.pptx")
#> → MB: including file
#> → MB:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → MB:   dest:   file.path("config","report.yaml")
#> ! MB: User-defined model: /Users/jmh/projects/ruminate/github/ruminate/docs/reference/user_model.R not found (skipping)
#> ! MB: User-defined model: /Users/jmh/projects/ruminate/github/ruminate/docs/reference/user_model.ctl not found (skipping)
#> → MB: module checksum updated:24933f86b657b9503f22440e8c4d3cac
#> → MB: State initialized
#> ! MB: User-defined model: /Users/jmh/projects/ruminate/github/ruminate/docs/reference/user_model.R not found (skipping)
#> ! MB: User-defined model: /Users/jmh/projects/ruminate/github/ruminate/docs/reference/user_model.ctl not found (skipping)
#>  
#>  
#>  parameter labels from comments are typically ignored in non-interactive mode
#>  Need to run with the source intact to parse comments
#> → MB: model checksum updated: 98407146cbcfb0e5392b7bf47aeb1d09
#> → MB: module checksum updated:a317b4031c8ca91b0c52f2a06412fe69
session = sess_res$session
input   = sess_res$input

state = MB_init_state(
   FM_yaml_file  = system.file(package = "formods",
                               "templates",
                               "formods.yaml"),
   MOD_yaml_file = system.file(package = "ruminate",
                               "templates",
                               "MB.yaml"),
   id              = "MB",
   session         = session)
#> → MB: including file
#> → MB:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → MB:   dest:   file.path("config","report.docx")
#> → MB: including file
#> → MB:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → MB:   dest:   file.path("config","report.pptx")
#> → MB: including file
#> → MB:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → MB:   dest:   file.path("config","report.yaml")
#> ! MB: User-defined model: /Users/jmh/projects/ruminate/github/ruminate/docs/reference/user_model.R not found (skipping)
#> ! MB: User-defined model: /Users/jmh/projects/ruminate/github/ruminate/docs/reference/user_model.ctl not found (skipping)
#> → MB: module checksum updated:24933f86b657b9503f22440e8c4d3cac
#> → MB: State initialized

state
#> $yaml
#> $yaml$FM
#> $yaml$FM$include
#> $yaml$FM$include$files
#> $yaml$FM$include$files[[1]]
#> $yaml$FM$include$files[[1]]$file
#> $yaml$FM$include$files[[1]]$file$source
#> [1] "file.path(system.file(package=\"onbrand\"), \"templates\", \"report.docx\")"
#> 
#> $yaml$FM$include$files[[1]]$file$dest
#> [1] "file.path(\"config\",\"report.docx\")"
#> 
#> 
#> 
#> $yaml$FM$include$files[[2]]
#> $yaml$FM$include$files[[2]]$file
#> $yaml$FM$include$files[[2]]$file$source
#> [1] "file.path(system.file(package=\"onbrand\"), \"templates\", \"report.pptx\")"
#> 
#> $yaml$FM$include$files[[2]]$file$dest
#> [1] "file.path(\"config\",\"report.pptx\")"
#> 
#> 
#> 
#> $yaml$FM$include$files[[3]]
#> $yaml$FM$include$files[[3]]$file
#> $yaml$FM$include$files[[3]]$file$source
#> [1] "file.path(system.file(package=\"onbrand\"), \"templates\", \"report.yaml\")"
#> 
#> $yaml$FM$include$files[[3]]$file$dest
#> [1] "file.path(\"config\",\"report.yaml\")"
#> 
#> 
#> 
#> 
#> 
#> $yaml$FM$deployed
#> [1] FALSE
#> 
#> $yaml$FM$code
#> $yaml$FM$code$theme
#> [1] "vibrant_ink"
#> 
#> $yaml$FM$code$showLineNumbers
#> [1] TRUE
#> 
#> $yaml$FM$code$gen_file
#> [1] "run_analysis.R"
#> 
#> $yaml$FM$code$gen_preamble
#> [1] "# formods automated output ------------------------------------------------\n# https://formods.ubiquity.tools/\nrm(list=ls())"
#> 
#> $yaml$FM$code$packages
#> [1] "onbrand" "writexl"
#> 
#> 
#> $yaml$FM$notifications
#> $yaml$FM$notifications$config
#> $yaml$FM$notifications$config$success
#> $yaml$FM$notifications$config$success$useFontAwesome
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$success$useIcon
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$success$background
#> [1] "#5bb85b"
#> 
#> 
#> $yaml$FM$notifications$config$failure
#> $yaml$FM$notifications$config$failure$useFontAwesome
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$failure$useIcon
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$failure$background
#> [1] "#d9534f"
#> 
#> 
#> $yaml$FM$notifications$config$info
#> $yaml$FM$notifications$config$info$useFontAwesome
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$info$useIcon
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$info$background
#> [1] "#5bc0de"
#> 
#> 
#> $yaml$FM$notifications$config$warning
#> $yaml$FM$notifications$config$warning$useFontAwesome
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$warning$useIcon
#> [1] FALSE
#> 
#> $yaml$FM$notifications$config$warning$background
#> [1] "#f0ac4d"
#> 
#> 
#> 
#> 
#> $yaml$FM$reporting
#> $yaml$FM$reporting$enabled
#> [1] TRUE
#> 
#> $yaml$FM$reporting$content_init
#> $yaml$FM$reporting$content_init$xlsx
#> [1] "rpt = list(summary = NULL,\n           sheets  = list())"
#> 
#> $yaml$FM$reporting$content_init$docx
#> [1] "rpt  = onbrand::read_template(\n  template = file.path(\"config\", \"report.docx\"),\n  mapping  = file.path(\"config\", \"report.yaml\"))"
#> 
#> $yaml$FM$reporting$content_init$pptx
#> [1] "rpt  = onbrand::read_template(\n  template = file.path(\"config\", \"report.pptx\"),\n  mapping  = file.path(\"config\", \"report.yaml\"))"
#> 
#> 
#> $yaml$FM$reporting$phs
#> $yaml$FM$reporting$phs[[1]]
#> $yaml$FM$reporting$phs[[1]]$name
#> [1] "HEADERLEFT"
#> 
#> $yaml$FM$reporting$phs[[1]]$location
#> [1] "header"
#> 
#> $yaml$FM$reporting$phs[[1]]$value
#> [1] ""
#> 
#> $yaml$FM$reporting$phs[[1]]$tooltip
#> [1] "left header text"
#> 
#> 
#> $yaml$FM$reporting$phs[[2]]
#> $yaml$FM$reporting$phs[[2]]$name
#> [1] "HEADERRIGHT"
#> 
#> $yaml$FM$reporting$phs[[2]]$location
#> [1] "header"
#> 
#> $yaml$FM$reporting$phs[[2]]$value
#> [1] ""
#> 
#> $yaml$FM$reporting$phs[[2]]$tooltip
#> [1] "right header text"
#> 
#> 
#> $yaml$FM$reporting$phs[[3]]
#> $yaml$FM$reporting$phs[[3]]$name
#> [1] "FOOTERLEFT"
#> 
#> $yaml$FM$reporting$phs[[3]]$location
#> [1] "footer"
#> 
#> $yaml$FM$reporting$phs[[3]]$value
#> [1] ""
#> 
#> $yaml$FM$reporting$phs[[3]]$tooltip
#> [1] "left footer text"
#> 
#> 
#> 
#> $yaml$FM$reporting$phs_formatting
#> $yaml$FM$reporting$phs_formatting$width
#> [1] "100%"
#> 
#> $yaml$FM$reporting$phs_formatting$tt_position
#> [1] "left"
#> 
#> $yaml$FM$reporting$phs_formatting$tt_size
#> [1] "medium"
#> 
#> 
#> 
#> $yaml$FM$ui
#> $yaml$FM$ui$button_style
#> [1] "fill"
#> 
#> $yaml$FM$ui$select_size
#> [1] 10
#> 
#> $yaml$FM$ui$color_green
#> [1] "#00BB8A"
#> 
#> $yaml$FM$ui$color_red
#> [1] "#FF475E"
#> 
#> $yaml$FM$ui$color_blue
#> [1] "#0088FF"
#> 
#> $yaml$FM$ui$color_purple
#> [1] "#bd2cf4"
#> 
#> 
#> $yaml$FM$data_meta
#> $yaml$FM$data_meta$data_header
#> [1] "<span style='color:===COLOR==='><b>===NAME===</b><br/><font size='-3'>===LABEL===</font></span>"
#> 
#> $yaml$FM$data_meta$subtext
#> [1] "===LABEL===: ===RANGE==="
#> 
#> $yaml$FM$data_meta$many_sep
#> [1] ",⋅⋅⋅,"
#> 
#> $yaml$FM$data_meta$data_types
#> $yaml$FM$data_meta$data_types$character
#> $yaml$FM$data_meta$data_types$character$color
#> [1] "#DD4B39"
#> 
#> $yaml$FM$data_meta$data_types$character$label
#> [1] "text"
#> 
#> 
#> $yaml$FM$data_meta$data_types$double
#> $yaml$FM$data_meta$data_types$double$color
#> [1] "#3C8DBC"
#> 
#> $yaml$FM$data_meta$data_types$double$label
#> [1] "num"
#> 
#> 
#> $yaml$FM$data_meta$data_types$integer
#> $yaml$FM$data_meta$data_types$integer$color
#> [1] "#3C8DBC"
#> 
#> $yaml$FM$data_meta$data_types$integer$label
#> [1] "num"
#> 
#> 
#> $yaml$FM$data_meta$data_types$other
#> $yaml$FM$data_meta$data_types$other$color
#> [1] "black"
#> 
#> $yaml$FM$data_meta$data_types$other$label
#> [1] "other"
#> 
#> 
#> 
#> 
#> $yaml$FM$labels
#> $yaml$FM$labels$default_ds
#> [1] "Original data set"
#> 
#> 
#> $yaml$FM$user_files
#> $yaml$FM$user_files$use_tmpdir
#> [1] TRUE
#> 
#> 
#> $yaml$FM$logging
#> $yaml$FM$logging$enabled
#> [1] TRUE
#> 
#> $yaml$FM$logging$timestamp
#> [1] TRUE
#> 
#> $yaml$FM$logging$timestamp_fmt
#> [1] "%Y-%m-%d %H:%M:%S"
#> 
#> $yaml$FM$logging$log_file
#> [1] "formods_log.txt"
#> 
#> $yaml$FM$logging$console
#> [1] TRUE
#> 
#> 
#> 
#> 
#> $MC
#> $MC$element_object_name
#> [1] "MB_obj"
#> 
#> $MC$sources
#> $MC$sources[[1]]
#> $MC$sources[[1]]$source
#> $MC$sources[[1]]$source$group
#> [1] "User-defined Models"
#> 
#> $MC$sources[[1]]$source$name
#> [1] "rxode2 User model"
#> 
#> $MC$sources[[1]]$source$description
#> [1] "User-defined rxode2 model"
#> 
#> $MC$sources[[1]]$source$type
#> [1] "rxode2"
#> 
#> $MC$sources[[1]]$source$obj
#> [1] "my_fcn"
#> 
#> $MC$sources[[1]]$source$file
#> [1] "file.path(getwd(),\"user_model.R\")"
#> 
#> 
#> 
#> $MC$sources[[2]]
#> $MC$sources[[2]]$source
#> $MC$sources[[2]]$source$group
#> [1] "User-defined Models"
#> 
#> $MC$sources[[2]]$source$name
#> [1] "NONMEM User model"
#> 
#> $MC$sources[[2]]$source$description
#> [1] "User-defined NONMEM model"
#> 
#> $MC$sources[[2]]$source$type
#> [1] "NONMEM"
#> 
#> $MC$sources[[2]]$source$file
#> [1] "file.path(getwd(),\"user_model.ctl\")"
#> 
#> 
#> 
#> $MC$sources[[3]]
#> $MC$sources[[3]]$source
#> $MC$sources[[3]]$source$group
#> [1] "Model Library"
#> 
#> $MC$sources[[3]]$source$type
#> [1] "nlmixr2lib"
#> 
#> $MC$sources[[3]]$source$name
#> [1] "nlmixr2 Model Library"
#> 
#> 
#> 
#> 
#> $MC$code
#> $MC$code$packages
#> [1] "rxode2"     "nonmem2rx"  "nlmixr2lib"
#> 
#> $MC$code$readOnly
#> [1] TRUE
#> 
#> $MC$code$mode
#> [1] "r"
#> 
#> 
#> $MC$compact
#> $MC$compact$code
#> [1] TRUE
#> 
#> $MC$compact$clip
#> [1] TRUE
#> 
#> 
#> $MC$reporting
#> $MC$reporting$enabled
#> [1] FALSE
#> 
#> $MC$reporting$priority
#> [1] 1
#> 
#> 
#> $MC$formatting
#> $MC$formatting$code
#> $MC$formatting$code$width
#> [1] 800
#> 
#> $MC$formatting$code$height
#> [1] 300
#> 
#> 
#> $MC$formatting$preview
#> $MC$formatting$preview$width
#> [1] "800px"
#> 
#> $MC$formatting$preview$height
#> [1] "500px"
#> 
#> 
#> $MC$formatting$input
#> NULL
#> 
#> $MC$formatting$current_element
#> $MC$formatting$current_element$width
#> [1] "200px"
#> 
#> $MC$formatting$current_element$tooltip
#> [1] "Change the current model."
#> 
#> $MC$formatting$current_element$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$element_name
#> $MC$formatting$element_name$width
#> [1] "200px"
#> 
#> 
#> $MC$formatting$button_clk_run
#> $MC$formatting$button_clk_run$size
#> [1] "sm"
#> 
#> $MC$formatting$button_clk_run$block
#> [1] TRUE
#> 
#> 
#> $MC$formatting$button_clk_del
#> $MC$formatting$button_clk_del$size
#> [1] "sm"
#> 
#> $MC$formatting$button_clk_del$block
#> [1] TRUE
#> 
#> $MC$formatting$button_clk_del$tooltip
#> [1] "Delete the current model."
#> 
#> $MC$formatting$button_clk_del$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_clk_save
#> $MC$formatting$button_clk_save$size
#> [1] "sm"
#> 
#> $MC$formatting$button_clk_save$block
#> [1] TRUE
#> 
#> $MC$formatting$button_clk_save$tooltip
#> [1] "Save the name for the current model."
#> 
#> $MC$formatting$button_clk_save$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_clk_clip
#> $MC$formatting$button_clk_clip$size
#> [1] "sm"
#> 
#> $MC$formatting$button_clk_clip$block
#> [1] TRUE
#> 
#> $MC$formatting$button_clk_clip$tooltip
#> [1] "Copy the code to generate the current model to the clipboard."
#> 
#> $MC$formatting$button_clk_clip$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_clk_copy
#> $MC$formatting$button_clk_copy$size
#> [1] "sm"
#> 
#> $MC$formatting$button_clk_copy$block
#> [1] TRUE
#> 
#> $MC$formatting$button_clk_copy$tooltip
#> [1] "Make a copy of the current model."
#> 
#> $MC$formatting$button_clk_copy$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_clk_append_model
#> $MC$formatting$button_clk_append_model$size
#> [1] "sm"
#> 
#> $MC$formatting$button_clk_append_model$block
#> [1] TRUE
#> 
#> $MC$formatting$button_clk_append_model$tooltip
#> [1] "Append to current model."
#> 
#> $MC$formatting$button_clk_append_model$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_clk_new
#> $MC$formatting$button_clk_new$size
#> [1] "sm"
#> 
#> $MC$formatting$button_clk_new$block
#> [1] TRUE
#> 
#> $MC$formatting$button_clk_new$tooltip
#> [1] "Create a new model."
#> 
#> $MC$formatting$button_clk_new$tooltip_position
#> [1] "right"
#> 
#> $MC$formatting$button_clk_new$width
#> [1] 100
#> 
#> 
#> $MC$formatting$export_nonmem
#> $MC$formatting$export_nonmem$size
#> [1] "sm"
#> 
#> $MC$formatting$export_nonmem$block
#> [1] TRUE
#> 
#> $MC$formatting$export_nonmem$color
#> [1] "primary"
#> 
#> $MC$formatting$export_nonmem$tooltip
#> [1] "Download the current model in NONMEM format."
#> 
#> $MC$formatting$export_nonmem$tooltip_position
#> [1] "right"
#> 
#> $MC$formatting$export_nonmem$width
#> [1] 100
#> 
#> 
#> $MC$formatting$export_monolix
#> $MC$formatting$export_monolix$size
#> [1] "sm"
#> 
#> $MC$formatting$export_monolix$block
#> [1] TRUE
#> 
#> $MC$formatting$export_monolix$color
#> [1] "primary"
#> 
#> $MC$formatting$export_monolix$tooltip
#> [1] "Download the current model in Monolix format."
#> 
#> $MC$formatting$export_monolix$tooltip_position
#> [1] "right"
#> 
#> $MC$formatting$export_monolix$width
#> [1] 100
#> 
#> 
#> $MC$formatting$catalog_selection
#> $MC$formatting$catalog_selection$width
#> [1] "200px"
#> 
#> $MC$formatting$catalog_selection$truncate
#> [1] 65
#> 
#> $MC$formatting$catalog_selection$tooltip
#> [1] "Select base model from the catalog."
#> 
#> $MC$formatting$catalog_selection$tooltip_position
#> [1] "top"
#> 
#> 
#> $MC$formatting$model_type_selection
#> $MC$formatting$model_type_selection$width
#> [1] "200px"
#> 
#> $MC$formatting$model_type_selection$tooltip
#> [1] "Select the type of the model being uploaded."
#> 
#> $MC$formatting$model_type_selection$tooltip_position
#> [1] "right"
#> 
#> $MC$formatting$model_type_selection$choices
#> $MC$formatting$model_type_selection$choices$rxode2
#> [1] "rxode2 function"
#> 
#> $MC$formatting$model_type_selection$choices$NONMEM
#> [1] "NONMEM (XML, lst, or ctl)"
#> 
#> 
#> $MC$formatting$model_type_selection$default
#> [1] "rxode2"
#> 
#> 
#> $MC$formatting$upload_model_file
#> $MC$formatting$upload_model_file$width
#> [1] "400px"
#> 
#> 
#> $MC$formatting$append_model
#> $MC$formatting$append_model$tooltip
#> [1] "Append the selected sub-model to the current model."
#> 
#> $MC$formatting$append_model$tooltip_position
#> [1] "bottom"
#> 
#> $MC$formatting$append_model$no_models
#> [1] "None available"
#> 
#> $MC$formatting$append_model$width
#> [1] "200px"
#> 
#> 
#> $MC$formatting$base_from
#> $MC$formatting$base_from$size
#> [1] "normal"
#> 
#> $MC$formatting$base_from$status
#> [1] "primary"
#> 
#> $MC$formatting$base_from$tooltip
#> [1] "You can select the base model from a catalog or upload your own"
#> 
#> $MC$formatting$base_from$tooltip_position
#> [1] "bottom"
#> 
#> $MC$formatting$base_from$choices
#> $MC$formatting$base_from$choices$catalog
#> [1] "Model Catalog"
#> 
#> $MC$formatting$base_from$choices$user
#> [1] "User-defined model"
#> 
#> 
#> $MC$formatting$base_from$default
#> [1] "catalog"
#> 
#> 
#> $MC$formatting$time_scales
#> $MC$formatting$time_scales$width
#> [1] "200px"
#> 
#> $MC$formatting$time_scales$default
#> [1] "weeks"
#> 
#> $MC$formatting$time_scales$tooltip
#> [1] "Choose the timescale of the model."
#> 
#> $MC$formatting$time_scales$tooltip_position
#> [1] "top"
#> 
#> $MC$formatting$time_scales$choices
#> $MC$formatting$time_scales$choices$months
#> $MC$formatting$time_scales$choices$months$conv
#> [1] "1/(60*60*24*7*4)"
#> 
#> $MC$formatting$time_scales$choices$months$verb
#> [1] "Months"
#> 
#> $MC$formatting$time_scales$choices$months$match
#> [1] "mo"
#> 
#> 
#> $MC$formatting$time_scales$choices$weeks
#> $MC$formatting$time_scales$choices$weeks$conv
#> [1] "1/(60*60*24*7)"
#> 
#> $MC$formatting$time_scales$choices$weeks$verb
#> [1] "Weeks"
#> 
#> $MC$formatting$time_scales$choices$weeks$match
#> [1] "wk"    "weeks"
#> 
#> 
#> $MC$formatting$time_scales$choices$days
#> $MC$formatting$time_scales$choices$days$conv
#> [1] "1/(60*60*24)"
#> 
#> $MC$formatting$time_scales$choices$days$verb
#> [1] "Days"
#> 
#> $MC$formatting$time_scales$choices$days$match
#> [1] "d"    "day"  "days"
#> 
#> 
#> $MC$formatting$time_scales$choices$hours
#> $MC$formatting$time_scales$choices$hours$conv
#> [1] "1/(60*60)"
#> 
#> $MC$formatting$time_scales$choices$hours$verb
#> [1] "Hours"
#> 
#> $MC$formatting$time_scales$choices$hours$match
#> [1] "hr"    "hours" "hrs"  
#> 
#> 
#> 
#> 
#> 
#> $MC$labels
#> $MC$labels$current_element
#> NULL
#> 
#> $MC$labels$element_name
#> NULL
#> 
#> $MC$labels$upload_model_file
#> NULL
#> 
#> $MC$labels$base_from
#> NULL
#> 
#> $MC$labels$catalog_selection
#> NULL
#> 
#> $MC$labels$export_nonmem
#> [1] "NONMEM"
#> 
#> $MC$labels$export_monolix
#> [1] "Monolix"
#> 
#> $MC$labels$export_pause
#> [1] "Exporting model."
#> 
#> $MC$labels$model_type_selection
#> NULL
#> 
#> $MC$labels$time_scale
#> NULL
#> 
#> $MC$labels$catalog_empty
#> [1] "No models were found, the catalog is empty"
#> 
#> $MC$labels$save_btn
#> [1] "Save"
#> 
#> $MC$labels$clip_btn
#> [1] "Code"
#> 
#> $MC$labels$copy_btn
#> [1] "Copy"
#> 
#> $MC$labels$del_btn
#> [1] "Delete"
#> 
#> $MC$labels$new_btn
#> [1] "New"
#> 
#> $MC$labels$append_model_btn
#> [1] "Append Model"
#> 
#> $MC$labels$append_model
#> [1] "Available Sub-Models"
#> 
#> $MC$labels$building_model
#> [1] "Building model, be patient."
#> 
#> $MC$labels$appending_model
#> [1] "Appending sub-model, be patient."
#> 
#> $MC$labels$element_name_diff
#> [1] "The model name has changed."
#> 
#> $MC$labels$model_code_diff
#> [1] "Manual changes have been made to the model."
#> 
#> $MC$labels$save_change_detected
#> [1] "You need to click on the save button for these changes to take effect."
#> 
#> $MC$labels$head_base_model
#> [1] "Starting model"
#> 
#> $MC$labels$head_model_code
#> [1] "Model code"
#> 
#> $MC$labels$head_time_scale
#> [1] "Model time-scale"
#> 
#> 
#> $MC$errors
#> $MC$errors$no_model_found
#> [1] "No model was found."
#> 
#> $MC$errors$base_model_build_failed
#> [1] "The base model build failed."
#> 
#> $MC$errors$manual_model_update_failed
#> [1] "Manual model update failed."
#> 
#> $MC$errors$user_file_upload_failed
#> [1] "User-defined model failed."
#> 
#> $MC$errors$nlmixr2lib_not_found
#> [1] "The nlmixr2lib package was not found. This library will not be available."
#> 
#> $MC$errors$selected_id_bad_list
#> [1] "Unable to find a list for the selected component."
#> 
#> $MC$errors$selected_id_bad_row
#> [1] "Selected component should have 1 row."
#> 
#> $MC$errors$fetch_catalog_failed
#> [1] "Unable to fetch model catalog."
#> 
#> $MC$errors$fetch_appends_failed
#> [1] "Unable to fetch appendable models"
#> 
#> $MC$errors$append_failed
#> [1] "Unable to append sub-model"
#> 
#> 
#> $MC$tooltips
#> $MC$tooltips$include
#> [1] TRUE
#> 
#> $MC$tooltips$elements
#> [1] "Show model components"
#> 
#> $MC$tooltips$show_code
#> [1] "Show model code"
#> 
#> $MC$tooltips$url_rxode
#> [1] "https://nlmixr2.github.io/rxode2/articles/rxode2-syntax.html"
#> 
#> $MC$tooltips$url_model_types
#> [1] "https://ruminate.ubiquity.tools/articles/model_builder.html#model-catalog"
#> 
#> $MC$tooltips$components
#> $MC$tooltips$components$input_tip
#> [1] "My tool tip"
#> 
#> 
#> 
#> 
#> $MB
#> $MB$button_counters
#> $MB$button_counters$button_clk_save
#> [1] 0
#> 
#> $MB$button_counters$button_clk_clip
#> [1] 0
#> 
#> $MB$button_counters$button_clk_del
#> [1] 0
#> 
#> $MB$button_counters$button_clk_copy
#> [1] 0
#> 
#> $MB$button_counters$button_clk_new
#> [1] 0
#> 
#> $MB$button_counters$button_clk_append_model
#> [1] 0
#> 
#> 
#> $MB$ui_hold
#> $MB$ui_hold$button_clk_save
#> [1] FALSE
#> 
#> $MB$ui_hold$button_clk_clip
#> [1] FALSE
#> 
#> $MB$ui_hold$button_clk_del
#> [1] FALSE
#> 
#> $MB$ui_hold$button_clk_copy
#> [1] FALSE
#> 
#> $MB$ui_hold$button_clk_new
#> [1] FALSE
#> 
#> $MB$ui_hold$button_clk_append_model
#> [1] FALSE
#> 
#> $MB$ui_hold$catalog_selection
#> [1] FALSE
#> 
#> $MB$ui_hold$base_from
#> [1] FALSE
#> 
#> $MB$ui_hold$element_name
#> [1] FALSE
#> 
#> $MB$ui_hold$time_scale
#> [1] FALSE
#> 
#> $MB$ui_hold$model_type_selection
#> [1] FALSE
#> 
#> $MB$ui_hold$ui_select_element
#> [1] FALSE
#> 
#> $MB$ui_hold$ui_mb_model
#> [1] FALSE
#> 
#> $MB$ui_hold$uploaded_model
#> [1] FALSE
#> 
#> $MB$ui_hold$append_model
#> [1] FALSE
#> 
#> $MB$ui_hold$element_selection
#> [1] FALSE
#> 
#> 
#> $MB$ui_ids
#>  [1] "button_clk_save"         "button_clk_clip"        
#>  [3] "button_clk_del"          "button_clk_copy"        
#>  [5] "button_clk_new"          "button_clk_append_model"
#>  [7] "catalog_selection"       "base_from"              
#>  [9] "element_name"            "time_scale"             
#> [11] "model_type_selection"    "ui_select_element"      
#> [13] "ui_mb_model"             "model_type_selection"   
#> [15] "uploaded_model"          "append_model"           
#> [17] "element_selection"      
#> 
#> $MB$isgood
#> [1] TRUE
#> 
#> $MB$ui_ele
#> [1] "catalog_selection" "base_from"         "element_name"     
#> [4] "time_scale"       
#> 
#> $MB$element_cntr
#> [1] 1
#> 
#> $MB$model_type_selection
#> [1] "rxode2"
#> 
#> $MB$suggested
#> $MB$suggested$found
#> [1] TRUE
#> 
#> $MB$suggested$pkgs
#> $MB$suggested$pkgs$rxode2
#> $MB$suggested$pkgs$rxode2$found
#> [1] TRUE
#> 
#> $MB$suggested$pkgs$rxode2$msg
#> [1] ""
#> 
#> 
#> $MB$suggested$pkgs$nonmem2rx
#> $MB$suggested$pkgs$nonmem2rx$found
#> [1] TRUE
#> 
#> $MB$suggested$pkgs$nonmem2rx$msg
#> [1] ""
#> 
#> 
#> $MB$suggested$pkgs$nlmixr2lib
#> $MB$suggested$pkgs$nlmixr2lib$found
#> [1] TRUE
#> 
#> $MB$suggested$pkgs$nlmixr2lib$msg
#> [1] ""
#> 
#> 
#> 
#> 
#> $MB$model_catalog
#> $MB$model_catalog$sources
#> $MB$model_catalog$sources[[1]]
#> $MB$model_catalog$sources[[1]]$source
#> $MB$model_catalog$sources[[1]]$source$group
#> [1] "User-defined Models"
#> 
#> $MB$model_catalog$sources[[1]]$source$name
#> [1] "rxode2 User model"
#> 
#> $MB$model_catalog$sources[[1]]$source$description
#> [1] "User-defined rxode2 model"
#> 
#> $MB$model_catalog$sources[[1]]$source$type
#> [1] "rxode2"
#> 
#> $MB$model_catalog$sources[[1]]$source$obj
#> [1] "my_fcn"
#> 
#> $MB$model_catalog$sources[[1]]$source$file
#> [1] "file.path(getwd(),\"user_model.R\")"
#> 
#> 
#> 
#> $MB$model_catalog$sources[[2]]
#> $MB$model_catalog$sources[[2]]$source
#> $MB$model_catalog$sources[[2]]$source$group
#> [1] "User-defined Models"
#> 
#> $MB$model_catalog$sources[[2]]$source$name
#> [1] "NONMEM User model"
#> 
#> $MB$model_catalog$sources[[2]]$source$description
#> [1] "User-defined NONMEM model"
#> 
#> $MB$model_catalog$sources[[2]]$source$type
#> [1] "NONMEM"
#> 
#> $MB$model_catalog$sources[[2]]$source$file
#> [1] "file.path(getwd(),\"user_model.ctl\")"
#> 
#> 
#> 
#> $MB$model_catalog$sources[[3]]
#> $MB$model_catalog$sources[[3]]$source
#> $MB$model_catalog$sources[[3]]$source$group
#> [1] "Model Library"
#> 
#> $MB$model_catalog$sources[[3]]$source$type
#> [1] "nlmixr2lib"
#> 
#> $MB$model_catalog$sources[[3]]$source$name
#> [1] "nlmixr2 Model Library"
#> 
#> 
#> 
#> 
#> $MB$model_catalog$summary
#>    ana_sol depends mod_id                                Name
#> 1      yes    <NA>  mod_1                             PK_1cmt
#> 2       no    <NA>  mod_2                         PK_1cmt_des
#> 3      yes    <NA>  mod_3                             PK_2cmt
#> 4       no    <NA>  mod_4                         PK_2cmt_des
#> 5       no    <NA>  mod_5                    PK_2cmt_no_depot
#> 6       no    <NA>  mod_6                    PK_2cmt_tdcl_des
#> 7      yes    <NA>  mod_7                             PK_3cmt
#> 8       no    <NA>  mod_8                         PK_3cmt_des
#> 9       no    <NA>  mod_9      phenylalanine_charbonneau_2021
#> 10      no    <NA> mod_10             indirect_0cpt_transitEx
#> 11      no    <NA> mod_11              indirect_1cpt_inhi_kin
#> 12      no    <NA> mod_12          indirect_1cpt_inhi_kin_CLV
#> 13      no    <NA> mod_13  indirect_1cpt_inhi_kin_r0rmaxcrmax
#> 14      no    <NA> mod_14             indirect_1cpt_inhi_kout
#> 15      no    <NA> mod_15         indirect_1cpt_inhi_kout_CLV
#> 16      no    <NA> mod_16 indirect_1cpt_inhi_kout_r0rmaxcrmax
#> 17      no    <NA> mod_17              indirect_1cpt_stim_kin
#> 18      no    <NA> mod_18          indirect_1cpt_stim_kin_CLV
#> 19      no    <NA> mod_19  indirect_1cpt_stim_kin_r0rmaxcrmax
#> 20      no    <NA> mod_20             indirect_1cpt_stim_kout
#> 21      no    <NA> mod_21         indirect_1cpt_stim_kout_CLV
#> 22      no    <NA> mod_22 indirect_1cpt_stim_kout_r0rmaxcrmax
#> 23      no    <NA> mod_23   indirect_circ_1cpt_inhi_kin_kin_t
#> 24      no    <NA> mod_24  indirect_circ_1cpt_inhi_kin_kout_t
#> 25      no    <NA> mod_25  indirect_circ_1cpt_inhi_kout_kin_t
#> 26      no    <NA> mod_26 indirect_circ_1cpt_inhi_kout_kout_t
#> 27      no    <NA> mod_27   indirect_circ_1cpt_stim_kin_kin_t
#> 28      no    <NA> mod_28  indirect_circ_1cpt_stim_kin_kout_t
#> 29      no    <NA> mod_29  indirect_circ_1cpt_stim_kout_kin_t
#> 30      no    <NA> mod_30 indirect_circ_1cpt_stim_kout_kout_t
#> 31      no    <NA> mod_31         indirect_prec_1cpt_inhi_CLV
#> 32      no    <NA> mod_32 indirect_prec_1cpt_inhi_r0rmaxcrmax
#> 33      no    <NA> mod_33         indirect_prec_1cpt_stim_CLV
#> 34      no    <NA> mod_34 indirect_prec_1cpt_stim_r0rmaxcrmax
#> 35     yes    <NA> mod_35              PK_2cmt_mAb_Davda_2014
#> 36      no    <NA> mod_36                    PK_double_sim_01
#> 37      no    <NA> mod_37                    PK_double_sim_10
#> 38      no    <NA> mod_38                    PK_double_sim_11
#> 39     yes    <NA> mod_39      CarlssonPetri_2021_liraglutide
#> 40      no    <NA> mod_40           Cirincione_2017_exenatide
#> 41      no    <NA> mod_41            Kovalenko_2020_dupilumab
#> 42     yes    <NA> mod_42           Soehoel_2022_tralokinumab
#> 43     yes    <NA> mod_43               Zhu_2017_lebrikizumab
#> 44      no      Cc mod_44              oncology_sdm_lobo_2002
#> 45      no      Cc mod_45     oncology_xenograft_simeoni_2004
#> 46      no    <NA> mod_46                     tgi_no_sat_Koch
#> 47      no    <NA> mod_47                     tgi_no_sat_expo
#> 48      no    <NA> mod_48                   tgi_no_sat_linear
#> 49      no    <NA> mod_49                 tgi_no_sat_powerLaw
#> 50      no    <NA> mod_50              tgi_sat_VonBertalanffy
#> 51      no    <NA> mod_51           tgi_sat_genVonBertalanffy
#> 52      no    <NA> mod_52                    tgi_sat_logistic
#>                                 Object   Type
#> 1                              PK_1cmt rxode2
#> 2                          PK_1cmt_des rxode2
#> 3                              PK_2cmt rxode2
#> 4                          PK_2cmt_des rxode2
#> 5                     PK_2cmt_no_depot rxode2
#> 6                     PK_2cmt_tdcl_des rxode2
#> 7                              PK_3cmt rxode2
#> 8                          PK_3cmt_des rxode2
#> 9       phenylalanine_charbonneau_2021 rxode2
#> 10             indirect_0cpt_transitEx rxode2
#> 11              indirect_1cpt_inhi_kin rxode2
#> 12          indirect_1cpt_inhi_kin_CLV rxode2
#> 13  indirect_1cpt_inhi_kin_r0rmaxcrmax rxode2
#> 14             indirect_1cpt_inhi_kout rxode2
#> 15         indirect_1cpt_inhi_kout_CLV rxode2
#> 16 indirect_1cpt_inhi_kout_r0rmaxcrmax rxode2
#> 17              indirect_1cpt_stim_kin rxode2
#> 18          indirect_1cpt_stim_kin_CLV rxode2
#> 19  indirect_1cpt_stim_kin_r0rmaxcrmax rxode2
#> 20             indirect_1cpt_stim_kout rxode2
#> 21         indirect_1cpt_stim_kout_CLV rxode2
#> 22 indirect_1cpt_stim_kout_r0rmaxcrmax rxode2
#> 23   indirect_circ_1cpt_inhi_kin_kin_t rxode2
#> 24  indirect_circ_1cpt_inhi_kin_kout_t rxode2
#> 25  indirect_circ_1cpt_inhi_kout_kin_t rxode2
#> 26 indirect_circ_1cpt_inhi_kout_kout_t rxode2
#> 27   indirect_circ_1cpt_stim_kin_kin_t rxode2
#> 28  indirect_circ_1cpt_stim_kin_kout_t rxode2
#> 29  indirect_circ_1cpt_stim_kout_kin_t rxode2
#> 30 indirect_circ_1cpt_stim_kout_kout_t rxode2
#> 31         indirect_prec_1cpt_inhi_CLV rxode2
#> 32 indirect_prec_1cpt_inhi_r0rmaxcrmax rxode2
#> 33         indirect_prec_1cpt_stim_CLV rxode2
#> 34 indirect_prec_1cpt_stim_r0rmaxcrmax rxode2
#> 35              PK_2cmt_mAb_Davda_2014 rxode2
#> 36                    PK_double_sim_01 rxode2
#> 37                    PK_double_sim_10 rxode2
#> 38                    PK_double_sim_11 rxode2
#> 39      CarlssonPetri_2021_liraglutide rxode2
#> 40           Cirincione_2017_exenatide rxode2
#> 41            Kovalenko_2020_dupilumab rxode2
#> 42           Soehoel_2022_tralokinumab rxode2
#> 43               Zhu_2017_lebrikizumab rxode2
#> 44              oncology_sdm_lobo_2002 rxode2
#> 45     oncology_xenograft_simeoni_2004 rxode2
#> 46                     tgi_no_sat_Koch rxode2
#> 47                     tgi_no_sat_expo rxode2
#> 48                   tgi_no_sat_linear rxode2
#> 49                 tgi_no_sat_powerLaw rxode2
#> 50              tgi_sat_VonBertalanffy rxode2
#> 51           tgi_sat_genVonBertalanffy rxode2
#> 52                    tgi_sat_logistic rxode2
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 Model
#> 1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               PK_1cmt <- function() {\n  description <- "One compartment PK model with linear clearance"\n  ini({\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n\n    Cc <- linCmt()\n    Cc ~ prop(propSd)\n  })\n}
#> 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        PK_1cmt_des <- function() {\n  description <- "One compartment PK model with linear clearance using differential equations"\n  dosing<-c("central", "depot")\n  ini({\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n\n    kel <- cl / vc\n\n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n\n    Cc <- central / vc\n    Cc ~ prop(propSd)\n  })\n}
#> 3                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                PK_2cmt <- function() {\n  description <- "Two compartment PK model with linear clearance"\n  ini({\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    lvp  <- 5 ; label("Peripheral volume of distribution (Vp)")\n    lq  <- 0.1 ; label("Intercompartmental clearance (Q)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    vp <- exp(lvp)\n    q  <- exp(lq)\n\n    Cc<- linCmt()\n    Cc ~ prop(propSd)\n  })\n}
#> 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              PK_2cmt_des <- function() {\n  description <- "Two compartment PK model with linear clearance using differential equations"\n  ini({\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    lvp  <- 5 ; label("Peripheral volume of distribution (Vp)")\n    lq  <- 0.1 ; label("Intercompartmental clearance (Q)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    vp <- exp(lvp)\n    q  <- exp(lq)\n\n    kel <- cl/vc\n    k12 <- q/vc\n    k21 <- q/vp\n\n    d/dt(depot) <- -ka*depot\n    d/dt(central) <-  ka*depot - kel*central - k12*central + k21*peripheral1\n    d/dt(peripheral1) <- k12*central - k21*peripheral1\n    Cc <- central / vc\n\n    Cc ~ prop(propSd)\n  })\n}
#> 5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     PK_2cmt_no_depot <- function() {\n  description <- "Two compartment PK model with linear clearance using differential equations"\n  ini({\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    lvp  <- 5 ; label("Peripheral volume of distribution (Vp)")\n    lq  <- 0.1 ; label("Intercompartmental clearance (Q)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    vp <- exp(lvp)\n    q  <- exp(lq)\n    \n    kel <- cl/vc\n    k12 <- q/vc\n    k21 <- q/vp\n    \n  \n    d/dt(central) <-  - kel*central - k12*central + k21*peripheral1\n    d/dt(peripheral1) <- k12*central - k21*peripheral1\n    Cc <- central / vc\n    \n    Cc ~ prop(propSd)\n  })\n}
#> 6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         PK_2cmt_tdcl_des <- function() {\n  description <- "Two compartment PK model with time-dependent clearance using differential equations (structured like nivolumab PK model)"\n  reference <- "C Liu, J Yu, H Li, J Liu, Y Xu, P Song, Q Liu, H Zhao, J Xu, V E Maher, B P Booth, G Kim, A Rahman, Y Wang; Association of time-varying clearance of nivolumab with disease dynamics and its implications on exposure response analysis.  Clin Pharmacol Ther May 2017; 101(5): 657-666. https://doi.org/10.1002/cpt.656"\n  ini({\n    lcl <- log(0.2) ; label("Time-stationary clearance (CLTS)")\n    lcltmax <- log(0.22) ; label("Typical value of the maximal change of clearance relative to baseline (Tmax)")\n    lclgamma <- log(1) ; label("Hill coefficient for time-dependent clearance")\n    lclt50 <- log(30) ; label("Time for 50% of maximal CL change")\n    lvc  <- log(20) ; label("Central volume of distribution (V)")\n    lvp  <- log(150) ; label("Peripheral volume of distribution (Vp)")\n    lq  <- log(0.75) ; label("Intercompartmental clearance (Q)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    clts <- exp(lcl)\n    cltmax <- exp(lcltmax)\n    clgamma <- exp(lclgamma)\n    clt50 <- exp(lclt50)\n    vc <- exp(lvc)\n    vp <- exp(lvp)\n    q  <- exp(lq)\n\n    cl <- clts*exp(cltmax*time^clgamma/(clt50^clgamma+time^clgamma))\n\n    kel <- cl/vc\n    k12 <- q/vc\n    k21 <- q/vp\n\n    d/dt(central)     <- - kel*central - k12*central + k21*peripheral1\n    d/dt(peripheral1) <- k12*central - k21*peripheral1\n    Cc <- central / vc\n\n    Cc ~ prop(propSd)\n  })\n}
#> 7                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  PK_3cmt <- function() {\n  description <- "Three compartment PK model with linear clearance"\n  ini({\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    lvp  <- 5 ; label("Peripheral volume of distribution (Vp)")\n    lvp2  <- 8 ; label("Second peripheral volume of distribution (Vp2)")\n    lq  <- 0.1 ; label("Intercompartmental clearance (Q)")\n    lq2  <- 0.5 ; label("Second intercompartmental clearance (Q2)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    vp <- exp(lvp)\n    vp2 <- exp(lvp2)\n    q   <- exp(lq)\n    q2  <- exp(lq2)\n\n    Cc <- linCmt()\n    Cc ~ prop(propSd)\n  })\n}
#> 8                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     PK_3cmt_des <- function() {\n  description <- "Three compartment PK model with linear clearance using differential equations"\n  ini({\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    lvp  <- 5 ; label("Peripheral volume of distribution (Vp)")\n    lvp2  <- 8 ; label("Second peripheral volume of distribution (Vp2)")\n    lq  <- 0.1 ; label("Intercompartmental clearance (Q)")\n    lq2  <- 0.5 ; label("Second intercompartmental clearance (Q2)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    vp <- exp(lvp)\n    vp2 <- exp(lvp2)\n    q  <- exp(lq)\n    q2  <- exp(lq2)\n\n    kel <- cl/vc\n    k12 <- q/vc\n    k21 <- q/vp\n    k13 <- q2/vc\n    k31 <- q2/vp2\n\n    d/dt(depot) <- -ka*depot\n    d/dt(central) <-  ka*depot - kel*central - k12*central + k21*peripheral1 - k13*central + k31*peripheral2\n    d/dt(peripheral1) <- k12*central - k21*peripheral1\n    d/dt(peripheral2) <- k13*central - k31*peripheral2\n    Cc <- central / vc\n\n    Cc ~ prop(propSd)\n  })\n}
#> 9                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      phenylalanine_charbonneau_2021 <- function() {\n  description <- "Phenylalanine model for absorption and metabolism in healthy subjects and patients with PKU"\n  reference <- "Charbonneau, M.R., Denney, W.S., Horvath, N.G. et al. Development of a mechanistic model to predict synthetic biotic activity in healthy volunteers and patients with phenylketonuria. Commun Biol 4, 898 (2021). https://doi.org/10.1038/s42003-021-02183-1"\n  covariates <-\n    list(\n      WT = "Body weight in kg",\n      time = "Time in hours",\n      f_pah = "Fraction of healthy PAH activity (healthy = 1; PKU patient = 0 to 0.03)",\n      bl_phe = "Typical values are about 0.075 mmol/L in healthy subjects and 1.18 mmol/L in patients"\n    )\n  # parameters come from Table 4 in paper\n  ini({\n    bl_phe <- 1.18; label("Baseline Phenylalanine (Phe) concentration (mmol/L)")\n    bl_gut <- 0; label("Baseline Phe in the gut (mg)")\n\n    ka_gut <- 0.25; label("Absorption rate from gut to plasma")\n    v_npd <- 0.015; label("Rate of net protein breakdown ((mmol/L)/hr)")\n\n    vmax_pah <- 0.9; label("Maximum rate of Phe breakdown by PAH in a healthy subject ((mmol/L)/hr)")\n    f_pah <- 0; label("Fraction of healthy PAH activity (PKU patient = 0 to 0.02)")\n    km_pah <- 0.51; label("Michaelis-Menten constant for Phe with PAH (mmol/L)")\n    kact_pah <- 0.54; label("Phe activation constant for PAH")\n\n    vmax_trans <- 0.063; label("Maximum rate of Phe breakdown by transaminase ((mmol/L)/hr)")\n    km_trans <- 1.37; label("Michaelis-Menten constant for Phe with transaminase (mmol/L)")\n\n    cl_renal <- 5.696e-4; label("Renal clearance of Phe per body weight ((L/kg)/hr)")\n\n    vd <- 0.5; label("Body-weight normalized volume distribution of Phe (L/kg)")\n  })\n  model({\n    # Molecular weight of Phe (g/mol)\n    mw_phe <- 165.19\n    # Unit conversion adjustment from Gut to Plasma concentrations (mmol/L)/mg\n    f_gut_plasma <- 1/(mw_phe * vd_phe * WT)\n\n    v_pah <- vmax_pah*f_pah / (1 + km_pah/phe + km_pah*kact_pah/(phe^2)) # units: (mmol/L)/hr\n    v_trans <- vmax_trans / (1 + km_trans/phe) # units: (mmol/L)/hr\n    v_renal <- phe * cl_renal * vd # units: (mmol/L)/hr\n\n    d/dt(gut) <- -ka_gut*gut\n    d/dt(phe) <- ka*gut*f_gut_plasma + v_npd - v_pah - v_trans - v_renal\n    gut(0) <- bl_gut\n    phe(0) <- bl_phe\n    phe_umol <- phe * 1000 # units: umol/L (more commonly used in clinical laboratories)\n\n    # The following is an augmentation of the model reported in the paper.  It\n    # indicates the approximate daily Phe intake (in mg) to achieve\n    # steady-state.\n    daily_phe_intake <- 24 * vd * (v_pah + v_trans + v_renal - v_npd) / f_gut_plasma\n  })\n}
#> 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              indirect_0cpt_transitEx <- function() {\n  description <- "Two compartment PK model with Michealis-Menten clearance using differential equations"\n  ini({\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lktr1 <- c(0, 0.05)\n    lktr2 <- c(0, 0.05)\n    lktr3 <- c(0, 0.05)\n    lktr4 <- c(0, 0.05)\n    lktr5 <- c(0, 0.05)\n    lktr6 <- c(0, 0.05)\n    lktr7 <- c(0, 0.05)\n    lktr8 <- c(0, 0.05)\n    lktr9 <- c(0, 0.05)\n    lktr10 <- c(0, 0.05)\n    lvm <- 0.04\n    label("maximum target-mediated rate of elimination (mg/L/d)")\n    lkm <- 0.01\n    label("Michaelis-Menten constant (mg/L)")\n    lvc <- 3\n    label("central volume of distribution (Vc)")\n    lvp <- 5\n    label("Peripheral volume of distribution (Vp)")\n    lq <- 0.1\n    label("Intercompartmental clearance (Q)")\n    propSd <- c(0, 0.5)\n    label("Proportional residual error (fraction)")\n\n  })\n  model({\n    ka <- exp(lka)\n    ktr1 <- exp(lktr1)\n    ktr2 <- exp(lktr2)\n    ktr3 <- exp(lktr3)\n    ktr4 <- exp(lktr4)\n    ktr5 <- exp(lktr5)\n    ktr6 <- exp(lktr6)\n    ktr7 <- exp(lktr7)\n    ktr8 <- exp(lktr8)\n    ktr9 <- exp(lktr9)\n    ktr10 <- exp(lktr10)\n    km <- exp(lkm)\n    vm <- exp(lvm)\n    vc <- exp(lvc)\n    vp <- exp(lvp)\n    q <- exp(lq)\n    k12 <- q/vc\n    k21 <- q/vp\n    d/dt(depot) <- -ka*depot\n    d/dt(transit1) <- ka * depot - ktr1 * transit1\n    d/dt(transit2) <- ktr1 * transit1 - ktr2 * transit2\n    d/dt(transit3) <- ktr2 * transit2 - ktr3 * transit3\n    d/dt(transit4) <- ktr3 * transit3 - ktr4 * transit4\n    d/dt(transit5) <- ktr4 * transit4 - ktr5 * transit5\n    d/dt(transit6) <- ktr5 * transit5 - ktr6 * transit6\n    d/dt(transit7) <- ktr6 * transit6 - ktr7 * transit7\n    d/dt(transit8) <- ktr7 * transit7 - ktr8 * transit8\n    d/dt(transit9) <- ktr8 * transit8 - ktr9 * transit9\n    d/dt(transit10) <- ktr9 * transit9 - ktr10 * transit10\n    d/dt(central) <- ktr10 * transit10 - (vm/(km + central/vc)) * \n      central - k12 * central + k21 * peripheral1\n    d/dt(peripheral1) <- k12 * central - k21 * peripheral1\n    Cc <- central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 11                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     indirect_1cpt_inhi_kin  <- function() {\n  description <- "One compartment indirect response model with inhibition of kin."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- log(90) ; label("Central volume of distribution (Vc)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    limax <- 0.56; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    kel <- exp(lkel)\n    IC50 <- exp(lIC50)\n    imax <- exp(limax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -kel*central\n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin*(1-imax*Cc/(Cc + IC50)) - kout*effect\n    Cc ~ prop(propSd)\n  })\n}\n
#> 12                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                indirect_1cpt_inhi_kin_CLV <- function() {\n  description <- "One compartment indirect response model with inhibition of kin."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- log(90) ; label("Central volume of distribution (Vc)")\n    lcl <- 1 ; label("Clearance (Cl)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    limax <- 0.56; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl  <- exp(lcl)\n    IC50 <- exp(lIC50)\n    imax <- exp(limax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin*(1-imax*Cc/(Cc + IC50)) - kout*effect\n   \n    Cc ~ prop(propSd)\n  })\n}\n
#> 13                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           indirect_1cpt_inhi_kin_r0rmaxcrmax <- function() {\n  description <- "One compartment indirect response model with inhibition of kin."\n  ini({\n    lka     <- 0.45 ; label("Absorption rate (Ka)")\n    lvc     <- 3.45 ; label("Central volume of distribution (Vc)")\n    lcl     <- 0.85 ; label("Clearance (Cl)")\n    lr0     <- 0.2  ; label("Baseline response prior to drug administration (R0)")\n    lrmax   <- 0.9  ; label("Maximal response (CRmax)")\n    ls1     <- 1.0  ; label("Initial slope of the response versus time curve (S1)")\n    limax   <- 0.56 ; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lcrmax  <- 0.67 ; label("Plasma concentration of drug at the time of maximal response (CRmax)")\n    lfdepot <- 0.4  ; label("Bioavailability (F)")\n    propSd  <- 0.5  ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka     <- exp(lka)\n    vc     <- exp(lvc)\n    cl     <- exp(lcl)\n    r0     <- exp(lr0)\n    rmax   <- exp(lrmax)\n    s1     <- exp(ls1)\n    imax   <- exp(limax)\n    crmax  <- exp(lcrmax)\n    fdepot <- exp(lfdepot)\n    \n    kel <- cl/vc\n    imax <- (r0-rmax)/r0\n    kin <- -s1/imax\n    kout <- kin/r0\n    IC50 <- crmax*(rmax-(1-imax)*r0)/(r0-rmax)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin*(1-imax*Cc/(Cc + IC50)) - kout*effect\n    \n    Cc ~ prop(propSd)\n  })\n}
#> 14                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           indirect_1cpt_inhi_kout  <- function() {\n  description <- "One compartment indirect response model with inhibition of kout."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- log(90) ; label("Central volume of distribution (Vc)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    kel <- exp(lkel)\n    IC50 <- exp(lIC50)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(cl/vc)*central\n    \n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin - kout*(1-Cc/(Cc + IC50))*effect\n    \n    \n    Cc ~ prop(propSd)\n  })\n}
#> 15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                indirect_1cpt_inhi_kout_CLV <- function() {\n  description <- "One compartment indirect response model with inhibition of kout."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- 3.45 ; label("Central volume of distribution (Vc)")\n    lcl <- 1 ; label("Clearance (Cl)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl  <- exp(lcl)\n    IC50 <- exp(lIC50)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin - kout*(1-Cc/(Cc + IC50))*effect\n    \n    Cc ~ prop(propSd)\n  })\n}
#> 16                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              indirect_1cpt_inhi_kout_r0rmaxcrmax <- function() {\n  description <- "One compartment indirect response model with inhibition of kout."\n  ini({\n    lka     <- 0.45 ; label("Absorption rate (Ka)")\n    lvc     <- 3.45 ; label("Central volume of distribution (Vc)")\n    lcl     <- 0.85 ; label("Clearance (Cl)")\n    lr0     <- 0.2  ; label("Baseline response prior to drug administration (R0)")\n    lrmax   <- 0.9  ; label("Maximal response (CRmax)")\n    ls1     <- 1.0  ; label("Initial slope of the response versus time curve (S1)")\n    limax   <- 0.56 ; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lcrmax  <- 0.67 ; label("Plasma concentration of drug at the time of maximal response (CRmax)")\n    lfdepot <- 0.4  ; label("Bioavailability (F)")\n    propSd  <- 0.5  ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka     <- exp(lka)\n    vc     <- exp(lvc)\n    cl     <- exp(lcl)\n    r0     <- exp(lr0)\n    rmax   <- exp(lrmax)\n    s1     <- exp(ls1)\n    imax   <- exp(limax)\n    crmax  <- exp(lcrmax)\n    fdepot <- exp(lfdepot)\n    \n    kel <- cl/vc\n    imax <- (rmax-r0)/rmax\n    kin <- s1/imax\n    kout <- kin/r0\n    IC50 <- crmax*(r0-(1-imax)*rmax)/(rmax-r0)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    d/dt(effect) <- kin - kout*(1-imax*Cc/(Cc + IC50))*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 17                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   indirect_1cpt_stim_kin <- function() {\n  description <- "One compartment indirect response model with stimulation of kin.Parameterized using rate cosntants"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- log(90) ; label("Central volume of distribution (Vc)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    kel <- exp(lkel)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -kel*central\n    \n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin*(1+Emax*Cc/(Cc + IC50)) - kout*effect\n    \n    Cc ~ prop(propSd)\n  })\n}
#> 18                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   indirect_1cpt_stim_kin_CLV <- function() {\n  description <- "One compartment indirect response model with stimulation of kin."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- 3.45 ; label("Central volume of distribution (Vc)")\n    lcl <- 1 ; label("Clearance (Cl)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl  <- exp(lcl)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -kel*central\n    \n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin*(1+Emax*Cc/(Cc + IC50)) - kout*effect\n    \n    \n    Cc ~ prop(propSd)\n  })\n}
#> 19                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   indirect_1cpt_stim_kin_r0rmaxcrmax <- function() {\n  description <- "One compartment indirect response model with stimulation of kin."\n  ini({\n    lka     <- 0.45 ; label("Absorption rate (Ka)")\n    lvc     <- 3.45 ; label("Central volume of distribution (Vc)")\n    lcl     <- 0.85 ; label("Clearance (Cl)")\n    lr0     <- 0.2  ; label("Baseline response prior to drug administration (R0)")\n    lrmax   <- 0.9  ; label("Maximal response (CRmax)")\n    ls1     <- 1.0  ; label("Initial slope of the response versus time curve (S1)")\n    lemax   <- 0.56 ; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lcrmax  <- 0.67 ; label("Plasma concentration of drug at the time of maximal response (CRmax)")\n    lfdepot <- 0.4  ; label("Bioavailability (F)")\n    propSd  <- 0.5  ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka     <- exp(lka)\n    vc     <- exp(lvc)\n    cl     <- exp(lcl)\n    r0     <- exp(lr0)\n    rmax   <- exp(lrmax)\n    s1     <- exp(ls1)\n    emax   <- exp(lemax)\n    crmax  <- exp(lcrmax)\n    fdepot <- exp(lfdepot)\n    \n    kel <- cl/vc\n    emax <- (rmax-r0)/rmax\n    kin <- s1/emax\n    kout <- kin/r0\n    IC50 <- crmax*(r0*(1+emax)-rmax)/(rmax-r0)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    \n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin*(1+Emax*Cc/(Cc + IC50)) - kout*effect\n    \n    Cc ~ prop(propSd)\n  })\n}
#> 20                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  indirect_1cpt_stim_kout <- function() {\n  description <- "One compartment indirect response model with stimulation of kout.Parameterized using rate cosntants"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    \n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin - kout*(1+Emax*Cc/(Cc + EC50))*effect\n    \n    \n    Cc ~ prop(propSd)\n  })\n}
#> 21                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     indirect_1cpt_stim_kout_CLV <- function() {\n  description <- "One compartment indirect response model with stimulation of kout."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- 3.45 ; label("Central volume of distribution (Vc)")\n    lcl <- 1 ; label("Clearance (Cl)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkin <- 0.48; label("Zero-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl  <- exp(lcl)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    Cc <-  central/vc\n    \n    d/dt(effect) <- kin - kout*(1+Emax*Cc/(Cc + EC50))*effect\n    \n    \n    Cc ~ prop(propSd)\n  })\n}
#> 22                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indirect_1cpt_stim_kout_r0rmaxcrmax <- function() {\n  description <- "One compartment indirect response model with stimulation of kout."\n  ini({\n    lka     <- 0.45 ; label("Absorption rate (Ka)")\n    lvc     <- 3.45 ; label("Central volume of distribution (Vc)")\n    lcl     <- 0.85 ; label("Clearance (Cl)")\n    lr0     <- 0.2  ; label("Baseline response prior to drug administration (R0)")\n    lrmax   <- 0.9  ; label("Maximal response (CRmax)")\n    ls1     <- 1.0  ; label("Initial slope of the response versus time curve (S1)")\n    lemax   <- 0.56 ; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lcrmax  <- 0.67 ; label("Plasma concentration of drug at the time of maximal response (CRmax)")\n    lfdepot <- 0.4  ; label("Bioavailability (F)")\n    propSd  <- 0.5  ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka     <- exp(lka)\n    vc     <- exp(lvc)\n    cl     <- exp(lcl)\n    r0     <- exp(lr0)\n    rmax   <- exp(lrmax)\n    s1     <- exp(ls1)\n    emax   <- exp(lemax)\n    crmax  <- exp(lcrmax)\n    fdepot <- exp(lfdepot)\n    \n    kel <- cl/vc\n    emax <- (r0-rmax)/rmax\n    kin <- -s1/emax\n    kout <- kin/r0\n    IC50 <- crmax*(rmax*(1+emax)-r0)/(r0-rmax)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(kel)*central\n    Cc <-  central/vc\n    \n  \n    d/dt(effect) <- kin - kout*(1+Emax*Cc/(Cc + EC50))*effect\n    \n    \n    Cc ~ prop(propSd)\n  })\n}
#> 23                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  indirect_circ_1cpt_inhi_kin_kin_t  <- function() {\n  description <- "One compartment indirect response model with inhibition of kin and circadian kin_t."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc  <- 3.45 ; label("Central volume of distribution (Vc)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    limax <- 0.56; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    vc  <- exp(lvc)\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    imax <- exp(limax)\n    IC50 <- exp(lIC50)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kin_t <- kout*rm+kout*ra*cos(0.2616*(t-tz))-0.2616*ra*sin(0.2616*(t-tz))\n   \n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(cl/vc)*central\n    d/dt(effect) <- kin_t*(1-imax*Cc/(Cc + IC50)) - kout*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 24                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             indirect_circ_1cpt_inhi_kin_kout_t  <- function() {\n  description <- "One compartment indirect response model with inhibition of kin and circadian kin_t."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    limax <- 0.56; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lkin <- 0.34; label("Zero-order rate constant for production of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    imax <- exp(limax)\n    IC50 <- exp(lIC50)\n    kin  <- exp(lkin)\n    fdepot   <- exp(lfdepot)\n    \n    kout_t <- kin + 0.2616*ra*sin(0.2616*(t-tz))/(rm+ra*cos*(0.2616*(t-tz)))\n    \n    \n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(cl/vc)*central\n    d/dt(effect) <- kin - kout_t*(1-imax*Cc/(Cc + IC50))*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 25                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     indirect_circ_1cpt_inhi_kout_kin_t  <- function() {\n  description <- "One compartment indirect response model with inhibition of kout and circadian kin_t."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    limax <- 0.56; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    imax <- exp(limax)\n    IC50 <- exp(lIC50)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kin_t <- kout*rm+kout*ra*cos(0.2616*(t-tz))-0.2616*ra*sin(0.2616*(t-tz))\n    \n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(cl/vc)*central\n    d/dt(effect) <- kin_t - kout*(1-imax*Cc/(Cc + IC50))*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 26                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  indirect_circ_1cpt_inhi_kout_kout_t  <- function() {\n  description <- "One compartment indirect response model with inhibition of kout and circadian kin_t."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    limax <- 0.56; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lkin <- 0.34; label("Zero-order rate constant for production of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    imax <- exp(limax)\n    IC50 <- exp(lIC50)\n    kin <- exp(lkin)\n    fdepot   <- exp(lfdepot)\n    \n    kout_t <- kin + 0.2616*ra*sin(0.2616*(t-tz))/(rm+ra*cos*(0.2616*(t-tz)))\n    \n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -(cl/vc)*central\n    d/dt(effect) <- kin - kout_t*(1-imax*Cc/(Cc + IC50))*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 27                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         indirect_circ_1cpt_stim_kin_kin_t <- function() {\n  description <- "One compartment indirect response model with stimulation of kin and circadian kin_t.Parameterized using rate cosntants"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kin_t <- kout*rm+kout*ra*cos(0.2616*(t-tz))-0.2616*ra*sin(0.2616*(t-tz))\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -kel*central\n    d/dt(effect) <- kin_t*(1+Emax*Cc/(Cc + IC50)) - kout*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 28                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     indirect_circ_1cpt_stim_kin_kout_t <- function() {\n  description <- "One compartment indirect response model with stimulation of kin and circadian kout_t.Parameterized using rate constants"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkin <- 0.34; label("Zero-order rate constant for production of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kin <- exp(lkin)\n    fdepot   <- exp(lfdepot)\n    \n    kout_t <- kin + 0.2616*ra*sin(0.2616*(t-tz))/(rm+ra*cos*(0.2616*(t-tz)))\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -kel*central\n    d/dt(effect) <- kin*(1+Emax*Cc/(Cc + IC50)) - kout_t*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       indirect_circ_1cpt_stim_kout_kin_t <- function() {\n  description <- "One compartment indirect response model with stimulation of kout and circadian kin_t.Parameterized using rate cosntants"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kout <- exp(lkout)\n    fdepot   <- exp(lfdepot)\n    \n    kin_t <- kout*rm+kout*ra*cos(0.2616*(t-tz))-0.2616*ra*sin(0.2616*(t-tz))\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -kel*central\n    d/dt(effect) <- kin_t - kout*(1+Emax*Cc/(Cc + IC50))*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 30                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   indirect_circ_1cpt_stim_kout_kout_t <- function() {\n  description <- "One compartment indirect response model with stimulation of kout and circadian kout_t.Parameterized using rate cosntants"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lkel <- 0.534; label("elimination rate (1/d)")\n    lrm  <- 0.62; label ("Mean Baseline for drug response (mesor)(Rm)")\n    lra  <- 0.62; label ("Amplitude of drug response (Ra)")\n    ltz  <- 0.62; label ("peak time (Acrophase) (Tz)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum stimulation at effect site (EC50)")\n    lEmax <- 0.85; label("Maximum effect attributed to drug (Emax)")\n    lkin <- 0.34; label("Zero-order rate constant for production of drug response")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    kel <- exp(lkel)\n    rm <- exp(lrm)\n    ra <- exp(lra)\n    tz <- exp(ltz)\n    EC50 <- exp(lEC50)\n    Emax <- exp(lEmax)\n    kin <- exp(lkin)\n    fdepot   <- exp(lfdepot)\n    \n    kout_t <- kin + 0.2616*ra*sin(0.2616*(t-tz))/(rm+ra*cos*(0.2616*(t-tz)))\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot -kel*central\n    d/dt(effect) <- kin_t - kout*(1+Emax*Cc/(Cc + IC50))*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 31                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  indirect_prec_1cpt_inhi_CLV  <- function() {\n  description <- "One compartment precursor-dependent indirect response model with inhibition of drug response. Parameterized with clearance and volume. (effect)."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc <- 3.45  ; label("Central volume of distribution (Vc)")\n    lcl   <- 0.04 ; label("Clearance (CL)")\n    limax <- 0.56 ; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lIC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    lkin <- 0.48; label("First-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lkpin <- 0.45 ; label("Zero order rate constant for production of precursor (kpin)")\n    lkpout <- 0.45 ; label("First order rate constant for loss of precursor (kpout)")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl <- exp(lcl)\n    IC50 <- exp(lIC50)\n    imax<- exp(limax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    kpin <- exp(lkpin)\n    kpout <- exp(lkpout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot-kel*central\n    d/dt(precursor)  <- kpin -(kin + kpout)*(1-imax*Cc/(Cc + IC50))*precursor\n    d/dt(effect)   <- kin*(1-imax*Cc/(Cc + IC50))*precursor-kout*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}       
#> 32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               indirect_prec_1cpt_inhi_r0rmaxcrmax  <- function() {\n  description <- "One compartment precursor-dependent indirect response model with inhibition of drug response (effect)."\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc <- 3.45  ; label("Central volume of distribution (Vc)")\n    lcl   <- 0.04 ; label("Clearance (CL)")\n    lr0     <- 0.2  ; label("Baseline response prior to drug administration (R0)")\n    lrmax   <- 0.9  ; label("Maximal response (CRmax)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lkpin <- 0.45 ; label("Zero order rate constant for production of precursor (kpin)")\n    lkpout <- 0.45 ; label("First order rate constant for loss of precursor (kpout)")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl <- exp(lcl)\n    r0<- exp(lr0)\n    rmax<- exp(lrmax)\n    kout <- exp(lkout)\n    kpin <- exp(lkpin)\n    kpout <- exp(lkpout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    imax <- (r0-rmax)/r0\n    kin <- (kout*(kin+kpout)*r0)/kpin\n    IC50 <- crmax*(rmax-(1-imax)*r0)/(r0-rmax)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot-kel*central\n    d/dt(precursor)  <- kpin -(kin + kpout)*(1-imax*Cc/(Cc + IC50))*precursor\n    d/dt(effect)   <- kin*(1-imax*Cc/(Cc + IC50))*precursor-kout*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 33                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             indirect_prec_1cpt_stim_CLV  <- function() {\n  description <- "One compartment precursor-dependent indirect response model with inhibition of drug response (effect). Parameterized with clearance and volume"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc <- 3.45  ; label("Central volume of distribution (Vc)")\n    lcl <- 0.534; label("clearance (CL)")\n    lemax <- 0.56 ; label("Maximum inhibitory factor attributed to drug (Imax)")\n    lEC50 <- 0.67; label("Drug concentration producing 50% of maximum inhibition at effect site (IC50)")\n    lkin <- 0.48; label("First-order rate constant for production of drug response(1/d)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lkpin <- 0.45 ; label("Zero order rate constant for production of precursor (kpin)")\n    lkpout <- 0.45 ; label("First order rate constant for loss of precursor (kpout)")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl <- exp(lcl)\n    EC50 <- exp(lEC50)\n    emax<- exp(lemax)\n    kin <- exp(lkin)\n    kout <- exp(lkout)\n    kpin <- exp(lkpin)\n    kpout <- exp(lkpout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot-kel*central\n    d/dt(precursor)  <- kpin -(kin + kpout)*(1+emax*Cc/(Cc + EC50))*precursor\n    d/dt(effect)   <- kin*(1+emax*Cc/(Cc + EC50))*precursor-kout*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 34                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        indirect_prec_1cpt_stim_r0rmaxcrmax <- function() {\n  description <- "One compartment precursor-dependent indirect response model with inhibition of drug response (effect). Parameterized with clearance and volume"\n  ini({\n    lka  <- 0.45 ; label("Absorption rate (Ka)")\n    lvc <- 3.45  ; label("Central volume of distribution (Vc)")\n    lcl <- 0.534; label("clearance (CL)")\n    lr0     <- 0.2  ; label("Baseline response prior to drug administration (R0)")\n    lrmax   <- 0.9  ; label("Maximal response (CRmax)")\n    lkout <- 0.34; label("First-order rate constant for loss of drug response")\n    lkpin <- 0.45 ; label("Zero order rate constant for production of precursor (kpin)")\n    lkpout <- 0.45 ; label("First order rate constant for loss of precursor (kpout)")\n    lfdepot <- 0.4; label("Bioavailability (F)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka  <- exp(lka)\n    vc  <- exp(lvc)\n    cl <- exp(lcl)\n    r0<- exp(lr0)\n    rmax<- exp(lrmax)\n    kout <- exp(lkout)\n    kpin <- exp(lkpin)\n    kpout <- exp(lkpout)\n    fdepot   <- exp(lfdepot)\n    \n    kel <- cl/vc\n    emax <- (rmax-r0)/rmax\n    kin <- (kout*(kin+kpout)*r0)/kpin\n    EC50 <- crmax*(r0*(1+emax)-rmax)/(rmax-r0)\n    \n    d/dt(depot)      <- -ka*depot\n    f(depot)         <- fdepot\n    d/dt(central)    <- ka*depot-kel*central\n    d/dt(precursor)  <- kpin -(kin + kpout)*(1+emax*Cc/(Cc + EC50))*precursor\n    d/dt(effect)   <- kin*(1+emax*Cc/(Cc + EC50))*precursor-kout*effect\n    \n    Cc <-  central/vc\n    Cc ~ prop(propSd)\n  })\n}
#> 35                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    PK_2cmt_mAb_Davda_2014 <- function() {\n  description <- "Two compartment PK model with linear clearance for average monoclonal antibodies (Davda 2014)"\n  reference <- "Davda JP, Dodds MG, Gibbs MA, Wisdom W, Gibbs JP. A model-based meta-analysis of monoclonal antibody pharmacokinetics to guide optimal first-in-human study design. MAbs. 2014;6(4):1094-1102. doi:10.4161/mabs.29095"\n  units = list(time = "day", dosing = "mg")\n  ini({\n    lfdepot <- log(0.744) ; label("Subcutaneous bioavailability (fraction)")\n    lka <- log(0.282) ; label("Absorption rate (Ka, 1/day)")\n    lcl <- log(0.200) ; label("Clearance (CL, L/day)")\n    lv  <- log(3.61) ; label("Central volume of distribution (V, L)")\n    lvp  <- log(2.75) ; label("Peripheral volume of distribution (Vp, L)")\n    lq  <- log(0.747) ; label("Intercompartmental clearance (Q, L/day)")\n\n    allocl <- 0.865 ; label("Allometric exponent on clearance and intercompartmental clearance (unitless)")\n    allov <- 0.957 ; label("Allometric exponent on volumes of distribution (unitless)")\n\n    etafdepot ~ 0\n    etaka ~ 0.416\n    etacl + etav + etavp ~ c(0.0987,\n                             0.0786, 0.116,\n                             0.0377, 0.0619, 0.0789)\n    etaq ~ 0.699\n\n    prop.err <- 0.144 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    # WT is body weight in kg\n    fdepot <- exp(lfdepot + etafdepot)\n    ka <- exp(lka + etaka)\n    wtnorm <- log(WT/70)\n    cl <- exp(lcl + allocl*wtnorm + etacl)\n    q  <- exp(lq + allocl*wtnorm + etaq)\n    v <- exp(lv + allov*wtnorm + etav)\n    vp <- exp(lvp + allov*wtnorm + etavp)\n\n    Cc <- linCmt()\n    \n    f(depot) <- fdepot  # Units are dosing units/L (typically mg/L = ug/mL)\n    Cc ~ prop(prop.err)\n  })\n}
#> 36                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          PK_double_sim_01 <- function() {\n  description <- "PK double absorption model with simultaneous zero order and first order absorptions"\n  ini({\n    tk01 <- 0.4 ; label("Zero order absorption rate from first site (K01)")\n    lka2 <- 0.45 ; label("First order Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n    lgfdepot1 <- logit(0.8);\n    lalag <- log (9); \n  })\n  model({\n    k01 <- exp(tk01)\n    ka2 <- exp(lka2)\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    fdepot1 <- expit(lgfdepot1)\n    alag <- exp(lalag)\n    \n    kel <- cl/vc\n    \n    d/dt(depot1) <- -k01\n    f(depot1) <- fdepot1\n    d/dt(depot2) <- -ka2*depot2\n    lag(depot2) <- alag\n    f(depot2) <- 1-fdepot1\n    d/dt(central) <-  k01+ka2*depot2-kel*central \n    \n    Cc <- central / vc\n    \n    Cc ~ prop(propSd)\n  })\n}
#> 37                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      PK_double_sim_10 <- function() {\n  description <-  "PK double absorption model with simultaneous first order and zero order absorptions"\n  ini({\n    lka1 <- 0.45 ; label("First order Absorption rate (Ka)")\n    tk02 <- 0.4 ; label("Zero order absorption rate from second site (K02)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n    lgfdepot1 <- logit(0.8);\n    lalag <- log (9); \n  })\n  model({\n    ka1 <- exp(lka1)\n    k02 <- exp(tk02)\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    fdepot1 <- expit(lgfdepot1)\n    alag <- exp(lalag)\n    \n    kel <- cl/vc\n    \n    d/dt(depot1) <- -ka1*depot1\n    f(depot1) <- fdepot1\n    d/dt(depot2) <- -k02\n    lag(depot2) <- alag\n    f(depot2) <- 1-fdepot1\n    d/dt(central) <-  ka1*depot1+ k02- kel*central \n    \n    Cc <- central / vc\n    \n    Cc ~ prop(propSd)\n  })\n}
#> 38                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 PK_double_sim_11 <- function() {\n  description <- "PK double absorption model with simultaneous first order absorptions"\n  ini({\n    lka1 <- 0.45 ; label("First order Absorption rate from first site (Ka)")\n    lka2 <- 0.45 ; label("First order Absorption rate from second site (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3 ; label("Central volume of distribution (V)")\n    propSd <- 0.5 ; label("Proportional residual error (fraction)")\n    lgfdepot1 <- logit(0.7);\n    lalag <- log (9); \n  })\n  model({\n    ka1 <- exp(lka1)\n    ka2 <- exp(lka2)\n    cl <- exp(lcl)\n    vc <- exp(lvc)\n    fdepot1 <- expit(lgfdepot1)\n    alag <- exp(lalag)\n    \n    kel <- cl/vc\n    \n    d/dt(depot1) <- -ka1*depot1\n    f(depot1) <- fdepot1\n    d/dt(depot2) <- -ka2*depot2\n    lag(depot2) <- alag\n    f(depot2) <- 1-fdepot1\n    d/dt(central) <-  ka1*depot1+ka2*depot2 - kel*central \n    \n    Cc <- central / vc\n    \n    Cc ~ prop(propSd)\n  })\n}\n\n\n
#> 39                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                CarlssonPetri_2021_liraglutide <- function() {\n  description <- "Liraglutide PK model in adolescents (Carlsson Petri 2021)"\n  reference <- "Carlsson Petri KC, Hale PM, Hesse D, Rathor N, Mastrandrea LD. Liraglutide pharmacokinetics and exposure-response in adolescents with obesity. Pediatric Obesity. 2021;16(10):e12799. doi:10.1111/ijpo.12799"\n  units <-list(time="hr", dosing="mg")\n  covariateData <-\n    list(\n      WT = "Baseline body weight in kg",\n      CHILD = "Is the subject a child? (1 for yes, 0 for no)",\n      ADOLESCENT = "Is the subject an adolescent? (1 for yes, 0 for no)",\n      SEXM = "1 for male, 0 for female"\n    )\n  ini({\n    lka <- fixed(log(0.0813)) ; label("Absorption rate (1/hr)")\n    lcl <- log(1.01) ; label("Apparent clearance (L/h)")\n    e_wt_cl <- 0.762; label("Body weight exponent on CL/F")\n    e_sex_cl <- 1.12; label("Sex contrast (male/female) on CL/F")\n    e_age_child_cl <- 1.11; label("Age contrast (child/adult) on CL/F")\n    e_age_adolescent_cl <- 1.06; label("Age contrast (adolescent/adult) on CL/F")\n    lvc  <- fixed(log(13.8)) ; label("Apparent central volume of distribution (L)")\n    e_wt_vc <- 0.587; label("Body weight exponent on Vc/F")\n    \n    etalcl ~ log(1.312)\n    etalvc ~ log(1.317)\n    propSd <- 0.433 ; label("Proportional residual error (fraction)")\n  })\n  model({\n    ka <- exp(lka)\n    cl_wt <- (WT/100)^e_wt_cl # Equation 2 in the paper\n    cl_sex <- SEXM^e_sex_cl # Equation 3 in the paper\n    cl_age <- CHILD^e_age_child_cl * ADOLESCENT^e_age_adolescent_cl # Equation 4 in the paper\n    cl <- exp(lcl + etalcl)*cl_wt*cl_sex*cl_age # Equation 1 in the paper\n    vc_wt <- (WT/100)^e_wt_vc # Not in the paper, based on Equation 2 in the paper\n    vc  <- exp(lvc + etalvc)*vc_wt # Equation 5 in the paper\n    \n    Cc <- linCmt()\n    Cc ~ prop(propSd)\n  })\n}
#> 40                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             Cirincione_2017_exenatide <- function() {\n  description <- "Exenatide immediate-release PK model (Cirincione 2017)"\n  reference <- "Cirincione B, Mager DE. Population pharmacokinetics of exenatide. British Journal of Clinical Pharmacology. 2017;83(3):517-526. doi:10.1111/bcp.13135"\n  covariateData <-\n    list(\n      AMT = "Dose (ug)",\n      DV = "Exenatide plasma concentration (pg/mL)",\n      eGFR = "Modification of Diet in Renal Disease estimate of glomerular filtration rate (mL/min/(1.73m^2))",\n      WT = "Baseline body weight (kg)",\n      DVID = "Was the subject in Study 1 ('study1'), Study 5 ('study5'), or another study ('otherStudy')?  Typically 'otherStudy'"\n    )\n  # parameters are from Table 2 in the paper\n  ini({\n    lcl <- log(4.58) ; label("Linear clearance rate (L/hr)")\n    etalcl ~ log(1.339)\n    e_cl_gfr <- 0.838; label("Effect of eGFR on clearance (unitless)")\n\n    lq <- log(3.72); label("Intercompartmental clearance (L/hr)") # written as Cld in the model table\n\n    lkm <- log(567); label("Michaelis-Menten constant for clearance (pg/mL)")\n    etalkm ~ log(1.957)\n\n    lvmax <- log(1.55); label("Maximum Michaelis-Menten clearance (ug/hr)")\n\n    lvp <- log(7.04); label("Peripheral compartment volume (L)")\n\n    lvc <- log(7.03); label("Typical central compartment clearance (L)")\n    etalvc ~ log(1.805)\n    e_vc_wt <- 2.67; label("Effect of body weight on central volume (unitless)")\n\n    lkamax <- log(0.0813); label("Maximum first-order absorption rate (1/hr)")\n    lkmka <- log(16.9); label("Michaelis-Menten constant for absorption (ug)")\n    ttau <- fixed(1.35); label("Duration of zero-order absorption")\n    fdepot <- fixed(1); label("Bioavailability (fraction)")\n    logitfr <- logit(0.628); label("Fraction of dose with first-order absorption")\n\n    expSdOther <- 0.373 ; label("Exponential residual error for all other studies")\n    expSdStudy1 <- 0.39 ; label("Exponential residual error for Study 1")\n    expSdStudy5 <- 0.08 ; label("Exponential residual error for Study 5")\n  })\n  model({\n    # declare compartment order\n    cmt(depot)\n    cmt(central)\n    cmt(peripheral1)\n    # cl equation is from table 2 in the paper\n    cl <- exp(lcl + etalcl)*(eGFR/80)^e_cl_gfr\n    q <- exp(lq)\n    km <- exp(lkm + etalkm)\n    vmax <- exp(lvmax)\n    vp <- exp(lvp)\n    # vc equation is from table 2 in the paper\n    vc  <- exp(lvc + etalvc)*(WT/84.8)^e_vc_wt\n    kamax <- exp(lkamax)\n    kmka <- exp(lkmka)\n    fr <- expit(logitfr)\n\n    kel <- cl/vc + vmax/(km*vc + central)\n    k12 <- q/vc\n    k21 <- q/vp\n\n    # Need to turn k0 off at time > tau\n    mtime(tau) <- ttau\n\n    kzero <- (1-fr)*podo(depot)/tau\n    if (tad(depot) > tau) kzero <- 0.0\n\n    # Need to turn ka on at time > tau\n    ka <- fr*kamax/(kmka + depot)\n    if (tad(depot) <= tau) ka <- 0.0\n\n    d/dt(depot) <-  -ka*depot - kzero\n    d/dt(central) <- ka*depot + kzero - kel*central - k12*central + k21*peripheral1\n    d/dt(peripheral1) <-                              k12*central - k21*peripheral1\n    f(depot) <- fdepot\n\n    cp <- central/vc\n\n    cp1 <- cp\n    cp5 <- cp\n    \n    cp ~ lnorm(expSdOther) | otherStudy\n    cp1 ~ lnorm(expSdStudy1) | study1\n    cp5 ~ lnorm(expSdStudy5) | study5\n  })\n}
#> 41                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Kovalenko_2020_dupilumab <- function() {\n  description <- "Dupilumab PK model (Kovalenko 2020)"\n  reference <- "Kovalenko P, Davis JD, Li M, et al. Base and Covariate Population Pharmacokinetic Analyses of Dupilumab Using Phase 3 Data. Clinical Pharmacology in Drug Development. 2020;9(6):756-767. doi:10.1002/cpdd.780"\n  units<-list(time="day", dosing="mg")\n  # Model 1 from table 1 and supplementary Table 2 in the publication and its\n  # supplement.\n  covariateData <-\n    list(\n      WT = "Body weight in kg"\n    )\n  ini({\n    lvc <- log(2.48); label("central volume (L)")\n    lke <- log(0.0534); label("elimination rate (1/d)")\n    lkcp <- log(0.213); label("central-to-peripheral rate (1/d)")\n    Mpc <- 0.686; label("ratio of kcp and kpc (kpc is peripheral to central rate with units of 1/d)")\n    lka <- log(0.256); label("absorption rate (1/d)")\n    lMTT <- log(0.105); label("mean transit time (d)")\n    lVm <- log(1.07); label("maximum target-mediated rate of elimination (mg/L/d)")\n    Km <- fixed(0.01); label("Michaelis-Menten constant (mg/L)")\n    lfdepot <- log(0.643); label("Bioavailability (fraction)")\n    e_wt_vc <- 0.711; label("Exponent of weight on central volume (unitless)")\n\n    etalvc ~ 0.192\n    etalke ~ 0.285\n    etalka ~ 0.474\n    etalvm ~ 0.236\n    etamtt ~ 0.525 # etamtt is assumed to be on log-scale MTT to prevent negative values; this is a difference relative to Supplementary Table 2\n\n    CcpropSd <- 0.15; label("Proportional residual error (fraction)")\n    CcaddSd <- fixed(0.03); label("Additive residual error (mg/L)")\n  })\n  model({\n    # Weight normalization to 75 kg is assumed based on prior publication.  It\n    # is not specified in the current publication:\n    # Kovalenko P, DiCioccio AT, Davis JD, et al. Exploratory Population PK\n    # Analysis of Dupilumab, a Fully Human Monoclonal Antibody Against\n    # IL-4Ralpha, in Atopic Dermatitis Patients and Normal Volunteers. CPT\n    # Pharmacometrics Syst Pharmacol. 2016;5(11):617-624. doi:10.1002/psp4.12136\n    vc <- exp(lvc + etalvc)*(WT/75)^e_wt_vc\n    ke <- exp(lke + etalke)\n    kcp <- exp(lkcp)\n    ka <- exp(lka + etalka)\n    MTT <- exp(lMTT + etamtt)\n    Vm <- exp(lVm + etalvm)\n\n    # Derived parameters\n    kpc <- kcp/Mpc\n    ktr <- (3 + 1)/MTT\n\n    d/dt(depot) <- -ktr*depot\n    d/dt(transit1) <- ktr*(depot - transit1)\n    d/dt(transit2) <- ktr*(transit1 - transit2)\n    d/dt(transit3) <- ktr*transit2 - ka*transit3\n    # Linear and Michaelis-Menten clearance\n    d/dt(central) <-                 ka*transit3 - ke*central - kcp*central + kpc*periph - central*(Vm/(Km + central/vc))\n    d/dt(periph) <-                                             kcp*central - kpc*periph\n\n    f(depot) <- exp(lfdepot)\n    # No unit conversion is required to change mg/L (dosing amount/central\n    # volume unit) to mg/L (measurement unit)\n    Cc <- central/vc\n    Cc ~ add(CcaddSd) + prop(CcpropSd)\n  })\n}
#> 42                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Soehoel_2022_tralokinumab <- function() {\n  description <- "Tralokinumab PK model (Soehoel 2022)"\n  reference <- "Soehoel A, Larsen MS, Timmermann S. Population Pharmacokinetics of Tralokinumab in Adult Subjects With Moderate to Severe Atopic Dermatitis. Clinical Pharmacology in Drug Development. 2022;11(8):910-921. doi:10.1002/cpdd.1113"\n  units<-list(time="day",dosing="mg") \n  # From Table 2 footnotes\n  covariateData <-\n    list(\n      nonECZTRA = "1 = any study other than ECZTRA; 0 = ECZTRA study",\n      WT = "Body weight in kg",\n      dilution = "Was the drug diluted as it was in study D2213C00001? 1 = yes, 0 = no (0 is typical)"\n    )\n  ini({\n    lka <- log(0.184); label("Absorption rate (1/day)")\n    lvc <- log(2.71); label("Central volume of distribution (L)")\n    lcl <- log(0.149); label("Clearance (L/day)")\n    lvp <- log(1.44); label("Peripheral volume of distribution (L)")\n    lq <- log(0.159); label("Intercompartmental clearance (L/day)")\n    lfdepot <- log(0.761); label("Subcutaneous bioavailability (fraction)")\n    CcaddSd <- 0.238; label("Additive residual error (ug/mL)")\n    CcpropSd <- 0.216; label("Proportional residual error (fraction)")\n\n    e_wt_vcvp <- 0.793; label("Effect of body weight on central and peripheral volumes (unitless)")\n    e_wt_clq <- 0.873; label("Effect of body weight on clearance and intercompartmental clearance (unitless)")\n    e_nonECZTRA_cl <- 0.344; label("Effect of non-ECZTRA trials on clearance (unitless)")\n    e_nonECZTRA_vc <- 0.258; label("Effect of non-ECZTRA trials on central volume (unitless)")\n    e_f_dilution <- 0.354; label("Effect of dilution on bioavailability (unitless)")\n    e_ka_dilution <- -0.519; label("Effect of dilution trials on absorption rate (unitless)")\n\n    etavc + etacl ~ c(0.386148, 0.2683494, 0.3057157)\n  })\n  model({\n    fdepot <- exp(lfdepot)*(1 + e_f_dilution*dilution)\n    ka <- exp(lka)*(1 + e_ka_dilution*dilution)\n    cl <- exp(lcl + etacl)*(WT/75)^e_wt_clq * (1 + e_nonECZTRA_cl*nonECZTRA)\n    vc <- exp(lvc + etavc)*(WT/75)^e_wt_vcvp * (1 + e_nonECZTRA_vc*nonECZTRA)\n    q <- exp(lq)*(WT/75)^e_wt_clq\n    vp <- exp(lvp)*(WT/75)^e_wt_vcvp\n\n    # No unit conversion is required to change mg/L (dosing amount/central\n    # volume unit) to ug/mL (measurement unit)\n    Cc <- linCmt()\n    f(depot) <- fdepot\n    Cc ~ add(CcaddSd) + prop(CcpropSd)\n  })\n}\n\n# etavc, etacl, and the covariance were calculated from the Table 2 footnotes\n# as:\n# etavc: sqrt(log(0.313^2 + 1)) = 0.386148\n# etacl: sqrt(log(0.401^2 + 1)) = 0.3057157\n# cov(etavc, etacl): sqrt(0.61*0.386148*0.3057157)
#> 43 Zhu_2017_lebrikizumab <- function() {\n  description <- "Lebrikizumab PK model (Zhu 2017)"\n  reference <- "Zhu R, Zheng Y, Dirks NL, et al. Model-based clinical pharmacology profiling and exposure-response relationships of the efficacy and biomarker of lebrikizumab in patients with moderate-to-severe asthma. Pulmonary Pharmacology & Therapeutics. 2017;46:88-98. doi:10.1016/j.pupt.2017.08.010"\n  units <- list(time="day", dosing="mg")\n  covariateData <-\n    list(\n      WT = "Baseline body weight in kg",\n      AGE = "Age in years",\n      SEXF = "1 for female, 0 for male",\n      FORM_NS0 = "Is the formulation NS0? 1 for yes, 0 for no (typically no)",\n      FORM_CHO_PHASE2 = "Is the formulation CHO from Phase 2? 1 for yes, 0 for no (typically no)",\n      ADA = "Is the subject ADA positive ever? 1 for yes, 0 for no",\n      RACE_BLACK = "Is the race of the subject black or African American? 1 for yes, 0 for no",\n      RACE_ASIAN = "Is the race of the subject Asian? 1 for yes, 0 for no",\n      RACE_OTHER = "Is the race of the subject 'other'? 1 for yes, 0 for no"\n    )\n  ini({\n    lcl <- log(0.156); label("Clearance (L/day)")\n    lvc <- log(4.10); label("Central volume of distribution (L)")\n    lvp <- log(1.45); label("Peripheral volume of distribution (L)")\n    lq <- log(0.284); label("Intercompartmental clearance (L/day)")\n    lka <- log(0.239); label("Absorption rate (1/day)")\n    lfdepot <- log(0.856); label("Subcutaneous bioavailability (fraction)")\n\n    e_cl_wt <- 1.00; label("Effect of body weight on clearance (unitless)")\n    e_vc_wt <- 0.814; label("Effect of body weight on central volume (unitless)")\n    e_vp_wt <- 0.692; label("Effect of body weight on peripheral volume (unitless)")\n    e_q_wt <- 0.479; label("Effect of body weight on intercompartmentl clearance (unitless)")\n    e_cl_age <- 0.0241; label("Effect of age on clearance (unitless)")\n    e_cl_sexf <- 1.06; label("Effect of sex on clearance (unitless)")\n    e_cl_race_black <- 1.07; label("Effect of race (black or African American) on clearance (unitless)")\n    e_cl_race_asian <- 1.09; label("Effect of race (Asian) on clearance (unitless)")\n    e_cl_race_other <- 1.11; label("Effect of race (other) on clearance (unitless)")\n    e_ka_form_nso <- 0.981; label("Effect of NSO formulation on absorption rate (unitless)")\n    e_ka_form_cho_phase2 <- 0.989; label("Effect of CHO formulation used during Phase 2 on absorption rate (unitless)")\n    e_f_form_nso <- 1.00; label("Effect of NSO formulation on bioavailability (unitless)")\n    e_f_form_cho_phase2 <- 0.973; label("Effect of CHO formulation used during Phase 2 on bioavailability (unitless)")\n    e_cl_ada_positive<- 1.04; label("Effect of anti-drug antibody (ADA) positivity on clearance (unitless)")\n\n    # converted from covariance matrix reported in Table 3\n    etacl + etavc + etaka ~\n      c(\n        0.32403703,\n        0.28844410, 0.35213634,\n        0.04505552, 0.06625708, 0.39242834\n      )\n\n    CcpropSd <- 0.0490; label("Proportional residual error (fraction)")\n    CcaddSd <- 0.00154; label("Additive residual error (ug/mL)")\n  })\n  model({\n    # Normalized continuous covariate values based on footnote to Table 3\n    WTNORM <- WT/70\n    AGENORM <- AGE/40\n\n    cl <-\n      exp(lcl + etacl) *\n      WTNORM^e_cl_wt * AGENORM^e_cl_age * e_cl_sexf^SEXF *\n      e_cl_race_black^RACE_BLACK * e_cl_race_asian^RACE_ASIAN * e_cl_race_other^RACE_OTHER *\n      e_cl_ada_positive^ADA\n    vc <- exp(lvc + etavc) * WTNORM^e_vc_wt\n    vp <- exp(lvp) * WTNORM^e_vp_wt\n    q <- exp(lq) * WTNORM^e_q_wt\n    ka <- exp(lka + etaka) * e_ka_form_nso^FORM_NSO * e_ka_form_cho_phase2^FORM_CHO_PHASE2\n    fdepot <- exp(lfdepot) * e_f_form_nso^FORM_NSO * e_f_form_cho_phase2^FORM_CHO_PHASE2\n    Cc <- linCmt()\n    f(depot) <- fdepot\n    Cc ~ add(CcaddSd) + prop(CcpropSd)\n  })\n}
#> 44                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    oncology_sdm_lobo_2002 <- function() {\n  description <- "Signal transduction model for delayed concentration effects on cancer cell growth"\n  reference <- "Lobo ED, Balthasar JP. Pharmacodynamic modeling of chemotherapeutic effects: Application of a transit compartment model to characterize methotrexate effects in vitro. AAPS J. 2002;4(4):212-222. doi:10.1208/ps040442"\n  depends<-"Cc"\n  units<-list(time="hr")\n  # Values for lkng, ltau, lec50, and kmax are for methotrexate from Lobo 2002,\n  # Table 2.  propErr and addErr are added as reasonable values though not from\n  # Lobo 2002 where no value is apparent in the paper.\n  ini({\n    lkng <- log(0.02) ; label("Cell net growth rate (growth minus death) (1/hr)")\n    ltau <- log(34.1) ; label("Mean transit time of each transit compartment (hr)")\n    lec50 <- log(0.1) ; label("Drug concentration reducing the cell growth by 50% (ug/mL)")\n    kmax <- 0.29 ; label("Maximum drug-related reduction in cell growth (1/hr)")\n\n    tumorVolpropSd <- c(0, 0.3) ; label("Proportional residual error (fraction)")\n    tumorVoladdSd <- c(0, 50, 1000) ; label("Additive residual error (tumor volume units)")\n  })\n  model({\n    # Cc is the drug concentration\n    kng <- exp(lkng)\n    tau <- exp(ltau)\n    ec50 <- exp(lec50)\n\n    drugEffectTumorVol <- kmax*Cc/(ec50 + Cc)\n\n    tumorVol(0) <- tumorVol0\n    d/dt(tumorVol) <- kng*tumorVol - transit4*tumorVol\n    d/dt(transit1) <- (drugEffectTumorVol - transit1)/tau\n    d/dt(transit2) <- (transit1 - transit2)/tau\n    d/dt(transit3) <- (transit2 - transit3)/tau\n    d/dt(transit4) <- (transit3 - transit4)/tau\n    tumorVol ~ prop(tumorVolpropSd) + add(tumorVoladdSd)\n  })\n}
#> 45                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       oncology_xenograft_simeoni_2004 <- function() {\n  description <- "Oncology tumor growth model in xenograft models"\n  reference <- "Monica Simeoni, Paolo Magni, Cristiano Cammia, Giuseppe De Nicolao, Valter Croci, Enrico Pesenti, Massimiliano Germani, Italo Poggesi, Maurizio Rocchetti; Predictive Pharmacokinetic-Pharmacodynamic Modeling of Tumor Growth Kinetics in Xenograft Models after Administration of Anticancer Agents. Cancer Res 1 February 2004; 64 (3): 1094–1101. https://doi.org/10.1158/0008-5472.CAN-03-2524"\n  depends<- "Cc"\n  units<-list(time="day")\n  # Values for damageTransit (k1), drugSlope (k2), tumorExpGrowth (lambda0),\n  # tumorLinGrowth (lambda1) are from paclitaxel experiment 1 reported in Table\n  # 2 from the reference (limits are not from the reference). The values from\n  # Table 2 will be estimated on the log scale to ensure positive values.\n  # Residual errors are not in the original reference.\n  ini({\n    ldamageTransit <- log(c(0.1, 0.968, 10)) ; label("Transit rate through damage (1/day)")\n    ldrugSlope <- log(c(0.00001, 0.000629, 0.1)) ; label("Linear drug effect on cycling cells (1/(day*ng/mL))")\n    ltumorExpGrowth <- log(c(0.001, 0.273, 2)) ; label("Tumor exponential growth rate (1/day)")\n    ltumorLinGrowth <- log(c(0.01, 0.814, 5)) ; label("Tumor linear growth rate (tumor volume/day)")\n    tumorVolpropSd <- 0.2 ; label("Proportional residual error (fraction)")\n    tumorVoladdSd <- 30 ; label("Additive residual error (tumor volume)")\n  })\n  model({\n    damageTransit <- exp(ldamageTransit)\n    drugSlope <- exp(ldrugSlope)\n    tumorExpGrowth <- exp(ltumorExpGrowth)\n    tumorLinGrowth <- exp(ltumorLinGrowth)\n\n    # tumorVol0 is provided in the data as the initial volume of the tumor.  It\n    # can also be estimated.\n    cyclingCells(0) <- tumorVol0\n    psi <- 20 # psi is defined in the paper to cause a rapid switch between exponential and linear regimes\n    tumorVol <- cyclingCells + damagedCells1 + damagedCells2 + damagedCells3\n    # Cc is provided in the data (or in an appended model) as the drug\n    # concentration.  Units for Cc will be apply to k2.\n    drugEffectCyclingCells <- drugSlope*Cc\n    d/dt(cyclingCells) <- tumorExpGrowth*cyclingCells/(1 + (tumorExpGrowth/tumorLinGrowth * tumorVol)^psi)^(1/psi) - drugEffectCyclingCells*cyclingCells\n    d/dt(damagedCells1) <- drugEffectCyclingCells*cyclingCells - damageTransit*damagedCells1\n    d/dt(damagedCells2) <- damageTransit*(damagedCells1 - damagedCells2)\n    d/dt(damagedCells3) <- damageTransit*(damagedCells2 - damagedCells3)\n    tumorVol ~ prop(tumorVolpropSd) + add(tumorVoladdSd)\n  })\n}\n\nattr(oncology_xenograft_simeoni_2004, "message") <- "You can modify the number of damaged cell compartments in the model using the function updateOncologyXenograftSimeoni2004(model, ncmt)"\noncology_xenograft_simeoni_2004
#> 46                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   tgi_no_sat_Koch <- function() {\n  description <- "One compartment TGI model with with exponential tumor growth, without saturation."\n  ini({\n    lts0 <- 0.8; label("Initial tumor size (TS0)")\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    lkgl <- 0.7; label("Zero-order linear growth rate")\n    lkge <- 0.7; label("First-order exponential growth rate")\n    CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)")\n    tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)")\n    tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)")\n  })\n  model({\n    ts0 <- exp(lts0)\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n    kge <- exp(lkge)\n    kgl <- exp(lkgl)\n    \n    kel <- cl / vc\n    tumorSize(0) <- ts0\n    \n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n    d/dt(tumorSize) <- (2*kge*kgl*tumorSize)/(kgl+2*kge*tumorSize)\n    \n    Cc <- central / vc\n    Cc ~ prop(CcpropSd)\n    tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd)\n  })\n}
#> 47                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               tgi_no_sat_expo <- function() {\n  description <- "One compartment TGI model with with exponential tumor growth, without saturation."\n  ini({\n    lts0 <- 0.8; label("Initial tumor size (TS0)") \n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    lkge <- 0.7; label("FIrst-order exponential growth rate")\n    CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)")\n    tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)")\n    tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)")\n  })\n  model({\n    ts0 <- exp(lts0)\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n    kge <- exp(lkge)\n    \n    kel <- cl / vc\n    tumorSize(0) <- ts0\n    \n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n    d/dt(tumorSize) <- kge*tumorSize\n    \n    Cc <- central / vc\n    Cc ~ prop(CcpropSd)\n    tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd)\n  })\n}
#> 48                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  tgi_no_sat_linear <- function() {\n  description <- "One compartment TGI model with with linear tumor growth, without saturation."\n  ini({\n    lts0 <- 0.8; label("Initial tumor size (TS0)") \n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    lkgl <- 0.7; label("Zero-order linear growth rate")\n    CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)")\n    tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)")\n    tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)")\n  })\n  model({\n    ts0 <- exp(lts0)\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n    kgl <- exp(lkgl)\n    \n    kel <- cl / vc\n    tumorSize(0) <- ts0\n    \n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n    d/dt(tumorSize) <- kgl\n    \n    Cc <- central / vc\n    Cc ~ prop(CcpropSd)\n    tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd)\n  })\n}
#> 49                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             tgi_no_sat_powerLaw <- function() {\n  description <- "One compartment TGI model with with exponential tumor growth, without saturation."\n  ini({\n    lts0 <- 0.8; label("Initial tumor size (TS0)")\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    lgamma <- 0.95; label("proliferative cells as a fraction of the full tumor volume (gamma)")\n    lkgl <- 0.7; label("Zero-order linear growth rate")\n    lkge <- 0.7; label("First-order exponential growth rate")\n    CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)")\n    tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)")\n    tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)")\n  })\n  model({\n    ts0 <- exp(lts0)\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n    gamma<- exp(lgamma)\n    kge <- exp(lkge)\n    kgl <- exp(lkgl)\n    \n    kel <- cl / vc\n    tumorSize(0) <- ts0\n    \n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n    d/dt(tumorSize) <- kge*tumorSize^gamma\n    \n    Cc <- central / vc\n    Cc ~ prop(CcpropSd)\n    tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd)\n  })\n}
#> 50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            tgi_sat_VonBertalanffy <- function() {\n  description <- "One compartment TGI model where tumor growth is limited by a loss term, with saturation."\n  ini({\n    lts0 <- 0.3; label("Initial tumor size (TS0)") \n    ltsmax <- 0.9; label("Maximum tumor size at saturation (TSmax)")\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    lkg <- 0.7; label("Birth rate")\n    lkd <- 0.7; label ("Death rate")\n    CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)")\n    tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)")\n    tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)")\n  })\n  model({\n    ts0 <- exp(lts0)\n    tsmax <- exp(ltsmax)\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n    kg <- exp(lkg)\n    kd <-exp(lkd)\n    \n    kel <- cl / vc\n    tumorSize(0) <- ts0\n    \n    \n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n    d/dt(tumorSize) <- kg*tumorSize^(2/3)-kd*tumorSize\n    \n    Cc <- central / vc\n    Cc ~ prop(CcpropSd)\n    tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd)\n  })\n}
#> 51                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            tgi_sat_genVonBertalanffy <- function() {\n  description <- "One compartment TGI model where tumor growth is limited by a loss term, with saturation."\n  ini({\n    lts0 <- 0.3; label("Initial tumor size (TS0)") \n    ltsmax <- 0.9; label("Maximum tumor size at saturation (TSmax)")\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    lkg <- 0.7; label("Birth rate")\n    lkd <- 0.7; label ("Death rate")\n    lgamma <- 0.95; label("proliferative cells as a fraction of the full tumor volume (gamma)")\n    CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)")\n    tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)")\n    tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)")\n  })\n  model({\n    ts0 <- exp(lts0)\n    tsmax <- exp(ltsmax)\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n    kg <- exp(lkg)\n    kd <-exp(lkd)\n    gamma <- exp(lgamma)\n    \n    kel <- cl / vc\n    tumorSize(0) <- ts0\n    \n    \n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n    d/dt(tumorSize) <- kg*tumorSize^(gamma)-kd*tumorSize\n    \n    Cc <- central / vc\n    Cc ~ prop(CcpropSd)\n    tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd)\n  })\n}
#> 52                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 tgi_sat_logistic <- function() {\n  description <- "One compartment TGI model with with exponential tumor growth that decelerates linearly, with saturation."\n  ini({\n    lts0 <- 0.3; label("Initial tumor size (TS0)") \n    ltsmax <- 0.9; label("Maximum tumor size at saturation (TSmax)")\n    lka <- 0.45 ; label("Absorption rate (Ka)")\n    lcl <- 1 ; label("Clearance (CL)")\n    lvc  <- 3.45 ; label("Central volume of distribution (V)")\n    lkgl <- 0.7; label("Zero-order linear growth rate")\n    CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)")\n    tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)")\n    tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)")\n  })\n  model({\n    ts0 <- exp(lts0)\n    tsmax <- exp(ltsmax)\n    ka <- exp(lka)\n    cl <- exp(lcl)\n    vc  <- exp(lvc)\n    kgl <- exp(lkgl)\n    \n    kel <- cl / vc\n    tumorSize(0) <- ts0\n    \n    \n    d/dt(depot) <- -ka*depot\n    d/dt(central) <- ka*depot-kel*central\n    d/dt(tumorSize) <- kge*tumorSize*(1-(tumorSize/tsmax))\n    \n    Cc <- central / vc\n    Cc ~ prop(CcpropSd)\n    tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd)\n  })\n}
#>                                                                                                                                         Description
#> 1                                                                                                    One compartment PK model with linear clearance
#> 2                                                                       One compartment PK model with linear clearance using differential equations
#> 3                                                                                                    Two compartment PK model with linear clearance
#> 4                                                                       Two compartment PK model with linear clearance using differential equations
#> 5                                                                       Two compartment PK model with linear clearance using differential equations
#> 6                          Two compartment PK model with time-dependent clearance using differential equations (structured like nivolumab PK model)
#> 7                                                                                                  Three compartment PK model with linear clearance
#> 8                                                                     Three compartment PK model with linear clearance using differential equations
#> 9                                                       Phenylalanine model for absorption and metabolism in healthy subjects and patients with PKU
#> 10                                                            Two compartment PK model with Michealis-Menten clearance using differential equations
#> 11                                                                                  One compartment indirect response model with inhibition of kin.
#> 12                                                                                  One compartment indirect response model with inhibition of kin.
#> 13                                                                                  One compartment indirect response model with inhibition of kin.
#> 14                                                                                 One compartment indirect response model with inhibition of kout.
#> 15                                                                                 One compartment indirect response model with inhibition of kout.
#> 16                                                                                 One compartment indirect response model with inhibition of kout.
#> 17                                               One compartment indirect response model with stimulation of kin.Parameterized using rate cosntants
#> 18                                                                                 One compartment indirect response model with stimulation of kin.
#> 19                                                                                 One compartment indirect response model with stimulation of kin.
#> 20                                              One compartment indirect response model with stimulation of kout.Parameterized using rate cosntants
#> 21                                                                                One compartment indirect response model with stimulation of kout.
#> 22                                                                                One compartment indirect response model with stimulation of kout.
#> 23                                                              One compartment indirect response model with inhibition of kin and circadian kin_t.
#> 24                                                              One compartment indirect response model with inhibition of kin and circadian kin_t.
#> 25                                                             One compartment indirect response model with inhibition of kout and circadian kin_t.
#> 26                                                             One compartment indirect response model with inhibition of kout and circadian kin_t.
#> 27                           One compartment indirect response model with stimulation of kin and circadian kin_t.Parameterized using rate cosntants
#> 28                          One compartment indirect response model with stimulation of kin and circadian kout_t.Parameterized using rate constants
#> 29                          One compartment indirect response model with stimulation of kout and circadian kin_t.Parameterized using rate cosntants
#> 30                         One compartment indirect response model with stimulation of kout and circadian kout_t.Parameterized using rate cosntants
#> 31 One compartment precursor-dependent indirect response model with inhibition of drug response. Parameterized with clearance and volume. (effect).
#> 32                                           One compartment precursor-dependent indirect response model with inhibition of drug response (effect).
#> 33   One compartment precursor-dependent indirect response model with inhibition of drug response (effect). Parameterized with clearance and volume
#> 34   One compartment precursor-dependent indirect response model with inhibition of drug response (effect). Parameterized with clearance and volume
#> 35                                                    Two compartment PK model with linear clearance for average monoclonal antibodies (Davda 2014)
#> 36                                                              PK double absorption model with simultaneous zero order and first order absorptions
#> 37                                                              PK double absorption model with simultaneous first order and zero order absorptions
#> 38                                                                             PK double absorption model with simultaneous first order absorptions
#> 39                                                                                        Liraglutide PK model in adolescents (Carlsson Petri 2021)
#> 40                                                                                           Exenatide immediate-release PK model (Cirincione 2017)
#> 41                                                                                                              Dupilumab PK model (Kovalenko 2020)
#> 42                                                                                                             Tralokinumab PK model (Soehoel 2022)
#> 43                                                                                                                 Lebrikizumab PK model (Zhu 2017)
#> 44                                                                Signal transduction model for delayed concentration effects on cancer cell growth
#> 45                                                                                                  Oncology tumor growth model in xenograft models
#> 46                                                                One compartment TGI model with with exponential tumor growth, without saturation.
#> 47                                                                One compartment TGI model with with exponential tumor growth, without saturation.
#> 48                                                                     One compartment TGI model with with linear tumor growth, without saturation.
#> 49                                                                One compartment TGI model with with exponential tumor growth, without saturation.
#> 50                                                         One compartment TGI model where tumor growth is limited by a loss term, with saturation.
#> 51                                                         One compartment TGI model where tumor growth is limited by a loss term, with saturation.
#> 52                                         One compartment TGI model with with exponential tumor growth that decelerates linearly, with saturation.
#> 
#> $MB$model_catalog$select_group
#> $MB$model_catalog$select_group$`Model Library`
#> $MB$model_catalog$select_group$`Model Library`$PK_1cmt_des
#> [1] "mod_2"
#> 
#> $MB$model_catalog$select_group$`Model Library`$PK_2cmt_des
#> [1] "mod_4"
#> 
#> $MB$model_catalog$select_group$`Model Library`$PK_2cmt_no_depot
#> [1] "mod_5"
#> 
#> $MB$model_catalog$select_group$`Model Library`$PK_2cmt_tdcl_des
#> [1] "mod_6"
#> 
#> $MB$model_catalog$select_group$`Model Library`$PK_3cmt_des
#> [1] "mod_8"
#> 
#> $MB$model_catalog$select_group$`Model Library`$phenylalanine_charbonneau_2021
#> [1] "mod_9"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_0cpt_transitEx
#> [1] "mod_10"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_inhi_kin
#> [1] "mod_11"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_inhi_kin_CLV
#> [1] "mod_12"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_inhi_kin_r0rmaxcrmax
#> [1] "mod_13"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_inhi_kout
#> [1] "mod_14"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_inhi_kout_CLV
#> [1] "mod_15"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_inhi_kout_r0rmaxcrmax
#> [1] "mod_16"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_stim_kin
#> [1] "mod_17"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_stim_kin_CLV
#> [1] "mod_18"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_stim_kin_r0rmaxcrmax
#> [1] "mod_19"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_stim_kout
#> [1] "mod_20"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_stim_kout_CLV
#> [1] "mod_21"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_1cpt_stim_kout_r0rmaxcrmax
#> [1] "mod_22"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_inhi_kin_kin_t
#> [1] "mod_23"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_inhi_kin_kout_t
#> [1] "mod_24"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_inhi_kout_kin_t
#> [1] "mod_25"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_inhi_kout_kout_t
#> [1] "mod_26"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_stim_kin_kin_t
#> [1] "mod_27"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_stim_kin_kout_t
#> [1] "mod_28"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_stim_kout_kin_t
#> [1] "mod_29"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_circ_1cpt_stim_kout_kout_t
#> [1] "mod_30"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_prec_1cpt_inhi_CLV
#> [1] "mod_31"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_prec_1cpt_inhi_r0rmaxcrmax
#> [1] "mod_32"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_prec_1cpt_stim_CLV
#> [1] "mod_33"
#> 
#> $MB$model_catalog$select_group$`Model Library`$indirect_prec_1cpt_stim_r0rmaxcrmax
#> [1] "mod_34"
#> 
#> $MB$model_catalog$select_group$`Model Library`$PK_double_sim_01
#> [1] "mod_36"
#> 
#> $MB$model_catalog$select_group$`Model Library`$PK_double_sim_10
#> [1] "mod_37"
#> 
#> $MB$model_catalog$select_group$`Model Library`$PK_double_sim_11
#> [1] "mod_38"
#> 
#> $MB$model_catalog$select_group$`Model Library`$Cirincione_2017_exenatide
#> [1] "mod_40"
#> 
#> $MB$model_catalog$select_group$`Model Library`$Kovalenko_2020_dupilumab
#> [1] "mod_41"
#> 
#> $MB$model_catalog$select_group$`Model Library`$tgi_no_sat_Koch
#> [1] "mod_46"
#> 
#> $MB$model_catalog$select_group$`Model Library`$tgi_no_sat_expo
#> [1] "mod_47"
#> 
#> $MB$model_catalog$select_group$`Model Library`$tgi_no_sat_linear
#> [1] "mod_48"
#> 
#> $MB$model_catalog$select_group$`Model Library`$tgi_no_sat_powerLaw
#> [1] "mod_49"
#> 
#> $MB$model_catalog$select_group$`Model Library`$tgi_sat_VonBertalanffy
#> [1] "mod_50"
#> 
#> $MB$model_catalog$select_group$`Model Library`$tgi_sat_genVonBertalanffy
#> [1] "mod_51"
#> 
#> $MB$model_catalog$select_group$`Model Library`$tgi_sat_logistic
#> [1] "mod_52"
#> 
#> 
#> 
#> $MB$model_catalog$select_plain
#> $MB$model_catalog$select_plain$PK_1cmt_des
#> [1] "mod_2"
#> 
#> $MB$model_catalog$select_plain$PK_2cmt_des
#> [1] "mod_4"
#> 
#> $MB$model_catalog$select_plain$PK_2cmt_no_depot
#> [1] "mod_5"
#> 
#> $MB$model_catalog$select_plain$PK_2cmt_tdcl_des
#> [1] "mod_6"
#> 
#> $MB$model_catalog$select_plain$PK_3cmt_des
#> [1] "mod_8"
#> 
#> $MB$model_catalog$select_plain$phenylalanine_charbonneau_2021
#> [1] "mod_9"
#> 
#> $MB$model_catalog$select_plain$indirect_0cpt_transitEx
#> [1] "mod_10"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_inhi_kin
#> [1] "mod_11"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_inhi_kin_CLV
#> [1] "mod_12"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_inhi_kin_r0rmaxcrmax
#> [1] "mod_13"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_inhi_kout
#> [1] "mod_14"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_inhi_kout_CLV
#> [1] "mod_15"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_inhi_kout_r0rmaxcrmax
#> [1] "mod_16"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_stim_kin
#> [1] "mod_17"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_stim_kin_CLV
#> [1] "mod_18"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_stim_kin_r0rmaxcrmax
#> [1] "mod_19"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_stim_kout
#> [1] "mod_20"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_stim_kout_CLV
#> [1] "mod_21"
#> 
#> $MB$model_catalog$select_plain$indirect_1cpt_stim_kout_r0rmaxcrmax
#> [1] "mod_22"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_inhi_kin_kin_t
#> [1] "mod_23"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_inhi_kin_kout_t
#> [1] "mod_24"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_inhi_kout_kin_t
#> [1] "mod_25"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_inhi_kout_kout_t
#> [1] "mod_26"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_stim_kin_kin_t
#> [1] "mod_27"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_stim_kin_kout_t
#> [1] "mod_28"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_stim_kout_kin_t
#> [1] "mod_29"
#> 
#> $MB$model_catalog$select_plain$indirect_circ_1cpt_stim_kout_kout_t
#> [1] "mod_30"
#> 
#> $MB$model_catalog$select_plain$indirect_prec_1cpt_inhi_CLV
#> [1] "mod_31"
#> 
#> $MB$model_catalog$select_plain$indirect_prec_1cpt_inhi_r0rmaxcrmax
#> [1] "mod_32"
#> 
#> $MB$model_catalog$select_plain$indirect_prec_1cpt_stim_CLV
#> [1] "mod_33"
#> 
#> $MB$model_catalog$select_plain$indirect_prec_1cpt_stim_r0rmaxcrmax
#> [1] "mod_34"
#> 
#> $MB$model_catalog$select_plain$PK_double_sim_01
#> [1] "mod_36"
#> 
#> $MB$model_catalog$select_plain$PK_double_sim_10
#> [1] "mod_37"
#> 
#> $MB$model_catalog$select_plain$PK_double_sim_11
#> [1] "mod_38"
#> 
#> $MB$model_catalog$select_plain$Cirincione_2017_exenatide
#> [1] "mod_40"
#> 
#> $MB$model_catalog$select_plain$Kovalenko_2020_dupilumab
#> [1] "mod_41"
#> 
#> $MB$model_catalog$select_plain$tgi_no_sat_Koch
#> [1] "mod_46"
#> 
#> $MB$model_catalog$select_plain$tgi_no_sat_expo
#> [1] "mod_47"
#> 
#> $MB$model_catalog$select_plain$tgi_no_sat_linear
#> [1] "mod_48"
#> 
#> $MB$model_catalog$select_plain$tgi_no_sat_powerLaw
#> [1] "mod_49"
#> 
#> $MB$model_catalog$select_plain$tgi_sat_VonBertalanffy
#> [1] "mod_50"
#> 
#> $MB$model_catalog$select_plain$tgi_sat_genVonBertalanffy
#> [1] "mod_51"
#> 
#> $MB$model_catalog$select_plain$tgi_sat_logistic
#> [1] "mod_52"
#> 
#> 
#> $MB$model_catalog$select_subtext
#>  [1] "One compartment PK model with linear clearance using differential equations"                                                                     
#>  [2] "Two compartment PK model with linear clearance using differential equations"                                                                     
#>  [3] "Two compartment PK model with linear clearance using differential equations"                                                                     
#>  [4] "Two compartment PK model with time-dependent clearance using differential equations (structured like nivolumab PK model)"                        
#>  [5] "Three compartment PK model with linear clearance using differential equations"                                                                   
#>  [6] "Phenylalanine model for absorption and metabolism in healthy subjects and patients with PKU"                                                     
#>  [7] "Two compartment PK model with Michealis-Menten clearance using differential equations"                                                           
#>  [8] "One compartment indirect response model with inhibition of kin."                                                                                 
#>  [9] "One compartment indirect response model with inhibition of kin."                                                                                 
#> [10] "One compartment indirect response model with inhibition of kin."                                                                                 
#> [11] "One compartment indirect response model with inhibition of kout."                                                                                
#> [12] "One compartment indirect response model with inhibition of kout."                                                                                
#> [13] "One compartment indirect response model with inhibition of kout."                                                                                
#> [14] "One compartment indirect response model with stimulation of kin.Parameterized using rate cosntants"                                              
#> [15] "One compartment indirect response model with stimulation of kin."                                                                                
#> [16] "One compartment indirect response model with stimulation of kin."                                                                                
#> [17] "One compartment indirect response model with stimulation of kout.Parameterized using rate cosntants"                                             
#> [18] "One compartment indirect response model with stimulation of kout."                                                                               
#> [19] "One compartment indirect response model with stimulation of kout."                                                                               
#> [20] "One compartment indirect response model with inhibition of kin and circadian kin_t."                                                             
#> [21] "One compartment indirect response model with inhibition of kin and circadian kin_t."                                                             
#> [22] "One compartment indirect response model with inhibition of kout and circadian kin_t."                                                            
#> [23] "One compartment indirect response model with inhibition of kout and circadian kin_t."                                                            
#> [24] "One compartment indirect response model with stimulation of kin and circadian kin_t.Parameterized using rate cosntants"                          
#> [25] "One compartment indirect response model with stimulation of kin and circadian kout_t.Parameterized using rate constants"                         
#> [26] "One compartment indirect response model with stimulation of kout and circadian kin_t.Parameterized using rate cosntants"                         
#> [27] "One compartment indirect response model with stimulation of kout and circadian kout_t.Parameterized using rate cosntants"                        
#> [28] "One compartment precursor-dependent indirect response model with inhibition of drug response. Parameterized with clearance and volume. (effect)."
#> [29] "One compartment precursor-dependent indirect response model with inhibition of drug response (effect)."                                          
#> [30] "One compartment precursor-dependent indirect response model with inhibition of drug response (effect). Parameterized with clearance and volume"  
#> [31] "One compartment precursor-dependent indirect response model with inhibition of drug response (effect). Parameterized with clearance and volume"  
#> [32] "PK double absorption model with simultaneous zero order and first order absorptions"                                                             
#> [33] "PK double absorption model with simultaneous first order and zero order absorptions"                                                             
#> [34] "PK double absorption model with simultaneous first order absorptions"                                                                            
#> [35] "Exenatide immediate-release PK model (Cirincione 2017)"                                                                                          
#> [36] "Dupilumab PK model (Kovalenko 2020)"                                                                                                             
#> [37] "One compartment TGI model with with exponential tumor growth, without saturation."                                                               
#> [38] "One compartment TGI model with with exponential tumor growth, without saturation."                                                               
#> [39] "One compartment TGI model with with linear tumor growth, without saturation."                                                                    
#> [40] "One compartment TGI model with with exponential tumor growth, without saturation."                                                               
#> [41] "One compartment TGI model where tumor growth is limited by a loss term, with saturation."                                                        
#> [42] "One compartment TGI model where tumor growth is limited by a loss term, with saturation."                                                        
#> [43] "One compartment TGI model with with exponential tumor growth that decelerates linearly, with saturation."                                        
#> 
#> $MB$model_catalog$msgs
#> NULL
#> 
#> $MB$model_catalog$hasmdl
#> [1] TRUE
#> 
#> $MB$model_catalog$isgood
#> [1] TRUE
#> 
#> 
#> $MB$ts_details
#> $MB$ts_details$months
#> $MB$ts_details$months$verb
#> [1] "Months"
#> 
#> $MB$ts_details$months$conv
#> [1] 4.133598e-07
#> 
#> 
#> $MB$ts_details$weeks
#> $MB$ts_details$weeks$verb
#> [1] "Weeks"
#> 
#> $MB$ts_details$weeks$conv
#> [1] 1.653439e-06
#> 
#> 
#> $MB$ts_details$days
#> $MB$ts_details$days$verb
#> [1] "Days"
#> 
#> $MB$ts_details$days$conv
#> [1] 1.157407e-05
#> 
#> 
#> $MB$ts_details$hours
#> $MB$ts_details$hours$verb
#> [1] "Hours"
#> 
#> $MB$ts_details$hours$conv
#> [1] 0.0002777778
#> 
#> 
#> 
#> $MB$elements
#> $MB$elements$element_1
#> $MB$elements$element_1$isgood
#> [1] TRUE
#> 
#> $MB$elements$element_1$ui
#> $MB$elements$element_1$ui$ui_mb_model
#> [1] ""
#> 
#> $MB$elements$element_1$ui$time_scale
#> [1] "weeks"
#> 
#> $MB$elements$element_1$ui$element_name
#> [1] "Model 1"
#> 
#> $MB$elements$element_1$ui$catalog_selection
#> [1] "mod_1"
#> 
#> $MB$elements$element_1$ui$base_from
#> [1] "catalog"
#> 
#> 
#> $MB$elements$element_1$id
#> [1] "element_1"
#> 
#> $MB$elements$element_1$idx
#> [1] 1
#> 
#> $MB$elements$element_1$fcn_obj_name
#> [1] "MB_obj_1_fcn"
#> 
#> $MB$elements$element_1$rx_obj_name
#> [1] "MB_obj_1_rx"
#> 
#> $MB$elements$element_1$ts_obj_name
#> [1] "MB_obj_1_ts"
#> 
#> $MB$elements$element_1$msgs
#> NULL
#> 
#> $MB$elements$element_1$code_previous
#> [1] ""
#> 
#> $MB$elements$element_1$update_model_code
#> [1] FALSE
#> 
#> $MB$elements$element_1$components_table
#> data frame with 0 columns and 0 rows
#> 
#> $MB$elements$element_1$selected_component_id
#> NULL
#> 
#> $MB$elements$element_1$components_list
#> list()
#> 
#> $MB$elements$element_1$checksum
#> [1] "3c32b3786df13af7692ea80f98ffba18"
#> 
#> $MB$elements$element_1$base_model_name
#> [1] ""
#> 
#> $MB$elements$element_1$base_model
#> [1] ""
#> 
#> 
#> 
#> $MB$current_element
#> [1] "element_1"
#> 
#> $MB$checksum
#> [1] "24933f86b657b9503f22440e8c4d3cac"
#> 
#> 
#> $MOD_TYPE
#> [1] "MB"
#> 
#> $id
#> [1] "MB"
#> 
#> $FM_yaml_file
#> [1] "/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/formods/templates/formods.yaml"
#> 
#> $MOD_yaml_file
#> [1] "/private/var/folders/pq/7srbf_fx3rd3k706hgxkg61r0000gp/T/RtmpTSKJRX/temp_libpathe1e4781caad7/ruminate/templates/MB.yaml"
#> 
#> $shiny_token
#> [1] "non_shiny"
#>