### ACCESSMODEL

The AccessModel folder contains a number of functions that derive information from the MATLAB_SBML structures.

Function are:

#### array = DetermineSpeciesRoleInReaction(SBMLSpecies, SBMLReaction)

Takes

1. SBMLSpecies, an SBML species structure
2. SBMLReaction, an SBML reaction structure

Returns

1. an array with five elements `[isProduct, isReactant, isModifier, positionInProductList, positionInReactantList]` indicating whether the species is a product, reactant or modifier and recording the position in the list of products/reactants

or

1. array = 0 if the species is NOT part of the reaction

EXAMPLE:

             y   =   DetermineSpeciesRoleInReaction(s, r)
                 =   0                 if s is not in r
                 =   [1, 0, 0, 2, 0]   if s is product number 2 in rb
                 =   [0, 1, 0, 0, 1]   if s is reactant number 1 in r
                 =   [0, 0, 1, 0, 0]   if s is a modifier in r
                 =   [1, 1, 0, 1, 2]   if s is product number 1 and reactant number 2 in r

#### [names, values] = GetAllParameters(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all parameters (both global and embedded) within the model
2. an array of the values of each parameter

NOTE: the value returned will be (in order)

- determined from assignmentRules/initialAssignments where appropriate
- the attribute 'value' for the given parameter
- NaN, if the value is not specified in any way within the model

#### [names, values] = GetAllParametersUnique(SBMLModel)

Takes

1. SBMLModel, an SBML model structure

Returns

1. an array of strings representing the identifiers of all parameters (both global and embedded) within the model. Note: reaction names are appended to the names of parameters declared within a reaction
2. an array of the values of each parameter

NOTE: the value returned will be (in order)

- determined from assignmentRules/initialAssignments where appropriate
- the attribute 'value' for the given parameter
- NaN, if the value is not specified in any way within the model

EXAMPLE:

     model has 1 parameter k1
           and reaction R1 that lists a local parameter k1

          [names, values] = GetAllParametersUnique(model)

                    names = [k1, k1_R1]
                   values = [2, 1.5]

#### names = GetCompartmentTypes(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all compartmentTypes within the model

#### [names, values] = GetCompartments(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all compartments within the model
2. an array of the size/volume values of each compartment

NOTE: the value returned will be (in order)

- determined from assignmentRules/initialAssignments where appropriate
- the attribute 'size' ('volume' in L1) for the given compartment
- NaN, if the value is not specified in any way within the model

#### [names, values] = GetGlobalParameters(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all global parameters within the model
2. an array of the values of each parameter

NOTE: the value returned will be (in order)

- determined from assignmentRules/initialAssignments where appropriate
- the attribute 'value' for the given parameter
- NaN, if the value is not specified in any way within the model

#### [parameters, algebraicRules] = GetParameterAlgebraicRules(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all parameters

2. an array of

   - the character representation of each algebraic rule the parameter appears in
   - '0' if the particular parameter is not in an algebraic rule

EXAMPLE:

     model has 3 parameters (k1, k2, k3)
           and 2 algebraic rules with formula 'k2+7' and 'k2-k3'

          [parameters, algebraicRules] = GetParameterAlgebraicRules(model)

                   parameters     = ['k1', 'k2', 'k3']
                   algebraicRules = {'0', ['k2+7', 'k2-k3'], ['k2-k3']}

#### [parameters, assignmentRules] = GetParameterAssignmentRules(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all parameters

2. an array of

   - the character representation of the assignment rule used to assign value to a given parameter
   - '0' if the parameter is not assigned by a rule

#### [names, values] = GetParameterFromReaction(SBMLReaction)

Takes

1. SBMLReaction, an SBML Reaction structure

Returns

1. an array of strings representing the identifiers of all parameters defined within the kinetic law of the reaction
2. an array of the values of each parameter

#### [names, values] = GetParameterFromReactionUnique(SBMLReaction)

Takes

1. SBMLReaction, an SBML Reaction structure

Returns

