Documentation Center

  • Trial Software
  • Product Updates

sbioconsmoiety

Find conserved moieties in SimBiology model

Syntax

[G, Sp] = sbioconsmoiety(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')

Arguments

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 G specifies a linear combination of species whose rate of change over time is zero.
Sp Cell array of species names that labels the columns of G.

If the species are in multiple compartments, species names are qualified with the compartment name in the form compartmentName.speciesName. For example, nucleus.DNA, cytoplasm.mRNA.

modelObjModel object to be evaluated for conserved moieties.
alg Specify algorithm to use during evaluation of conserved moieties. Valid values are 'qr', 'rreduce', or 'semipos'.
HCell array of strings containing the conserved moieties.
pPrints the output to a cell array of strings.
FormatArgSpecifies formatting for the output H. FormatArg should either be a 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.
SDCell array containing the names of dependent species in the model.
L0

Link matrix relating SI and SD. The link matrix L0 satisfies 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.

L0 is a sparse matrix. To convert it to a full matrix, use the full function.

NR

Reduced stoichiometry matrices containing one row for each independent species. The concatenated matrix [NR;ND] is a row-permuted version of the full stoichiometry matrix of modelObj.

NR is a sparse matrix. To convert it to a full matrix, use the full function.

ND

Reduced stoichiometry matrices containing one row for each dependent species. The concatenated matrix [NR;ND] is a row-permuted version of the full stoichiometry matrix of modelObj.

ND is a sparse matrix. To convert it to a full matrix, use the full function.

Description

[G, Sp] = sbioconsmoiety(modelObj) calculates a complete set of linear conservation relations for the species in the SimBiology® model object 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.

[G, Sp] = sbioconsmoiety(modelObj, alg) provides an algorithm specification. For 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.

H = sbioconsmoiety(modelObj, alg,'p') returns a cell array of strings H containing the conserved quantities in modelObj.

H = sbioconsmoiety(modelObj, alg,'p', FormatArg) specifies formatting for the output H. FormatArg should either be a C-style format string, or a positive integer specifying the maximum number of digits of precision used.

[SI, SD, L0, NR, ND] = sbioconsmoiety(modelObj,'link') uses a QR-based algorithm to compute information relevant to the dimensional reduction, via conservation relations, of the reaction network in modelObj.

Examples

Example 1

This example shows conserved moieties in a cycle.

  1. 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');
  2. Look for conserved moieties.

     [g sp] = sbioconsmoiety(modelObj)
    g =
    
         1     1     1
    
    
    sp = 
    
        'a'
        'b'
        'c'

Example 2

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'

See Also

Was this topic helpful?