Create E1, the elemental matrix for S1: Ornithine C 5 H 13 N 2 O 2 Carbamoyl Phosphate CH 2 NO 5 P Citrulline C 6 H 13 N 3 O 3 Aspartate C 4 H 6 NO 4 Argininosuccinate C 10 H 17 N 4 O 6 Fumarate C 4 H 2 O 4 Arginine C 6 H 15 N 4 O 2 Urea CH 4 N 2 O
Multiply the elemental and stoichiometric matrices in MATLAB: E1·S1 ≠ 0 Something is missing!
Multiply the new elemental and stoichiometric matrices in MATLAB: E2·S2 = 0 The S matrix is now correct !
H2OH2O HPO 4 H+H+
Reaction Adjacency Matrix, A v : How many compounds participate in v a ? In v 1 ? How many compounds do v 2 and v c have in common?
Compound Adjacency Matrix, A x : How many reactions does compound A participate in? How many reactions do A and B participate in together? What about compounds A and C?
1 Teusink et al. Eur. J. Biochem. (267) 2000 Teusink_Glycolysis
1 Teusink et al. Eur. J. Biochem. (267) 2000 Teusink_Glycolysis_core
function [Ax, Av, Sbin] = topo_properties(S) %Plots the number of metabolites y that participate in x reactions %Function file input is a mxn matrix that defines the stoichiometry of a %reaction network %Function file outputs include: Ax = compound adjacency matrix, %Av = reactions adjacency matrix, Sbin = binary form of Smatrix %Generate binary form of S matrix [m,n] = size(S); Sbin = zeros(m,n); for i= 1:m for j= 1:n if S(i,j)~=0; Sbin(i,j) = 1; if S(i,j) == 0; Sbin(i,j) = 0; end %calculate transpose of Sbin SbinT = transpose(Sbin);
%calculate Ax, the compound adjacency matrix Ax = Sbin*SbinT; %calculate Av, the reaction adjacency matrix Av = SbinT*Sbin; % bar plot of the number of metabolites y, that participate in x reactions [m,n] = size(Ax); y = ; for i = 1:m y = [y Ax(i,i)]; end maxreactions = max(y); minreaction = min(y); reactions = [minreactions:1:maxreactions]; compounds = zeros(1,length(reactions)); for j = 1:length(reactions); I = find(y == reactions(j)); compounds(j) = [length(I)]; end bar(reactions,compounds) xlabel('number of reactions') ylabel('number of compounds')
What’s Next? Singular Value Decomposition? Calculating Extreme Pathways? Running Simulations using ODE solvers?