NONMEM VI Bug Alert #6

1 messages 1 people Latest: Jan 17, 2008

NONMEM VI Bug Alert #6

From: Thomas Ludden Date: January 17, 2008 technical
A bug in NM-TRAN has been detected and is described below. Both a workaround and a code fix are also described. A fixed routine is available at: ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_fixed_routines/ <ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_fixed_routines/> . Login with User name:nonmemvi Password: updates An alternative way to access this directory is to use ftp://nonmemvi:[EMAIL PROTECTED]/ <ftp://nonmemvi:[EMAIL PROTECTED]/> Code changes have been supplied to Metrum Institute for inclusion in the next release of NMQUAL. A cummulative bug list, NONMEM_VI_1.2_Bug_List.txt, is available at ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_buglist/ <ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_buglist/> At the time these fixes are incorporated into NONMEM VI 1.2 we recommend changing the value of LEV in BLKDAT to 1.3. NM-TRAN code 7. This bug affects only NONMEM VI. The bug affects $ERROR abbreviated code of the form IF (condition) V=expression or IF (condition) THEN V=expression ENDIF when all of the following are true of at least one variable X: 1) X appears in both the condition and the expression; 2) X is defined in $PK 3) X has partials wrt. ETAs. The bug causes the partials of X to be ignored. If V (and therefore X) affects the objective function, then the value of the objective function is incorrect. Workaround: Assign the variable from $PK (or the complete expression that uses variables from $PK) to a variable that is local to $ERROR. E.g., Instead of IF (A(1)/V1.GT.0) TY=A(1)/V1 Use C1=A(1)/V1 IF (C1.GT.0) TY=C1 Fix: In routine GETLOG, locate C ALSO DO THIS IF IN INITIALIZATION-FINALIZATION BLOCK 8/00 Insert after it: IF (NTYP.EQ.2) THEN Locate the following 6 lines down: IPOS=NTEMP Insert after it: ENDIF _____________________________________________________________________________________________________________