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 <ann.rigby-jones_at_pms.ac.uk>
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
M3 for BLQ - Pred defined item larger than .3D+39?
2 messages
1 people
Latest: Feb 17, 2012
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
>