Поиск объектов с указанными ограничениями
Out = sbioselect('PropertyName', PropertyValue)
Out = sbioselect('Where', 'PropertyName', 'Condition', PropertyValue)
Out = sbioselect(Obj, 'PropertyName', PropertyValue)
Out = sbioselect(Obj, 'Type', 'TypeValue', 'PropertyName', PropertyValue)
Out = sbioselect(Obj, 'Where', 'PropertyName', 'Condition', PropertyValue)
Out = sbioselect(Obj, 'Where', 'PropertyNameCondition', 'PropertyNamePattern', 'Condition', PropertyValue)
Out = sbioselect(Obj, 'Where', 'PropertyName1', 'Condition1', PropertyValue1, 'Where', 'PropertyName2', 'Condition2', PropertyValue2,...)
Out = sbioselect(Obj, 'Where', 'PropertyName1', 'Condition1', PropertyValue1,Bool_Operator, 'Where', 'PropertyName2', 'Condition2', PropertyValue2,...)
Out = sbioselect(Obj, 'Depth', DepthValue,...)
| Объект или массив объектов, возвращенных sbioselect функция. может содержать смесь типов объектов (например, видов и параметров) в зависимости от выбранного выбора. Если |
| Объект SimBiology ® или массив объектов для поиска. Если объект не указан ,sbioselect выполняет поиск в корне. |
| Любое свойство искомого объекта. |
| Определить для включения в критерии выбора. |
| Тип объекта для включения в выделенный фрагмент, например: sbiomodel, species, reaction, или kineticlaw. |
| Условие поиска. Список условий см. в таблице в разделе Описание. |
PropertyNameCondition | Условие поиска, применяемое только к свойству name. См. таблицу «Условия для имен» ниже. |
PropertyNamePattern | Символьный вектор или строка, используемая для выбора имени свойства в соответствии с условием PropertyNameCondition. |
| Укажите номер глубины для поиска. Допустимыми числами являются положительные целочисленные значения и inf. Если является inf, sbioselect поиски и всех его детей. Если является 1, sbioselect только поиск а не его детей. По умолчанию является inf. |
sbioselect поиск объектов с указанными ограничениями.
выполняет поиск корневого объекта (включая все объекты модели, содержащиеся в корневом объекте) и возвращает объекты с именем свойства (Out = sbioselect('PropertyName', PropertyValue)) и стоимость свойства (PropertyName) содержится в корневом объекте. PropertyValue
выполняет поиск корневого объекта и находит объекты, имеющие имя свойства (Out = sbioselect('Where', 'PropertyName', 'Condition', PropertyValue)) и значение (PropertyName), который соответствует условию (PropertyValue). Condition
возвращает объекты с именем свойства (Out = sbioselect(Obj, 'PropertyName', PropertyValue)) и стоимость свойства (PropertyName), найденные в любом объекте (PropertyValue). Если имя свойства в паре свойство-значение содержит Obj'?' или '*', то имя автоматически интерпретируется как подстановочное выражение, эквивалентное условию where ('Where', 'wildcard', 'PropertyName', '==', PropertyValue).
находит объекты типа (Out = sbioselect(Obj, 'Type', 'TypeValue', 'PropertyName', PropertyValue)TypeValue), с именем свойства () и стоимость свойства (PropertyName), найденные в любом объекте (PropertyValue). Obj - тип объекта SimBiology, который должен быть включен в выборку, например, TypeValuespecies, reaction, или kineticlaw.
находит объекты, имеющие имя свойства (Out = sbioselect(Obj, 'Where', 'PropertyName', 'Condition', PropertyValue)) и значение (PropertyNameкоторые соответствуют условию (PropertyValue). Condition
При поиске значения свойства вектора символа без указания условия необходимо использовать тот же формат, что и get возвращает. Например, если get возвращает значение Name как 'MyObject', sbioselect не найдет объект с Name значение свойства 'myobject'. Поэтому в этом примере необходимо указать:
modelObj = sbioselect ('Name', 'MyObject')Вместо этого при использовании условия можно указать:
modelObj = sbioselect ('Where', 'Name', '==i', 'myobject')sbioselect поиск объектов модели в корне в обоих случаях.
находит объекты с именем свойства, которое соответствует образцу в (Out = sbioselect(Obj, 'Where', 'PropertyNameCondition', 'PropertyNamePattern', 'Condition', PropertyValue)PropertyNamePattern) с условием (PropertyNameCondition) и соответствует значению (PropertyValue) с условием (Condition). Этот синтаксис используется для условий поиска как по именам свойств, так и по значениям свойств.
Условия с примерами имен свойств и соответствующими примерами значений свойств, которые можно использовать, перечислены в следующих таблицах. В этой таблице представлены условия для числовых свойств.
| Условия для числовых свойств | Пример синтаксиса |
|---|---|
== | Поиск в объекте модели ( parameterObj = sbioselect (modelObj,... 'Where', 'Value', '==', 0.5) ==, это эквивалентно отсутствию условия, как показано:parameterObj = sbioselect (modelObj,... 'Value', 0.5) Поиск в объекте модели ( parameterObj = sbioselect (modelObj,... 'Where', 'ConstantValue', '==', false) |
~= | Поиск в объекте модели (modelObj) и вернуть объекты параметров, не имеющие Value равно 0.5.parameterObj = sbioselect (modelObj,... 'Where', 'Value', '~=', 0.5) |
>,<,>=,<= | Поиск в объекте модели ( speciesObj = sbioselect (modelObj, ... 'Where', 'InitialAmount', '>', 50) Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Where', 'InitialAmount', '<=', 50) |
between | Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Where', 'InitialAmount',... 'between', [200 300]) |
~between | Поиск в объекте модели (modelObj) и вернуть видовые объекты, которые имеют начальную сумму (InitialAmount), который не находится между 200 и 300.speciesObj = sbioselect (modelObj,... 'Where', 'InitialAmount',... '~between', [200 300]) |
equal_and_same_type | Аналогично ==, но, кроме того, требуется, чтобы значение свойства было того же типа. Поиск в объекте модели ( zeroObj = sbioselect(modelObj, ... 'Where', '*', 'equal_and_same_type', 0); |
unequal_and_same_type | Аналогично ~=, но, кроме того, требуется, чтобы значение свойства было того же типа. Выберите все объекты, содержащие свойство типа double и значение, не равное 0. (Использование nonzeroObj = sbioselect(modelObj, ... 'Where', '*', 'unequal_and_same_type', 0); |
В следующей таблице приведены условия для свойства name или для свойств, значения которых являются векторами символов.
| Условия для имен | Пример синтаксиса |
|---|---|
== | Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Type', 'species', 'Where',... 'Name', '==', 'Glucose') |
~= | Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Type', 'species', 'Where',... 'Name', '~=', 'Glucose') |
==i | То же, что и |
~=i |
Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Type', 'species', 'Where',... 'Name', '~=i', 'glucose') |
regexp. Поддерживает выражения, поддерживаемые функциями regexp и regexpi. | Поиск в объекте модели ( Obj = sbioselect (modelObj, 'Where',... 'Name', 'regexp', '[ea]se') Поиск в корне и возврат объектов, имеющих Obj = sbioselect ('Where',...
'Name', 'regexp', 'kinase') |
regexpi | То же, что и |
~regexp | Поиск в объекте модели ( Obj = sbioselect (modelObj, 'Where',... 'Name', '~regexp', 'kinase') |
~regexpi | То же, что и |
wildcard | Поддержки |
wildcardi | То же, что и |
~wildcard | Поиск в объекте модели ( Obj = sbioselect (modelObj, 'Where',... 'Name', '~wildcard', 'kin*') |
~wildcardi | То же, что и |
Использовать вид условия function для любого свойства. Указанное значение должно быть дескриптором функции, который при применении к значению свойства возвращает логическое значение, указывающее, существует ли совпадение. В следующей таблице показан пример использования function.
| Состояние | Пример синтаксиса |
|---|---|
'function' |
Поиск в объекте модели и возврат объектов реакции, Out = sbioselect(modelObj, 'Where',... 'Stoichiometry', 'function',... @(x)any(x>2)) iseven = @(x) isnumeric(x)... && isvector(x) && mod(x, 2) == 0; evenValuedObj = sbioselect(modelObj, ... 'where', 'Value', 'function', iseven); |
Условие 'contains' может использоваться только для тех свойств, значения которых являются массивом объектов SimBiology. В следующей таблице показан пример использования contains.
| Состояние | Пример синтаксиса |
|---|---|
'contains' | Поиск в объекте модели и возврат объектов реакции, Out = sbioselect(modelObj, 'Where',... 'Reactants', 'contains',... modelObj.Species(1)) |
находит объекты, содержащиеся в Out = sbioselect(Obj, 'Where', 'PropertyName1', 'Condition1', PropertyValue1, 'Where', 'PropertyName2', 'Condition2', PropertyValue2,...)Obj соответствует всем указанным условиям.
Можно объединить любое количество пар имя/значение свойства и условий в sbioselect команда.
находит объекты, содержащиеся в Out = sbioselect(Obj, 'Where', 'PropertyName1', 'Condition1', PropertyValue1,Bool_Operator, 'Where', 'PropertyName2', 'Condition2', PropertyValue2,...)Obj соответствует всем указанным условиям. Поддерживаемые векторы символов для Bool_Operator являются следующими.
'and' | True, если ( 'Where', 'PropertyName1','Condition1',PropertyValue1) и ( 'Where', 'PropertyName2','Condition2',PropertyValue2) являются истинными. |
'or' | True, если ( 'Where', 'PropertyName1','Condition1',PropertyValue1) или ( 'Where', 'PropertyName2','Condition2',PropertyValue2) имеет значение true. |
'xor' | True, если точно один из ( 'Where', 'PropertyName1','Condition1',PropertyValue1) или ( 'Where', 'PropertyName2','Condition2',PropertyValue2) имеет значение true. |
'not' | True, если ( 'Where', 'PropertyName1','Condition1',PropertyValue1) имеет значение true и ( 'Where', 'PropertyName2','Condition2',PropertyValue2) не соответствует действительности. |
Поддерживаются составные выражения с несколькими булевыми операторами. Приоритет операторов следует за порядком операций для булевой алгебры not –> and –> xor –> or.
поиск объектов с использованием глубины поиска модели Out = sbioselect(Obj, 'Depth', DepthValue,...). DepthValue
Примечание
Порядок результатов из sbioselect не гарантируется. Поэтому не рекомендуется зависеть от порядка результатов.