exponenta event banner

SimData

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

Описание

The 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-на-1 массив ячеек структур. n - количество величин и чувствительности, регистрируемых во время симуляции. i-я камера содержит метаданные, помечающие i-й столбец матрицы в Data свойство.

Ниже приводятся возможные типы структур.

НапечататьОбласти
Разновидности

  • Тип - 'species'

  • Имена - Видовые имена

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

  • Модули - Видовые модули

Параметр

  • Тип - 'parameter'

  • Имя - Имя параметра

  • Реакция - Имя реакции, которой параметру присваивается значение или '' если параметр передан в модель

  • Модули измерения - Параметрический модуль

Отделение

  • Тип - 'compartment'

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

  • Имя - имя отсека

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

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

  • Тип - 'sensitivity'

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

  • OutputType - выход чувствительности ('species' или 'parameter').

  • OutputName - выходное имя чувствительности

  • OutputQualifier - Выходной квалификатор чувствительности. Если выходы являются видами, то его выходной квалификатор является именем отсека, в котором находится вид. Если выход является параметром со сценарием модели, его выходной квалификатор ''. Если выход является параметром reaction-scoped, его выходной квалификатор является именем реакции, к которой относится параметр.

  • InputType - входной тип чувствительности ('species', 'parameter', или 'compartment')

  • InputName - входное имя чувствительности

  • InputQualifier - входной квалификатор чувствительности. Если вход является видом, его входной квалификатор является именем отсека, в котором находится вид. Если вход является параметром со спецификацией модели, его входной квалификатор ''. Если вход является параметром со спектром реакций, его входной квалификатор является именем реакции, к которой относится параметр. Если вход является отделением, его входной квалификатор либо '' или имя родительского отсека.

  • Модули измерения - модуль измерения чувствительности

Заметный

  • Скаляр - Флаг, указывающий, является ли наблюдаемое скалярным или векторным.

  • Выражение - Наблюдаемое выражение

  • Тип - 'observable'

  • Имя - Наблюдаемое имя

  • Модули измерения - Наблюдаемый модуль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Configset - A struct форма конфигурации модели, используемого во время симуляции. Набор конфигурации соответствует активному набору конфигураций модели. Значение по умолчанию является [].

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

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

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

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

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

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

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

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

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

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

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

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

Данные для связи с объектом, заданные как любой поддерживаемый тип данных.

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

addobservableДобавьте наблюдаемые выражения в SimData
updateobservableОбновляйте наблюдаемые выражения или модули в SimData
renameobservableПереименуйте наблюдаемые в SimData
getdataПолучите данные моделирования от SimData объект
getsensmatrixПолучите 3-D матрицу чувствительности из SimData объект
selectВыберите данные моделирования из SimData объект с использованием выражений
selectbynameВыберите данные моделирования по имени из SimData объект
resampleОтобразите данные моделирования на новом временном векторе
getПолучите свойства объекта SimBiology
setУстановите свойства объекта SimBiology
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 объектный массив.

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

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

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

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

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

См. также

| | | |

Введенный в R2007b