exponenta event banner

SimData

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

Описание

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

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

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

Создание

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

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

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

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

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

  • Тип - 'species'

  • Название - Название вида

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

  • Единицы - Видовая единица

Параметр

  • Тип - 'parameter'

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

  • Реакция (Reaction) - имя реакции, для которой задан объем параметра, или '' если параметр привязан к модели

  • Единицы - Единица измерения параметров

Отделение

  • Тип - 'compartment'

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

  • Наименование - Наименование отсека

  • Блоки - Отсечный блок

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

  • Тип - 'sensitivity'

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

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

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

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

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

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

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

  • Единицы измерения - Единица измерения чувствительности

Заметный

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

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

  • Тип - '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

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

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

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

Используйте свойство Data SimData объект sd чтобы получить состояния в последний момент времени. Свойство Data является матрицей m-by-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