SimData

Данные моделирования

Описание

SimData объект содержит данные моделирования, которые включают время и данные состояния, а также метаданные, такие как типы и имена для регистрируемых состояний или конфигурации модели, используемой в процессе моделирования.

Вы можете данные времени доступа, данные состояния и метаданные, сохраненные в объекте через свойства объектов. Используйте запись через точку, чтобы запросить свойства объектов или свойства изменения, которые не только для чтения. Можно также использовать get и set команды.

Можно хранить данные от нескольких запусков симуляции как массив SimData объекты. Можно использовать любой SimData функция на массиве SimData объекты.

Создание

Создайте SimData объект одним из трех способов.

  • Возвратите SimData объект после симуляции использования модели sbiosimulate.

  • Возвратите SimData объект после симуляции модели с помощью SimFunction object.

  • Возвратите массив SimData объекты после нескольких стохастического использования запусков ансамбля sbioensemblerun.

  • Экспортируйте результаты симуляции в командную строку после симуляции модели с помощью приложения SimBiology Model Analyzer.

Свойства

развернуть все

Это свойство доступно только для чтения.

Данные моделирования в виде m-by-n матрица. m является количеством временных шагов в симуляции, и n является количеством количеств и чувствительности, регистрируемой во время симуляции. Просмотрите соответствующие временные шаги путем доступа к Time свойство и представление соответствующая регистрируемая информация о количестве путем доступа к DataInfo свойство.

Типы данных: double

Это свойство доступно только для чтения.

Количество разновидностей, отсеков, параметров и чувствительности в виде структуры. Структура содержит поля Species, Compartment, Parameter, и Sensitivity. Значением по умолчанию для каждого поля является 0.

Типы данных: struct

Это свойство доступно только для чтения.

Метаданные помечают для данных моделирования в виде n-by-1 массив ячеек структур. n является количеством количеств и чувствительности, регистрируемой в процессе моделирования. i th ячейка содержит метаданные, маркирующие i th столбец матрицы в Data свойство.

Возможные типы структур следуют.

ВводПоля
Разновидности

  • Введите — 'species'

  • Имя — имя Разновидностей

  • Отсек — Отсек, в котором находится разновидность

  • Модули — модуль Разновидностей

Параметр

  • Введите — 'parameter'

  • Имя — Название параметра

  • Реакция — Имя реакции, что параметр ограничен по объему к, или '' если параметр ограничен по объему к модели

  • Модули — модуль Параметра

Отсек

  • Введите — 'compartment'

  • Владелец — отсек Owner

  • Имя — имя Отсека

  • Модули — модуль Отсека

Чувствительность

  • Введите — 'sensitivity'

  • Имя — имя Чувствительности, например, 'd[tumor_weight]/d[k2]'

  • OutputType — Sensitivity тип выхода ('species' или 'parameter').

  • OutputName — Sensitivity имя выхода

  • OutputQualifier — Sensitivity спецификатор выхода. Если выход является разновидностью, ее выходной спецификатор является именем отсека, в котором находится разновидность. Если выход является ограниченным по объему моделью параметром, его выходным спецификатором является ''. Если выход является ограниченным по объему реакцией параметром, его выходной спецификатор является именем реакции, к которой ограничен по объему параметр.

  • Тип входа InputType — Sensitivity ('species', 'parameter', или 'compartment')

  • Имя входа InputName — Sensitivity

  • Спецификатор входа InputQualifier — Sensitivity. Если вход является разновидностью, ее входной спецификатор является именем отсека, в котором находится разновидность. Если вход является ограниченным по объему моделью параметром, его входным спецификатором является ''. Если вход является ограниченным по объему реакцией параметром, его входной спецификатор является именем реакции, к которой ограничен по объему параметр. Если вход является отсеком, его входным спецификатором является любой '' или имя родительского отсека.

  • Модули — модуль Чувствительности

