Main Content

Species Object

A species object represents a species, which is the amount of a chemical or entity that participates in reactions. A species is always scoped to a compartment.

When adding species to a model with multiple compartments, you must specify qualified names, using compartmentName.speciesName. For example, nucleus.DNA denotes the species DNA in the compartment nucleus.

For information about...See...
Creating and adding a species to a modeladdspecies
Methods and properties of a speciesspecies object

How Species Amounts Change During Simulations

The amount of a species can remain constant or vary during the simulation of a model. Use the following properties of a species object to specify how the amount of a species changes during a simulation:

  • Constant property — When set to true, the species amount does not change during a simulation. The species can be part of a reaction or rule, but the reaction or rule cannot change its amount. When set to false, the species amount is determined by a reaction or a rule, but not both.

  • BoundaryCondition property — When set to true, the species amount is either constant or determined by a rule, but not determined by a chemical reaction. In other words, the simulation does not create a differential rate term from the reactions for this species, even if it is in a reaction, but it can have a differential rate term created from a rule.

Keeping a Species Amount Unchanged

Set ConstantAmount to true and BoundaryCondition to false for a constant species, whose amount is not changed by a reaction or rule. In this case, the species acts like a parameter. It cannot be in a reaction, and it cannot be varied by a rule.

ConstantAmountBoundaryConditionReactionRuleChanged By
TrueFalseNoNoNever

Example — Species E is not part of the reaction, but it is part of the reaction rate equation. E is constant and could be replaced with the constant Vm = k2*E.

     reaction: S -> P
reaction rate: kcat*E*S/(Km + S)

Changing a Species Amount with a Reaction or Rule

Set ConstantAmount to false and BoundaryCondition to false for a species whose amount is changed by a reaction or rule, but not both.

ConstantAmountBoundaryConditionReactionRuleChanged By
FalseFalseYesNoReaction
FalseFalseNo YesRule

Example 1 — Species A is part of a reaction, and it is in the reaction rate equation. The species amount or concentration is determined by the reaction. This is the most common category of a species. A differential rate equation for the species is created from the reactions.

     reaction: A -> B
reaction rate: k*A

Example 2 — Species E is not part of the reaction, but it is in the reaction rate equation. E varies with another reaction or rule.

     reaction: S -> P
reaction rate: kcat*E*S/(Km + S)

Example 3 — Species G is not part of a reaction, and it is not in a rate equation. G varies with an algebraic rule or rate rule.

    rate rule: dG/dt = k

Changing a Species Amount with a Rule When Species is Part of a Reaction

Set ConstantAmount to false and BoundaryCondition to true for a species whose amount is changed by a rule, but the species is also part of a reaction, and a differential rate term from the reaction is not created. The amount of the species changes with the rule, and a differential rate term is created from the rule.

ConstantAmountBoundaryConditionReactionRuleChanged By
FalseTrueYesYesRule

Example 1 — Species A is not changed by the rate equation, but changes according to a rate rule. However, A could be in the rate equation that changes other species in the reaction.

     reaction: A -> B
reaction rate: k1 or k1*A
    rate rule: dA/dt = k2*A (solution is  A = k2*t)
               (enter in SimBiology as A = k2*A)

Example 2 — Species A is not in the rate equation, but changes according to an algebraic rule.

      reaction: A -> B + C
 reaction rate: k or k*A
algebraic rule: A = 2*C 
                (enter in SimBiology as 2*C - A)

Keeping a Species Amount Unchanged When Species is Part of a Reaction that Adds or Removes Mass

Set ConstantAmount to true and BoundaryCondition to true for a constant species that is part of a reaction, but a differential rate term is not created from the reaction. The differential rate term is created from a rule.

ConstantAmountBoundaryConditionReactionRuleChanged By
TrueTrueYesNoNever

During simulation, a differential rate equation is not created for the species. dSpecies/dt does not exist.

Example 1A is a infinite source and its amount does not change. B increases with a zero order rate (k and k*A are both constants). A source refers to a species where mass is added to the system.

     reaction: A -> B
reaction rate: k or k*A

Example 2 — B decreases with a first-order rate, but A is an infinite sink and its amount does not change. A sink refers to a species where mass is subtracted from the system.

     reaction: B -> A
reaction rate: k*B

Example 3 — The null species is a reserved species name that can act as a source or a sink.

     reaction: null -> B
reaction rate: k

     reaction: B -> null
reaction rate: k*B

Example 4ATP and ADP are in the reaction and have constant values, but they are not in the reaction rate equation.

     reaction: S + ATP -> P + ADP
reaction rate: Vm*S/(Km + S) 

See Also

|