RE: Modeling biomarker data below the LOQ
Dear Sameer,
We've had this problem with biomarker data and published experiences in
terms of a methodological paper (below). Maybe it can give you some ideas.
Handling data below the limit of quantification in mixed effect models.
Bergstrand M, Karlsson MO.
AAPS J. 2009 Jun;11(2):371-80. Epub 2009 May 19.
Best regards,
Mats
Mats Karlsson, PhD
Professor of Pharmacometrics
Dept of Pharmaceutical Biosciences
Uppsala University
Box 591
751 24 Uppsala Sweden
phone: +46 18 4714105
fax: +46 18 471 4003
Quoted reply history
From: [email protected] [mailto:[email protected]] On
Behalf Of Doshi, Sameer
Sent: Wednesday, November 18, 2009 6:53 PM
To: nmusers
Subject: [NMusers] Modeling biomarker data below the LOQ
Hello,
We are attempting to model suppression of a biomarker, where a number of
samples (40-60%) are below the quantification limit of the assay and where 2
different assays (with different quantification limits) were used. We are
trying to model these BQL data using the M3 and M4 methods proposed by Ahn
et al (2008).
I would like to know if anyone has any comments or experience implementing
the M3 or M4 methods for biomarker data, where levels are observed at
baseline, are supressed below the LOQ for a given duration, and then return
to baseline.
Also please advise if there are other methods to try and incorporate these
BQL data into the model.
I have included the relevant pieces of the control file (for both M3 and M4)
and data from a single subject.
Thanks for your review/suggestions.
Sameer
DATA:
#ID TIME AMT DV CMT EVID TYPE ASSY
1 0 0 65.71 0 0 0 1
1 0 120 0 3 1 0 1
1 168 0 10 0 0 1 1
1 336 0 10 0 0 1 1
1 336 120 0 3 1 0 1
1 504 0 12.21 0 0 0 1
1 672 120 0 3 1 0 1
1 1008 0 10 0 0 1 1
1 1008 120 0 3 1 0 1
1 1344 0 10 0 0 1 1
1 1344 120 0 3 1 0 1
1 1680 0 10 0 0 1 1
1 1680 120 0 3 1 0 1
1 2016 0 10 0 0 0 1
1 2352 0 25.64 0 0 0 1
1 2688 0 59.48 0 0 0 1
MODEL M3:
$DATA data.csv IGNORE=#
$SUB ADVAN8 TRANS1 TOL=6
$MODEL
COMP(central)
COMP(peri)
COMP(depot,DEFDOSE)
COMP(effect)
$DES
DADT(1) = KA*A(3) - K10*A(1) - K12*A(1) + K21*A(2)
DADT(2) = K12*A(1) - K21*A(2)
DADT(3) = -KA*A(3)
CONC = A(1)/V1
DADT(4) = KEO*(CONC-A(4))
$ERROR
CALLFL = 0
LOQ1=10
LOQ2=20
EFF = BL* (1 - IMAX*A(4)**HILL/ (IC50**HILL+A(4)**HILL))
IPRED=EFF
SIGA=THETA(7)
STD=SIGA
IF(TYPE.EQ.0) THEN ; GREATER THAN LOQ
F_FLAG=0
Y=IPRED+SIGA*EPS(1)
IRES =DV-IPRED
IWRES=IRES/STD
ENDIF
IF(TYPE.EQ.1.AND.ASSY.EQ.1) THEN ; BELOW LOQ1
DUM1=(LOQ1-IPRED)/STD
CUM1=PHI(DUM1)
F_FLAG=1
Y=CUM1
IRES = 0
IWRES=0
ENDIF
IF(TYPE.EQ.1.AND.ASSY.EQ.2) THEN ; BELOW LOQ2
DUM2=(LOQ2-IPRED)/STD
CUM2=PHI(DUM2)
F_FLAG=1
Y=CUM2
IRES = 0
IWRES=0
ENDIF
$SIGMA 1 FIX
$ESTIMATION MAXEVAL=9990 NOABORT SIGDIG=3 METHOD=1 INTER LAPLACIAN
POSTHOC PRINT=2 SLOW NUMERICAL
$COVARIANCE PRINT=E SLOW
MODEL M4:
$DATA data.csv IGNORE=#
$SUB ADVAN8 TRANS1 TOL=6
$MODEL
COMP(central)
COMP(peri)
COMP(depot,DEFDOSE)
COMP(effect)
$DES
DADT(1) = KA*A(3) - K10*A(1) - K12*A(1) + K21*A(2)
DADT(2) = K12*A(1) - K21*A(2)
DADT(3) = -KA*A(3)
CONC = A(1)/V1DADT(4) = KEO*(CONC-A(4))
$ERROR
CALLFL = 0
LOQ1=10
LOQ2=20
EFF = BL* (1 - IMX*A(4)**HILL/ (IC50**HILL+A(4)**HILL))
IPRED=EFF
SIGA=THETA(7)
STD=SIGA
IF(TYPE.EQ.0) THEN ; GREATER THAN LOQ
F_FLAG=0
YLO=0
Y=IPRED+SIGA*EPS(1)
IRES =DV-IPRED
IWRES=IRES/STD
ENDIF
IF(TYPE.EQ.1.AND.ASSY.EQ.1) THEN
DUM1=(LOQ1-IPRED)/STD
CUM1=PHI(DUM1)
DUM0=-IPRED/STD
CUMD0=PHI(DUM0)
CCUMD1=(CUM1-CUMD0)/(1-CUMD0)
F_FLAG=1
Y=CCUMD1
IRES = 0
IWRES=0
ENDIF
IF(TYPE.EQ.1.AND.ASSY.EQ.2) THEN
DUM2=(LOQ2-IPRED)/STD
CUM2=PHI(DUM2)
DUM0=-IPRED/STD
CUMD0=PHI(DUM0)
CCUMD2=(CUM2-CUMD0)/(1-CUMD0)
F_FLAG=1
Y=CCUMD2
IRES = 0
IWRES=0
ENDIF
$SIGMA 1 FIX
$ESTIMATION MAXEVAL=9990 NOABORT SIGDIG=3 METHOD=1 INTER LAPLACIAN
POSTHOC PRINT=2 SLOW NUMERICAL
$COVARIANCE PRINT=E SLOW
Sameer Doshi
Pharmacokinetics and Drug Metabolism, Amgen Inc.
(805) 447-6941