kinetic interpolation and effect compartments

14 messages 7 people Latest: Oct 01, 1996

kinetic interpolation and effect compartments

From: Rik Schoemaker Date: September 24, 1996 technical
From rs@chdr.leidenuniv.nl Tue Sep 24 00:50:01 1996 Subject: kinetic interpolation and effect compartments I'm running into the following problem. I'd like to do PK/PD modelling for a benzodiazepine that has been administered orally. However kinetics are rather irregular (deviations from simple first or zero-order absorption) making a good description/interpolation of the kinetic profile impossible using standard pharmacokinetic models. After glancing over the nice work of Kyungsoo Park et al I wondered if something like constrained longitudinal splines could work in this case as well. I feel I may have to resort to an effect compartment so I need some sort of continuous interpolation to feed into my compartment. I was hoping this is all clear cut for someone out there! If not, I welcome any suggestions. Regards, Rik Schoemaker, CHDR, Leiden, NL
From kgkowa@searle.monsanto.com Tue Sep 24 12:13:48 1996 Subject: Re: kinetic interpolation and effect compartments Rik, You might want to consider the semicompartmental modeling approach that I have been developing. The semicompartmental approach is a solution to Sheiner's effect-site link model based on a noncompartmental model for Cp (piecewise linear or log-linear model) and is easily implemented in standard nonlinear regression packages such as NONLIN, NONMEM, and SAS NLIN. I was motivated to develop this approach precisely for the reason you indicated in your message, ie., when the kinetic profile is not accurately described by standard compartmental pharmacokinetic models. The catch with my approach is that you need to have enough times points at properly spaced intervals such that the AUC can be accurately estimated by linear and/or log-linear trapezoidal rule calculations. Here is the reference for this approach: Kowalski, K.G. and Karim, A. A Semicompartmental Modeling Approach for Pharmacodynamic Data Assessment. J. Pharmacokin. & Biopharm., 23:307-322 (1995). If you decide to try the semicompartmental modeling approach, let me know if I can be of further assistance. Ken Kowalski G.D. Searle Skokie, IL

Re: kinetic interpolation and effect compartments

From: Nick Holford Date: September 24, 1996 technical
From n.holford@auckland.ac.nz Tue Sep 24 14:39:53 1996 Subject: Re: kinetic interpolation and effect compartments I am bit puzzled by this reply. What do you mean by a "kinetic profile"? If you mean predicted concs at the times of each of effect observation this is not much help in using a parametric model for an effect compartment although it might be used for one of the semi-paramtric loop collapsing methods for estimating the equilibration half-time. I presume you do not mean a set of PK parameters such as CL, V, KA, because CLS does not deal with this kind of parameterisation. Or perhaps you mean that there are a set of parameters from CLS that can be used? If this is the case then an example control stream would be helpful. If one can use CLS to interpolate the predicted PK concs then it should be possible to use these with a differential equation defined model to predict effect cpt concs or use a physiological delay model (aka indirect response model). I have used a cubic splines with MKMODEL to interpolate individual PK data and then used a DE model to estimate effect cpt model parameters. It would be nice to see how to do this using CLS in the NONMEM environment. -- Nick Holford, Dept Pharmacology & Clinical Pharmacology University of Auckland, Private Bag 92019, Auckland, New Zealand email:n.holford@auckland.ac.nz tel:+64(9)373-7599x6730 fax:373-7556 http://www.phm.auckland.ac.nz/Staff/NHolford/nholford.html

RE: Re[2]: kinetic interpolation and effect compartments

From: Liao Date: September 25, 1996 technical
From LIAO@cosmos.prius.jnj.com Wed Sep 25 08:48:50 1996 Subject: RE: Re[2]: kinetic interpolation and effect compartments Kyungsoo: You may recall that I had asked if you can use the CLS in $DES block couple weeks ago. I am not sure the NONMEM example you gave will work. Basically, this is a hybrid model (a mixture of integrated and differential equations). In order to solve these equations, we need to define Cp(t) at each step of numerical integration of DF. Usually this step is much smaller than the PK/PD sampling interval. Can your CLS provide this Cp(t) in $DES? If you have CLS estimate prior to $DES, the Cp(t) is only defined at each observed time point.

Re: kinetic interpolation and effect compartments