Заметный

  • Скаляр — Флаг, чтобы указать, с ли заметное скалярным знаком или с векторным знаком.

  • Выражение — Заметное выражение

  • Введите — 'observable'

  • Имя — Заметное имя

  • Модули — Заметный модуль

Типы данных: cell

Это свойство доступно только для чтения.

Метки для данных моделирования в виде n-by-1 массив ячеек из символьных векторов. n является количеством регистрируемых количеств и чувствительности. Другими словами, DataNames свойство содержит имена, которые помечают столбцы матрицы данных в Data свойство.

Типы данных: cell

Это свойство доступно только для чтения.

Результаты заметных выражений со скалярным знаком в виде таблицы. Каждая табличная переменная соответствует каждому заметному. Имя переменной совпадает с именем заметного со скалярным знаком. Однако, если заметное имя является слишком длинным, это является усеченным и используется в качестве имени табличной переменной. Суффиксный '_N' также добавляется, где N является положительным целым числом. VariableDescriptions свойство таблицы содержит неусеченные имена.

Если вы задали какие-либо модули для заметного, модули копируются в VariableUnits свойство таблицы.

Типы данных: table

Это свойство доступно только для чтения.

Результаты заметных выражений с векторным знаком в виде таблицы. Каждая табличная переменная соответствует каждому заметному. Имя переменной совпадает с именем заметного с векторным знаком. Однако, если заметное имя является слишком длинным, это является усеченным и используется в качестве имени табличной переменной. Суффиксный '_N' также добавляется, где N является положительным целым числом. VariableDescriptions свойство таблицы содержит неусеченные имена.

Если вы задали какие-либо модули для заметного, модули копируются в VariableUnits свойство таблицы.

Типы данных: table

Это свойство доступно только для чтения.

Имя симулированной модели в виде вектора символов.

Типы данных: char

SimData имя объекта в виде вектора символов или строки.

Типы данных: char | string

Дополнительная информация, которую можно добавить для SimData объект в виде вектора символов или строки.

Типы данных: char | string

Это свойство доступно только для чтения.

Информация о симуляции запускается, который сгенерировал данные моделирования в виде структуры. Структура содержит следующие поля.

  • Configsetstruct форма конфигурации модели используется в процессе моделирования. Конфигурация модели соответствует активному configset модели. Значением по умолчанию является [].

  • SimulationDate — Дата и время симуляции. Значением по умолчанию является ''.

  • SimulationType — Любой 'single run' или 'ensemble run'В зависимости от того, создаете ли вы объектное использование sbiosimulate или sbioensemblerun. Значением по умолчанию является ''.

  • Variantstruct форма варианта (вариантов) используется в процессе моделирования. Значением по умолчанию является [].

Типы данных: struct

Это свойство доступно только для чтения.

Время симуляции продвигается в виде вектор-столбца.

Типы данных: double

Это свойство доступно только для чтения.

Модули времени симуляции в виде вектора символов.

Если вы симулируете созданное использование модели sbiomodel, TimeUnits по умолчанию значение соответствующего SimData объектом является 'second'.

Если вы симулируете модель, созданную с помощью PKModelDesign, TimeUnits по умолчанию значением является 'hour'.

Типы данных: char

Данные, чтобы сопоставить с объектом в виде любого поддерживаемого типа данных.

Функции объекта

addobservableДобавьте заметные выражения в SimData
updateobservableОбновите заметные выражения или модули в SimData
renameobservableПереименуйте observables в SimData
getdataПолучите данные моделирования от SimData объект
getsensmatrixПолучите 3-D матрицу чувствительности от SimData объект
selectВыберите данные моделирования из SimData объект с помощью выражений
selectbynameВыберите данные моделирования по наименованию из SimData объект
resampleПередискретизируйте данные моделирования на новый временной вектор
getПолучите свойства объектов SimBiology
setУстановите свойства объектов SimBiology
deleteОбъект Delete SimBiology
displayОтобразите сводные данные объекта SimBiology

Примеры

свернуть все

Загрузите модель белка G.

sbioloadproject gprotein.sbproj;

