Данные моделирования
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-by-1 массив ячеек структур. n является количеством количеств и чувствительности, регистрируемой в процессе моделирования. i th ячейка содержит метаданные, маркирующие i th столбец матрицы в 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
— struct
форма конфигурации модели используется в процессе моделирования. Конфигурация модели соответствует активному configset модели. Значением по умолчанию является []
.
SimulationDate
— Дата и время симуляции. Значением по умолчанию является ''
.
SimulationType
— Любой 'single run'
или 'ensemble run'
В зависимости от того, создаете ли вы объектное использование sbiosimulate
или sbioensemblerun
. Значением по умолчанию является ''
.
Variant
— struct
форма варианта (вариантов) используется в процессе моделирования. Значением по умолчанию является []
.
Типы данных: struct
Time
— Шаги времени симуляцииЭто свойство доступно только для чтения.
Время симуляции продвигается в виде вектор-столбца.
Типы данных: double
TimeUnits
— Модули времени симуляции'second'
(значение по умолчанию) | вектор символовЭто свойство доступно только для чтения.
Модули времени симуляции в виде вектора символов.
Если вы симулируете созданное использование модели sbiomodel
, TimeUnits
по умолчанию значение соответствующего
SimData
объектом является 'second'
.
Если вы симулируете модель, созданную с помощью PKModelDesign
, TimeUnits
по умолчанию значением является
'hour'
.
Типы данных: char
UserData
— Данные, чтобы сопоставить с объектом[]
(значение по умолчанию) | любой поддерживаемый тип данныхДанные, чтобы сопоставить с объектом в виде любого поддерживаемого типа данных.
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');
Compartment
| Model
| Parameter
| Reaction
| Species
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.