Skip to content

Releases: metrumresearchgroup/mrgsolve

mrgsolve 1.5.2

18 Oct 12:22
b298a46
Compare
Choose a tag to compare
  • Add $EVENT block for writing code related to dosing or other events that
    are implemented through model code rather than the data set (#1230).

  • Add evt::reset() and evt::reset(self) functions under the evtools
    plugin; these reset the compartments in a model; overloaded functions are
    also provided to reset and dose with bolus or infusion (#1222).

  • Completed dosing functionality in evtools plugin; use evt::addl() to
    schedule additional doses through an evt::ev object; use evt::ii() to
    set the dosing interval; use evt::ss() to advance the pharmacokinetic
    system to steady state just prior to dosing; evt::cmt() sets the compartment
    number; evt::amt() sets the dose amount; evt::rate() sets the infusion
    rate; see the user guide for the specific signatures that are available
    (#1227).

  • Add evtools model to modlib(), illustrating how to implement dosing
    regimens from inside the model a few different ways (#1230).

  • Added more comprehensive checking for duplicate blocks in a model file;
    duplicate blocks are always handled when allowed; an error message is always
    issued when duplicates are not allowed (#1238).

  • Code to audit $ODE (or $DES) code, looking for an equation for every
    model compartment was refactored to use a common approach for both traditional
    models and models written with the nm-vars plugin; regardless of approach,
    the user will be warned if mrgsolve does not detect code relevant to every
    model compartment; the audit system can be bypassed by including the
    @!audit block option to $ODE (#1235).

  • The autodec plugin was lightly refactored to avoid false positive detection
    of variables declared as double; plans are in place to narrow the
    scope of what is detected for declaration in future releases (#1234).

  • R help files (.Rd) reviewed and revised for consistency and formatting
    (#1246).

mrgsolve 1.5.1

26 Jul 12:16
1027a93
Compare
Choose a tag to compare
  • Fixed yaml_to_cpp() example code to prevent saving the file to the working
    directory (#1220).

mrgsolve 1.5.0

26 Jul 12:15
79e681d
Compare
Choose a tag to compare
  • New functions mwrite_yaml() and mwrite_cpp() can write a model object back
    to a file, accounting for all updates since the model was read from native
    mrgsolve format using mread() (#1213).

  • New function mread_yaml() for reading back models written out with
    mwrite_yaml() (#1213).

  • New functions in evtools plugin: evt::replace() works like evt::bolus(),
    but will replace the amount in a given compartment rather than add to it
    (#1203).

  • The nm-vars plugin now exposes DEXP(), LOG10(), COS() and SIN()
    for use in the mrgsolve C++ code blocks (#1199).

  • An error is now generated when KA is equal to CL/VC while simulating from
    the one-compartment model with analytical solution invoked through
    $PKMODEL (#1179, #1197).

Bugs Fixed

  • A bug was fixed when certain data frame inputs were passed to as_data_set()
    (#1115, #1196).

mrgsolve 1.4.2

25 May 19:18
2e8cc5d
Compare
Choose a tag to compare
  • An error will now be issued at simulation time when simulation data sets
    (data and idata) contain non-numeric data in columns sharing names with
    parameters; non-numeric data in columns with certain reserved names
    (like AMT, RATE, II, ADDL, etc.) will also result in an error
    (#1193).

mrgsolve 1.4.1

12 Feb 17:59
3e42db2
Compare
Choose a tag to compare
  • Fix bug in evt::regimen.ii(double) where timing of next dose
    was not as expected (#1170).

mrgsolve 1.4.0

07 Feb 21:19
f805fcc
Compare
Choose a tag to compare

mrgsolve 1.4.0

  • evtools is a new plugin providing API for dynamic dosing from within the
    model; functions and classes are in the evt namespace (#1149).

  • regimen is a new class located in the evt namespace via the evtools
    plugin; regimen objects can execute doses in a regular regimen (#1156).

  • mread() and mcode() no longer print a message before the required
    waiting period on model recompile (#1145).

  • ev_rep() output rownames are cleaned up before returning (#1158).

  • C++ model code blocks (GLOBAL, PREAMBLE, MAIN/PK, ODE/DES, TABLE/ERROR) are
    now checked for <object>.<attribute> syntax; if found, symbols on both sides
    of the dot become reserved words when loading and compiling that model;
    specifically, an error will be generated if either side of the dot (<object>
    or <attribute>) is found in parameter names, compartment names, ETA labels,
    or EPS labels (#1159).

  • ETA values are always simulated from OMEGA, even when the user requests they
    get scraped from data or idata via etasrc argument to mrgsim(); this
    ensures EPS are reproducible for model runs where etasrc = "omega"
    (default, ETA are simulated) or, for example, where etaasrc = "data.all"
    (scrape ETA from the data set) (#1163).

Bugs Fixed

  • Fixed a bug where modeled doses scheduled to happen now were ignored if the
    time attribute was set to a value prior to the current simulation time
    (#1152).

  • Fixed a bug in how doses were computed using the until argument to ev()
    (#1154).

mrgsolve 1.3.0

04 Dec 14:41
46193aa
Compare
Choose a tag to compare
  • The evdata object for modeled events now contains a check_unique member;
    when set to false, the event will be processed without checking for a
    matching record in the modeled event log (#1119).

  • The amt attribute in evdata modeled event objects is now considered
    when looking for duplicate records in the modeled event log (#1119).

Bugs Fixed

  • Fixed a bug where multiple lagged doses given at the same time but with
    different bioavailability were all given the bioavailability of the
    last dosing record (#1129, #1130).

  • Fixed a bug where modeled infusions given now were never turned
    off (#1131).

  • Fixed a bug where the self object (type: databox) could not be
    passed into functions written into header files that were included
    through $INCLUDE; these header files are now included immediately
    preceding any user code written into $GLOBAL (#1125, #1126).

  • Fixed a bug where modeled event log was not getting reset after
    simulating the first individual; this resulted in events not getting
    executed in subsequent individuals when matching events were executed
    in the first individual; this affects modeled events only, not events
    coming from the data set (#1117, #1118).

  • Fixed a bug in detecting which compartments are receiving doses
    (#1112, #1113).

mrgsolve 1.2.0

19 Sep 14:18
3624f2f
Compare
Choose a tag to compare
  • Data set records at the same time within individual will receive different
    EPS draws; this is a change from previous behavior where records with the
    same time received the same value for EPS (#1110).

mrgsolve 1.1.1

16 Aug 16:20
c125cdb
Compare
Choose a tag to compare
  • Remove .x from matlist documentation object per new NOTE output from
    rdevel (#1103, #1104).

mrgsolve 1.1.0

17 Aug 01:11
c813529
Compare
Choose a tag to compare
  • Add new functionality for assessing consistency between names on input data
    set and parameter names (#1078).

    • New function check_data_names() executes the check.
    • New model specification block $INPUT for marking parameters as "inputs"
      and expecting them to be present in the data when check_data_names() is
      called.
    • New $PARAM block attributes @input and @tag for adding tags to
      parameters which will be checked when check_data_names() is called.
    • New function param_tags() to list parameters and tags for a given model.
  • Now checking TIME and time when assessing upper / lower case name
    consistency of input data sets (#1099).

  • ETAs can now be passed via idata by passing eta_src as either idata
    or idata.all to mrgsim() (#1092).

  • Internal refactor of mechanics checking for user interrupt during simulation
    (#1088).

  • Minor re-factor of mrgsim_nid() and documentation update to be in line
    with original intent; no meaningful change in functionality (#1086).

  • parameter_list objects can now be passed to param() (#1076).

  • ev_rx() syntax gains & operator allowing specification of multiple events
    at a single time (#1072).

  • Kyle Meyer added as contributor (#1095).

  • modlib() model 1005 re-coded to reflect the "traditional" model
    specification syntax (#1069).

  • The model object update() method will again issue a warning when
    unrecognized arguments are passed (#1068).

Bugs Fixed

  • Fixed bug where ETA in the first column of data was not recognized when
    using eta_src = "data" or eta_src = "data.all" (#1095).