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' Выходной тип чувствительности ('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
displayОтобразите сводные данные объекта SimBiology
deleteОбъект Delete SimBiology
getПолучите свойства объектов SimBiology
getdataПолучите данные моделирования от SimData объект
getsensmatrixПолучите 3-D матрицу чувствительности от SimData объект
removeУдалите данные моделирования из SimData объект с помощью выражений
removebynameУдалите данные моделирования по наименованию из SimData объект
renameobservableПереименуйте observables в SimData
resampleПередискретизируйте данные моделирования на новый временной вектор
selectВыберите данные моделирования из SimData объект с помощью выражений
selectbynameВыберите данные моделирования по наименованию из SimData объект
setУстановите свойства объектов SimBiology
updateobservableОбновите заметные выражения или модули в SimData

Примеры

свернуть все

Загрузите модель белка 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'}


TimeUnits: day
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 object. The axes object 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 object. The axes object 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