=Paper=
{{Paper
|id=None
|storemode=property
|title=Colored Petri nets to Model and Simulate Biological Systems
|pdfUrl=https://ceur-ws.org/Vol-827/6_FeiLiu_article.pdf
|volume=Vol-827
|dblpUrl=https://dblp.org/rec/conf/acsd/LiuH10
}}
==Colored Petri nets to Model and Simulate Biological Systems==
Colored Petri nets to model and simulate biological systems Fei Liu and Monika Heiner Department of Computer Science, Brandenburg University of Technology Postbox 10 13 44, 03013 Cottbus, Germany {liu, monika.heiner}@informatik.tu-cottbus.de Abstract. Petri nets have become an effective formalism to model bi- ological systems. However, attempts to simulate biological systems by low-level Petri nets are restricted to relatively small models, and they tend to grow quickly for modeling complex systems, which makes it more difficult to manage and understand the nets. Motivated by this, we propose a colored Petri net-based framework for modeling, simulat- ing, and analyzing complex biological systems. We give the definitions of biochemically interpreted colored qualitative Petri nets (QP N C ) and colored stochastic Petri nets (SP N C ) and describe their functionalities and features implemented in the Petri net tool Snoopy. We use two exam- ples, the cooperative ligand binding and the repressilator, to demonstrate how to construct and simulate QP N C and SP N C models, respectively. 1 Motivation With the rapid growth of data being generated in the biological field, it has be- come necessary to organize the data into coherent models that describe system behavior, which are subsequently used for simulation, analysis or prediction. A large variety of modeling approaches has already been applied to modeling a wide array of biological systems (see [HK09] for a review). Among them, Petri nets are especially suitable for representing and modeling the concurrent, asyn- chronous, and dynamic behavior of biological systems, which were first intro- duced to the qualitative analysis of the biochemical reaction systems by Reddy et al. [RML93]. Motivated by the qualitative analysis of Petri nets, many ap- plications of Petri nets (e.g. stochastic Petri nets, timed Petri nets, continuous Petri nets, and hybrid Petri nets, etc.) have been developed for modeling and simulating biological systems [GH06]. Since biological processes are inherently stochastic, stochastic Petri nets have recently become a modeling paradigm for capturing their complex dynamics, which can help to understand the behav- ior of complex biological systems by integrating detailed biochemical data and providing quantitative analysis results, see e.g. [JP98], [NOG+05], [PRA05]. Petri nets provide a formal and clear representation of biological systems based on their firm mathematical foundation for the analysis of biochemical properties. However, low-level Petri nets do not scale. So attempts to simulate biological systems by low-level Petri nets have been mainly restricted so far Recent Advances in Petri Nets and Concurrency, S. Donatelli, J. Kleijn, R.J. Machado, J.M. Fernandes (eds.), CEUR Workshop Proceedings, volume 827, ISSN 1613-0073, Jan/2012, pp. 71–85. 72 Petri Nets & Concurrency Liu and Heiner 2 to relatively small models. They tend to grow quickly for modeling complex systems, which makes it more difficult to manage and understand the nets, thus increasing the risk of modeling errors [Mur07]. Two known modeling concepts improving the situation are hierarchy and color. Hierarchical structuring has been discussed a lot, see e.g. [MWW09], while the color has gained little attention so far. Thus, we investigate how to apply colored Petri nets to modeling and analyzing biological systems. To do so, we not only provide compact and readable representations of complex biological systems, but also do not lose the analysis capabilities of low-level Petri nets, which can still be supported by automatic unfolding. Moreover, another attractive advantage of colored Petri nets for a biological modeler is that they provide the possibility to easily increase the size of a model consisting of many similar subnets just by adding colors. In this paper, we propose a colored Petri net-based framework for modeling, simulating, and analyzing biological systems. We are developing tools to support this new framework. Two prototypes for colored qualitative Petri nets (QP N C ) and colored stochastic Petri nets (SP N C ) have been implemented in Snoopy, a tool for modeling and animating/simulating hierarchical graph-based formalisms [Sno10]. We will describe these two prototypes and some applications. This paper is organized as follows. Section 2 outlines the colored Petri net- based framework for modeling, simulating and analyzing biological systems and gives the definitions of QP N C and SP N C . Section 3 discusses the function- alities and features for QP N C and SP N C , which have been implemented in Snoopy. Section 4 shows how to construct basic colored Petri net components, and gives two examples to demonstrate QP N C and SP N C , respectively. Section 5 summarizes related work. Finally, conclusions and outlook are given. 2 Colored Petri net-based framework In this section, we propose a colored Petri net-based framework for modeling, and simulating/analyzing biological systems, illustrated in Fig. 1, which extends the Petri net-based framework for modeling, and simulating/analyzing biological systems introduced in [GHL07], i.e., the new proposed framework is in fact the colored version of the existing framework. Both of these frameworks unify the qualitative, stochastic and continuous Petri net paradigms, but the colored ver- sion provides more compact and readable representations of complex biological systems. The new framework relates three modeling paradigms: QP N C , SP N C , and colored continuous Petri nets (CP N C ), just like the Petri net-based framework that relates qualitative Petri nets (QP N ), stochastic Petri nets (SP N ) and continuous Petri nets (CPN). QP N C is an abstraction of SP N C and CP N C , while SP N C and CP N C are mutually related by approximation. The user can refer to [GHL07] to take a closer look at the detailed relationship between these three paradigms. In the following, we will describe QP N C and SP N C in detail, but not CP N C as we have not investigated CP N C yet. Colored Petri nets for biological systems Petri Nets & Concurrency – 73 3 Fig. 1. Colored Petri net-based framework for modeling, and simulating/analyzing biological systems. 2.1 Colored qualitative Petri Nets (QP N C ) We assume basic knowledge of the standard notions of qualitative place/transition Petri nets, see e.g. [Mur89], [HGD08]. In the following, we will briefly describe QP N , and then give the definition of QP N C . QP N is the basic Petri net class, which consists of places, transitions, and arcs. QP N does not associate a time with transitions or the sojourn of tokens at places, and thus is time-free [GHL07]. QP N C is a colored extension of QP N . Colored Petri nets were first proposed by Jensen [Jen81], which combine Petri nets with capabilities of programming languages to describe data types and operations, thus providing a flexible way to create compact and parameterizable models. In colored Petri nets, tokens are distinguished by the ”color”, rather than having only the ”black” one. Besides, arc expressions, an extended version of arc weights, specify which tokens can flow over the arcs, and guards that are in fact Boolean expressions define additional constraints on the enabling of the transitions [JKW07]. In the following, we give the definition of the QP N C based on the definition of colored Petri nets by Jensen [JKW07]. Here we denote by EXP the set of expressions that comply with a predefined syntax, which are used as arc expressions, guards, etc. P Definition 1. A QP N C is a tuple < P, T, F, , C, g, f, m0 >, where: – P is a finite, non-empty set of places. – T is a finite, non-empty set of transitions. F is a finite set of directed arcs, such that F ⊆ (P × T ) ∪ (T × P ). – P – is a finite, P non-empty set of types, also called color sets. – C : P →P is a color function that assigns to each place p ∈ P a color set C(p) ∈ . – g : T → EXP is a guard function that assigns to each transition t ∈ T a guard expression that has the Boolean type. 74 Petri Nets & Concurrency Liu and Heiner 4 – f : F → EXP is an arc function that assigns to each arc a ∈ F an arc expression that has a multiset type C(p)M S , where p is the place connected to the arc a, and C(p)M S is the multiset on the color set C(p). – m0 : P → EXP is an initialization function that assigns to each place p ∈ P an initialization expression that has a multiset type C(p)M S . QP N C is a colored extension of the qualitative place/transition net extended by different kinds of arcs, e.g., inhibitor arc and read arc [HRR+08]. These kinds of arcs are not explicitly denoted in the definition above. 2.2 Colored Stochastic Petri Nets (SP N C ) In this section, we will briefly recall stochastic Petri nets (SP N ) and their ex- tensions, and then introduce colored stochastic Petri nets (SP N C ). SP N are an extension of qualitative place/transition Petri nets. As with a qualitative Petri net, a stochastic Petri net maintains a discrete number of tokens on its places. But contrary to the time-free case, a firing rate (waiting time) is associated with each transition, which is a random variable, defined by an exponential probability distribution. The semantics of a stochastic Petri net is described by a continuous time Markov chain (CTMC). The CTMC of a stochastic Petri net without parallel transitions is isomorphic to the reachability graph of the underlying qualitative Petri net, while the arcs between the system states are now labelled by the transition rates [HLG+09]. There are quite a number of various extensions based on the fundamental stochastic Petri net class SP N , see e.g. [MBC+95], [Ger01]. For example, gen- eralized stochastic Petri nets (GSP N ) are stochastic Petri nets (SP N ) extended by inhibitor arcs and immediate transitions. Deterministic and stochastic Petri nets (DSP N ) are generalized stochastic Petri nets (GSP N ) extended by deter- ministic transitions [HLG+09]. While SP N and its extensions offer enormous modeling power, managing large-scale Petri net models is difficult due to the fact that tokens are indistin- guishable. To alleviate this limitation, the SP N C is presented to uplift biochem- ically interpreted extended stochastic Petri nets introduced in [HLG+09] to a colored version. As in the QP N C , in the SP N C , tokens are distinguished by the ”color”, and arc expressions and guards have the same meaning. Before expres- sions are evaluated to values, the variables in the expressions must get assigned values, which is called binding. A binding of a transtion t ∈ T exactly corre- sponds to a transition instance, denoted by t(b), i.e., each binding will become an uncolored transition after unfolding. The set of all bindings for a transition t constitutes the set of all the instances of transition t, denoted by T I(t). The set of all instances for all transitions T of a net is denoted by T I(T ). In contrast, each color c ∈ C(p) for a place p ∈ P exactly corresponds to a place instance, denoted by p(c), i.e., each color will become an uncolored place after unfolding. We let P I(p) denote all the instances of a place p and P I(P ) all the instances of all places P of a net. In the following, we give the definition of SP N C based on QP N C . Colored Petri nets for biological systems Petri Nets & Concurrency – 75 5 Definition 2. A biochemically P interpreted colored stochastic Petri net SP N C is a tuple < P, T, F, , C, g, f, v, l, m0 >, where: P – < P, T, F, , C, g, f, m0 > is a QP N C . – T is refined as the union of three disjoint transition sets, i.e. T := Tstoch ∪ Tim ∪ Ttimed with: • Tstoch , the set of stochastic transitions with exponentially distributed waiting time, • Tim , the set of immediate transitions with waiting time zero, and • Ttimed , the set of transitions with deterministic waiting time. – F is refined as the union of two disjoint arc sets, i.e., F := FN ∪ FI with: • FN ⊆ (P × T ) ∪ (T × P ) is the set of directed standard arcs, • FI ⊆ P × T is the set of directed inhibitor arcs. – v : T I(Tstoch ) → H is a function that assigns a stochastic hazard function h(t(b)) to each transition instance t(b) ∈ T I(t) of each transition t ∈ Tstoch , S |• t(b)| whereby H := t(b)∈T I(T ) {ht(b) |ht(b) : N0 → R+ } is the set of all stochas- tic hazard functions, and v(t(b)) = h(t(b)) for all transitions t ∈ Tstoch . – l : T I(Ttimed ) → R+ assigns a non-negative deterministic waiting time to each transition instance t(b) ∈ T I(t) of each deterministic transition t ∈ Ttimed . Please note, the stochastic hazard function in SP N C is defined for each transition instance of each colored transition. The domain of h(t(b)) is restricted to the set of preplace instances of t(b), denoted by • t(b) with • t(b) := {p(c) ∈ P I(P )|f (p(c), t(b)) 6= 0}. For sake of simplicity, such features as read arcs and scheduled transitions are not explicitly mentioned in the definition above. For the semantics of SP N C refer to [HLG+09]. Colored Petri nets, such as QP N C and SP N C , allow to build more compact and parametric representations of biological systems by, e.g., folding similar sub- nets which are then distinguished by colors. Therefore, it is possible to concisely represent complex systems that would have required a huge low-level Petri net. This provides an effective way to model and simulate very complex biological systems which would have been difficult with other modeling approaches. 3 Colored Petri net implementation in Snoopy Snoopy is a generic and adaptive tool for modeling and animating/simulating hierarchical graph-based formalisms. Snoopy runs on Windows, Linux, and Mac operating systems. It is available free of charge for non-commercial use, and can be obtained from our website [Sno10]. However QP N C and SP N C are still prototypes and thus not included in the official release so far. Snoopy provides the following functionalities for QP N C and SP N C : – Rich data types for color set definition, consisting of dot, integer, string, Boolean, enumeration, index, product and union. The user can use these data types to define distinguishable tokens. 76 Petri Nets & Concurrency Liu and Heiner 6 – Colored Petri net models as drawn as usual, and automatic syntax checking of declarations and expressions. – Automatic animation, and single-step animation by manually choosing a binding. Thus, the user can run animation automatically or control the ani- mation manually. – Simulation is done on an automatically unfolded Petri net, and simulation results for colored or uncolored places/transitions are given together or sep- arately. This functionality only applies to SP N C . – Several simulation algorithms to simulate SP N C , including the Gillespie stochastic simulation algorithm (SSA) [Gil77]. – QP N C and SP N C are exported to different net formalisms, and thus can be analyzed by different tools such as CHARLIE [Fra09] and IDD-CSL [SH09]. In addition, there are some functionalities and features that are especially helpful for modeling biological systems, which are described as follows. – Concise specification of initial markings. In a biological model, there are often large quantities of species to be modeled. So the initial markings may be set in many different ways. • Specifying the color and its corresponding tokens as usual. • Specifying a set of colors with the same number of tokens. • Using a predicate to choose a set of colors and then specifying the number of tokens. • Using the all() function to specify a specific number of tokens for all colors. – Specifying a rate function for each instance of a colored transition. For a tran- sition, we may define different rate functions for different transition binding instances, and we use predicates to reach this goal. – Supporting several extended arc types, such as inhibitor arc, read arc (often also called test arcs), equal arc, reset arc, and modifier arc, which are popular add-ons enhancing modeling comfort [HRR+08]. – Supporting extended transitions. Snoopy supports stochastic transitions with freestyle rate functions and rate functions of some predefined patterns as well as several deterministically timed transition types: immediate firing, deter- ministic firing delay, and scheduled firing (see [HLG+09] for details). All these functionalities and features for QP N C and SP N C facilitate the modeling and simulation of biological systems. As a result, we not only can obtain a more compact and readable model for a complex biological system, but also do not lose simulation or analysis capabilities compared with low-level Petri nets. 4 Constructing colored Petri net models In this section, we will demonstrate how to construct a colored Petri net model using Snoopy. We first show how to construct basic colored Petri net components, and then present two examples to illustrate QP N C and SP N C , respectively. Colored Petri nets for biological systems Petri Nets & Concurrency – 77 7 4.1 Constructing basic colored Petri net components The key step in the design of a colored Petri net is to construct basic colored Petri net units, through which we can obtain the whole colored Petri net model step by step. This process is also called folding. In the following we will introduce some folding ways to construct basic colored Petri net components, which are illustrated in Fig. 2. p1 p2 p CS p1 p2 p CS x++ x (+x) −−> −−> t1 t2 t t1 t t2 (a) (b) CS p1 p2 p [x=1](x++ (+x))++ Declarations: −−> [x=2]x colorset CS = int with 1,2; t1 t2 t variable x : CS ; (c) (d) Fig. 2. Basic colored Petri net components. Fig. 2(a) shows the folding of two isolated subnets with the same structure. For this simple case, we can define a color set containing two colors. For example, we define the color set as ”CS” with two integer colors: 1 and 2 (see Fig. 2(d)). We then assign the color set ”CS” to the place. We define the arc expression as x, where x is a variable of the type ”CS”. Thus, we get a basic colored Petri net component, illustrated on the right hand of Fig. 2(a). In Fig. 2(b), the net to be folded is extended by two extra arcs from p2 (p1) to t1 (t2), respectively. To fold it, we use the same color set, and just modify the arc expression to x + +(+x), where the ”+” in the (+x) is the successor operator, which returns the successor of x in an ordered finite color set. If x is the last color, then it returns the first color. The ”++” is the multiset addition operator. In Fig. 2(c), the net to be folded gets one extra arc from p2 to t1. To fold it, we use the same color set, and just modify the arc expression to [x = 1](x + +(+x)) + +[x = 2]x, meaning: if x = 1, then there are two arcs connecting p with t, while if x = 2, then there is only one arc connecting p with t. In summary, the following rules apply when folding two similar nets to a colored Petri net. If the two subnets share the same structure, we just have to define a color set and set arc expressions without predicates. If the subnets are similar, but not the same in structure, we may need to define arc expressions with predicates or guards. However, in either case, if we want to continue to add other similar nets, what we should do is usually to add new colors, and 78 Petri Nets & Concurrency Liu and Heiner 8 slightly change arc expressions or guards. Using these basic colored Petri net components, we can construct the whole colored Petri net model step by step. In the next two sections, we will give two simple examples to demonstrate the application of colored Petri nets. The first example is to demonstrate QP N C , and the second one is to demonstrate SP N C . 4.2 Cooperative ligand binding We consider an example of the binding of oxygen to the four subunits of a hemoglobin heterotetramer. The hemoglobin heterotetramer in the high and low affinity state binds to none, one, two, three or four oxygen molecules. Each of the ten states is represented by a place and oxygen feeds into the transitions that sequentially connect the respective places. The qualitative Petri net model is illustrated in Fig. 3 (taken from [MWW09]). Using the folding ways demonstrated above we obtain for Fig. 3 a QP N C model (Fig. 4), and further a more compact QP N C model (Fig. 5). From Fig. 4, we can see that the colored Petri net model reduces the size of the corresponding low-level Petri net model. Moreover, comparing Fig. 4 with Fig. 5, we can also see that we can build colored Petri net model with different level of structural details, which is especially helpful for modeling complex biological systems. After automatic unfolding, these two colored models yield exactly the same Petri net model as given in Fig. 3, i.e., the colored models and the uncolored model are equivalent. The declarations for these two QP N C models of the cooperative ligand binding are given in Table 1. From these two colored nets, we can also see that the folding operation does reduce the size of the net description for the prize of more complicated inscrip- tions. The graphic complexity is reduced, but the annotations of nodes and edges creates a new challenge. This is not unexpected since a more concise write-up must rely on more complex components. Therefore, it is necessary to build a colored Petri net model at a suitable level of structural details. Table 1. Declarations for the QP N C models of the cooperative ligand binding. Declarations colorset Dot = dot; colorset HbO2 = int with 0-4; colorset Level = enum with H,L; colorset P = product with HbO2 × Level; variable x: HbO2; variable y: Level; Colored Petri nets for biological systems Petri Nets & Concurrency – 79 9 Hb(O2)4Lo Hb(O2)4Hi O2 O2 O2 Hb(O2)3Lo Hb(O2)3Hi O2 O2 O2 Hb(O2)2Lo Hb(O2)2Hi O2 O2 O2 Hb(O2)1Lo Hb(O2)1Hi O2 O2 O2 Hb(O2)0Lo Hb(O2)0Hi Fig. 3. Cooperative binding of oxygen to hemoglobin represented as a Petri net model. For clarity, oxygen is represented in the form of multiple copies (logical places) of one place. 4‘dot O2 Dot 4 dot dot dot dot t1 [x<>4] t2 [x<>4] t3 [x<>4] t4 [x<>4] x x x+1 x+1 x x x+1 x+1 x x 1 t5 HbO2H 1‘0 HbO2L x x HbO2 HbO2 t6 Fig. 4. QP N C model for the cooperative binding of oxygen to hemoglobin, given as a low-level Petri net in Fig. 3. For declarations of color sets and variables, see Table 1. 80 Petri Nets & Concurrency Liu and Heiner 10 4‘dot Dot 4 [y=L]dot [y=L]dot O2 [y=H]dot [y=H]dot t1 [x<>4] t2 [x<>4] [y=L]1‘(x+1,y)++ [y=L]1‘(x+1,y)++ [y=H]1‘(x,y) [y=H]1‘(x,y) [y=H]1‘(x+1,y)++ [y=H]1‘(x+1,y)++ [y=L]1‘(x,y) [y=L]1‘(x,y) HbO2 1 1‘(0,L) P [y=L]1‘(x,y) [y=H]1‘(x,L) [y=L]1‘(x,H) [y=H]1‘(x,y) t4 t3 Fig. 5. QP N C model for the cooperative binding of oxygen to hemoglobin, given as a low-level Petri net in Fig. 3. For declarations of color sets and variables, see Table 1. 4.3 Repressilator In this section, we will demonstrate the SP N C using an example of a synthetic circuit - the repressilator, which is an engineered synthetic system encoded on a plasmid, and designed to exhibit oscillations [EL00]. The repressilator system is a regulatory cycle of three genes, for example, denoted by g a, g b and g c, where each gene represses its successor, namely, g a inhibits g b, g b inhibites g c, and g c inhibites g a. This negative regulation is realized by the repressors, p a, p b and p c, generated by the genes g a, g b and g c respectively [LB07]. gene_a gene_b gene_c unblock unblock unblock generate generate generate block_a block_b block_c blocked_a blocked_b blocked_c proteine_a proteine_b proteine_c block_b block_c block_a degrade degrade degrade Fig. 6. Stochastic Petri net model for the repressilator. The highlighted transitions are logical transitions. As our purpose is to demonstrate the SP N C , we only consider a relatively simple model of the repressilator, which was built as a stochastic π-machine in [BCP08]. Based on that model, we build a stochastic Petri net model (Fig. 6), and further a SP N C model for the repressilator (shown on the left hand of Fig. Colored Petri nets for biological systems Petri Nets & Concurrency – 81 11 7). This colored model when unfolded yields the same uncolored Petri net model in Fig. 6. Table 2 gives the declarations for this SP N C model. There are three colors, a, b, and c to distinguish three similar components in Fig. 6. The predecessor operator ”-” in the arc expression −x returns the predecessor of x in an ordered finite color set. If x is the first color, then it returns the last color. As described above, the SP N C will be automatically unfolded to a stochastic Petri net, and can be simulated with different simulation algorithms. On the right hand of Fig. 7 a snapshot of a simulation run result is given. The rate functions are given in Table 3 (coming from [PC07]). The SP N C model exhibits the same behavior compared with that in [PC07]. Stochastic Result: repressilatorex.colstochpn Gene 1‘all() gene 3 x x x x unblock block Value generate x x −x x Gene Gene −x blocked proteine x degrade Time Fig. 7. SP N C model of the low-level Petri net given in Fig. 6, and one simulation run plot for the repressilator. For rate functions, see Table 3. Table 2. Declarations for the SP N C model of the repressilator. Declarations colorset Gene = enum with a,b,c; variable x: Gene; From Fig. 7, we can see that the SP N C model reduces the size of the original stochastic Petri net model to one third. More importantly, when other similar subnets have to be added, the model structure does not need to be modified and what has to be done is only to add extra colors. For example, we consider the generalized repressilator with an arbitrary num- ber n of genes in the loop that is presented in [MHE+06]. To build its SP N C model, we just need to modify the color set as n colors, and do not need to 82 Petri Nets & Concurrency Liu and Heiner 12 Table 3. Rate functions for the SP N C model of the repressilator. Transition Rate function generate 0.1 ∗ gene block 1.0 ∗ proteine unblock 0.0001 ∗ blocked degrade 0.001 ∗ proteine modify anything else. For example, Fig. 8 gives the conceptual graph of the gen- eralized repressilator with n = 9 (on the left hand), and one simulation plot (on the right hand), whose rate functions are the same as in Table 3. Please note, the SP N C model for the generalized repressilator is the same as the one for the three-gene repressilator, and the only difference is that we define the color set as n colors rather than 3 colors. This demonstrates a big advantage of color Petri nets, that is, to increase the colors means to increase the size of the net. Stochastic Result: repressilatorex.colstochpn !" #$ !" #% !" #& !" #' !" # !" #( !" #) !" #* !" ! # Value Time Fig. 8. Conceptual graph and one simulation run plot for the repressilator with 9 genes. 5 Related work Heiner et al. modeled metabolic pathways with high-level Petri nets using the software packages Design/CPN [Des01]. Colors discriminate metabolites, and thus they got a number of valuable insights by combining symbolic analysis and simulation for colored metabolic steady state system models [HKV01]. Gen- rich et al. discussed the steps to establish and tune high-level net models, and Colored Petri nets for biological systems Petri Nets & Concurrency – 83 13 modeled metabolic pathways of the glycolysis and citric acid cycle with col- ored Petri nets using also Design/CPN. By assigning enzymatic reaction rates to the transitions, they implemented the simulation and quantitative study of networks of metabolic processes [GKV01]. Bahi-Jaber et al. investigated the ap- plication of colored stochastic Petri nets to epidemic models using a very simple model [BP03]. Although this study had no tool support, it really demonstrated the advantages of colored stochastic Petri nets. Runge described a systematic semi-automatic procedure, exploiting the place/transition net’s T-invariants to construct an equivalent bounded and live coloured net. As case study, an ex- tended glycolysis was used [Run04]. However, he only considered modeling and qualitative analysis of biological model based on CPN tools [JKW07]. Lee et al. built a colored Petri net model for the signal transduction system stimulated by epidermal growth factor (EGF) based on CPN tools, in which they use the conservation and kinetic equations to quantitatively examine the dynamic be- havior of the EGF signaling pathway [LYL+06]. Tubner et al. used the UML class diagram to understand the static structure of molecules involved in the TLR4 pathway, and then modeled and simulated the TLR4 pathway to get the behavior of the system with colored Petri nets based on CPN tools [TMK+06]. In their model, they did not consider any time information. In summary, the existing studies usually resort to Design/CPN or its succes- sor CPN tools to realize the modeling and analysis of biological systems. But CPN tools are not designed for modeling and analyzing biological systems. So it is not suitable in many aspects, like rate function definition and simulative analysis by stochastic simulation algorithms. In contrast, in Snoopy we provide specific functionalities and features to support editing, simulating, and analyzing of biological models based on colored Petri nets, as shown in Section 3. 6 Conclusion and outlook In this paper we have described our on-going work of a colored Petri net-based framework to model, simulate, and analyze complex biological systems. This framework consists of three parts: QP N C , SP N C , and CP N C , and only the first two parts have been described in this paper. Their definitions are given, and functionalities and features implemented in Snoopy are described, followed by two examples to demonstrate their application. The colored Petri nets al- low a more concise representation of biological systems, making it possible and convenient to construct and analyze large-scale biological models. We are working on improvements of these two paradigms: QP N C and SP N C . In the next step, we will focus on the development of analysis tools for SP N C , and we will include the CP N C in our work. We are also developing a method to automatically create colored Petri nets from non-coloured Petri nets (automatic folding). This development will provide much stronger support to construct and analyze large-scale biological models. Besides, we are working on a case study 84 Petri Nets & Concurrency Liu and Heiner 14 with a size of the underlying uncolored model of about 110,000 places and 135,000 transitions. Acknowledgments This work has been supported by the Modeling of Pain Switch (MOPS) program of Federal Ministry of Education and Research (Funding Number: 0315449H). We would like to thank Wolfgang Marwan, Christian Rohr, and Martin Schwar- ick for their assistance in model construction and software development. We also would like to thank the anonymous referees for many constructive comments. References [BCP08] R. Blossey, L. Cardelli, A. Phillips: Compositionality, Stochasticity and Co- operativity in Dynamic Models of Gene Regulation. HFSP Journal. 2(1), 17-28 (2008) [BP03] N. Bahi-Jaber, D. Pontier: Modeling Transmission of Directly Transmitted Infectious Diseases Using Colored Stochastic Petri Nets. Mathematical Biosciences. 185, 1-13 (2003) [Des01] Design/CPN: http://www.daimi.au.dk/designCPN. (2001) [EL00] M. B. Elowitz, S. Leibler: A Synthetic Oscillatory Network of Transcriptional Regulators. Nature. 403, 335-338 (2000) [Fra09] A. Franzke: Charlie 2.0 - a Multi-Threaded Petri Net Analyzer. Diploma The- sis, Brandenburg University of Technology Cottbus. (2009) [Ger01] R. German: Performance Analysis of Communication Systems With Non- Markovian Stochastic Petri Nets. John Wiley and Sons Ltd. (2001) [GH06] D. Gilbert, M. Heiner: From Petri Nets to Differential Equations - an Inte- grative Approach for Biochemical Network Analysis. Proc. ICATPN. LNCS, 4024, 181-200 (2006) [GHL07] D. Gilbert, M. Heiner, S. Lehrack : A Unifying Framework for Modelling and Analysing Biochemical Pathways Using Petri Nets. Proc. International Conference on Computational Methods in Systems Biology. LNCS/LNBI, 4695, 200-216 (2007) [GKV01] H. Genrich, R. Kffner, K. Voss: Executable Petri Net Models for the Anal- ysis of Metabolic Pathways. International Journal on Software Tools for Technology Transfer. 3(4), 394-404 (2001) [Gil77] D. T. Gillespie: Exact Stochastic Simulation of Coupled Chemical Reactions. Journal of Physical Chemistry. 81(25), 2340-2361 (1977) [HGD08] M. Heiner, D. Gilbert, R. Donaldson: Petri Nets for Systems and Synthetic Biology. In Schools on Formal Methods (SFM), LNCS, 5016, 215-264 (2008) [HK09] A. P. Heath, L. E. Kavraki: Computational Challenges in Systems Biology. Computer Science Review. 3(1), 1-17 (2009) [HKV01] M. Heiner, I. Koch, K. Voss: Analysis and Simulation of Steady States in Metabolic Pathways with Petri Nets. Proc. Third Workshop CPN. Univ. of Aarhus, 15-34 (2001) [HLG+09] M. Heiner, S. Lehrack, D. Gilbert, W. Marwan: Extended Stochastic Petri Nets for Model-based Design of Wetlab Experiments. Transaction on Computational Systems Biology XI. LNCS/LNBI, 5750, 138-163 (2009) Colored Petri nets for biological systems Petri Nets & Concurrency – 85 15 [HRR+08] M. Heiner, R. Richter, C. Rohr, M. Schwarick: Snoopy - A Tool to Design and Execute Graph-Based Formalisms. [Extended Version]. Petri Net Newsletter. 74, 8-22 (2008) [Jen81] K. Jensen: Coloured Petri Nets and the Invariant-Method. Theor. Comput. Sci. 14, 317-336 (1981) [JKW07] K. Jensen, L. M. Kristensen, L. M. Wells: Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems. International Journal on Software Tools for Technology Transfer. 9(3/4) 213-254 (2007) [JP98] P. J. E. Goss, J. Peccoud: Quantitative Modeling of Stochastic Systems in Molecular Biology by Using Stochastic Petri Nets. Proc. Natl. Acad. Sci. 95, 6750- 6755 (1998) [LB07] A. Loinger, O. Biham: Stochastic Simulations of the Repressilator Circuit. Phisical Review. 76(5), 051917(9) (2007) [LYL+06] D. Lee, R. Zimmer, S. Lee, S. Park: Colored Petri Net Modeling and Simu- lation of Signal Transduction Pathways. Metabolic Engineering. 8, 112-122 (2006) [MBC+95] M. Ajmone Marsan, G. Balbo, G. Conte, S. Donatelli, and G. Frances- chinis: Modelling with Generalized Stochastic Petri Nets. Wiley Series in Parallel Computing. John Wiley and Sons, 2nd Edition. (1995) [MHE+06] S. Muller, J. Hofbauer, L. Endler, C. Flamm, S. Widder, P. Schuster: A Generalized Model of the Repressilator. Journal of Mathematical Biology. 53, 905-937 (2006) [Mur89] T. Murata: Petri Nets: Properties, Analysis and Applications. Proc.of the IEEE. 4, 541-580 (1989) [Mur07] I. Mura: Simplifying the Stochastic Petri Nets Formalism for Representing Biological Phenomena. Technical Report TR-19-2007, CoSBi (Center for Computa- tional and Systems Biology), University of Trento (2007) [MWW09] W. Marwan, A. Wagler, R. Weismantel: Petri Nets as a Framework for the Reconstruction and Analysis of Signal Transduction Pathways and Regulatory Networks. Natural Computing. 9 (2009) [NOG+05] T. Nutsch, D. Oesterhelt, E. D. Gilles, W. Marwan: A Quantitative Model of the Switch Cycle of an Archaeal Flagellar Motor and Its Sensory Control. Bio- physical Journal. 89(4), 2307-2323 (2005) [PC07] A. Phillips, L. Cardelli: Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus. Proc. Computational Methods in Systems Biology. LNCS, 4695, 184-199 (2007) [PRA05] M. Peleg, D. Rubin, R. B. Altman: Using Petri Net Tools to Study Properties and Dynamics of Biological Systems. Journal of the American Medical Informatics Association. 12(2), 181-199 (2005) [RML93] V. N. Reddy, M. L. Mavrovouniotis, M. N. Liebman: Petri Net Represen- tation in Metabolic Pathways. Proc. First International Conference on Intelligent System for Molecular Biology. 328-336 (1993) [Run04] T. Runge: Application of Coloured Petri Nets in Systems Biology. Proc. 5th Workshop CPN. 77-95 (2004) [SH09] M. Schwarick, M. Heiner: CSL Model Checking of Biochemical Networks with Interval Decision Diagrams. Proc. 7th International Conference on Computational Methods in Systems Biology (CMSB 2009), Springer LNBI 5688, 296-312 (2009) [Sno10] Snoopy Website: Snoopy - Tool to Design and Animate/Simulate Graphs. http://www-dssz.informatik.tu-cottbus.de/software/snoopy.html (2010) [TMK+06] C. Tubner, B. Mathiak, A. Kupfer, N. Fleischer, S. Eckstein: Modelling and Simulation of the TLR4 Pathway with Coloured Petri Nets. Proc. IEEE EMBS Annual International Conference. 2009-2012 (2006)