Симулируйте гетеротримерный цикл G-белка дрожжей

В этом примере показано, как сконфигурировать настройки симуляции, добавить событие в модель, чтобы вызвать основанное на времени изменение, сохранить и построить график результатов симуляции. Этот пример использует модель, описанную в Модели гетеротримерного G-белкового цикла дрожжей, чтобы проиллюстрировать симуляцию модели.

Загрузите gprotein.sbproj проект, который включает переменную m1, SimBiology® объект модели.

sbioloadproject gprotein

Установите решатель симуляции равным ode15s и установите время остановки 500 путем редактирования SolverType и StopTime свойства configset object сопоставленный с m1 модель.

csObj = getconfigset(m1);
csObj.SolverType = 'ode15s';
csObj.StopTime   = 500;

Задайте, чтобы логгировать результаты симуляции всех видов.

csObj.RuntimeOptions.StatesToLog = 'all';

Предположим количество видов лиганда L 0 в начале симуляции, но она увеличивается до заданной величины во времени = 100. Использовать sbioselect для выбора вида с именем L и установите его начальное значение равным 0. Использовать addevent для настройки требуемого события.

speciesObj = sbioselect(m1,'Type','species','Name','L');
speciesObj.InitialAmount = 0;
evt = addevent(m1,'time >= 100','L = 6.022E17');

Симулируйте модель.

[t,x,names] = sbiosimulate(m1);

Симулируйте результаты симуляции. Заметьте, что количество вида L увеличивается, когда событие запускается во время симуляции 100. Изменения в других видах не проявляются на графике из-за широкой области значений в видовых количествах.

plot(t,x);
legend(names)
xlabel('Time');
ylabel('Amount');

Figure contains an axes. The axes contains 8 objects of type line. These objects represent G, Gd, Ga, RL, L, R, Gbg, GaFrac.

Чтобы увидеть изменения других видов, постройте график без данных вида L (5-й вид).

figure
plot(t,x(:,[1:4 6:8]));
legend(names{[1:4 6:8]});
xlabel('Time');
ylabel('Amount');

Figure contains an axes. The axes contains 7 objects of type line. These objects represent G, Gd, Ga, RL, R, Gbg, GaFrac.

Альтернатива хранению данных моделирования в отдельных выходах, таких как t, x, и names как и выше, вы можете хранить их все в одной SimData object. Затем можно использовать selectbyname чтобы извлечь массивы, содержащие интересующие вас данные моделирования.

simdata     = sbiosimulate(m1);
sbioplot(simdata);

Figure contains an axes. The axes with title States versus Time contains 8 objects of type line. These objects represent G, Gd, Ga, RL, L, R, Gbg, GaFrac.

Разверните Run 1, чтобы увидеть имена видов и параметра, которые нанесены.

simdata_noL = selectbyname(simdata, {'Ga','G','Gd','GaFrac','RL','R'});
sbioplot(simdata_noL);

Figure contains an axes. The axes with title States versus Time contains 6 objects of type line. These objects represent Ga, G, Gd, GaFrac, RL, R.