Этот пример показывает, как сгенерировать и симулировать виртуальных пациентов, используя SimBiology Model Analyzer приложение. В этом примере виртуальный пациент представлен как единая реализация параметров модели. Пример использует модель роста опухоли [1], чтобы исследовать изменчивость некоторых параметров модели, которые влияют на рост опухоли, и исследовать различные схемы дозирования, чтобы контролировать его.
Этот пример требует Statistics and Machine Learning Toolbox™.
Модель, используемая в этом примере, является SimBiology® реализация фармакокинетической/фармакодинамической (PK/PD) модели Simeoni et al. Он количественно определяет эффект противоопухолевых препаратов на кинетику роста опухоли из исследований на животных in vivo. Фармакокинетика препарата описывается двухкамерной моделью с IV болюсным дозированием болюсного внутривенного введения и линейным элиминацией (ke) из Central отсека. Рост опухоли является двухфазным процессом с начальным экспоненциальным ростом с последующим линейным ростом. Скорость роста пролиферирующих опухолевых камер описывается как
L0, L1, и Ψ являются параметрами роста опухоли, x1 - вес распространяющихся опухолевых клеток, и w общий вес опухоли. При отсутствии каких-либо лекарств опухоль состоит только из пролиферирующих камер, то есть w = x1
. В присутствии противоопухолевого агента часть пролиферирующих камер превращается в непролиферирующие камеры. Скорость этого преобразования принимается в зависимости от концентрации лекарственного средства в плазме и k2 фактора эффективности. Непролиферирующие камеры x2 пройти ряд транзитных стадий (x3 и x4) и в конечном счете очищаются от системы. Прохождение транзитных отсеков моделируется как процесс первого порядка с константой скорости k1.
Модель SimBiology вносит эти коррективы в фармакодинамику роста опухоли:
Вместо того, чтобы определять вес опухоли как сумму x1, x2, x3 и x4, модель определяет вес опухоли по реакции, названной Increase, null → tumor_weight
, со скоростью реакции .
tumor_weight - общий вес опухоли, x1 - вес пролиферирующих опухолевых камер, и L0, и L1 - параметры роста опухоли.
Точно так же модель определяет уменьшение массы опухоли реакцией под названием Decay, tumor_weight → null
со скоростью реакции k1*x4
. Постоянное k1 является параметром прямой скорости, и x4 является последним видом в серии переходных сокращений веса опухоли.
ke является функцией зазора и объема центрального отделения: ke = Cl_Central/Central
.
Виртуальное население в этом примере представлено виртуальными пациентами, заданными как отдельные наборы значений параметров для конкретного пациента. Предположим, что, основываясь на предшествующих знаниях или анализе чувствительности модели, рост опухоли чувствителен к этим параметрам модели: L0, L1, w0, k1, k2 и Cl_Central. Принимая, что эти биологические параметры следуют логнормальному распределению (и должны всегда быть положительными), можно сгенерировать виртуальных пациентов, которые представляют различные значения параметров, взятые из lognormal распределения суставов.
Lognormal distribution использует эти параметры:
mu - Среднее значение логарифмических значений
sigma - Стандартное отклонение логарифмических значений
Для получения дополнительной информации смотрите Lognormal Distribution (Statistics and Machine Learning Toolbox).
В этом примере sigma принято равным 0,01 для всех параметров. Для небольшого sigma значения среднее значение логарифмического распределения приблизительно равно логарифмическому значению модели. Следовательно, этот пример принимает, что mu для каждого параметра является логарифмической единицей значения модели.
В этом примере противораковый препарат используется для контроля роста опухоли. Каждый виртуальный пациент получает одинаковое количество препарата по одному графику. Реакция роста опухоли моделируется для каждого пациента. Затем количества доз варьируют, чтобы найти область значений суммарных доз, которые могут подавить рост опухоли многих виртуальных пациентов в населении.
Следующие шаги показывают, как получить значения выборки из распределения вероятностей соединений для параметров модели, которые чувствительны к росту опухоли, чтобы представлять группу виртуальных пациентов.
В MATLAB® командная строка, загрузите модель (m1) путем ввода:
sbioloadproject tumor_growth_vpop_sa.sbproj
Откройте модель в приложении SimBiology Model Analyzer путем ввода:
simBiologyModelAnalyzer(m1)
Также можно открыть приложение, нажав SimBiology Model Analyzer на вкладке Apps. Затем загрузите модель из приложения, выбрав Model > Import Model from MATLAB
.
Создайте программу для извлечения значений выборки из lognormal распределения суставов для чувствительных к росту опухоли параметров: L0, L1, w0, k1, k2 и Cl_Central.
На вкладке Home выберите Program > Generate Samples. Откроется новая программа.
В разделе Variants на Model шаге программы щелкните опцию, чтобы просмотреть варианты, которые будут применены. Затем выберите parameterEstimates, которая содержит предполагаемые значения параметров.
На Generate Samples шаге нажмите кнопку plot, чтобы отключить генерацию графика по умолчанию. Вы постройте график выборок позже.
В Parameter Set разделе установите Type равным values from a distribution
.
Установите Number Of Samples значение 25
.
Дважды кликните пустую камеру в Component Name столбце и введите L0.
Измените Distribution на L0 на Lognormal
. По определению mu является средним значением логарифмических значений. Итак, измените mu на -0.5644, что log(Current Value)
или log(0.5687)
. Измените sigma на 0,01. Для небольшого sigma значения среднее значение логнормального распределения приблизительно равно log(Current Value)
. Для получения дополнительной информации смотрите Lognormal Distribution (Statistics and Machine Learning Toolbox).
Дважды кликните пустую камеру в Component Name столбце и добавьте L1. Повторите тот же процесс, чтобы изменить распределение на lognormal и задать mu и sigma значения. Точно так же добавьте w0, k1, k2 и ke. В этой таблице перечислены соответствующие mu значения этих параметров, которые можно скопировать и вставить в программное обеспечение. Измените sigma на 0,01 для каждого параметра.
Параметр | Текущее значение | mu или журнал (текущее значение) |
---|---|---|
L0 | 0.5687 | -0.5644 |
L1 | 0.2690 | -1.3130 |
w0 | 1 | 0 |
k1 | 0.4643 | -0.7672 |
k2 | 8.4200e-4 | -7.0797 |
Cl_Central | 0.6672 | -0.4047 |
Для Sampling используйте опцию по умолчанию: random sampling with rank correlation matrix
, где матрица является матрицей тождеств.
Следующий рисунок показывает раздел Parameter Set со всеми сконфигурированными параметрами. Красные цифры соответствуют предыдущим шагам.
(Необязательно) Сохраните проект под новым именем, выбрав Save > Save Project As на вкладке «Вкладке Home».
Добавьте информацию о дозах в качестве другого набора параметров путем определения различной суммарной дозы - в частности, шести суммарных доз, которые равномерно расположены между 5 и 35 мг. Затем объедините дозы с первым набором параметров (виртуальными пациентами) с помощью метода Декартовой комбинации. Этот метод объединяет каждого виртуального пациента с каждой суммарной дозой, чтобы сгенерировать в общей сложности 150 итераций (или сценариев симуляции). Для получения дополнительной информации смотрите Объединить сценарии симуляции в SimBiology.
В нижней части Generate Samples шага нажмите Add parameter set to scan. Появляется другой набор параметров (PS2).
Дважды кликните пустую камеру в Component Name столбце и введите interval
. Появится список вариантов. Выберите interval_dose.Amount
.
Установите Type значение Individual Values
и установите Values равным [5:6:35]
.
В верхней части Generate Samples шага под Parameter Set Combinations убедитесь, что для типа Combination задано значение cartesian
для объединения PS1
и PS2
.
Как только вы определили lognormal распределение соединений для параметров модели, области значений суммарных доз и комбинированного метода, можно запустить шаг, чтобы сгенерировать различные параметры и комбинации доз.
Нажмите кнопку Run this program step, чтобы сгенерировать выборки.
Совет
Каждый шаг выполнения программы можно запустить отдельно. Шаг выполнения включает кнопку Run рядом с именем шага. Выполнение отдельного шага особенно полезно, если программа содержит несколько шагов, и необходимо увидеть промежуточные результаты определенного шага. При этом можно внести необходимые корректировки перед запуском следующего шага или всей программы. Чтобы запустить программу целиком, нажмите кнопку Run на вкладке Home.
По умолчанию приложение хранит сгенерированные samples в LastRun папке программы.
Визуализируйте сгенерированные выборки. На панели Browser слева разверните папку Program1. Разверните папку LastRun и нажмите samples. В разделе Plot на вкладке Home нажмите Plot Matrix. График показывает распределение каждого параметра, варьируемого вокруг его значения модели, за исключением суммарных доз, которые появляются в равномерной области значений. Обратите внимание, что ваш график может отличаться от графика, показанного здесь, из-за случайности.
Примечание
Вы можете включить генерацию графика по умолчанию, чтобы автоматически отображать график при каждом запуске шага. Для этого нажмите кнопку plot в верхней части Generate Samples шага. Имейте в виду, что, когда на шаге программы много выборок, построение графиков всех выборок может быть длительным.
Отобразите сгенерированные виртуальные пациенты и комбинации доз численно в табличном формате. На вкладке Home нажмите New Datasheet. Из LastRun папки программы перетащите samples в новую таблицу данных. Каждая строка таблицы представляет сценарий симуляции с различными значениями параметров модели и суммарными дозами.
Как только у вас готовы выборки, вы можете моделировать модель, чтобы исследовать рост опухоли виртуальных пациентов, получающих различные суммарные дозы.
Вернитесь к программе, щелкнув вкладку Program1.
Щелкните значок (+) в верхнем левом углу и нажмите кнопку Simulation.
На шаге настройки Model в разделе Variants убедитесь, что выбран parameterEstimates. В States To Log разделе выберите опцию для просмотра состояний, а затем снимите все флажки, кроме [Tumor Growth Model].tumor_weight.
В верхней части Simulation шага (прокрутка вниз, чтобы увидеть этот шаг), нажмите кнопку plot, чтобы отключить генерацию графика по умолчанию.
Нажмите кнопку Run this program step, чтобы симулировать модель.
Приложение моделирует сгенерированные сценарии с Generate Samples шага, который вы запускали ранее. Вам не нужно перезапускать шаг.
Когда моделирование заканчивается, приложение сохраняет results симуляции в папке LastRun.
В папке LastRun на панели Browser нажмите results. В разделе Plot на вкладке Home нажмите time. Каждая линия на графике представляет профиль веса опухоли каждого сценария симуляции.
График показывает, что профили веса опухоли появляются в группах, соответствующих различным суммарным дозам. Чтобы лучше визуализировать это наблюдение, можно срезать данные по суммарным дозам. Для этого можно использовать таблицу Slice Data, содержащую сводные данные переменных среза, которые в настоящее время используются в графике, и соответствующие им стили графика.
Совет
Графики поддерживаются данными, которые в настоящее время присутствуют в рабочей области приложения. Графики не являются снимками файловой системы. Когда данные (экспериментальные данные или результаты симуляции) удаляются или изменяются, графики также обновляются в соответствии с изменениями в базовых данных.
В таблице Slice Data дважды кликните мышью L0
и выберите interval_dose Amount
.
Совет
Можно срезать данные с помощью различных переменных среза. Каждая переменная среза появляется на графике с другим визуальным стилем (или каналом), таким как цвет, стиль линии и положение осей. Переменные среза могут представлять атрибуты данных, такие как отклики или сценарии (то есть группы или выполняемые симуляции). Переменные среза также могут быть ковариатами или значениями параметров, связанными со сценарием или группой. По умолчанию приложение предоставляет переменные среза для различных переменных отклика и различных сценариев в нанесенных на график данных. Можно добавить другие визуальные стили (или каналы) для наборов откликов и связанных параметрических или ковариатных переменных.
Дважды кликните пустую камеру в Style столбце и выберите Grid
.
Приложение обновляет Plot2, чтобы показать каждую суммарную дозу на собственных осях.
График показывает, что различные суммарные дозы играют критическую роль в росте опухоли виртуальных пациентов. Из этого графика вы можете получить некоторые начальные сведения об оптимальных суммарных дозах и планировании дозы. Например, предположим, что целевой вес опухоли достигает 0,5 грамма. Результаты симуляции показывают, что суммарная доза 23 миллиграмма или больше может достичь этой цели (можно подстроить область значений суммарных доз дополнительно, изменив ее на Generate Samples этапе программы). Вы можете использовать эту информацию в сочетании с существующей информацией о токсичности препарата (не обсуждаемой в этом примере), чтобы получить режим дозирования, который удовлетворяет как требованиям эффективности, так и безопасности, например.
Вы также можете повторно обработать результаты симуляции, чтобы взглянуть на корреляцию между суммарными дозами и весом опухоли другим способом.
Вернитесь к программе, щелкнув вкладку Program1. Щелкните значок (+) в верхней части программы и выберите Calculate Observables под Postprocessing.
Под Postprocessing: Calculate Observables шагом появляется Simulation шаг.
Дважды кликните первую камеру в Name столбце. Введите stat1
.
В столбце Expression введите следующее выражение: min(vertcat(nan,tumor_weight(time>=7)))
. Экспрессия возвращает минимальный вес опухоли после первой дозы, применяемой на 7 день из каждой симуляции.
Примечание
Каждый раз, когда вы добавляете выражение в таблицу Observables на шаге, выражение автоматически добавляется как observable
объект соответствующей модели.
В столбце Units введите gram
.
Повторите шаг симуляции, нажав кнопку run в верхней части шага. Приложение моделирует и оценивает stat1
выражение для каждого сценария симуляции или итерации и генерирует следующий график. Ось x представляет параметры, а ось y - минимальный вес опухоли. Каждая точка представляет сценарий симуляции. График также показывает, что нет корреляции между размером опухоли и значениями различных параметров модели, кроме суммарных доз (крайнего правого подграфика).
Отображение только подграфика суммарной дозы. В Plot Settings снимите все флажки в таблице Parameters, кроме interval_dose Amount
.
В Grid разделе выберите both, чтобы показать сетки для осей x - и y -.
График подтверждает, что более высокие суммарные дозы лучше контролируют рост опухоли. Эти начальные результаты симуляции показывают, что суммарные дозы 23 мг или больше могут достигать гипотетического порога массы опухоли 0,5 г или ниже. Вы можете дополнительно настроить область значений суммарных доз на Generate Samples этапе.
Совет
Чтобы интерактивно исследовать нанесенные на график данные, экспортируйте график в отдельное окно рисунка, выбрав Export Plot из контекстного (щелчка правой кнопкой мыши) меню графика.
В этом примере показано, как сгенерировать выборки для представления виртуальных пациентов и выполнить симуляции Монте-Карло, чтобы исследовать ответ модели на рост опухоли при различных суммарных дозах. Результаты симуляции указывают область значений суммарных доз и графиков доз, которые контролируют рост опухоли для различных виртуальных пациентов. Можно дополнительно настроить схемы дозирования так, чтобы дозы оставались в пределах некоторых известных порогов эффективности и токсичности. Для аналогичного анализа смотрите пример Схемы дозирования скана с использованием приложения SimBiology Model Analyzer.
[1] Simeoni, M., P. Magni, C. Cammia, G. De Nicolao, V. Croci, E. Pesenti, M. Germani, I. Poggesi, and M. Rocchetti. 2004. Прогнозирующее фармакокинетико-фармакодинамическое моделирование кинетики роста опухоли на ксенотрансплантатных моделях после введения противоопухолевых агентов. Исследования рака. 64:1094-1101.
Observable
| SimBiology Model Analyzer