Матрица стехиометрии позволяет легко определить:
Реагенты и продукты в конкретной реакции в модели, включая стехиометрическое значение реагентов и продуктов
Реакции, частью которых является конкретный вид, и является ли вид реагентом или продуктом в этой реакции
Матрица стехиометрии является матрицей 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'Преобразование матрицы стехиометрии из разреженной матрицы в матрицу full матрица, чтобы легче видеть взаимосвязи между видами и реакциями:
M_full = full(M)
M_full =
0 0 0
1 -1 0
0 1 -1
0 0 1