nlmixr2 2.1.0/ rxode2 2.1.1

nlmixr2 2.1.0 was released 9 Jan 2024 which requires the newest (and recently released) engine packages nlmixr2est 2.2.0 (released 12 Dec 2023) and rxode2 2.0.10 (released 13 Dec 2023). I will be blogging about a few new features but want to mention a few now: More flexible mu referencing User defined functions can now be used with nlmixr2 and rxode2 Event handling changes Many new estimation methods for population only fitting The truncated changelog for these packages are below:

nonmem2rx and babelmixr2

nonmem2rx/babelmixr2 I am really excited to announce that the nlmixr2 team has released a new version of babelmixr2 and a new package nonmem2rx that allows you to convert NONMEM to rxode2 or even a nlmixr2 object. To install, simply upgrade babelmixr2 with: install.packages(c("nonmem2rx", "babelmixr2")) What you can do with nonmem2rx/babelmixr2 You can do many useful tasks directly converting between nlmixr2 and NONMEM models; you can: Convert a NONMEM model to a rxode2 model

nlmixr2 family releases

This is another release of a group of nlmixr2-related packages. Feature Highlights There are a few things I would like to highlight in this release: Highly requested feature(s) A much requested feature has been added for rxode2; Diagonal zeros in the omega and sigma matrices are treated as zeros in the model. The corresponding omega and sigma matrices drop columns/rows where the diagonals are zero to create a new omega and sigma matrix for simulation.

babelmixr2, nlmixr2 and Monolix

As with NONMEM, it is important to be able to compare nlmixr2 to industry standard software like Monolix. With that , in mind, I am proud to announce the first nlmixr2 to Monolix translator in babelmixr2. As with NONMEM, while this has been done before, the method whereby we are converting between the two is novel and has some surprising advantages. How to use Monolix with nlmixr2 To use Monolix in nlmixr, you do not need to change your data or your nlmixr2 dataset.

babelmixr2, nlmixr2 and NONMEM

I remember attending a virtual ACoP where Tim Waterhouse said “This person is so convincing that the could sell NONMEM to a nlmixr developer”. I was in the wrong meeting so I laughed and connected to the correct meeting. While he is correct, I don’t really want to purchase a NONMEM license, and I would think that individual pharmacometricians are the same: they don’t want to buy a personal license for the software they use at work (although CROs might be different here).

Lag-time with NONMEM and nlmixr2

This is more of a methodology post, pointing out how things are done in nlmixr2 and how it likely doesn’t match what is done in NONMEM (and at least one reason why a drop-in replacement of rxode2 by another tool like PKPDsim, mrgsolve, or deSolve is not an easy project). For the impatient, adding focei lag time (and other dose-based events) have improved in stability for this release of nlmixr2.

nlmixr2 2.0.8 Objectively Surprising

Last time I blogged promised to talk about a few other things, including: Likelihood based on each observation (and how to get it) Standard Errors / Hessians, etc for between subject variabilities or etas (and how to get them) Hessians for the individual between subject variability is also used for the focei calculation. So, if you are impatient, I will give you brief instructions on where to get each component of the likelihood:

nlmixr2 2.0.8 log-likelihood

I am pretty excited abut the new nlmixr2 release (2.0.8). When I joined the the nlmixr2 team, I wanted to do a fancy heavy tailed, skewed model in an open source tool so I could figure out how to do even more with it. With this release, it is possible to do a heavy tailed (t-distribution dt()) skewed (coxBox(lambda)) distribution: my old wish is now possible with focei! A few other things that people may be interested in are:

rxode2 2.0.9/2.0.10

rxode2 2.0.9 has been released, and rxode2 2.0.10 will be released soon! I want to personally thank all those who have submitted issues, and helped with the development. Without the support rxode2 wouldn’t be the tool it is today. This is the first CRAN-visible release since rxode2 2.0.7 and I would like to highlight a few new interesting features: ‘rxode2’ can now have more flexible model functions The key features are:

mrgsolve vs rxode2

mrgsolve vs rxode2 One of the most common questions I get is, “What are the differences between mrgsolve (1) and rxode2?”. The most common reasons for this question are: I really don’t know what tool to use, what are the advantages of each? I really like one of the tools (either mrgsolve or rxode2) and I want to let my colleagues know how nice my favorite tool is. I am not really the best person to answer this question since I am most familiar with rxode2 and can’t answer all the questions about mrgsolve.

RxODE and rxode2

RxODE vs rxode2 Since rxode2 came out recently, I am getting many questions about what is the difference between rxode2 and RxODE. I think the biggest reason for the question is – is this update going to break all the nice things I already do with RxODE? Or maybe why should I bother to change? I feel the same way when I have big changes in things I use. For me, I love the ability to pipe and change data with the tidyverse, and similar tools, but hate when they change things that affect my code.

nlmixr2 is here

Over the past half year, a lot of changes have been happening behind the scenes, and the time has finally come to reveal them! nlmixr2 nlmixr2 will be the version in active development going forward, taking over from nlmixr, starting with the current CRAN version, 2.0.6. Our new home on GitHub is here, and on CRAN, we’re here. The reasons for the name and format change are many, but most importantly, we’ve taken this step to improve overall user experience and to help us maintain the project more effectively.