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