From: Nick Holford Date: September 25, 1996 technical
From n.holford@auckland.ac.nz Wed Sep 25 16:06:15 1996 Subject: Re: kinetic interpolation and effect compartments Sam (and interested nmusers) > > Nick: > > I am interested in your cubic spline interpolation for PK/PD > modeling. Do you mind provide your NONMEM control stream file to > the Stanford's NONMEM repository ? (Adress: > ftp://pkpd.icon.palo-alto.med.va.gov/public/) Thanks! > > I had asked Kyungsoo if it is possible to use CLS in $DES, he said > no. There must be some way to implement this. > > Sam Liao > The cubic spline interpolation of PK for use with an effect compart model is implemented in MKMODEL. It is not a part of NONMEM. I have not yet heard from Kyungsoo about using CLS in $DES although I posted this question yesterday to nmusers. Did you see the question? -- Nick Holford, Dept Pharmacology & Clinical Pharmacology University of Auckland, Private Bag 92019, Auckland, New Zealand email:n.holford@auckland.ac.nz tel:+64(9)373-7599x6730 fax:373-7556 http://www.phm.auckland.ac.nz/Staff/NHolford/nholford.html

Re: using CLS with Differential Equations

From: Nick Holford Date: September 25, 1996 technical
From n.holford@auckland.ac.nz Wed Sep 25 16:18:40 1996 Subject: Re: using CLS with Differential Equations > As an example, suppose one wants to do PK/PD modeling given both PK and > PD data, using CLS for PK and an effect compartment for PD. If so, in > the first step, from PK data and CLS, one would obtain the individual > concentration predictions calculated at each effect observation time, > and save them under a new data item, say, CP. Then, in the second step, > from PD data and an effect compartment, one would use the NONMEM control > stream, whose fragment looks like the following, where DV denotes > the effect observation. > > > $INPUT ID TIME DV ... CP > $PK > KEO=THETA(1) > INPUT=CP > $DES > DADT(1)=KEO*(INPUT-A(1)) > > > Hope this helps. I am afraid not. The code above will not work properly because it assumes a fixed value for CP during the integration step One way to deal with this is to save individual estimates (posthoc) of the THETAs used by CLS in the output of the CLS run. Then read these values in as data. The values are then passed to CLS so that CLS can predict A(1) in the DES block. That way the DE solver can know A(1) at each time point that the DES subroutine is called. This can be at any time in the interval between two effect observation times. The question I have for you is can CLS be used in this way? Will PREDPP work if you embed the verbatim code that calls CLS in the DES block? -- Nick Holford, Dept Pharmacology & Clinical Pharmacology University of Auckland, Private Bag 92019, Auckland, New Zealand email:n.holford@auckland.ac.nz tel:+64(9)373-7599x6730 fax:373-7556 http://www.phm.auckland.ac.nz/Staff/NHolford/nholford.html

re: interpolation and effect compartments

From: Rik Schoemaker Date: September 25, 1996 technical
From rs@chdr.leidenuniv.nl Wed Sep 25 22:58:41 1996 Subject: re: interpolation and effect compartments Thanks everyone for the many extremely helpful comments (how I just love this user group!) I've been playing with Lew Sheiner's "connecting the dots" and it seems to work; each (effect) measurement is accompanied by a slope and intercept describing the straight line that connects adjacent concentration measurements (datafile constructed outside NONMEM). This looks somewhat like this: $PROB linear concentration interpolation vs effect $INPUT ID OCC ET TIME CONC EFF=DV SLO INT MDV $DATA DATA.NM $SUBROUTINES ADVAN6 TRANS1 TOL=4 $MODEL COMP=(EFFECT,DEFOBS) $PK TKEO = THETA(1)*EXP(ETA(1)) KEO = 0.693/TKEO E0 = THETA(2)*EXP(ETA(2)) SLOPE = THETA(3)*EXP(ETA(3)) B1 = SLO A1 = INT $DES CPE=A1+(B1*T) DADT(1) = KEO*(CPE-A(1)) $ERROR CP = A1 + (B1*TIME) CE = F PREDI = E0 - SLOPE*F Y=PREDI+EPS(1) $THETA (0,1) (200,450,600) 1 $OMEGA 1 1 1 $SIGMA 1000 $EST SIGDIGITS=3 PRINT=1 MAXEVAL 9999 NOABORT POSTHOC METHOD=0 $COV $TABLE ID OCC TIME CP CONC CE SPV PREDI FILE=RESULT.ASC NOHEADER NOPRINT with the datafile DATA.NM: 1 2 -10 0 .00 322.1 .00000 .00000 0 1 2 -5 0 . . .00000 .00000 1 1 2 30 30 .00 . .38000 -11.40000 1 1 2 31 33 . 329.8 .38000 -11.40000 0 1 2 46 48 . 316.2 .38000 -11.40000 0 1 2 60 60 11.40 . .19000 .00000 1 1 2 61 63 . 302.7 .19000 .00000 0 1 2 76 79 . 301.1 .19000 .00000 0 1 2 90 90 17.10 . .10333 7.80000 1 1 2 91 92 . 305.4 .10333 7.80000 0 etc 1 2 480 480 27.30 . -.00760 30.95000 1 1 2 481 486 . 364.7 -.00760 30.95000 0 1 2 1440 1440 20.00 . -.00760 30.95000 1 2 1 -10 0 .00 458.1 3.65000 .00000 0 2 1 -5 0 . . 3.65000 .00000 1 etc However, this approach requires a differential equation while Ken Kowalski's solution seems to provide an explicit expression for the effect compartment concentration without the need to calculate the interpolating lines. It is in a recursive form however (effect compartment concentration at time t as a function of effect compartment concentration at time t-1) and I have no idea how to implement this in NONMEM! Any clues? Rik Schoemaker CHDR, Leiden, NL

