$TAB syntax in nm_table_files(). (#466)param_estimates_compare() for comparing the result of param_estimates_batch() to a single model (or, more generally, for comparing a set of parameter estimates). (#457)param_estimates_batch() now transforms the parameter names that come from bbi nonmem params ..., replacing _ with , to match the format that is used elsewhere and expected by downstream tools. (#457)use_bbi() no longer depends on external tools such as wget and tar, hopefully improving its reliability across different systems. (#448)use_bbi() printed the wrong current release when an older version was requested. (#144)
use_bbi() and bbi_version() crashed if the bbi executable path contained spaces. (#409)
model_summary() failed with an unclear error message when a caller accidentally placed more than one .lst file in the model directory. (#449)
bbi_help() had a longstanding regression that prevented it from emitting any output. (#447)
bbi nonmem summary used to fail with an out-of-bounds error when fed ONLYSIM output, but, as of bbi v3.1.1, it sets the “only_sim” field. print.bbi_nonmem_summary() and param_estimates.bbi_nonmem_summary() have been updated to check for the new field. (#443)
This release adds a number of helper functions, primarily for use with NONMEM models.
Added nm_file(), nm_grd(), nm_tab(), nm_par_tab(), and nm_data() for reading in NONMEM files more easily. (#426)
Added nm_join(), nm_tables(), and nm_table_files() for reading in NONMEM tables more easily. Notably, nm_join() can be used to get a single tibble containing your NONMEM input data joined against all of your table outputs. (#429 and #430)
param_estimates_batch() for extracting a tibble of parameter estimates from a batch of NONMEM runs. Especially useful for large batches of runs created by something like a bootstrap. (#386)
cov_cor() and check_cor_threshold() for pulling in covariance and correlation matrices from NONMEM .cov and .cor files. (#414)
Passing the .new_model argument to copy_model_from() is now optional. By default, it now tries to increment to the next available integer in the destination directory (the directory containing the parent model). (#424)
update_model_id() for updating mentions of the parent model in the child model’s control stream. (#417)
Per guidance in bbr 1.0.0 release, replace_tags(), replace_bbi_args(), replace_based_on(), add_decisions(), and replace_decisions() have been removed.
Deprecated check_nonmem_table_output(), check_grd(), and check_ext() and replaced them with nm_file() variants. These functions will warn about this for two more releases and then begin to error for two more releases before being removed altogether. (#426)
Deprecated plot_nonmem_table_df(), plot_grd(), and plot_ext() in an effort to more tightly define the scope of bbr. These functions will warn about this for two more releases and then begin to error for two more releases before being removed altogether. (#426)
collapse_to_string() (#393)Fixed a bug where submitting multiple models in a loop with submit_model(.mode = "local", .wait = FALSE) would cause the models to never finish because the bbi processes would get killed by processx when the R objects were garbage collected. (#390)
bbr now checks for a valid configuration file before calling out to bbi to avoid the situation where .wait = FALSE and the “no config file” error from bbi is swallowed. Note, this check is skipped if .dry_run = TRUE. (#390)
Added options(bbr.bbi_exe_mode) for globally setting .mode argument to submit_model() and submit_models(). (#377)
Added .bbi_args argument to bbi_init() for passing through defaults to be stored in the created bbi.yaml file. (#378)
submit_models() (e.g. for bootstrapping) would hang indefinitely. This had something to do with a bug in processx. It was fixed (in bbr) by routing the stdout and stderr to a temp file and then reading from it when necessary, instead of relying on processx to poll the process. (#374)Added tags_diff() function for comparing the tags between different models. (#337)
Added model_diff() function for comparing the model files between different models. (#342)
Added check_up_to_date() function for checking whether the model file(s) and data file(s) associated with a model have changed since the model was run. (#338)
Added more documentation about the heuristics returned from model_summary.bbi_nonmem_model() (#343)
param_estimates() now correctly errors when a Bayesian method is used but is not the final method. (#344)bbi_model parent class to bbi_nonmem_model and bbi_nonmem_summary objects. Many of the helpers in get-path-from-object.R now dispatch on this class. This had been discussed in the past but was primarily done now in preparation for beginning development for Stan modeling, which will create bbi_stan_model and bbi_stan_summary objects that will also inherit from this parent class. (#332)This release is fairly small in terms of changes, but it increments to a new major release version primarily because of the name change which happened in bbr 0.12.0. The most significant change, from a user perspective, is to the default behavior of where bbr looks for bbi on the system. This change is described in issue #321 and a bit more detail is given below.
The 1.0.0 release also represents a stable feature set of basic NONMEM-related functionality. While there will be more features and development relevant to NONMEM in the future, for the immediate future we are shifting our attention towards building similar functionality to support Stan modeling with bbr.
The minimum compatible version of bbi is increased to 3.0.2. This is because there was a breaking change in bbi 3.0.2 which changed all references to "Patients" in the bbi nonmem summary output to "Patients" (discussed further below). Also because there was a bug where bbi could not parse the summary output from NONMEM 7.5 and this bug was fixed in bbi 3.0.1.
options("bbr.bbi_exe_path"), which tells bbr where to look for a bbi installation, now defaults to "bbi". This means that, by default, bbr will look for a bbi installation in the user’s $PATH. options("bbr.bbi_exe_path") can still be set manually by the user and, in fact, we encourage users to set this to an absolute path in their .Rprofile for their project because this explicitly guarantees the correct bbi installation is being used. (#322)
The use_bbi() installer function first tries to install to whatever path is set in options("bbr.bbi_exe_path"), falling back to the bbi in my $PATH (accessed via Sys.which("bbi")) and then an OS-dependent default, in that order. See ?use_bbi() for more details. (#322)
Added print method for bbi_nonmem_model object. Similar to the bbi_nonmem_summary object, the bbi_nonmem_model object should print nicely in the console, and also look good in .Rmd chunks with the option results = 'asis'. (#307)
Added get_data_path() helper function to extract the absolute path to the input data file from bbi_nonmem_model and bbi_nonmem_summary objects. (#314)
Added build_path_from_model() helper function to extract the absolute path to various output files from bbi_nonmem_model and bbi_nonmem_summary objects. (#314)
The output from model_summary() (and model_summaries() and summary_log()) will now refer to individuals in the data set as "Subjects" instead of "Patients", in accordance with the terminology widely used in scientific and medical literature. (#320)
Per guidance in rbabylon 0.10.0 release, replace_tags(), replace_bbi_args(), replace_based_on(), add_decisions(), and replace_decisions() will now error instead of warn about their impending deprecation. These functions will be removed entirely in two more releases.
We are no longer checking in either the .Rprofile or anything in the renv folder. As a result, the development workflow has changed slightly. This change is reflected in the README. (#307 and #308)
Added an option to suppress the minimum bbi version constraint. This is intended only for developers who want to try out development (unreleased) version of bbi while developing on bbr. (#305)
Our Drone CI system now uses a .drone.yml instead of .drone.jsonette. We have also switched the containers that we use for testing in CI to smaller containers which are more specialized for the purpose. (#309)
This package has been renamed to from rbabylon to bbr and the accompanying command-line tool has been renamed from babylon to bbi (which was already its alias, used throughout the package). Any mentions of babylon and rbabylon throughout the package have been renamed accordingly. Mentions of either in the older parts of this NEWS.md document were left as is for historical purposes.