Code covered by the BSD License  

Highlights from
Response Surface Models of Drug Interactions with Curve Fitting Toolbox

image thumbnail

Response Surface Models of Drug Interactions with Curve Fitting Toolbox

by

 

20 Mar 2009 (Updated )

"Response Surface Models of Drug Interactions with Curve Fitting Toolbox" webinar demo files

Response Surface Analysis of Propofol-Remifentanil using the Curve-Fitting Toolbox

Response Surface Analysis of Propofol-Remifentanil using the Curve-Fitting Toolbox

Contents

The aim of this demo is to characterize the "complete spectrum of interaction" between opiods and hypnotics, using propofol and remifentanil as drug class prototypes [1]. 4 different surrogate drug effects measures for analgesia and hypnosis were used to understand the analgesic and sedative effects combined drug action – these are tibial pressure algometry, electrical tetany, response to laryngoscopy and an alertness/sedation score. The effects were modelled using the following drug interaction model.

References: [1] Kern SE, Xie G, White JL, Egan TD. Opioid-hypnotic synergy. Anesthesiology 2004; 100: 1373–81.

% Copyright 2009, The MathWorks, Inc.

close all, clear all, clc

Import response data

ResponseData.xls contains measures of surrogate drug effects at various concentration combinations of propofol and reminfentanil. Import the data as a dataset object.

data = dataset('xlsfile', 'ResponseData.xls');

Characterize the response surfaces for 4 surrogate effects

Use the drug interaction model published in [1] to characterize the response surface for each of the 4 measured effects - Algometry, Tetany, Sedation and Laryingoscopy.

EffectName = {'Algometry'    'Tetany'    'Sedation'    'Laryingoscopy'};

for i = 1:length(EffectName)

    [fitresults(i), gof(i)] = myCreateSurfaceFit(data.Propofol, data.Remifentanil, data.(EffectName{i}), EffectName{i}) ;  %#ok<SAGROW>
    disp([' Model for ', EffectName{i}, '  is '])
    disp(fitresults{i})
    disp('... and GOF is ')
    disp(gof(i))

end
 Model for Algometry  is 

     General model:
     ans(x,y) = combinedEffect(x,y, IC50A, IC50B, alpha, n)
     Coefficients (with 95% confidence bounds):
       IC50A =       4.148  (4.123, 4.174)
       IC50B =       9.044  (8.971, 9.118)
       alpha =       8.501  (8.316, 8.687)
       n =       8.289  (8.132, 8.447)

... and GOF is 
           sse: 0.0842
       rsquare: 0.9991
           dfe: 393
    adjrsquare: 0.9991
          rmse: 0.0146

 Model for Tetany  is 

     General model:
     ans(x,y) = combinedEffect(x,y, IC50A, IC50B, alpha, n)
     Coefficients (with 95% confidence bounds):
       IC50A =       4.544  (4.522, 4.567)
       IC50B =       21.22  (21.04, 21.4)
       alpha =       14.94  (14.67, 15.21)
       n =       6.132  (6.055, 6.209)

... and GOF is 
           sse: 0.0537
       rsquare: 0.9993
           dfe: 393
    adjrsquare: 0.9993
          rmse: 0.0117

 Model for Sedation  is 

     General model:
     ans(x,y) = combinedEffect(x,y, IC50A, IC50B, alpha, n)
     Coefficients (with 95% confidence bounds):
       IC50A =       1.843  (1.838, 1.847)
       IC50B =        13.7  (13.67, 13.74)
       alpha =       1.986  (1.957, 2.015)
       n =       44.27  (42.56, 45.98)

... and GOF is 
           sse: 0.0574
       rsquare: 0.9994
           dfe: 393
    adjrsquare: 0.9994
          rmse: 0.0121

 Model for Laryingoscopy  is 

     General model:
     ans(x,y) = combinedEffect(x,y, IC50A, IC50B, alpha, n)
     Coefficients (with 95% confidence bounds):
       IC50A =       5.192  (5.177, 5.207)
       IC50B =       37.77  (37.58, 37.97)
       alpha =       19.67  (19.48, 19.86)
       n =          37  (35.12, 38.87)

... and GOF is 
           sse: 0.1555
       rsquare: 0.9982
           dfe: 393
    adjrsquare: 0.9982
          rmse: 0.0199

Assessment of model predictions

Evaluate the surface fit at certain characteristic drug-combination to verify that the model prediction are sensible.

valData = dataset('xlsfile', 'ValidationData.xls');

% Evaluate surface at concentration in validation data
valData.Algometry       = fitresults{1}(valData.Propofol, valData.Remifentanil) ;
valData.Tetany          = fitresults{2}(valData.Propofol, valData.Remifentanil) ;
valData.Sedation        = fitresults{3}(valData.Propofol, valData.Remifentanil) ;
valData.Laryingoscopy   = fitresults{4}(valData.Propofol, valData.Remifentanil) ;

valData
valData = 

    Propofol    Remifentanil    Algometry      Tetany         Sedation       Laryingoscopy
     0          0                         0              0              0              0  
     2          0                 0.0023574      0.0064788        0.97402    4.6985e-016  
     5          0                   0.82456        0.64246              1        0.19851  
    10          0                   0.99932        0.99213              1              1  
     0          1               1.1814e-008    7.3138e-009    4.6612e-051    4.4779e-059  
     0          2               3.6958e-006    5.1296e-007    9.8995e-038    6.1345e-048  
     0          4                 0.0011549    3.5975e-005    2.1025e-024    8.4039e-037  
     2          2                   0.98102        0.70638              1      0.0015253  
     5          2                   0.99998        0.99795              1              1  
    10          2                         1        0.99997              1              1  

Contact us