ACCESSMODEL
The AccessModel folder contains a number of functions that derive information from the MATLAB_SBML structures.
Function are:
array = DetermineSpeciesRoleInReaction(SBMLSpecies, SBMLReaction)
Takes 
- SBMLSpecies, an SBML species structure
- SBMLReaction, an SBML reaction structure
Returns   
- 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 
- 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 
- SBMLModel, an SBML Model structure
Returns 
- an array of strings representing the identifiers of all parameters 
         (both global and embedded) within the model 
- 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 
- SBMLModel, an SBML model structure
Returns 
- 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
- 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
- SBMLModel, an SBML Model structure
Returns
- an array of strings representing the identifiers of all compartmentTypes within the model 
[names, values] = GetCompartments(SBMLModel)
Takes
- SBMLModel, an SBML Model structure 
Returns 
- an array of strings representing the identifiers of all compartments within the model 
- 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
- SBMLModel, an SBML Model structure
Returns 
- an array of strings representing the identifiers of 
           all global parameters within the model 
- 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
- SBMLModel, an SBML Model structure
Returns 
- an array of strings representing the identifiers of all parameters
- 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 
- SBMLModel, an SBML Model structure 
Returns
- an array of strings representing the identifiers of all parameters
- 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 
- SBMLReaction, an SBML Reaction structure
Returns 
- an array of strings representing the identifiers of all parameters defined 
           within the kinetic law of the reaction 
- an array of the values of each parameter
[names, values] = GetParameterFromReactionUnique(SBMLReaction)
Takes
- SBMLReaction, an SBML Reaction structure 
Returns
- an array of strings representing the identifiers of all parameters defined 
           within the kinetic law of the reaction, with the reaction
           name appended
- 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 
- SBMLModel, an SBML Model structure 
Returns
- an array of strings representing the identifiers of all parameters
- 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
- SBMLModel; an SBML Model structure 
Returns
- an array of strings representing the identifiers of all species
- 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
- SBMLModel, an SBML Model structure 
Returns
- an array of strings representing the identifiers of all species
- 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 
- SBMLModel, an SBML Model structure 
Returns 
- an array of strings representing the identifiers of all species within the model 
- 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
- SBMLModel, an SBML Model structure
Returns
- an array of strings representing the identifiers of all species
- 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
- SBMLModel, an SBML Model structure 
Returns
- an array of strings representing the identifiers of all species
- 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
- SBMLModel, an SBML Model structure 
Returns
- an array of strings representing the identifiers of all SpeciesTypes within the model 
[matrix, species] = GetStoichiometryMatrix(SBMLModel)
Takes
- SBMLModel, an SBML Model structure
Returns
- the stoichiometry matrix produced from the reactions/species
- 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
- SBMLModel, an SBML Model structure
Returns
- a sparse stoichiometry matrix produced from the reactions/species
NOTE: This function was contributed by: Arsen Batagov (2006)
[names, values] = GetVaryingParameters(SBMLModel)
Takes 
- SBMLModel, an SBML Model structure
Returns 
- an array of strings representing the identifiers of any non-constant parameters 
         within the model 
- 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
- SBMLSpecies, an SBML Species structure
- SBMLReaction, an SBML Reaction structure
Returns
- the number of times the species occurs within the reaction