Проверяйте начальные суммы разновидностей.

m1.Species
ans = 
   SimBiology Species Array

   Index:    Compartment:    Name:    Value:       Units:
   1         unnamed         G        7000               
   2         unnamed         Gd       3000               
   3         unnamed         Ga       0                  
   4         unnamed         RL       0                  
   5         unnamed         L        6.022e+17          
   6         unnamed         R        10000              
   7         unnamed         Gbg      3000               

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

cs = getconfigset(m1);
allspecies = sbioselect(m1,'Type','species');
cs.RuntimeOptions.StatesToLog = allspecies;

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

sd = sbiosimulate(m1);

Используйте Свойство данных SimData объект sd получить состояния в итоговом моменте времени. Свойство данных является матрицей m на n, где m является количеством временных шагов, и n является количеством регистрируемых количеств.

finalData = sd.Data(end,:);

Используйте DataInfo свойство получить имена регистрируемых состояний.

info = sd.DataInfo;

Цикл через разновидности и установленный их начальные значения.

numSpecies = length(info);
vObj = addvariant(m1,'initCond');
for i = 1:numSpecies
    addcontent(vObj,{'species',info{i}.Name,'Value',finalData(i)});
end
commit(vObj,m1);

Проверьте суммы начальной буквы разновидностей.

m1.Species
ans = 
   SimBiology Species Array

   Index:    Compartment:    Name:    Value:       Units:
   1         unnamed         G        8562.5             
   2         unnamed         Gd       0.109565           
   3         unnamed         Ga       1437.39            
   4         unnamed         RL       1820.54            
   5         unnamed         L        6.022e+17          
   6         unnamed         R        11.1125            
   7         unnamed         Gbg      1437.5             

Загрузите модель Установленного целью расположения препарата (TMDD).

sbioloadproject tmdd_with_TO.sbproj

Установите целевое заполнение (TO) как ответ.

cs = getconfigset(m1);
cs.RuntimeOptions.StatesToLog = 'TO';

Получите информацию о дозах.

d = getdose(m1,'Daily Dose');

Отсканируйте по различным суммарным дозам с помощью SimBiology.Scenarios объект. Для этого сначала параметрируйте Amount свойство дозы. Затем варьируйтесь соответствующее значение параметров с помощью Scenarios объект.

amountParam = addparameter(m1,'AmountParam','Units',d.AmountUnits);
d.Amount = 'AmountParam';
d.Active = 1;
doseSamples = SimBiology.Scenarios('AmountParam',linspace(0,300,31));

Создайте SimFunction симулировать модель. Установите TO когда симуляция выводится.

% Suppress informational warnings that are issued during simulation.
warning('off','SimBiology:SimFunction:DOSES_NOT_EMPTY');
f = createSimFunction(m1,doseSamples,'TO',d)
f = 
SimFunction

Parameters:

         Name          Value        Type            Units    
    _______________    _____    _____________    ____________

    {'AmountParam'}      1      {'parameter'}    {'nanomole'}

Observables: 

     Name         Type               Units      
    ______    _____________    _________________

    {'TO'}    {'parameter'}    {'dimensionless'}

Dosed: 

      TargetName                 TargetDimension                  Amount         AmountValue    AmountUnits 
    _______________    ___________________________________    _______________    ___________    ____________

    {'Plasma.Drug'}    {'Amount (e.g., mole or molecule)'}    {'AmountParam'}         1         {'nanomole'}

warning('on','SimBiology:SimFunction:DOSES_NOT_EMPTY');

Симулируйте модель с помощью суммарных доз, сгенерированных Scenarios объект. В этом случае объект генерирует 31 различную дозу; следовательно модель симулирована 31 раз и генерирует SimData массив.

doseTable = getTable(d);
sd = f(doseSamples,cs.StopTime,doseTable)
 
   SimBiology Simulation Data Array: 31-by-1
 
   ModelName:        TMDD
   Logged Data:
     Species:        0
     Compartment:    0
     Parameter:      1
     Sensitivity:    0
     Observable:     0
 

