NONMEM VI Bug Alert #5

1 messages 1 people Latest: Aug 30, 2007

NONMEM VI Bug Alert #5

From: Thomas Ludden Date: August 30, 2007 technical
Fixed routines, except those related to NMTRAN bug 6 (below), will be available at: ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_fixed_routines/. Login with User name:nonmemvi Password: updates Code changes have been supplied to Metrum Institute for inclusion in the next release of NMQUAL. A cummulative bug list, NONMEM_VI_1.1_Bug_List.txt, is available at ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_buglist/ At the time these fixes are incorporated into NONMEM VI 1.1 we recommend changing the value of LEV in BLKDAT to 1.2. NONMEM code 7. Background: Documentation indicates that the value of a data item specified in the $CONTR record and made available to the MIX routine in DATA(i,j) will be the value of the j'th data item on the i'th observation record of an individual record. However, when the $CONTR record is used with SIMULATION and there is no L2 data item in the data set, then DATA(1,j) contains the value of the data item on the _last_ observation record of the individual record, and DATA(n,j) (for n>1) is 0. FIX: Multiple code changes to the SIML routine are required. Workaround: Place the value of the data item to be made available to the MIX routine on the last observation record of an individual record. 8. An error message from the COMPR routine may reference the wrong data record. Several different messages that begin with 'PROGRAM TERMINATED BY COMPR WITH INDIVIDUAL <individual sequesence number>, ID= <ID data item>, DATA REC. <data record number within an individual record>' are affected. The final part of the message may be one of the following: 'SUM OF "SQUARED" WEIGHTED INDIVIDUAL RESIDUALS IS INFINITE' 'OBSERVATION IS OUTSIDE LIMITS' 'ENDPOINT OF CATEGORY IS OUTSIDE LIMITS' 'STANDARDIZED LIMIT IS INFINITE' 'UPPER LIMIT EQUAL TO LOWER LIMIT' 'WITH NMPR12-14, L2 RECORDS ARE NOT ALLOWED' 'WITH NMPR12-14, OBS. CANNOT BE MODELED WITH A CORRELATED EPSILON' 'STANDARDIZED ENDPOINT OF CATEGORY IS INFINITE' 'UPPER ENDPOINT OF CATEGORY NO GREATER THAN LOWER ENDPOINT' FIX: In the COMPR routine locate the statement DO 60 I=1,NN and immediately below it add C ADDED 8/2007 IR=I 9. The ICALL variable is not initialized in the ESTIM routine before the call to PRIOR. FIX: In the ESTIM routine locate the line 2 IE,IEND,IRSET,ISIG and immediately below it add C ADDED 8/2007 COMMON /CM36/ ICALL COMMON /CM36/ IC3601 Workaround: Never test ICALL in PRIOR 10. Documentation error. If the PRIOR routine calls the NWPRI utility then the call should not be conditional on the value of ICALL. 11. When the NONPARAMETRIC method is used with a data set having individuals with different active ETA's and the INTERACTION option is NOT specified on the $ESTIM record then the results may depend on the order of the ETA's. An active ETA is one for which the variance is nonzero and, for a given individual, the first-derivative of the log-likelihood w.r.t ETA is nonzero. FIX: In the NP routine locate the line IF (NROB.EQ.0) GO TO 60 and immediately below it add C ADDED 7/2007 NRETA=LM1-NAETAI 12. When the NONPARMETRIC method is used with a data set having individuals with different active ETA's and the INTERACTION option is specified on the $ESTIM record then the results may depend on the active ETA's for the last individual in the data set. Fix: In the NP routine locate the section IF (OPETA3.EQ.0) THEN MDE=2 CALL OBJ3 (OO) MDE=3 ENDIF and change it to IF (OPETA3.EQ.0) THEN MDE=2 CALL OBJ3 (OO) MDE=3 C ADDED 7/2007 ELSE CALL OBJ3 (OO) ENDIF 13. When the INTERACTION option is used, the reported weighted residuals, WRES, may be incorrect. This bug does not affect the values of the estimated parameters nor the objective function value. The pre-fix and post-fix WRES values are usually of the same magnitude and highly correlated. However, a few WRES vaues may exhibit more noticable differences. FIX: In subroutine PRRES locate the line 24 H(J,L)=HU(L,1) and immediately below it add the following statements C ADDED 8/2007 DO 925 K=1,LM1 DO 925 L=1,LM2 925 H(J,K*LM2+L)=HU(L,K+1) ____________________________________________________ NMTRAN Code 6. If LNP4 is set in SIZES to a value larger than the default 1000, several bugs can occur. (1) With LNP4 > 9999, it is possible that values for the FCON file will be larger than 9999. FCON will contain character strings '****', causing run-time error messages that are platform dependent. For example, the message for Windows is: forrtl: severe (64): input conversion error, unit5, file ... If such an error message occurs, the user should reduce the size of the problem, as in the workaround for (2) below. (2) Another bug may occur with (a) LNP4>1000, and (b) a control stream that displays reserved positions of COMMON NMPRD4. E.g., COM(k) or :00k is listed in $TABLE or $SCATTER. It is possible that the wrong labels for these variables will be used in the table or scatter, and that (at the same time) the wrong values will appear in the table or scatter. For this bug to occur, it is also necessary that nearly (or more than) 1000 positions in COMMON NMPRD4 be assigned by NM-TRAN. This may happen when the amount of abbreviated code is large, and/or the reserved portion of the common is very large (e.g., $ABBR COMRES=n, where n is nearly or more than 1000.) The user should check FCON for inappropriate labels. If any are seen, then use the following workaround. FIX: Multiple code changes to multiple routines are required. Fixed routines will be available in NONMEM VI 2.0 (early 2008). If one requires fixed routines prior to that time, please contact [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> . Workaround: Use $ABBR DERIV2=NO and/or reduce the size of the reserved portion of NMPRD4. The use of $ABBR DERIV2=NO with all control streams that do not use the Laplacian method is a reasonable precaution when using LNP4>1000. _______________________________________________________________________________________________________________________________