recursive PRED

From: Ruediger Port Date: September 26, 1996 technical
From R.Port@dkfz-heidelberg.de Thu Sep 26 01:05:45 1996 Subject: recursive PRED Rik Schoemaker's message of Sept 26 Hi Rik, I think for calculating the effect site concentration at time t as a function of the effect site concentration at time (t - 1) it's enough to store the current value of the effect site concentration at the end of $PRED as a variable which, at the next time point, is invoked at the beginning of $PRED. E.g.: $PRED IF (TIME.EQ.0) Celast = 0 ; or some other initial value Cenew = ... Celast ... (function of Celast and the PK parameters) effect = ... (function of Cenew and more parameters Y = ... effect ... EPS( ) Celast = Cenew This way, Celast should have the value of the effect site concentration at time (t - 1) when PRED is invoked at the next time point and, thus, could be used for calculating Ce at time t. Best wishes! Ruedi ------------------------------------------------------------------------------- R.E. Port, Dept. 0420, German Cancer Research Center P.O. Box 10 19 49, D-69009 Heidelberg phone: x49-6221 42-3385 -3347 fax: -3346 e-mail: r.port@dkfz-heidelberg.de *** From lewis Thu Sep 26 10:45:14 1996 To all: It *is* possible to use plines in $DES. I have some coding for this as part of my lecture notes in my Advanced PK course, and if I find the time, I will try to make this available. But, this is not necessary, as I wrote to Sam yesterday. A linear spline is adequate to represent Cp. In that case, one adds 2 columns to the data records. In the first one records the slope, and in the second, the intercept for the line connecting the bracketing observed Cp values. To be precise, imagine some data as follows: Time Cp observation Pd observation 0 0 - 3 - .5 5 10 - 7 - .7 10 15 - There will be 2 data records in the control stream, for the PD observation at time 3. The records will start like this: Time DV SLO INT 3 .5 2 0 7 .7 1 5 Because the line interpolating the Cp from time 0 to 10 has int=0, and slope =2, and the line interpolating the Cp from time=5 to 1ime=10 has intercept 5 and slope=1. The approriate time scale is the actual time scale (as it is in the time column, above). DES advances the solution of the differential equations using a variable called T. Thus, in $DES, if the "effect compartment" is A(1), you need have only the code DADT(1) = KEO*(INT+SLO*T - A(1)) to "convolve" the "connect the dots" interpolating function with the monoexponential of the effect comp[artment. Then in $ERROR, if A(1) is the default observation compartment, you write Y = PD_model(F) + error_model The DV are all PD observations, of course, and the step that computes the slopes and intercepts for each record can be done just once, before the nonmem run as these never change (the PK data is treated as fixed). Things get a little trickier (but not much) if the "0" time has a Cp (e.g., steady-state), since then you must initialize A(1) to the approriate (e.g., steady-state) Ce.

Re: Linear vs curvy splines

From: Nick Holford Date: September 26, 1996 technical
From n.holford@auckland.ac.nz Thu Sep 26 14:17:46 1996 Subject: Re: Linear vs curvy splines > > It *is* possible to use plines in $DES. > I have some coding for this as part of my lecture notes > in my Advanced PK course, and if I find the time, I will > try to make this available. We look forward to this... > > But, this is not necessary, as I wrote to Sam yesterday. > A linear spline is adequate to represent Cp. A linear spline *may* be adequate to represent Cp. I personally prefer the idea of a spline with some curvature to it so that I can have a guess at the peak Cp that might be higher than anything I actually measured. The linear interpolation is fine if you have plenty of points. What seemed to be attractive about using CLS is that it was curvy and had other constraints appropriate for describing a pharmacokinetic function which would help when Cp data was relatively sparse. When info is sparse I think one should use any prior info to assist. In this case I am pretty sure that a curvy spline is going to be better than a linear spline. -- Nick Holford, Dept Pharmacology & Clinical Pharmacology University of Auckland, Private Bag 92019, Auckland, New Zealand email:n.holford@auckland.ac.nz tel:+64(9)373-7599x6730 fax:373-7556 http://www.phm.auckland.ac.nz/Staff/NHolford/nholford.html

Re: kinetic interpolation and effect compartments

From: Rik Schoemaker Date: September 26, 1996 technical
From rs@chdr.leidenuniv.nl Thu Sep 26 23:53:39 1996 Subject: Re: kinetic interpolation and effect compartments Dear Ken, you wrote > Rik, > > You might want to consider the semicompartmental modeling approach that I have > been developing. The semicompartmental approach is a solution to Sheiner's > effect-site link model based on a noncompartmental model for Cp (piecewise > linear or log-linear model) and is easily implemented in standard nonlinear > regression packages such as NONLIN, NONMEM, and SAS NLIN. I was motivated to > develop this approach precisely for the reason you indicated in your message, > ie., when the kinetic profile is not accurately described by standard > compartmental pharmacokinetic models. The catch with my approach is that you > need to have enough times points at properly spaced intervals such that the AUC > can be accurately estimated by linear and/or log-linear trapezoidal rule > calculations. Here is the reference for this approach: > > Kowalski, K.G. and Karim, A. A Semicompartmental Modeling Approach for > Pharmacodynamic Data Assessment. J. Pharmacokin. & Biopharm., 23:307-322 > (1995). > > If you decide to try the semicompartmental modeling approach, let me know if I > can be of further assistance. > > Ken Kowalski > G.D. Searle > Skokie, IL > > But after my request for a recursive implementation (which from your paper I gather is necessary) Alison wrote as a response to Ruedi's reply: >Ruedi Port gives this example of a recursive $PRED: > >$PRED > > IF (TIME.EQ.0) Celast = 0 ; or some other initial value > Cenew = ... Celast ... (function of Celast and the PK parameters) > effect = ... (function of Cenew and more parameters > Y = ... effect ... EPS( ) > Celast = Cenew > >This can only work with individual data, i.e., when there are no >inter-individual (population) etas. > >But Rik's code was for population data. > >Maybe someday NM-TRAN will be able to handle a recursive $PRED, >but this is far off (not even with NONMEM V). > >It is necessary to write one's own PRED for the recursive >case with population data. If the functions are relatively simple >and the dosing is simple, this is not so very difficult a task. >Information in the User's Guides (I and VI) would be helpful. > >Alison Boeckmann > Does this mean that the only way to implement it in NONMEM is by using a differential equation in connection with slopes and intercepts for the interpolating straight lines? Or can you write down an explicit solution after all, since you say that it is easily implemented in NONMEM? Kindest regards, Rik Schoemaker, CHDR, Leiden, NL

recursive PRED

From: Ruediger Port Date: September 27, 1996 technical
From R.Port@dkfz-heidelberg.de Fri Sep 27 03:35:30 1996 Subject: recursive PRED Rik Schoemaker's message of Sept 26 My message of Sept 26 including this idea for a recursive $PRED > IF (TIME.EQ.0) Celast = 0 ; or some other initial value > Cenew = ... Celast ... (function of Celast and the PK parameters) > effect = ... (function of Cenew and more parameters > Y = ... effect ... EPS( ) > Celast = Cenew Alison's message of Sept 26 Hi Alison, Thanks to your comment I see that the above code won't work with population data, at least when the FO method is used. I'm wondering whether it could be applicable with the FOCE method. What is your answer? Thanks! Ruedi ------------------------------------------------------------------------------- R.E. Port, Dept. 0420, German Cancer Research Center P.O. Box 10 19 49, D-69009 Heidelberg phone: x49-6221 42-3385 -3347 fax: -3346 e-mail: r.port@dkfz-heidelberg.de

recursive PRED

From: Ruediger Port Date: September 27, 1996 technical
From R.Port@dkfz-heidelberg.de Fri Sep 27 03:47:36 1996 Subject: recursive PRED Rik Schoemaker's message of Sept 26 My message of Sept 27 including this idea for a recursive $PRED > IF (TIME.EQ.0) Celast = 0 ; or some other initial value > Cenew = ... Celast ... (function of Celast and the PK parameters) > effect = ... (function of Cenew and more parameters > Y = ... effect ... EPS( ) > Celast = Cenew Alison's message of Sept 26 My message of Sept 27 > Hi Alison, > > Thanks to your comment I see that the above code won't work with population > data, at least when the FO method is used. I'm wondering whether it could be > applicable with the FOCE method. What is your answer? Hi Alison, of course, for FOCE, I was thinking of a code that includes eta's: IF (TIME.EQ.0) Celast = 0 ; or some other initial value Cenew = ... Celast ... (function of Celast, the mean population PK parameters, and some eta's) effect = ... (function of Cenew, more parameters (more eta's)) Y = ... effect ... EPS( ) Celast = Cenew What do you think? Thanks! Ruedi ------------------------------------------------------------------------------- R.E. Port, Dept. 0420, German Cancer Research Center P.O. Box 10 19 49, D-69009 Heidelberg phone: x49-6221 42-3385 -3347 fax: -3346 e-mail: r.port@dkfz-heidelberg.de

CLS Program

From: Ekaterina Gibiansky Date: October 01, 1996 technical
From KATYAG@otsuka.oapi.com Tue Oct 1 16:14:16 1996 Subject: CLS Program Kyungsoo and others who have the experience with CLS program, can the program be used with more complex data than in the examples provided with the program? Specifically: 1. What if plasma concentrations spread all over the dosing interval, but for each particular individual observations are concentrated in a small range, say, one to two hours. May I expect reasonable estimates of AUC? If yes, how many break points to use, where ? 2. What if there are no observations at 0 or/and at the end of a dosing interval for steady state. Should I still have break points there? Is there another way to constrain the spline at these points? 3. If there is a positive answer to the previous question, then another complication: can the steady state requirement at times 0 and T be combined with the requirement of a decreasing tail at times >T ? I.e., if being at a steady state a patient skips the last dose and has a plasma measurement later. Is there a way to handle it? Thanks in advance. Katya Gibiansky Otsuka America Pharmaceuticals, Inc. 2440 Research Blvd, Rockville, MD 20850 USA E-mail: katyag@otsuka.oapi.com Phone: (301)-527-4911 Fax: (301)-212-8582
From sambol@itsa.ucsf.edu Tue Oct 1 17:51:32 1996 Subject: Re: kinetic interpolation and effect compartments Dear Rik, Some more comments regarding kinetic interpolation and effect compartments. We ran into the same problem (erratic conc.-time profile, but need to obtain predicted "effect site" concentrations to feed into PD model). We developed an empiric convolution method to obtain predictions of "effect site" concentration at time points corresponding to PD measurements. The method was used in the context of a population analysis (using NONMEM) of concentration vs. pain relief score of an analgesic. (Liu & Sambol, Pharm. Res., 12: 438-445, 1995; see also Liu & Sambol, Bulletin of the International Statistical Institute, 50: 716-717, 1995) Our goal is essentially the same as that which Lew described, but the implementation involves an explicit solution. The procedure involves a piecewise linear approximate to the concentration-time profile and convolution, carried out exactly, based on this approximate. The feature of this implemenation we like in particular is that it can be performed within $PRED. The general expression for this equation is provided in the paper cited above. An example of the relevant NONMEM code with time points 0=T0<T1<T2<T3 and observed plasma concentrations C1 and C3 (without C2, and with the desire to predict Ce at T2), is as follows: ------------ $PRED ... A1=0 B1=C1/T1 IF (TIME.LE.T1) THEN CE=KEO*(B1*(KEO*T1-1.0+EXP(-KEO*T1))/(KEO**2)) ENDIF IF(TIME.LE.T3.AND.TIME.GT.T1) THEN B2=(C3-C1)/(T3-T1) A2=C3-B2*T3 CE=B1*(KEO*TIME-1.0+EXP(-KEO*TIME))/(KEO**2) CE=CE+(A2-A1)*(1.0-EXP(-KEO*(TIME-T1)))/KEO CE=KEO*(CE+(B2-B1)*(KEO*T-1.0-(KEO*T1-1.0)*EXP(-KEO*(TIME-T1)))/(KEO**2)) ENDIF ... ------------- Note: Cn and Tn are data fields (read into NONMEM with either $DATA or verbatim code), although you don't need records for Tns and Cns where PK data are missing (i.e., measurements like C2 in the example). You also need a TIME field in $DATA with values corresponding to effect measurements. You can handle the fact that different individuals may have different numbers of concentration-time data points using "IF" statements. Finally, as you can imagine, if the distance between concentration observations is large (at certain locations), this method may not work so well. Chui Y Liu and Nancy Sambol Nancy C. Sambol, Pharm.D. Department of Biopharmaceutical Sciences University of California San Francisco San Francisco, CA 94143-0446 phone: 415-476-8884 fax: 415-476-9330