text: Rule-based modeling is a modeling approach that uses a set of rules that indirectly specifies a mathematical model. The rule-set can either be translated into a model such as Markov chains or differential equations, or be treated using tools that directly work on the rule-set in place of a translated model, as the latter is typically much bigger. Rule-based modeling is especially effective in cases where the rule-set is significantly simpler than the model it implies, meaning that the model is a repeated manifestation of a limited number of patterns. An important domain where this is often the case is biochemical models of living organisms. Groups of mutually corresponding substances are subject to mutually corresponding interactions.
  BioNetGen is a suite of software tools used to generate mathematical models consisting of ordinary differential equations without generating the equations directly. For example below is an example rule in the BioNetGen format:
  Where:
  # A(a,a): Represents a model species A with two free binding sites a 
  # B(b): Represents a model species B with one free binding site 
  # A(a!1).B(b!1): Represents model species where at least one binding site of A is bound to the binding site of B
  With the above line of code, BioNetGen will automatically create an ODE for each model species with the correct mass balance. Additionally, an additional species will be created because the rule above implies that two B molecules can bind to a single A molecule since there are two binding sites. Therefore, the following species will be generated:
  4.  A(a!1,a!2).B(b!1).B(b!2): Molecule A with both binding sites occupied by two different B molecules.