babelmixr2 and PopED
By Matthew Fidler in rxode2 monolix2rx monolix nonmem2rx nonmem babelmixr2 PopED
November 5, 2024
New babelmixr2 integrates PopED.
I am excited to announce today a new version of babelmixr2 has been
released that streamlines creating fast, efficient PopED databases
for optimal design.
With the babelmixr2 package you can:
Import your
NONMEMmodel torxode2/nlmixr2format using nonmem2rxImport your
Monolixmodel torxode2/nlmixr2using monolix2rxUse your existing
nlmixr2model or create your ownrxode2/nlmixr2model
With it in the nlmixr2 format, you can then quickly do optimal design
Key notes in using PopED using babelmixr2
babelmixr2requires a design dataset instead of design options, which translates to design options likext,model_switchetc, (described here)You can get the underlying
PopEDcode from thenlmixr2model if you want (as described in the annotated PopED example)babelmixr2loads models into memory and needs to keep track of which model is loaded. To help this you need to usebabel.poped.databasein place ofcreate.poped.databasewhen modifying babelmixr2 generatedPopEDdatabases. If this isn’t done, there is a chance that the model loaded will not be the expected loaded model and may either crash R or possibly give incorrect results.babelmixr2translates all error components to variances instead of the standard deviations in thenlmixr2/rxode2model (required byPopED)When there are covariances in the
omegaspecification, they will be identified asD[#,#]in thePopEDoutput. To see what these numbers refer to it is helpful to see the name translations withmodel$popedD. Note themodelmust be processed into a rxode2 object.Depending on your options,
babelmixr2may literally fix the model components, which means indexes may be different than you expect. The best way to get the correct index is use thebabelmixr2functionbabelBpopIdx()which is useful for usingPopED.babelmixr2uses model times in creatingPopEDdatabases; therefore models with modeling times in them cannot be used in this translationbabelmixr2does not yet support inter-occasion variability models.At the current time, the
ODEsolution used is the fastest of the models tested, but keep in mind this is problem dependent. To me, the most important feature is not the speed of the model, but the ease of translating into aPopEDdatabase from the tools you use (likenlmixr2,NONMEMandMonolix).
Many of the PopED example models were recoded as
babelmixr2/PopED models to show how to use the interface and are
included in the babelmixr2 package
here
One last note, at the time of writing if you are on Windows and want
to use parallel processing in PopED you need a special version of
PopED which can be installed by:
remotes::install_github("mattfidler/PopED", ref="babelmixr2-win")
This blog is coming right before the ACoP 2024 conference.
If you want stickers or to talk more about this or other nlmixr2 features/request you can:
Stop by our poster: babelmixr2 and PopED: Quick Conversion of NONMEM, Monolix and nlmixr2/rxode2 Models to PopED Optimal Design Analysis
Attend our or our nlmixr2 tutorial on Thursday (Using Past Models to Bridge to Open Models and Open Science using nlmixr2)
Thanks, see you in person soon if you are going to ACoP 2024!
- Posted on:
- November 5, 2024
- Length:
- 3 minute read, 514 words
- Categories:
- rxode2 monolix2rx monolix nonmem2rx nonmem babelmixr2 PopED
- See Also: