-
Notifications
You must be signed in to change notification settings - Fork 28
Setup, compilation, configuration and transfer between systems
Definition and initialization of a model comprises the following steps:
arInit
arLoadModel(...) % one or serval calls
...
arLoadData(...) % one or several calls
...
arCompileAll
All these commands are stored including their arguments in ar.setup
. This enables re-compilation, i.e. if a model is loaded and the binary compiled files are not available, they can be created in the same manner. To ensure that the data and model files were not changed in the meantime, backup files are created in the folders Models/Backup/... and Data/Backup/... The folder names conicide with the ar.checksum
which uniquely labels model versions.
arRecompile also enables transfer of models between computers and operating systems. Just copy a Results folder, load the model via
arLoad
arRecompile
.
Intermediate compilation steps which are available (folder Compiled) are reused to speed up compilation times.
In addition to defining and compiling a model, there might be addional steps for setting up and configuration of a model, e.g.
- Defining lower and upper bounds via
arSetPars
or directly by changingar.lb
and/orar.ub
- Defining whether parameters are fitted (via
arSetPars
orar.qFit
) or whether parameters are analyzed on the log-scale (arSetPars
orar.qLog10
) - Priors or penalties for parameters might be defined (via
arSetPars
orar.mean, ar.std, ar.type
) - Data might be included or excluded from fitting via
ar.model.data.qFit
- Handling of experimental errors might be changed (
ar.config.fiterrors
orar.config.useFitErrorCorrection
) - Events might be defined (via
arFindInputs
orarAddEvent
)
Moreover, the numerical algorithms might be configured via serval options which are stored in ar.config
.
To be able to compare model, fits, parameter setting and numerical configurations, several checksums have been implemented:
- The model structure as used during compilation generates a unique checksum stored in
ar.checksum
. It is also part of the name of the compiled model stored inar.fkt
. - The parameter configuration (
qLog10,qFit,lb,ub,type,mean,std
) is calculated inarChecksumPara
and stored for every fit inar.fit.checksums.checkstr_parameters
. - The numerical configuration (several fields below ar.config) is calculated in
arChecksumFitting
and stored for every fit inar.fit.checksums.checkstr_fitting
. - The data configuration (data points, errors, time points, ...) is calculated in
arChecksumData
and stored inar.fit.checkstr_data
after fitting.
For comparing numerical algorithms, it has to be ensured that all settings except the ones which are compared are the same. The above mentioned checksums are helpful for this purpose. A frequent issue is comparison of waterfall plot, i.e. the results of arFitLHS
. To be sure that the settings are comparable one should evaluate the checksums.
- Installation and system requirements
- Setting up models
- First steps
- Advanced events and pre-equilibration
- Computation of integration-based prediction bands
- How is the architecture of the code and the most important commands?
- What are the most important fields of the global variable ar?
- What are the most important functions?
- Optimization algorithms available in the d2d-framework
- Objective function, likelhood and chi-square in the d2d framework
- How to set up priors?
- How to set up steady state constraints?
- How do I restart the solver upon a step input?
- How to deal with integrator tolerances?
- How to implement a bolus injection?
- How to implement washing and an injection?
- How to implement a moment ODE model?
- How to run PLE calculations on a Cluster?