Данные моделирования
The SimData объект содержит данные моделирования, которые включают данные времени и состояния, а также метаданные, такие как типы и имена для записанных состояний или конфигурации модели, используемого во время симуляции.
Вы можете получить доступ к данным о времени, данным о состоянии и метаданным, хранящимся в объекте, через свойства объекта. Используйте запись через точку, чтобы запросить свойства объекта или изменить свойства, которые не доступны только для чтения. Вы также можете использовать get и set команды.
Можно хранить данные из нескольких запусков симуляции как массив SimData объекты. Вы можете использовать любой SimData функция в массиве SimData объекты.
Создайте SimData объект одним из трех способов.
Верните SimData объект после симуляции модели используя sbiosimulate.
Верните 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-на-1 массив ячеек структур. n - количество величин и чувствительности, регистрируемых во время симуляции. i-я камера содержит метаданные, помечающие i-й столбец матрицы в Data свойство.
Ниже приводятся возможные типы структур.
| Напечатать | Области |
|---|---|
| Разновидности |
|
| Параметр |
|
| Отделение |
|
| Чувствительность |
|
| Заметный |
|
Типы данных: cell
DataNames - Метки для данных моделирования0-by-1 пустой массив ячеек (по умолчанию) | n массив ячеек -by-1 из векторов символовЭто свойство доступно только для чтения.
Метки для данных моделирования, заданные как n-на-1 массив ячеек векторов символов. n - количество регистрируемых величин и чувствительности. Другими словами, DataNames свойство содержит имена, которые помечают столбцы матрицы данных в Data свойство.
Типы данных: cell
ScalarObservables - Результаты из наблюдаемых выражений со скалярным значениемЭто свойство доступно только для чтения.
Результаты из скалярных наблюдаемых выражений, заданных как таблица. Каждая табличная переменная соответствует каждой наблюдаемой. Имя переменной совпадает с именем наблюдаемого со скалярным значением. Однако, если имя наблюдаемого слишком длинное, оно обрезается и используется как имя табличной переменной. Суффикс '_N' также добавляется, где N является положительным целым числом. The VariableDescriptions свойство таблицы содержит неограниченные имена.
Если для наблюдаемого заданы какие-либо единицы измерения, они копируются в VariableUnits свойство таблицы.
Типы данных: table
VectorObservables - Результаты из векторных наблюдаемых выраженийЭто свойство доступно только для чтения.
Результаты из векторных наблюдаемых выражений, заданные как таблица. Каждая табличная переменная соответствует каждой наблюдаемой. Имя переменной совпадает с именем векторного наблюдаемого. Однако, если имя наблюдаемого слишком длинное, оно обрезается и используется как имя табличной переменной. Суффикс '_N' также добавляется, где N является положительным целым числом. The 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);
Используйте свойство данных 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');

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