Dear NONMEM users,

I hope you are all well and healthy! I wanted to share with you that earlier this month, a new version of NMdata was released on CRAN. For those not already familiar with the package, let me give a quick intro if that can be helpful to anyone.

the best place to browse info on NMdata is
https://philipdelff.github.io/NMdata/
I recommend the cheat sheet for introduction at this messy url:
https://htmlpreview.github.io/?https://github.com/philipdelff/NMdata/blob/master/devel/NMdata-cheat.html

NMdata is an R package for efficient data preparation, consistency-checking and post-processing in PK/PD modeling - especially focused on NONMEM. Even though there is quite a few packages that all make our modeling jobs easier and our work better, handling of data remains time consuming and prone to errors. As I have heard several highly experienced pharmacometricians say over the years: when we have problems with models, most of the time the issues are in the data. And haven't we all heard of someone who was struggling tracing results back to data preparation scripts? NMdata helps avoid many of these problems, detect others, and significantly simplify workflows.

NMdata automates as much of the tedious work as possible - including many checks. It helps combining data, finalization for NONMEM, checking, and saving data (retaining factor levels), updating of control streams to use the saved data, and retrieval of NONMEM data (all output and input tables as one, only path to control stream needed from user). It is very fast (thanks to data.table) and provides full traceability of data from source data and scripts to post-processing. NMdata default behavior can easily be configured to match folder/file structures, column names, preferred data structure (data.frame/tibble/data.table etc). Since NMdata is all about data and potential data issues, it is all independent of the actual NONMEM models.

NMdata is not a silo. Part of the motivation for developing this framework was to make it painless to step in and help others who have done things differently and/or need things to be done differently than we would. No functions in NMdata assumes or requires you to use other NMdata functions (only exception is providing summary of data exclusions which is tied to the way NMdata can automatically assign these exclusion flags).

The new NMdata 0.0.10 release adds a couple of valuable features. Most notably, an extensive data checker that checks a NONMEM data set for a long list of potential issues (list available in documentation), and a simplification to updating all the relevant NONMEM contol streams ($INPUT and/or $DATA) to match a data file. The data checker can also be run on a NONMEM control stream in which case it will read the data as NONMEM would, and then check it and provide a clear comparison of the data file column names and the $INPUT statement. Briefly speaking, it tries to identify all sorts of data issues that can make NONMEM fail or not work as the user would expect.

If you have any questions or would like to contribute to the NMdata project, never hesitate to reach out to me. Directly, on github, linkedin or however you prefer.

All the best,
Philip

Reply via email to