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
