Equipe-Projet Contraintes, INRIA Paris-Rocquencourt, BP105, 78153 Le Chesnay Cedex, France

Abstract

Background

We present a way to compute the minimal semi-positive invariants of a Petri net representing a biological reaction system, as resolution of a Constraint Satisfaction Problem. The use of Petri nets to manipulate Systems Biology models and make available a variety of tools is quite old, and recently analyses based on invariant computation for biological models have become more and more frequent, for instance in the context of module decomposition.

Results

In our case, this analysis brings both qualitative and quantitative information on the models, in the form of conservation laws, consistency checking, etc. thanks to finite domain constraint programming. It is noticeable that some of the most recent optimizations of standard invariant computation techniques in Petri nets correspond to well-known techniques in constraint solving, like symmetry-breaking. Moreover, we show that the simple and natural encoding proposed is not only efficient but also flexible enough to encompass sub/sur-invariants, siphons/traps, etc., i.e., other Petri net structural properties that lead to supplementary insight on the dynamics of the biochemical system under study.

Conclusions

A simple implementation based on GNU-Prolog's finite domain solver, and including symmetry detection and breaking, was incorporated into the BIOCHAM modelling environment and in the independent tool Nicotine. Some illustrative examples and benchmarks are provided.

1 Background

1.1 Introduction

Reaction models like those of

The use of Petri nets to represent those models, taking into account the difference between compounds and reactions in the graph, and make available various kinds of analyses is quite old

We present here a very simple way to incorporate invariant computation in an existing biological modelling tool, using constraint programming with symmetry detection and breaking. We compare it to other approaches and evaluate it, for the case of P-invariants, on some examples of various sizes, like the MAPK cascade models of

1.2 Petri net view of a reaction model

A Petri net is a bipartite oriented (weighted) graph of transitions, usually represented as square boxes, and places, usually represented as circles, that defines a (actually not unique) transition relation on

**Example 1 **

Petri Net

_{1}
_{-1}
_{2}

P (resp. T) invariants are defined, as usual, as vectors _{ij }

1.3 Related work

To compute the invariants of a Petri net, especially if this computation is combined with other Petri net analyses, like sinks and sources, traps, deadlocks, etc. the most natural solution is to use a Petri net dedicated tool like INA, PiNA, or Charlie for instance through the interface of Snoopy

Another way to extract the minimal semi-positive invariants of a model is to use one of the software tools that provide this computation for biological systems, generally as "conservation law" computation, and based on linear algebra methods like QR factorization

Finally, the most recent developments in invariant computation rely on a symbolic encoding through Binary decision Diagrams

2 Results and Discussion

2.1 Finding invariants as a Constraint Satisfaction Problem

We will illustrate our new method for computing the invariants with the case of P-invariants (but T-invariants, being dual, would work in the same fashion). Consider a Petri net with _{i }
_{i}
_{i }
_{i }
^{T }
_{i }
_{i}

**Example 2 **

