pwTutorial_Rule_based_modeling
== Rule-based modeling in PottersWheel 2.1 ==
In rule-based modeling, groups of similar reactions can be formulated
using a single 'rule' which leads to a more compact model formulation.
A rule is a reaction where e.g. the state of some binding sites is not
affecting the reaction rate and can be ignored.
Suppose a receptor R with two binding sites, one for a ligand L and
one for a substrate S. It may have the following conformations,
where 'o' stands for a free binding site and '_' separates the binding sites:
| R_o_o | Unbound receptor |
| R_L_o | Ligand-bound receptor |
| pR_L_o | Ligand-bound phosphorylated receptor |
| pR_L_S | ... bound to a substrate |
| pR_L_pS | ... bound to a phosphorylated substrate |
| pR_o_S | ... bound to a substrate, but ligand-unbound |
| pR_o_pS | ... bound to a phosphorylated substrate, but ligand-unbound |
Phosphorylation of the substrate may be independent of the presence
of the ligand, therefore the following reactions share the same rate:
pR_L_S -> pR_L_pS
pR_o_S -> pR_o_pS
A rule summarizes both reactions by using either a placeholder like '*'
representing all possible binding states or by listing all allowed states
separated by '|' and grouped by angle brackets '<...>', here
pR_@_S
pR_<L|o>_S
This notation is only applied to the reactant, since the product should have
the same state of the not-affecting binding site - with or without the ligand.
Therefore a reference is created in the reactant '<1:...>' and its concrete
value can be reused in the product by inserting '<1>', e.g.
pR_<1:@> -> pR_<1>_pS or
pr_<1:L|o> -> pR_<1>_pS
Suppose a second ligand E which is also able to phosphorylate the receptor:
R_L_o -> pR_L_o
R_E_o -> pR_E_o
These reactions can be formulated using the rule
R_<1:L|E>_o -> pR_<1>_o
Use of '@',
R_<1:@>_o -> pR_<1>_o
would be wrong since this rule also matches the reaction
R_o_o -> pR_o_o
which is not allowed in our example model. In this case the
placeholder '#' can be used, which matches all non-empty binding sites:
R_<1:#>_o -> pR_<1>_o
Requirements
In order to apply rule-based modeling in PottersWheel the following naming
convention must be applied:
- Basic species start with a capital letter [A-Z]
- Modifications of a species are denoted by lowercase prefixes [a-z0-9].
A modification could be a single or double phosphorylation, p and pp
respectively, leading to pR and ppR, or cytoplasmic versus nuclear
proteins, e.g. cS and nS.
- Bindings are denoted using an underscore '_'
Binding sites versus modification states
Modifications can always be formulated using a separate binding site,
e.g. instead of pR one could use R_P (and consequently instead of R one
would use R_o). A specific binding site enables more possibilities to
formulate rules but also leads to longer species IDs, here e.g. R_o
instead of just R.
Changes from PW 2.0
- Use of @ instead of * and # instead of +.
This allows to use PottersWheel patterns within mathematical equations
without interfering with algebraic operators.
- A_@ does not match A or A_B_C, but only A_o, A_B, etc.
To match A and A_@ please use <A|A_@>
- Use of "o" for an empty binding site.
- p|ppA does not match pA and ppA, but is not permitted any more.
Rather use explicitly pA|ppA.
See also