Постройте результаты симуляции. Также добавьте две ссылочных линии, которые представляют пороги безопасности и эффективности для TO. В этом примере предположите что любой TO значение выше 0.85 небезопасно, и любой TO значение ниже 0.15 не имеет никакой эффективности.

h = sbioplot(sd);
time = sd(1).Time;
h.NextPlot = 'add';
safetyThreshold = plot(h,[min(time), max(time)],[0.85, 0.85],'DisplayName','Safety Threshold');
efficacyThreshold = plot(h,[min(time), max(time)],[0.15, 0.15],'DisplayName','Efficacy Threshold');

Figure contains an axes. The axes with title States versus Time contains 33 objects of type line. These objects represent Run 1 - TO, Run 2 - TO, Run 3 - TO, Run 4 - TO, Run 5 - TO, Run 6 - TO, Run 7 - TO, Run 8 - TO, Run 9 - TO, Run 10 - TO, Run 11 - TO, Run 12 - TO, Run 13 - TO, Run 14 - TO, Run 15 - TO, Run 16 - TO, Run 17 - TO, Run 18 - TO, Run 19 - TO, Run 20 - TO, Run 21 - TO, Run 22 - TO, Run 23 - TO, Run 24 - TO, Run 25 - TO, Run 26 - TO, Run 27 - TO, Run 28 - TO, Run 29 - TO, Run 30 - TO, Run 31 - TO, Safety Threshold, Efficacy Threshold.

Постобработайте результаты симуляции. Узнайте, какие суммарные дозы являются эффективными, соответствуя TO ответы в порогах безопасности и эффективности. Для этого добавьте заметное выражение в данные моделирования.

% Suppress informational warnings that are issued during simulation.
warning('off','SimBiology:sbservices:SB_DIMANALYSISNOTDONE_MATLABFCN_UCON');
newSD = addobservable(sd,'stat1','max(TO) < 0.85 & min(TO) > 0.15','Units','dimensionless')
 
   SimBiology Simulation Data Array: 31-by-1
 
   ModelName:        TMDD
   Logged Data:
     Species:        0
     Compartment:    0
     Parameter:      1
     Sensitivity:    0
     Observable:     1
 

addobservable функция выполняет новое заметное выражение для каждого SimData в sd и возвращает оцененные результаты как новый SimData массив, newSD, который теперь имеет добавленное заметное (stat1).

SimBiology хранит заметные результаты в двух различных свойствах SimData объект. Если результаты со скалярным знаком, они хранятся в SimData.ScalarObservables. В противном случае они хранятся в SimData.VectorObservables. В этом примере, stat1 заметное выражение со скалярным знаком.

Извлеките скалярные заметные значения и постройте их против суммарных доз.

scalarObs = vertcat(newSD.ScalarObservables);
doseAmounts = generate(doseSamples);
figure
plot(doseAmounts.AmountParam,scalarObs.stat1,'o','MarkerFaceColor','b')

Figure contains an axes. The axes contains an object of type line.

График показывает, что суммарные дозы в пределах от 50 - 180 нанородинок обеспечивают TO ответы, которые лежат в целевых порогах эффективности и безопасности.

Можно обновить заметное выражение с различными пороговыми суммами. Функция повторно вычисляет выражение и возвращает результаты в новый SimData objectArray.

newSD2 = updateobservable(newSD,'stat1','max(TO) < 0.75 & min(TO) > 0.30');

Переименуйте заметное выражение. Функция переименовывает заметное, обновляет любые выражения, которые ссылаются на переименованное заметное (если применимо), и возвращает результаты в новый SimData objectArray.

newSD3 = renameobservable(newSD2,'stat1','EffectiveDose');

Восстановите настройки предупреждения.

warning('on','SimBiology:sbservices:SB_DIMANALYSISNOTDONE_MATLABFCN_UCON');

Смотрите также

| | | |

Представленный в R2007b