Подгонка поверхности к биофармакеутическим данным

Программное обеспечение Curve Fitting Toolbox™ предоставляет некоторые примеры данных для исследования взаимодействия анестезийных препаратов. Можно использовать приложение Аппроксимирование Кривыми, чтобы подгонять поверхности отклика к этим данным для анализа эффектов взаимодействия с лекарственными средствами. Модели поверхности ответа обеспечивают хороший метод для понимания фармакодинамического взаимодействия комбинаций лекарств.

Эти данные основаны на результатах в этом документе:

  • Kern SE, Xie G, White JL, Egan TD. Опиоидно-гипнотическая синергия: Поверхностный анализ реакции на фармакодинамическое взаимодействие пропофол-ремифентанил у добровольцев. Анестезиология 2004; 100: 1373–81.

Анестезия обычно представляет собой процесс с двумя лекарственными средствами, состоящий из опиоида и седативного гипнота. Этот пример использует Пропофол и Реминфентанил в качестве прототипов класса препарата. Их взаимодействие измеряется четырьмя различными показателями обезболивающего и седативного ответа на комбинацию препарата. Алгометрия, тетания, седация и лариингоскопия включают четыре меры суррогатных лекарственных эффектов при различных комбинациях концентраций пропофола и реминфентанила.

Для интерактивного создания поверхностей отклика для этой комбинации лекарств:

  1. Используйте браузер Текущей папки, чтобы найти и просмотреть папку matlab\toolbox\curvefit\curvefit.

  2. Щелкните файл правой кнопкой мыши OpioidHypnoticSynergy.txt, и выберите Import Data. Откроется мастер импорта.

    1. Оставьте значение Column delimiters по умолчанию Tab и Column vectors на вкладке Импорт.

      Проверьте шесть переменных, выбранных для импорта: Пропофол, Реминфентанил, Алгометрия, Тетани, Седация и Лариингоскопия.

    2. На вкладке Импорт, в разделе Импорт, нажмите Import Selection, чтобы импортировать данные доза-реакция в MATLAB® рабочей области.

    Также можно выполнить программный импорт данных. Введите следующий код, чтобы считать данные о дозе-отклике из файла в рабочее пространство MATLAB.

    data = importdata( 'OpioidHypnoticSynergy.txt' );
    Propofol      = data.data(:,1);
    Remifentanil  = data.data(:,2);
    Algometry     = data.data(:,3);
    Tetany        = data.data(:,4);
    Sedation      = data.data(:,5);
    Laryingoscopy = data.data(:,6);
    
  3. Чтобы создать поверхности отклика, необходимо выбрать два препарата для входов X и Y и один из четырех эффектов для выхода Z. После загрузки переменных в рабочую область можно либо открыть инструмент и выбрать переменные в интерактивном режиме, либо задать начальные переменные подгонки с cftool команда.

    Введите следующее, чтобы открыть приложение Аппроксимирование Кривыми (при необходимости) и создать новую поверхность отклика для Algometry:

    cftool(Propofol, Remifentanil, Algometry)

    Проверьте приложение Аппроксимирование Кривыми X, Y, и Z входной и выходной элементы управления. Инструмент отображает выбранные переменные Propofol, Remifentanil и Algometry, с поверхностной подгонкой. Аппроксимация по умолчанию является интерполирующей поверхностью, которая проходы через данные точки.

  4. Создать копию текущей поверхности подгонки можно следующим образом:

    1. Выбор Fit > Повторяющиеся "Current Fit Name".

    2. Щелчок правой кнопкой мыши по подгонке в Table of Fits и выбор Duplicate.

  5. Выберите тип Custom Equation подгонки из выпадающего списка, чтобы задать собственное уравнение для подгонки данных.

  6. Выберите и удалите пример пользовательского текста уравнения в поле редактирования.

    Можно использовать пользовательское поле редактирования уравнения, чтобы ввести код MATLAB, чтобы определить модель. Уравнение, которое определяет модель, должно зависеть от входных переменных x и y и список фиксированных параметров, оценочных параметров или обоих.

    Модель из статьи:

    E=Emax.(CAIC50A+CBIC50B+α.CAIC50A.CBIC50B)n1+(CAIC50A+CBIC50B+α.CAIC50A.CBIC50B)n

    где CA и CB являются концентрациями лекарственного средства, и IC50A, IC50B, альфа и n являются коэффициентами, которые должны быть оценены.

    Вы можете определить это в коде MATLAB как

    Effect = Emax*( CA/IC50A + CB/IC50B + alpha*( CA/IC50A )...
             .* ( CB/IC50B ) ).^n ./(( CA/IC50A + CB/IC50B + ...
             alpha*( CA/IC50A ) .* ( CB/IC50B ) ).^n  + 1);

    Указание инструменту, какие переменные подгоняются и какие параметры оцениваются, требует переписывания имен переменных CA и CB на x, и y. Вы должны включать x и y при вводе пользовательского уравнения в поле редактирования. Предположим Emax = 1 потому что выход эффекта нормирован.

  7. Введите следующий текст в поле редактирования пользовательского уравнения.

    ( x/IC50A + y/IC50B + alpha*( x/IC50A ) .* ( y/IC50B ) ).^n
      ./(( x/IC50A + y/IC50B + alpha*( x/IC50A ) .* 
      ( y/IC50B ) ).^n  + 1);

    Приложение Аппроксимирование Кривыми подбирает поверхность к данным с помощью пользовательской модели уравнения.

  8. Установите некоторые опции подгонки, нажав Fit Options под пользовательским уравнением.

    В диалоговом окне Опции подгонки (Fit Options):

    1. Установите Robust значение Lar

    2. Установите alpha StartPoint равной 1, а нижнюю границу равную -5.

    3. Оставьте другие значения по умолчанию и нажатие кнопки Close.

      Инструмент переходит к новым опциям.

  9. Проверьте панель Results. Просмотрите (и, опционально, скопируйте) любой из следующих результатов:

    • Моделирующее уравнение

    • Значения оцененных коэффициентов

    • Статистика качества подгонки

  10. Отобразите график невязок, чтобы проверить распределение точек относительно поверхности, нажав кнопку на панели инструментов или выбрав View > Residuals Plot.

  11. Чтобы сгенерировать код для всех подгонок и графиков в вашем Аппроксимировании кривыми сеанса приложения, выберите File > Generate Code.

    Приложение Аппроксимирование Кривыми генерирует код из вашего сеанса и отображает файл в редакторе MATLAB. Файл включает все подгонки и графики в текущем сеансе.

  12. Сохраните файл с именем по умолчанию, createFits.m.

  13. Можно воссоздать свои подгонки и графики, вызвав файл из командной строки (с исходными данными или новыми данными в качестве входных параметров). В этом случае ваши исходные данные все еще появляются в рабочей области.

    Выделите первую линию файла (исключая слово function), и оценить его путем либо щелчка правой кнопкой мыши и выбора Evaluate Selection in Command Window, нажатия F9, либо копирования и вставки следующего в командную строку:

    [fitresult, gof] = createFits(Propofol,...
     Remifentanil, Algometry)

    Функция создает окно рисунка для каждой подгонки, имеющегося в сеансе. На пользовательском рисунке показаны как поверхность, так и остатки графиков, которые вы создали в интерактивном режиме в приложении Аппроксимирования кривыми.

  14. Создайте новую подгонку к отклику Tetany вместо Алгометрии путем ввода:

    [fitresult, gof] = createFits(Propofol,...
     Remifentanil, Tetany)

    Вы должны отредактировать файл, если вы хотите, чтобы новая метка ответа на графиках. Можно использовать сгенерированный код в качестве начальной точки для изменения моделей поверхности и графиков в соответствии с вашими потребностями. Список методов, которые можно использовать, см. sfit.

Чтобы увидеть, как программно подгонять поверхности к той же задаче примера, смотрите Surface Fitting With Custom Equations to Biopharmaceutical Data.