Re: Modeling biomarker data below the LOQ

From: Leonid Gibiansky Date: November 18, 2009 technical Source: mail-archive.com
Hi Sameer, Several comments: -------------------- You did not provide the entire code, but if BL is the observed baseline, it should not be included in the dataset. If you have BL=THETA(*)*EXP(ETA(*)) then the data are fine -------------------- Additive error is assumed. I would rather use combined error (my guess is that assay STD at DV=65 is larger than STD at DV < LLOQ). --------------------- M2 method can be implemented using YLO option (BQL observations are included with MDV=1). PRB will give you a model-based probability of DV > YLO (see YLO EXAMPLE in help). $ERROR YLO = LOG1 IF(ASSY.EQ.2) YLO=LOG2 PRB = PR_Y $EST METH=1 LAPLACIAN SLOW NOABORT -------------------- I would increase TOL to 9 (if possible). It does not look like a stiff system, so ADVAN6 can be tried ------------------ You have not described the problem: how well these M3 - M4 methods describe your data? If you are not satisfied, could you describe the deficiencies if there are any; these can help to resolve them. Thanks Leonid -------------------------------------- Leonid Gibiansky, Ph.D. President, QuantPharm LLC web: www.quantpharm.com e-mail: LGibiansky at quantpharm.com tel: (301) 767 5566 Doshi, Sameer wrote: > 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
Nov 18, 2009 Sameer Doshi Modeling biomarker data below the LOQ
Nov 18, 2009 Leonid Gibiansky Re: Modeling biomarker data below the LOQ
Nov 18, 2009 Mats Karlsson RE: Modeling biomarker data below the LOQ
Nov 19, 2009 Leonid Gibiansky Re: Modeling biomarker data below the LOQ
Nov 20, 2009 Leonid Gibiansky Re: Modeling biomarker data below the LOQ
Nov 20, 2009 Martin Bergstrand RE: Modeling biomarker data below the LOQ
Nov 20, 2009 Jurgen Bulitta RE: Modeling biomarker data below the LOQ