Submits a model to be run by calling out to bbi
.
submit_model(
.mod,
.bbi_args = NULL,
.mode = getOption("bbr.bbi_exe_mode"),
...,
.overwrite = NULL,
.config_path = NULL,
.wait = TRUE,
.dry_run = FALSE
)
# S3 method for bbi_base_model
submit_model(
.mod,
.bbi_args = NULL,
.mode = getOption("bbr.bbi_exe_mode"),
...,
.overwrite = NULL,
.config_path = NULL,
.wait = TRUE,
.dry_run = FALSE
)
# S3 method for bbi_nmsim_model
submit_model(
.mod,
.bbi_args = NULL,
.mode = getOption("bbr.bbi_exe_mode"),
...,
.overwrite = NULL,
.config_path = NULL,
.wait = TRUE,
.dry_run = FALSE
)
# S3 method for bbi_nmboot_model
submit_model(
.mod,
.bbi_args = NULL,
.mode = "sge",
...,
.overwrite = FALSE,
.config_path = NULL,
.wait = FALSE,
.dry_run = FALSE,
.batch_size = 100
)
The model object to submit.
A named list specifying arguments to pass to bbi
formatted like list("nm_version" = "nm74gf_nmfe", "json" = T, "threads" = 4)
. Run print_bbi_args()
to see valid arguments. Note that bbr does
not support changing the output directory (including through the model or
global YAML files).
Either "sge"
, the default, to submit model(s) to the grid or
"local"
for local execution. This can be passed directly to this argument
or set globally with options("bbr.bbi_exe_mode")
.
args passed through to bbi_exec()
Logical to specify whether or not to overwrite existing
model output from a previous run. If NULL
, the default, will defer to
setting in .bbi_args
or bbi.yaml
. If not NULL
will override any
settings in .bbi_args
or bbi.yaml
. The exception to this are
bootstrap runs (bbi_nmboot_model
objects). For bootstrap runs, this
defaults to FALSE
and does not respect any setting passed via
.bbi_args
or a bbi.yaml
config file. To overwrite existing bootstrap
output, a user must pass TRUE
through this argument.
Path to a bbi configuration file. If NULL
, the
default, will attempt to use a bbi.yaml
in the same directory as the
model.
If TRUE
, the default, wait for the bbi process to return
before this function call returns. If FALSE
function will return while
bbi process runs in the background.
Returns an object detailing the command that would be run, insted of running it. This is primarily for testing but also a debugging tool.
Number of models to submit to run concurrently as a
"batch." Passing NULL
(or a number larger than the number of submitted
models) will bypass this and submit all models concurrently. This will
launch a background process to manage the batch submission. Details from
this process are logged in the OUTPUT
file in top-level bootstrap model
directory.
While submit_model()
does return something, it is primarily
called for its side effects, specifically that it runs the model and writes
all model outputs to disk under get_output_dir(.mod)
.
NONMEM
For NONMEM models, a bbi_process
object is returned. The typical NONMEM
output files are all written into get_output_dir(.mod)
. A summary of the
contents of these files can be accessed with model_summary()
, and the path
to individual files can be easily constructed like
build_path_from_model(.mod, ".lst")
.
A bbi_config.json
file is also written, which stores information about the
configuration of the run. See config_log()
for more details about this
file.
submit_model(bbi_base_model)
: Takes a bbi_base_model
object.
submit_model(bbi_nmsim_model)
: Takes a bbi_base_model
object.
submit_model(bbi_nmboot_model)
: Takes a bbi_nmboot_model
object.
NONMEM
model extensionsBefore executing the model, bbi
first copies the control stream file to a
subdirectory. Whether a relative path to the data file in the control stream
is adjusted for this change in directory depends on the control stream's file
extension:
For a model with a .mod
extension, bbi
automatically adjusts a
relative data path to make it relative to the execution directory,
following the behavior of PsN
.
For a model with a .ctl
extension, bbi
does not adjust the data
path. A relative data path in the control stream must be specified
one level deeper (i.e. with an additional ../
) to account for the
model being executed in a subdirectory.
Other NONMEM
model extensions:
get_data_path()
,
submit_models()