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