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');

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

safetyTO = addobservable(m1,'SafetyThreshold','0.85','Unit','dimensionless');
efficacyTO = addobservable(m1,'EfficacyThreshold','0.15','Unit','dimensionless');

Отсканируйте по различным суммарным дозам с помощью 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 и два порога (observables) как симуляция выходные параметры.

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

Parameters:

         Name          Value        Type            Units    
    _______________    _____    _____________    ____________

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

Observables: 

            Name                  Type               Units      
    _____________________    ______________    _________________

    {'TO'               }    {'parameter' }    {'dimensionless'}
    {'SafetyThreshold'  }    {'observable'}    {'dimensionless'}
    {'EfficacyThreshold'}    {'observable'}    {'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:     2
 

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

sbioplot(sd);

Постобработайте результаты симуляции. Узнайте, какие суммарные дозы являются эффективными, соответствуя 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:     3
 

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

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

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

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

График показывает, что суммарные дозы в пределах от 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
Для просмотра документации необходимо авторизоваться на сайте