Данные моделирования
SimData объект содержит данные моделирования, которые включают данные о времени и состоянии, а также метаданные, такие как типы и имена зарегистрированных состояний или набор конфигурации, используемый при моделировании.
Доступ к временным данным, данным состояния и метаданным, хранящимся в объекте, можно получить через свойства объекта. Точечная нотация используется для запроса свойств объекта или изменения свойств, которые не доступны только для чтения. Вы также можете использовать get и set команды.
Данные из нескольких прогонов моделирования можно хранить в виде массива SimData объекты. Вы можете использовать любой SimData функция в массиве SimData объекты.
Создать SimData объект одним из трех способов.
Вернуть a SimData объект после моделирования модели с использованием sbiosimulate.
Вернуть a SimData после моделирования модели с использованием SimFunction object.
Возврат массива SimData объекты после выполнения нескольких стохастических ансамблей с использованием sbioensemblerun.
Экспортируйте результаты моделирования в командную строку после моделирования модели с помощью приложения SimBiology Model Analyzer.
Data - Данные моделированияmx0 пустая двойная матрица (по умолчанию) | матрицаЭто свойство доступно только для чтения.
Данные моделирования, заданные в виде матрицы m-by-n. m - количество временных шагов в моделировании, а n - количество величин и чувствительности, зарегистрированных во время моделирования. Просмотр соответствующих временных шагов путем доступа к Time и просмотрите соответствующую зарегистрированную информацию о количестве путем доступа к DataInfo собственность.
Типы данных: double
DataCount - Количество видов, отделений, параметров и чувствительностиЭто свойство доступно только для чтения.
Количество видов, отделений, параметров и чувствительности, указанных как структура. Структура содержит поля. Species, Compartment, Parameter, и Sensitivity. Значение по умолчанию для каждого поля: 0.
Типы данных: struct
DataInfo - Метки метаданных для данных моделирования0-by-1 пустой массив ячеек (по умолчанию) | массив ячеек структурЭто свойство доступно только для чтения.
Метки метаданных для данных моделирования, заданные как массив ячеек n-by-1 структур. n - количество величин и чувствительности, зарегистрированных во время моделирования. i-я ячейка содержит метаданные, маркирующие i-й столбец матрицы в Data собственность.
Далее следуют возможные типы структур.
| Напечатать | Области |
|---|---|
| Разновидности |
|
| Параметр |
|
| Отделение |
|
| Чувствительность |
|
| Заметный |
|
Типы данных: cell
DataNames - Метки для данных моделирования0-by-1 пустой массив ячеек (по умолчанию) | массив ячеек n-by-1 символьных векторовЭто свойство доступно только для чтения.
Метки для данных моделирования, заданные как массив ячеек n-by-1 символьных векторов. n - количество регистрируемых величин и чувствительности. Другими словами, DataNames содержит имена, маркирующие столбцы матрицы данных в Data собственность.
Типы данных: cell
ScalarObservables - Результаты скалярных наблюдаемых выраженийЭто свойство доступно только для чтения.
Результаты из скалярных наблюдаемых выражений, указанных как таблица. Каждая переменная таблицы соответствует каждой наблюдаемой. Имя переменной совпадает с именем наблюдаемой переменной со скалярным значением. Однако если наблюдаемое имя слишком длинное, оно усекается и используется в качестве имени переменной таблицы. Суффикс '_N' также добавляется, где N - положительное целое число. VariableDescriptions свойство таблицы содержит неусеченные имена.
При указании каких-либо единиц измерения для наблюдаемой единицы измерения копируются в VariableUnits свойства таблицы.
Типы данных: table
VectorObservables - Результаты векторных наблюдаемых выраженийЭто свойство доступно только для чтения.
Результаты из векторных наблюдаемых выражений, указанных как таблица. Каждая переменная таблицы соответствует каждой наблюдаемой. Имя переменной совпадает с именем наблюдаемой переменной с векторным значением. Однако если наблюдаемое имя слишком длинное, оно усекается и используется в качестве имени переменной таблицы. Суффикс '_N' также добавляется, где N - положительное целое число. VariableDescriptions свойство таблицы содержит неусеченные имена.
При указании каких-либо единиц измерения для наблюдаемой единицы измерения копируются в VariableUnits свойства таблицы.
Типы данных: table
ModelName - Наименование модели'' (по умолчанию) | символьный векторЭто свойство доступно только для чтения.
Имя моделируемой модели, указанное как символьный вектор.
Типы данных: char
Name — SimData имя объекта0-by-0 пустой символьный массив (по умолчанию) | символьный вектор | строкаSimData имя объекта, указанное как символьный вектор или строка.
Типы данных: char | string
Notes - Дополнительная информация0-by-0 пустой символьный массив (по умолчанию) | символьный вектор | строкаДополнительная информация, которую можно добавить для SimData объект, указанный как символьный вектор или строка.
Типы данных: char | string
RunInfo - Информация о прогоне моделированияЭто свойство доступно только для чтения.
Информация о прогоне моделирования, который создал данные моделирования, указанные как структура. Структура содержит следующие поля.
Configset - A struct форма набора конфигурации, используемого при моделировании. Набор конфигурации соответствует активному набору конфигурационных элементов модели. Значение по умолчанию: [].
SimulationDate - Дата и время моделирования. Значение по умолчанию: ''.
SimulationType - Либо 'single run' или 'ensemble run', в зависимости от того, создается ли объект с помощью sbiosimulate или sbioensemblerun. Значение по умолчанию: ''.
Variant - A struct форма варианта (ов), используемого (ых) во время моделирования. Значение по умолчанию: [].
Типы данных: struct
Time - Этапы времени моделированияЭто свойство доступно только для чтения.
Шаги времени моделирования, заданные как вектор столбца.
Типы данных: double
TimeUnits - Единицы времени моделирования'second' (по умолчанию) | символьный векторЭто свойство доступно только для чтения.
Единицы времени моделирования, заданные как символьный вектор.
При моделировании модели, созданной с помощью sbiomodel, значение по умолчанию TimeUnits значение соответствующего SimData объект - 'second'.
При моделировании модели, созданной с помощью PKModelDesign, значение по умолчанию TimeUnits значение равно 'hour'.
Типы данных: char
UserData - Данные для связывания с объектом[] (по умолчанию) | любой поддерживаемый тип данныхДанные для связывания с объектом, указанные как любой поддерживаемый тип данных.
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');

Выполните постобработку результатов моделирования. Узнайте, какие количества доз эффективны, соответствующие 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')

График показывает, что количества доз в диапазоне от 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');
Compartment | Model | Parameter | Reaction | Species
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.