1. an array of strings representing the identifiers of all parameters defined within the kinetic law of the reaction, with the reaction name appended
2. an array of the values of each parameter

EXAMPLE:

     reaction with id R1 has 2 parameters k1 and k2

          [names, values] = GetParameterFromReactionUnique(reaction)

                    names = [k1_R1, k2_R1]
                   values = [2, 1.5]

#### [parameters, raterules] = GetParameterRateRules((SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all parameters

2. an array of

   - the character representation of the rate rule used to assign value to a given parameter
   - '0' if the parameter is not assigned by a rule

#### [species, rateLaws] = GetRateLawsFromReactions(SBMLModel)

Takes

1. SBMLModel; an SBML Model structure

Returns

1. an array of strings representing the identifiers of all species

2. an array of

   - the character representation of the rate law established from any reactions that determines the particular species
   - '0' if the particular species is not a reactant/product in any reaction

EXAMPLE:

     model has 4 species (s1, s2, s3, s4)
           and 2 reactions; s1 -> s2 with kineticLaw 'k1*s1'
                            s2 -> s3 with kineticLaw 'k2*s2'

          [species, rateLaws] = GetRateLawsFromReactions(model)

                   species     = ['s1', 's2', 's3', 's4']
                   rateLaws = {'-k1*s1', 'k1*s1-k2*s2', 'k2*s2', '0'}

#### [species, rateLaws] = GetRateLawsFromRules(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all species

2. an array of

   - the character representation of the rateRule that determines the particular species
   - '0' if the particular species is not assigned by a rateRule

#### [names, values] = GetSpecies(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all species within the model
2. an array of the initial concentration/amount values of each species

NOTE: the value returned will be (in order)

- determined from assignmentRules/initialAssignments where appropriate
- the attribute 'initialAmount' or 'initialConcentration' for the given parameter
- NaN, if the value is not specified in any way within the model

#### [names, values] = GetSpeciesAlgebraicRules(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all species

2. an array of

   - the character representation of each algebraic rule the species appears in
   - '0' if the particular species is not in an algebraic rule

EXAMPLE:

     model has 3 species (s1, s2, s3)
           and 2 algebraic rules with formula 's2+7' and 's2-s3'

          [species, algebraicRules] = GetSpeciesAlgebraicRules(model)

                   species     = ['s1', 's2', 's3']
                   algebraicRules = {'0', ['s2+7', 's2-s3'], ['k2-k3']}

#### [species, assignmentRules] = GetSpeciesAssignmentRules(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all species

2. an array of

   - the character representation of the assignment rule used to assign value to a given species
   - '0' if the species is not assigned by a rule

#### names = GetSpeciesTypes(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of all SpeciesTypes within the model

#### [matrix, species] = GetStoichiometryMatrix(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. the stoichiometry matrix produced from the reactions/species
2. an array of strings representing the identifiers of all species within the model (in the order in which the matrix deals with them)

EXAMPLE:

     model has 5 species (s1, s2, s3, s4, s5)
           and 3 reactions: s1 -> s2
                            s3 -> s5
                            2s1 -> s5

          [matrix, species] = GetRateLawsFromReactions(model)

                   matrix = -1   0  -2
                             1   0   0
                             0  -1   0
                             0   1   1
                   species     = ['s1', 's2', 's3', 's5']

            (species s4 does not play a role in any reaction)

#### S = GetStoichiometrySparse(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. a sparse stoichiometry matrix produced from the reactions/species

NOTE: This function was contributed by: Arsen Batagov (2006)

#### [names, values] = GetVaryingParameters(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. an array of strings representing the identifiers of any non-constant parameters within the model
2. an array of the values of each of these parameter

NOTE: the value returned will be (in order)

- determined from assignmentRules/initialAssignments where appropriate
- the attribute 'value' for the given parameter
- NaN; if the value is not specified in any way within the model

#### num = IsSpeciesInReaction(SBMLSpecies, SBMLReaction)

Takes

1. SBMLSpecies, an SBML Species structure
2. SBMLReaction, an SBML Reaction structure

Returns

1. the number of times the species occurs within the reaction