Main Content

Determine Conserved Moieties in SimBiology

R2026b

Load the Goldbeter Mitotic Oscillator project, which includes the variable m1, a model object:

sbioloadproject Goldbeter_Mitotic_Oscillator_with_reactions.sbproj

Display the species information.

m1.Compartments.Species
ans = 
   SimBiology Species Array

   Index:    Compartment:    Name:    Value:    Units:    ParentModel:                               
   1         unnamed         C        0.01                Goldbeter Mitotic Oscillator with reactions
   2         unnamed         M        0.01                Goldbeter Mitotic Oscillator with reactions
   3         unnamed         Mplus    0.99                Goldbeter Mitotic Oscillator with reactions
   4         unnamed         X        0.01                Goldbeter Mitotic Oscillator with reactions
   5         unnamed         Xplus    0.99                Goldbeter Mitotic Oscillator with reactions
   6         unnamed         V1       0                   Goldbeter Mitotic Oscillator with reactions
   7         unnamed         V3       0                   Goldbeter Mitotic Oscillator with reactions
   8         unnamed         AA       0                   Goldbeter Mitotic Oscillator with reactions

Display the reaction information.

m1.Reactions
ans = 
   SimBiology Reaction Array

   Index:    Reaction:         
   1         AA -> C           
   2         C -> AA           
   3         C + X -> AA + X   
   4         Mplus + C -> M + C
   5         M -> Mplus        
   6         Xplus + M -> X + M
   7         X -> Xplus        

Use the simplest form of the sbioconsmoiety function and display the results. The default call to sbioconsmoiety, in which no algorithm is specified, uses an algorithm based on row reduction.

[g sp] = sbioconsmoiety(m1)
g = 3×6

     0     1     1     0     0     0
     0     0     0     1     1     0
     0     0     0     0     0     1

sp = 6×1 cell
    {'C'    }
    {'M'    }
    {'Mplus'}
    {'X'    }
    {'Xplus'}
    {'AA'   }

The columns in g are labeled by the species sp. Thus the first row describes the conserved relationship, M + Mplus. Notice that the third row indicates that the species AA is conserved, which is because AA is constant (ConstantAmount = 1).

Call sbioconsmoiety again, this time specifying the semipositive algorithm to explore conservation relations in the model. Also specify to return the conserved moieties in a cell array of character vectors, instead of a matrix.

cons_rel = sbioconsmoiety(m1,'semipos','p')
cons_rel = 3×1 cell
    {'AA'       }
    {'X + Xplus'}
    {'M + Mplus'}

Use the 'link' option to study the dependent and independent species.

[SI,SD,L0,NR,ND] = sbioconsmoiety(m1, 'link');

Show the list of independent species.

SI
SI = 3×1 cell
    {'C'}
    {'M'}
    {'X'}

Show the list of dependent species.

SD
SD = 3×1 cell
    {'Mplus'}
    {'Xplus'}
    {'AA'   }

Show the link matrix relating SD and SI by converting the L0 output from a sparse matrix to a full matrix.

L0_full = full(L0)
L0_full = 3×3

         0   -1.0000         0
         0         0   -1.0000
         0         0         0

Show the independent stoichiometry matrix, NR by converting the NR output from a sparse matrix to a full matrix.

NR_full = full(NR)
NR_full = 3×7

     1    -1    -1     0     0     0     0
     0     0     0     1    -1     0     0
     0     0     0     0     0     1    -1

Show the dependent stoichiometry matrix, ND by converting the ND output from a sparse matrix to a full matrix.

ND_full = full(ND)
ND_full = 3×7

     0     0     0    -1     1     0     0
     0     0     0     0     0    -1     1
     0     0     0     0     0     0     0

See Also