Overall good first experience, basic functionality works, looks very promising. Below some initial feedback / questions.
Fitting
- Overall performance is fast, fits feels broadly similar in speed to NONMEM (tested only on very simple problems so far). Will do more benchmarking later.
- Loading the Pumas package does take some time, about 35secs on a 2017 i7 MBP, but not a problem in most use-cases since you only have to recompile the package once in each session.
- Is there any way I can get information on the iterations / warnings / etc that is going on when doing a fit? In the JuliaPro interface I’m only seeing the “cogs” icon when something is running.
- Although time-varying covariates seem to be parsed fine using
read-pumas()
, when using this parse dataset in thefit()
it complains withMethodError: no method matching ^(::Array{Float64,1}, ::Float64)
which seems to indicate vectors of covariates are not allowed yet? Am I doing something wrong, or is this a feature that is coming later?
VPC
I realize this functionality is alpha, but here are some comments anyhow:
- why are there two light-red areas in the VPC plot? I guess one is for the prediction interval for the median (of the simulated data) and the other the uncertainty of the observed data? If so, I wouldn’t do that, at least not as default, as it makes the plot too cluttered and hard to interpret.
- I suppose the red line is the median of the observed, but what are the pink dots then? Most pharmacometricians will intuitively think these are the actual observations, but that doesn’t seem to be the case?
- binning is an essential feature of the VPC, I don’t see that as an option yet? Should be easy to add at least simple k-means clustering and custom binning options.
- personal preference: i would keep the colors of the prediction intervals (e.g. 5th and 95 percentile) the same (now blue and green), as they provide similar types of information.
Misc suggestions:
- Would you be willing to share the development roadmap, or at least a broad version of it? This would help us decide when / whether this is likely to become a possible alternative in production use for us.
- in general, as someone who is not too very familiar with Julia yet, it requires quite a bit of tinkering to get started beyond the few provided examples (e.g. using NONMEM datasets). In the R world, it is common that R package developers guide the e.g. by adding useful error / warning message that catch common mistakes when calling functions. Not sure if this is common in the Julia world, but would make transition easier for novices.
- what exactly is the difference is between
read_pumas()
andprocess_nmtran()
? After some tinkering I managed to read a NONMEM file withread_pumas
, it seems the latter is not available yet? I think it would be useful for Julia novices to show with a simple example how to get a NONMEM dataset (csv) into Julia and fit it. - BayesMCMC: can you add some more detailed info in the manual on how to run using BayesMCMC, just swapping
Pumas.FOCEI
forBayesMCMC
doesn’t work. Questions e.g. :- how do I specify the priors?
- what MCMC samplers are available, which one is used by default?
- does this use a separate library in the backend (
MCMC
?), does it need to be installed?