The task is actually to find invariants with minimal support, with respect to set inclusion (a linear combination of invariants belonging to **1 **> 0.

**Example 3 **

Now, to ensure minimality the labelling is invoked from small to big values. This means that for each variable, if an enumeration remains necessary after constraint propagation, values are tried in an increasing order starting at 0. This is closely related to the enumeration strategy used in the mixed integer programming method of

Unfortunately, even with the last constraint, no search heuristic was found that makes removing subsumed P-invariants unnecessary. Thus, if a new vector is added to

The algorithm can be summarized as follows:

**Algorithm 1 **Minimal invariants computation

1: post the CSP for invariant V: ∀1 ≤ _{i }
_{i }
**1 **> 0

2: **repeat**

3: find a solution, enumerating from low to high

4: add the solution to the basis

5: remove non-minimal invariants from the basis if there are any

6: post the new constraint

7: **until **no solution found

8: expand symmetrical solutions of

This algorithm was implemented directly into Nicotine^{1 }and then added to BIOCHAM

**Example 4 **

•

•

2.2 Equality classes

The problem of finding minimal semi-positive invariants is clearly EXPSPACE-hard since there can be an exponential number of such invariants. For instance the model given in Example 5 (described in ^{n }
_{i }
_{i }

**Example 5 (Classic 2-n) **(Figure**
**

Example 5

A first remark is that in this example, there is a variable symmetry between all the pairs (_{i}
_{i}
_{i }
_{i}

This classical CSP optimization is enough to avoid most of the trivial exponential blow-ups and corresponds to the initial phase of

Moreover, in

**Example 6**

...

...

This partial detection of independent subproblems, which can be seen as a complex form of symmetry identification, can once again be done syntactically at the initial phase, and can be stated as follows: replace ∑_{
i
}
_{i }
_{i }
_{i }
_{i }
_{i }
_{i }
_{j }
_{j }
_{i}
_{i }

2.3 Example, the MAPK Cascade

The MAPK signal transduction cascade is a well studied system that appears in lots of organisms and is very important for regulating cell division

A simple MAPK cascade model, that of

Seven minimal semi-positive P-invariants are found almost instantly. Intuitively, they represent the different levels of the cascade (i.e., RAFK, RAF, MEK and MAPK) and the corresponding phosphatases (RAFPH, MEKPH and MAPKPH). The use of those P-invariants as visual

Some conservation laws of the MAPK model of

**Some conservation laws of the MAPK model of **

P-invariants of the MAPK cascade model of

RAFK, RAF-RAFK

RAFPH, RAFPH-RAF~{p1}

RAF, MEK-RAF~{p1}, RAF-RAFK, RAFPH-RAF~{p1}, MEK~{p1}-RAF~{p1}, RAF~{p1}

MEKPH, MEKPH-MEK~{p1}, MEKPH-MEK~{p1, p2}

MEK, MAPK-MEK~{p1, p2}, MEK-RAF~{p1}, MEKPH-MEK~{p1}, MEKPH-MEK~{p1, p2}, MAPK~{p1}-MEK~{p1, p2}, MEK~{p1}-RAF~{p1}, MEK~{p1}, MEK~{p1, p2}

MAPKPH, MAPKPH-MAPK~{p1}, MAPKPH-MAPK~{p1, p2}

MAPK, MAPK-MEK~{p1, p2}, MAPKPH-MAPK~{p1}, MAPK~{p1, p2} MAPK~{p1}-MEK~{p1, p2}, MAPK~{p1}, MAPKPH-MAPK ~{p1, p2},

Full list of the P-invariants of the MAPK cascade model of

In the next section other examples are used as benchmarks of this method, they are all much bigger than this one, which had only about 30 compounds, however note that one of those is still a model of the MAPK signalling cascade.

Note that these 7 P-invariants define 7 algebraic conservation rules (i.e., mass conservation) and thus decrease the size of the corresponding ODE model from 22 variables and equations to only 15.

2.4 Evaluation on other biochemical examples

Schoeberl's model is a more detailed version of the MAPK cascade, which is quite comprehensive

Minimal semi-positive P-invariant computation on bigger models of biochemical reaction networks

**Model**

**transit.**

**places**

**P-invar.**

**time (s)**

**Invariant size**

Schoeberl's MAPK

125

105

13

0.53

from 2 to 44

Calzone et al. E2F/Rb

~500

~400

79

18

from size 1 (EP300) to about 230 (E2F1 box)

Kohn's map

~800

~500

70

171

from size 1 (Myt1) to about 200 (pRb or cdk2)

Minimal semi-positive P-invariant computation on bigger models of biochemical reaction networks

All the curated models in the September 2010 release of

We could not compare our results with those provided in

Though they are not specifically suited for this task (i.e., finding integer invariants), we tried some of the most well known Elementary Flux Modes computing packages on these examples. METATOOL

2.5 Non-biochemical benchmarks

Even if our main purpose is to use the insight on the dynamics gained from the structural properties computed by our CSP, an evaluation of the proposed method on non-biochemical models remains of interest.

The literature on invariant computation is quite large, however there does not seem to exist any standardized benchmark. Each author selects some examples with different properties (see for instance

Moreover, even when the software used in these articles is available, usually only binary implementations are available, and only for some specific architectures and through a specific request process. In some cases none is provided at all.

Therefore, using a machine comparable in specifications, we chose to reuse the data published in the most recent work, that of Ciardo et al.

Note that there are usually many symmetries in these parametric examples and thus that a more powerful (or manual) symmetry detection would be called for in these specific cases. Nevertheless, since (intracellular) biochemical systems usually do not generate such structure, we did not push further the integration of more advanced symmetry detection/breaking in our tools.

All the models used for the biochemical and non-biochemical benchmarks can be found at:

METATOOL's "CONSERVATION RELATIONS" were used when possible, but that only allows to find - as expected - 91 out of the 10 billion invariants for the classic example, in 0.33s. Models were thus

The results are presented in Table ^{10 }minimal P-invariants), one can stop the computation before symmetry expansion and get an answer in a reasonable time.

Minimal semi-positive P-invariant computation on general (non-biochemical) benchmarks of the literature

**model**

**BDD V2**

**BDD V4**

**GreatSPN**

**Nicotine**

**Metatool CR**

**Metatool EFM**

**efmtool**

trains 10-10

4.81

om

0.03

3.26

na (20)

om

ot

classic 10-10

0.01

0.01

ot

0.15

na (91)

om

ot

philo 30

1.04

0.01

0.01

2.68

3.04

om

ot

Minimal semi-positive P-invariant computation on general (non-biochemical) benchmarks of the literature. Times are given in seconds. BDD V2 and V4 (implicit) and GreatSPN (explicit) performances as per ^{10 }explicit solutions.

The CSP approach can therefore be seen as a kind of intermediate between purely implicit (i.e., solutions encoded, for instance as a decision diagram, and needing to be decoded to be displayed) and purely explicit methods. It also remains very flexible as next section will prove and could incorporate many more optimizations (variable ordering heuristics, more symmetry elimination, etc.) at a quite low cost.

All the 80 Petri nets of

We think that the structure of this kind of net is however very different (average degree, arc weights, etc.) from that of usual biochemical reaction models and intend to explore this distinction further in the future.

2.6 Generalizing the approach to other structural properties

An interesting feature of the presented method is that it is actually flexible enough to encompass other structural properties than place or transition invariants. This is, to our knowledge, not the case of other alternative methods.

If for the Petri net of Example 1 one obtained the constraints shown in Example 2 to compute P-invariants, one can notice that they can easily be adapted to compute sur- or sub-invariants, i.e., weighted sums that can only grow (resp. decrease) during the evolution of the system (see

**Example 7 **

Sur-invariants would be obtained with ≥ instead of ≤.

Now, getting a basis of minimal sub/sur-invariants can be done with the same branch and bound technique used for invariants, allowing to obtain information on pools of species of the biochemical system that, for instance, never increase during any ODE simulation.

One can go slightly farther and once again reuse the same machinery, including symmetry breaking, to compute siphons and traps of the Petri net (see

**Example 8 **

To compute siphons one simply need to reverse ⇒ into ⇐.

Note that in the boolean domain, the support minimality can be imposed by enumerating in increasing (lexicographic) order, there is no need for any a

**Algorithm 2 **Minimal traps computation

1: post the CSP for trap V

2: **repeat**

3: find a solution, enumerating from low to high

4: add the solution to the basis

5: post the new constraint

6: **until **no solution found

7: expand symmetrical solutions of

This computation of traps and siphons can actually bring information about the dynamics of the model, including temporal logic formulae that it satisfies^{2}, together with other structural properties

3 Conclusion

P-invariants of a biological reaction model are not so difficult to compute in most cases. They carry information about conservation laws that are useful for efficient and precise dynamical simulation of the system, and provide some notion of module, which is related to the life cycle of molecules. T-invariants are already used more commonly, and get more and more focus recently.

We introduced a new method to efficiently compute P and T-invariants of a reaction network, based on FD constraint programming. It includes symmetry detection and breaking and scales up well to the biggest reaction networks found. Completeness is lost on the biggest examples but we still look for a better upper bound on domains to restore it.

The idea of applying constraint based methods to classical problems of the Petri net community is not new, but seems currently mostly applied to the model-checking. We argue that structural problems (invariants, sinks, attractors, etc.) can also benefit from the know-how developed for finite domain CP solving, like symmetry breaking, search heuristics, flexibility, etc. and thus intend to generalize our approach to other problems of this category.

Competing interests

The author declares that they have no competing interests.

Endnotes

^{1}

^{2}This is the topic of a paper currently submitted to the CMSB 2011 conference. Depending on the outcome, a reference or a short explanation will be added.

Acknowledgements

We thank the French ANR project BioTempo (ANR-10-BLANC-0218) for its support.