A stoichiometry matrix позволяет легко определить:
Реагенты и продукты в определенной реакции в модели, включая стехиометрическое значение реагентов и продуктов
Реакции, частью которых является конкретный вид, и является ли вид реагентом или продуктом в этой реакции
Стехиометрическая матрица является M -by - R матрицей, где M равняется общему числу видов в модели и R равняется общему количеству реакций в модели. Каждая строка соответствует виду, и каждый столбец соответствует реакции.
Матрица указывает, какие виды и реакции участвуют в качестве реагентов и продуктов:
Реагенты представлены в матрице с их стехиометрическим значением в соответствующем месте (строка видов, столбец реакции). Реагенты появляются как отрицательные значения.
Продукты представлены в матрице с их стехиометрическим значением в соответствующем месте (строка видов, столбец реакции). Продукты появляются как положительные значения.
Все другие местоположения в матрице содержат 0.
Например, рассмотрим model object содержащие две реакции. Одна реакция (название R1) равно 2 A + B -> 3 C, и другой реакции (названной R2) равно B + 3 D -> 4 A. Стехиометрическая матрица:
R1 R2 A -2 4 B -1 -1 C 3 0 D 0 -3
Найдите матрицу стехиометрии для модели путем передачи model object как входной параметр к getstoichmatrix способ.
Чтение в m1, объект модели, использование sbmlimport:
m1 = sbmlimport('lotka.xml');Получите матрицу стехиометрии для m1:
[M,objSpecies,objReactions] = getstoichmatrix(m1)
M =
(2,1) 1
(2,2) -1
(3,2) 1
(3,3) -1
(4,3) 1
objSpecies =
'x'
'y1'
'y2'
'z'
objReactions =
'Reaction1'
'Reaction2'
'Reaction3'Преобразуйте матрицу стехиометрии из разреженной матрицы в a full матрица, чтобы легче видеть отношения между видами и реакциями:
M_full = full(M)
M_full =
0 0 0
1 -1 0
0 1 -1
0 0 1