nonmem_requirements.Rmdpmxploit parses the text inside control streams to extract informations of the NONMEM job related to the model, the estimation steps or the output tables.
To be able to take the most benefit from pmxploit parsing capacity, one should be careful about how to write NONMEM control streams.
The following coding conventions should be respected for an optimal use of pmxploit.
$INPUT recordID
DV=CONC)IDEN=DROP)$DATA recordIGNORE option is not recommanded (although it may be supported, pmxploit import of such cases must be carefully verified)$MODEL recordIt is advised to declare each compartment on a separate line:
$MODEL
NCOMP=4
COMP=(Depot)
COMP=(Central)
COMP=(Peripheral)
COMP=(Out)
$ABBR recordParsing of this record only support the REPLACE option for ETA parameters when declared like:
$ABBR REPLACE ETA(OCC_CL)=ETA(3,4,5)
and then used like:
$PK
TVCL=THETA(2)
ETCL=ETA(2)
ETOCC1=ETA(3)
ETOCC2=ETA(4)
ETOCC3=ETA(5)
MU_2=THETA(2)
CL=DEXP(MU_2+ETACL)*EXP(ETA(OCC_CL))
$PK, $PRED and $ERROR recordsXXX = THETA(n) where XXX is the parameter name and n is its index in the fixed effects vectorXXX = ETA(n) where XXX is the parameter name and n is its index in the random effects matrix diagonalHence, here is an adequate declaration of parameters:
; THETAs
TVCL = THETA(1)
ALLOCL = THETA(2)
; ETAs
ETACL = ETA(1)
; Individual parameter
CL = TVCL * (WT/65)**ALLOCL * EXP(ETACL)
Whereas the following is not advised:
CL = THETA(1) * (WT/65)**THETA(2) * EXP(ETA(1))
$TABLE record(s)xpose4 conventions regarding tables output should be used (see: http://xpose.sourceforge.net/docs_faq.php)catab, cotab and patab definitions are used to guess the role of each column (respectively categorical covariates, continuous covariates and parameters)pmxploit merges the dataset and the output tables into one entity called pmxploitab (a tibble)FIRSTONLY option should not be used