| Type: | Package |
| Title: | Convert Models Between 'rxode2' and 'mrgsolve' |
| Version: | 0.1.0 |
| Description: | Provides an intermediate representation and file-oriented helpers for converting pharmacometric model code between 'rxode2' and 'mrgsolve'. The conversion uses a package-specific intermediate representation described by Hammami F (2026) "rxode2-mrgsolve-bridge" https://gitlab.com/fiha1/rxode2-mrgsolve-bridge. |
| URL: | https://gitlab.com/fiha1/rxode2-mrgsolve-bridge |
| BugReports: | https://gitlab.com/fiha1/rxode2-mrgsolve-bridge/-/issues |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.2 |
| Imports: | stats |
| Suggests: | mrgsolve, rxode2, testthat (≥ 3.0.0), withr |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2026-05-13 07:30:36 UTC; fiha |
| Author: | Firas Hammami [aut, cre] |
| Maintainer: | Firas Hammami <fiha@genmab.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-05-18 18:40:07 UTC |
Convert models between rxode2 and mrgsolve
Description
Provides a shared intermediate representation and file-oriented helpers for converting model code between rxode2 and mrgsolve.
Usage
parse_rxode2_model(rx_mod, theta, model_name = NULL, description = NULL)
parse_mrgsolve_model(model_code, model_name = NULL, description = NULL)
parse_mrgsolve_file(path, model_name = NULL, description = NULL)
ir_to_mrgsolve(ir, tab = " ")
ir_to_rxode2(ir, model_name = NULL, include_observables_block = FALSE)
export_mrgsolve_model(ir, file, overwrite = TRUE)
export_rxode2_files(
ir,
out_dir = NULL,
model_name = NULL,
theta_name = "theta",
model_file = "model_rxode2.R",
theta_file = "theta.R",
overwrite = TRUE
)
convert_rxode2_to_mrgsolve(
rx_model,
theta_file,
theta_name = "theta",
output_file = NULL,
output_basename = NULL,
out_dir = NULL,
model_name = NULL,
overwrite = TRUE
)
convert_mrgsolve_to_rxode2(
mrgsolve_file,
output_basename = NULL,
out_dir = NULL,
rx_model_name = NULL,
theta_name = "theta",
model_file = NULL,
theta_file = NULL,
overwrite = TRUE
)
Arguments
rx_mod, rx_model |
An rxode2 model object, rxode2 model code string, or, for |
theta |
Named numeric vector of parameter values. |
theta_file |
R file containing a named numeric theta vector. |
theta_name |
Name of the theta vector object to read or write. |
model_code |
Character string containing mrgsolve model code. |
path, mrgsolve_file |
Path to an mrgsolve model file. |
ir |
Model intermediate representation list. |
file, output_file |
Output mrgsolve file path. |
out_dir |
Output directory. Must be supplied explicitly by writing helpers; use |
model_name, rx_model_name |
Model name for metadata, lookup, or generated rxode2 object names. |
model_file |
Output file name for the rxode2 model file. |
output_basename |
Basename used to derive default output file names. |
description |
Optional model description. |
tab |
Indentation used when rendering mrgsolve code. |
include_observables_block |
Whether to render an explicit rxode2 observables block. |
overwrite |
Whether existing output files may be overwritten. |
Details
Default wrapper output names are derived from the input basename:
<input>_mrgsolve.cpp for rxode2 to mrgsolve, and
<input>_rxode.R plus <input>_rxode_theta.R for mrgsolve to
rxode2. The wrappers only use these generated names after the caller supplies
an explicit output directory, or after the caller supplies a complete output
file path.
Value
Parsing functions return an intermediate representation list. Rendering functions return character code or code/theta lists. Export and conversion functions return output paths invisibly.