Re: M3 for BLQ - Pred defined item larger than .3D+39?
It was a division by a very small number in one formula... I used if/then
statement to make sure id does not happen. It worked.
P.
Quoted reply history
----- Original Message -----
From: [email protected]
Date: Thursday, February 16, 2012 11:50 am
Subject: [NMusers] M3 for BLQ - Pred defined item larger than .3D+39?
To: [email protected]
Cc: "[email protected]"
> Hello Ann,
> Did you find a solution? I am also using M3 and the message is
> similar: 0IN TABLE 1, ROW 31425, PRED-DEFINED ITEM, NUMBER 13
> IS LARGER THAN 0.3D+39
> PROGRAM TERMINATED
> In my output, PRED has funny values when TYPE=2. I suspect it
> is causing the issues. PRED, RES and WRES are not calculated
> properly when TYPE=2. I try test the following code and see if
> it works.
> IF (TYPE.EQ.2) THEN
> F_FLAG=1
> Y=CUMD
> PRED=-999999
> WRES=-999999
> RES =-999999
> ENDIF
> Thank you,
> Pavel
>
>
>
> From: Ann Rigby-Jones
> Date: Sun, 19 Dec 2010 12:33:26 +0000
>
> I’m (once again) trying to implement the M3 method for BLQ data,
> this time with a transit compartment approach, rather than using
> lag times which were causing me all sorts of problems
> previously…
>
> My current runs are terminating with E=134, this is very
> familiar territory but my table files aren’t being produced
> because of:
>
> 0IN TABLE 1, ROW 1, PRED−DEFINED ITEM, NUMBER 7
> IS LARGER THAN .3D+39
> PROGRAM TERMINATED
>
> I’ve not encountered this type of problem before and I’m not
> clear what it means, I’d be grateful for any advice ☺
>
> With thanks and all best wishes
>
> Ann
>
>
> $PROBLEM Step1&2 PK 3comp BLQ 9transit eta ktr dur NSIG=4
> SIGL=12 allometric
> $INPUT ID DOSE AMT RATE DUR TIME LNDV DV EVID ART FLG AGE WGT
> MDV
> $DATA Step1&2PKBLQnoABSLNv3.csv IGNORE=#
> $SUBROUTINES ADVAN13 TOL=9
>
> $MODEL
> NCOMPS=12
> COMP(CENTRAL, DEFOBS) ;1
> COMP(PERIPH1) ;2
> COMP(PERIPH2) ;3
> COMP(TRANS1, DEFDOSE) ;4
> COMP(TRANS2) ;5
> COMP(TRANS3) ;6
> COMP(TRANS4) ;7
> COMP(TRANS5) ;8
> COMP(TRANS6) ;9
> COMP(TRANS7) ;10
> COMP(TRANS8) ;11
> COMP(TRANS9) ;12
>
> $PK
>
> TVCL=THETA(1)*(WGT/70)**0.75
> TVQ2=THETA(2)*(WGT/70)**0.75
> TVQ3=THETA(3)*(WGT/70)**0.75
> TVV1=THETA(4)*(WGT/70)**1
> TVV2=THETA(5)*(WGT/70)**1
> TVV3=THETA(6)*(WGT/70)**1
>
> CL=TVCL*EXP(ETA(1))
> Q2=TVQ2*EXP(ETA(2))
> Q3=TVQ3*EXP(ETA(3))
> V1=TVV1*EXP(ETA(4))
> V2=TVV2*EXP(ETA(5))
> V3=TVV3*EXP(ETA(6))
>
> K10=CL/V1
> K12=Q2/V1
> K13=Q3/V1
> K21=Q2/V2
> K31=Q3/V3
>
> IF (DUR.EQ.10) THEN
> KTR=THETA(7)*EXP(ETA(7))
> ELSE
> KTR=THETA(8)*EXP(ETA(7))
> ENDIF
> S1=V1
>
>
> $DES
>
> DADT(1)=A(12)*KTR + A(2)*K21 + A(3)*K31 - A(1)*(K10+K12+K13)
> DADT(2)=A(1)*K12 - A(2)*K21
> DADT(3)=A(1)*K13 - A(3)*K31
>
> DADT(4)=-A(4)*KTR
> DADT(5)=A(4)*KTR - A(5)*KTR
> DADT(6)=A(5)*KTR - A(6)*KTR
> DADT(7)=A(6)*KTR - A(7)*KTR
> DADT(8)=A(7)*KTR - A(8)*KTR
> DADT(9)=A(8)*KTR - A(9)*KTR
> DADT(10)=A(9)*KTR - A(10)*KTR
> DADT(11)=A(10)*KTR - A(11)*KTR
> DADT(12)=A(11)*KTR - A(12)*KTR
>
> $ERROR
>
> SIG1=THETA(9)
> LOQ = LOG(0.4)
> IPRED = LOG(F)
>
> DUM = (LOQ-IPRED)/(SIG1)
> CUMD=PHI(DUM)
> IF(FLG.EQ.0)THEN ; FLG=0, MDV=0 non BQL values
> F_FLAG=0
> Y=LOG(F) + SIG1*ERR(1) ;+ .0001
> ENDIF
>
> IF(FLG.EQ.1)THEN ; FLG=1, MDV=0 BQL values
> F_FLAG=1
> Y=CUMD
> ENDIF
>
> $THETA (0, 683) ;CL
> $THETA (0, 231) ;Q2
> $THETA (0, 2670) ;Q3
> $THETA (0, 5260) ;V1
> $THETA (0, 55800) ;V2
> $THETA (0, 38000) ;V3
> $THETA (0, 14.8) ;KTR 10 min infusions
> $THETA (0, 60.2) ;KTR 1 min infusions
> $THETA (0, 7) ;SIG1
>
> $OMEGA (0.01) ; ETA CL
> $OMEGA (0 FIX) ; ETA Q2
> $OMEGA (0 FIX) ; ETA Q3
> $OMEGA (0 FIX) ; ETA V1
> $OMEGA (0 FIX) ; ETA V2
> $OMEGA (0 FIX) ; ETA V3
> $OMEGA (0 FIX) ; ETA KTR
>
> $SIGMA (0.1)
>
> $ESTIMATION METHOD=1 LAPLACE NUMERICAL PRINT=1 MAX=9999 NOABORT
> NSIG=3 SIGL=9 ;POSTHOC INTER
> MSFO=msfo.outputfile
> ;$COVR UNCONDITIONAL
> $TABLE ID EVID AMT TIME IPRED PRED CWRES
> NOPRINT FILE=AllRecords.txt
> $TABLE ID CL Q2 Q3 V1 V2 V3
> ETA1 ETA2 ETA3 ETA4 ETA5 ETA6 ETA7
> FIRSTONLY NOPRINT NOAPPEND FILE=FirstRecords.txt
>