Skip to content

Releases: nlmixr2/rxode2

v5.0.1

09 Dec 18:21
364909e

Choose a tag to compare

  • Change random number generation to always return doubles internally as well as no longer take a rxode2 individual structure, this is inferred by the thread number.

  • Change string representation of model variables to internal binary C code (to avoid macOS M1 sanitizer issues with strings).

  • Allow user to change the internal serialization type with options("rxode2.serialize.type"); Currently can be one of “qs2”, “qdata”, “base”, “bzip2” and “xz”. This option must be set before rxode2 is loaded, once loaded it keeps the option initially set. This is set to xz which is from base R, but could be sped up with either "qs2" (more future proof) or "qdata" (a bit faster).

  • Removed lsoda CDIR$ IVDEP directive, as requested by CRAN.

What's Changed

Full Changelog: v5.0.0...v5.0.1

v5.0.0

28 Nov 13:51
f272549

Choose a tag to compare

rxode2 5.0.0

  • Better error for tad(depot) when linCmt() doesn't include a
    depot compartment.

  • Remove qs dependency; For rxode2 ui objects, use lists instead of
    serialized objects. The internal C++ code still generates qs2
    sterilization objects (#950)

  • Fixed translation for censoring/limit to account for a possible
    CMT variable before the CENS / LIMIT column (#951, #952)

  • Added dmexpit() for getting the diagonal Jacobian.

  • Added special handling of mixest and mixunif.

What's Changed

New Contributors

  • @Copilot made their first contribution in #953

Full Changelog: v4.1.1...v5.0.0

v4.1.1

08 Oct 12:05
3bc0808

Choose a tag to compare

rxode2 4.1.1

  • Stacking for multiple-endpoint ipredSim now matches
    multiple-endpoint sim; Issue #929

  • Fix occasional $props that threw an error with empty properties
    (when using properties like tad0()); Issue #924

  • Allow mixture models mix() to be loaded with rxS() as a step to
    support mixtures in nlmixr2's focei; Issue #933.

  • Identify the correct transformation type for iov variables (#936)

  • Fix multiple compartment simulation edge cases where simulations
    were not being performed (#939)

  • When referencing cmt in models, the variable is forced to be CMT
    (related to #939)

v4.1.0

29 Aug 18:53
8748a54

Choose a tag to compare

  • Change rxui $ evaluation when completing in rstudio, fixes strange calculations popping up in rstudio (#909)

  • Add orphan rxode2 model unloading when using rxUnloadAll(), and change the return type to always be a boolean.

  • Add assertRxUiIovNoCor to assert IOVs have no correlations in them.

  • Handle the levels for inter-occasion variability in the ui better (#614)

  • Create a new function mix() that will allow mixture models to be simulated in preparation of mixture support in nlmixr2. This allows mixture models to be specified as: v = mix(v1, p1, v2, p2, v3) where the probability of having v=v1 is modeled by p1, v=v2 is modeled by p2, and v=v3 is modeled by probability 1-p1-p2.

  • Created new functions mlogit() and mexpit() to convert probabilities used in mixture models to log-scaled values. mlogit() converts the probabilities to log-scaled values (using root-finding) and mexpit() converts the log values into probabilities. The equation for the conversion of log to probabilities is $p_i = \frac{exp(x_i)}{1+\sum_{j=1}^{N-1}exp(x_j)}$

  • Added new assertion assertRxUiNoMix which throws an error when a mixture model is present (ie mix())

  • Fix for label processing when calling rxode2(uiModel)

What's Changed

Full Changelog: v4.0.3...v4.1.0

v4.0.3

24 Jul 16:50
a00b7fb

Choose a tag to compare

rxode2 4.0.3

  • For CRAN's m1 ASAN checks of nlmixr2est, loading and unloading the
    same dll or by deleting the dll and recreating the exact same code,
    and then loading the dll will cause the ASAN check to flag an odr
    violation. Because of this, a mechanism to not unload dlls has been
    added. This allows the next version of nlmixr2est to not have
    issues with Mac m1 san checks.

v4.0.2

21 Jul 17:36
44ccd4f

Choose a tag to compare

rxode2 4.0.2

  • At the request of CRAN, be a bit more careful so that names are not
    duplicated. Now include the md5 hash, a global counter and random 4
    digit and number combination. In addition add the name of the
    original function so it will be easier to debug in the future.

  • Fall back to data.frame rbind when rbind.rxSolve() fails

What's Changed

Full Changelog: v4.0.1...v4.0.2

v4.0.1

18 Jul 00:44
ea9b84d

Choose a tag to compare

rxode2 4.0.1

  • Add the ability to use rbind for solved rxode2 frames.

  • Fix LTO issue for _rxode2_calcDerived

What's Changed

Full Changelog: v4.0.0...v4.0.1

v4.0.0

16 Jul 13:31
0256e4b

Choose a tag to compare

rxode2 4.0.0

  • Add more information errors about NAs during solving.

  • Fix rxDerived() for mixed vector and non-vector input.

  • Fix model variables for alag(cmt) when they are defined before
    d/dt() or linCmt()

  • Just in time use of state.ignore in the model variables, fixes
    negative length error observed in #857.

  • Fix steady state bug with time-varying covariates. Now the
    covariates are inferred at the time of the steady state (instead of
    searching through the subject based on the projected time).

  • Rework the linear solved systems to use the wnl solutions, and
    threaded linear systems solve (for non-gradient solutions). This new
    method closes a variety of linear compartment model bugs (#261,
    #272, #441, #504, #564, #717, #728, #827, and #855)

  • Added new types of bounds for event tables:

    • 3 point bounds et(list(c(low, mid, high))) when specified this way,
      they will not change. Perfect for use with babelmixr2's PopED (#862,
      #863, #854)

    • Intervals simulated by normal values instead of uniform. In this
      case the first seen interval will be 3 elements with NA at the end
      et(list(c(mean, sd, NA), c(mean, sd))), and the other elements
      can simply be 2 declaring the c(mean, sd)

    • Of course the uniform windows of et(list(c(low, high))) still work

    • Currently these different types of windows cannot be mixed.

  • Add ability to pipe a list or named numeric as an eta with
    %>% ini(~eta)

  • Added a fix for event tables where expanding IDs in non-sequential
    order. In particular if the first ID is not the minimum ID when expanding
    the first event table, the smallest ID was not in the output table. Now
    the smallest ID is in the event table. (Fixes #878, #869, #870)

  • Added ability to pipe ini() or lotri(), or any other expression
    that can be converted to an ini with as.ini(). Also allows ini()
    expressions to be converted to lotri with as.lotri(). Fixes #871

  • Added new type of variability expression for simulation and
    estimation with focei and likelihood related methods: +var(). This
    changes standard deviation parameters to variance parameters.

  • Added new type of endpoint expression for focei estimation
    +dv(). This only transforms the data and not the predictions. I
    can only see it being useful in model linearization.

  • Bug fix for parameters that are in both input ($params) and output
    ($lhs) that respects the order of the $lhs declaration (Fixes
    #876)

  • Add rxFixRes to literally fix the residual estimates in a model (#889)

  • Now modeled duration of 0 is treated as a bolus dose (#892)

What's Changed

New Contributors

Full Changelog: v3.0.4...v4.0.0

v3.0.4

14 Feb 18:30
2436284

Choose a tag to compare

rxode2 3.0.4

  • Add stable hashes for rxUi objects (#838, #689)

  • Fix for iov simulation (#842)

  • Fix for rxnbinom() called directly from R (#847) and expand it to
    match more close with R's rnbinom() including allowing named mu=
    calls. In rxode2 ui, these are also now allowed.

What's Changed

Full Changelog: v3.0.3...v3.0.4

v3.0.3

15 Dec 15:29

Choose a tag to compare

rxode2 3.0.3

  • Add logit/expit named expressions, that is logit(x, high=20)
    becomes logit(x, 0, 20) in ui models.

  • Updated random ui models like rxnorm(sd=10) to accept complex
    numeric expressions like rxnorm(sd=10+1).

  • Updated random ui models to accept complex non-numeric expressions
    like rxnorm(sd=a+b)

  • Rework the tad() and related functions so they use the same
    interface as compartments (this way they do not depend on the order
    of compartments); See #815. For mu-referencing, Also allow dummy
    variables to ignore state requirements (ie podo(depot) in a single
    line will not error when parsing mu-referenced equations).

  • Add getRxNpars to api. This allows the development version of
    babelmixr2 to better check what model is loaded and unload/reload
    as necessary.

  • Add rxUdfUiControl() to rxode2 user function to get control
    information from something like nlmixr2

  • Bug fix for tracking time after dose when dosing to 2 compartments
    occur at the exact same time (#804, #819)

  • Change transit() model so that it uses tad0(), podo0() and
    related functions for a bit more stable simulation and estimation

  • Fix compile flags to work with BH 1.87 (#826)

What's Changed

Full Changelog: v3.0.2...v3.0.3