From: "Nick Holford"
Subject:[NMusers] Avoiding ABORT in NONMEM Initialization Date: Thu, October 7, 2004 9:12 pm Hi, I have a simulation/estimation problem in which I want to avoid flip-flop. I can arrange for this in the simulation step but when I try to avoid it during estimation I get an ABORT during NONMEM's initialization when I use EXIT to stop KA becoming less than or equal to CL/V. I've tried using ICALL to stop the EXIT statement being triggered but I suspect that ICALL=2 is used during regular iterations as well as during initialization. IF (ICALL.NE.4.AND.ICALL.GT.2.AND.KA.LE.CL/V) EXIT 1 100 I know there are other ways to avoid flip-flop. That is not my primary reason for asking this question. I would like to learn if there is a way to either 1) make NONMEM behave consistently during the initialization and subsequent iterations with respect to the NOABORT option or 2) detect the initialization phase so that the condition triggering the EXIT can be avoided. The control stream and error message are shown below. Thanks in advance for your suggestions. Nick $PROB $INPUT ID AMT TIME DV MDV $DATA data $SUBROUTINES ADVAN2 TRANS2 $SIM (20041008 NEW) SUBPROB=1 $ESTIM MAXEVAL=9990 SIGDIG=3 NOABORT METHOD=CONDITIONAL INTERACTION $THETA (0.01,0.693) ;POPCL (0.01,1) ;POPV (0.01,1.5) ;POPKA $OMEGA BLOCK(1) 0.09 ;PPVCL $OMEGA 0.09 ;PPVV 0.09 ;PPVKA $SIGMA 0.01 ;RUVCV $PK CL=POPCL*EXP(PPVCL) V=POPV*EXP(PPVV) KA=POPKA*EXP(PPVKA) IF (ICALL.NE.4.AND.KA.LE.CL/V) EXIT 1 100 IF (ICALL.EQ.4) THEN NETA=0 DOWHILE(KA.LE.CL/V.AND.NETA.LT.100000) ; safety net in case of getting stuck in loop CALL SIMETA(ETA) CL=POPCL*EXP(PPVCL) V=POPV*EXP(PPVV) KA=POPKA*EXP(PPVKA) NETA=NETA+1 ENDDO ENDIF SC=V $ERROR Y=F*(1+EPS(1)) and this is the typical error - note it occurs before the ITERATION 0 message: nmgo test nmtran.exe test.ctl WARNINGS AND ERRORS (IF ANY) FOR PROBLEM 1 (WARNING 2) NM-TRAN INFERS THAT THE DATA ARE POPULATION. df /fltconsistency /optimize:4 /fast /Fetest FSUBS.for @link.txt NONMEM test... MONITORING OF SEARCH: 0PRED EXIT CODE = 1 0INDIVIDUAL NO. 26 ID=0.26000000E+02 (WITHIN-INDIVIDUAL) DATA REC NO. 1 THETA= 6.93E-01 1.00E+00 1.50E+00 OCCURS DURING SEARCH FOR ETA AT A NONZERO VALUE OF ETA PK SUBROUTINE: USER ERROR CODE = 100 -- Nick Holford, Dept Pharmacology & Clinical Pharmacology University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New Zealand email:email@example.com tel:+64(9)373-7599x86730 fax:373-7556 http://www.health.auckland.ac.nz/pharmacology/staff/nholford/ _______________________________________________________