Find conserved moieties in SimBiology model

`[`

* G*,

`Sp`

`modelObj`

`[``G, Sp`

] = sbioconsmoiety(`modelObj`

, `alg`

)

`H`

= sbioconsmoiety(`modelObj`

, `alg`

,'p')

`H`

= sbioconsmoiety(`modelObj`

, `alg`

,'p', `FormatArg`

)

`[``SI, SD, L0, NR, ND`

]
= sbioconsmoiety(`modelObj`

,'link')

`G ` | An `m-by-n` matrix, where `m` is
the number of conserved quantities found and `n` is
the number of species in the model. Each row of specifies
a linear combination of species whose rate of change over time is
zero.`G` |

`Sp` | Cell array of species names that labels the columns of . If
the species are in multiple compartments, species names are qualified
with the compartment name in the form |

`modelObj` | Model object to be evaluated for conserved moieties. |

`alg` | Specify algorithm to use during evaluation of conserved moieties.
Valid values are `'qr'` , `'rreduce'` ,
or `'semipos'` . |

`H` | Cell array of character vectors containing the conserved moieties. |

`p` | Prints the output to a cell array of character vectors. |

`FormatArg` | Specifies formatting for the output . `H` should
either be a `FormatArg` `C-style` format string, or a positive
integer specifying the maximum number of digits of precision used. |

`SI` | Cell array containing the names of independent species in the model. |

`SD` | Cell array containing the names of dependent species in the model. |

`L0` | Link matrix relating ```
ND
= L0*NR
``` . For the `'link'` functionality,
species with their `BoundaryCondition` or
`ConstantAmount` properties
set to true are treated as having stoichiometry of zero in all reactions.
`full` function. |

`NR` | Reduced stoichiometry matrices containing one row for
each independent species. The concatenated matrix
`full` function. |

`ND` | Reduced stoichiometry matrices containing one row for
each dependent species. The concatenated matrix ]`ND` .`modelObj`
`full` function. |

calculates
a complete set of linear conservation relations for the species in
the SimBiology`[`

* G*,

`Sp`

`modelObj`

`modelObj`

.
`sbioconsmoiety`

computes conservation relations
by analyzing the structure of the model object's stoichiometry matrix.
Thus, `sbioconsmoiety`

does not include species that
are governed by algebraic or rate rules.

provides
an algorithm specification. For `[`

* G, Sp*] = sbioconsmoiety(

`modelObj`

`alg`

`alg`

,
specify `'qr'`

, `'rreduce'`

, or `'semipos'`

.When you specify

`'qr'`

,`sbioconsmoiety`

uses an algorithm based on`QR`

factorization. From a numerical standpoint, this is the most efficient and reliable approach.When you specify

`'rreduce'`

,`sbioconsmoiety`

uses an algorithm based on row reduction, which yields better numbers for smaller models. This is the default.When you specify

`'semipos'`

,`sbioconsmoiety`

returns conservation relations in which all the coefficients are greater than or equal to 0, permitting a more transparent interpretation in terms of physical quantities.

For larger models, the `QR`

-based method is
recommended. For smaller models, row reduction or the semipositive
algorithm may be preferable. For row reduction and `QR`

factorization,
the number of conservation relations returned equals the row rank
degeneracy of the model object's stoichiometry matrix. The semipositive
algorithm may return a different number of relations. Mathematically
speaking, this algorithm returns a generating set of vectors for the
space of semipositive conservation relations.

returns
a cell array of character vectors * H* = sbioconsmoiety(

`modelObj`

`alg`

`H`

containing
the conserved quantities in` ``modelObj`

.

specifies
formatting for the output * H* = sbioconsmoiety(

`modelObj`

`alg`

`FormatArg`

`H`

. `FormatArg`

should
either be a `C-style`

format string, or a positive
integer specifying the maximum number of digits of precision used.

uses
a `[`

* SI, SD, L0, NR, ND*]
= sbioconsmoiety(

`modelObj`

`QR`

-based algorithm to compute information relevant
to the dimensional reduction, via conservation relations, of the reaction
network in` ``modelObj`

.This example shows conserved moieties in a cycle.

Create a model with a cycle. For convenience use arbitrary reaction rates, as this will not affect the result.

modelObj = sbiomodel('cycle'); modelObj.addreaction('a -> b','ReactionRate','1'); modelObj.addreaction('b -> c','ReactionRate','b'); modelObj.addreaction('c -> a','ReactionRate','2*c');

Look for conserved moieties.

[g sp] = sbioconsmoiety(modelObj)

g = 1 1 1 sp = 'a' 'b' 'c'

Explore semipositive conservation relations in the `oscillator`

model.

modelObj = sbmlimport('oscillator'); sbioconsmoiety(modelObj,'semipos','p')

ans = 'pol + pol_OpA + pol_OpB + pol_OpC' 'OpB + pol_OpB + pA_OpB1 + pA_OpB_pA + pA_OpB2' 'OpA + pol_OpA + pC_OpA1 + pC_OpA2 + pC_OpA_pC' 'OpC + pol_OpC + pB_OpC1 + pB_OpC2 + pB_OpC_pB'

Was this topic helpful?