1 Introduction

Biological pathways can be observed as hybrid systems, e.g., protein concentration dynamics behaves continuously being coupled with discrete switches; protein production is switched on or off depending on the expression levels of other genes, i.e., the presence or absence of other proteins in sufficient concentration. On the basis of this observation, we proposed the use of hybrid Petri net (HPN) (Alla and David 1998) for modeling biological pathways (Matsuno et al. 2000). Although HPN has high potential with regard to modeling complex biological pathways, some basic biological processes such as trimer composition/decomposition from/to three monomers cannot be modeled naturally with HPN (Nagasaki et al. 2005). These deficiencies have been resolved by the development of hybrid functional Petri net (HFPN) (Matsuno et al. 2003a), which preserve all the functions of HPN. A further extension has been made to the HFPN, which has led to the development of hybrid functional Petri net with extension (HFPNe). HFPNe allows the modeling and simulation of more complex biological information such as localization and multicellular processes by enabling the handling of Boolean and string types of functions and by introducing generic processes (Nagasaki et al. 2005).

In this paper, Sect. 2 describes the efficiency of the HPN-based modeling method using the operon of two genes; Sect. 3 presents an HPN model of the λ phage genetic switch control system in order to demonstrate how a biological pathway can be modeled with a mixture of discrete and continuous elements. This HPN model is an extended version of the HPN model in (Matsuno et al. 2000), in which retroregulation and induction mechanisms are incorporated. This λ phage system is a good example for studying the HPN-based pathway modeling method, because this system can be modeled with discrete elements that control gene expression along with continuous elements that represent the amount of products produced by transcription and translation of genetic information.

Cell Illustrator is a software tool for biological pathway simulation (Nagasaki et al. 2003), (http://www.cellillustrator.com/), whose simulation engine is designed on the basis of the definition of HFPNe. Therefore, the major part of Sect. 3 is dedicated to the formal definition of HFPNe. The remainder of this section illustrates the hypothesis creation of the cyanobacterial circadian gene clock system with Cell Illustrator and our ongoing tasks in building a computational platform for systems biology, termed “Cell System Markup Language” and “Cell System Ontology.”

2 Why hybrid Petri net to model biological pathways?

Quantitative information such as the concentration of mRNA or protein is an essential factor in simulating biological pathways. The use of ordinary differential equations is widely accepted as a modeling method for biological pathways. However, this method is inappropriate for representing schematic information such as a diagram of pathway models illustrated using biological elements such as mRNA and protein. Conversely, although the Petri net has the potential to illustrate a biological pathway, it cannot express the quantitative information in biological pathways.

On the basis of these observations, we proposed the use of hybrid Petri net (HPN) for modeling biological pathways (Matsuno et al. 2000).Footnote 1 The HPN allows seamless integration of discrete and continuous biological elements. For example, discrete elements in biological pathways such as the control system of gene expression can be represented along with continuous processes such as the transcription and translation of genetic information or metabolic reactions.

In the following, we demonstrate how a biological pathway can be modeled with HPN by using two examples. This section describes a simple HPN model of an operon consisting of two genes. A more sophisticated HPN model of the λ phage genetic switch control mechanism, which is an extended version of the λ phage model presented in (Matsuno et al. 2000), will be presented in the next section.

2.1 Operon comprising two genes

Figures 1 and 2 show an operon model comprising two genes and its HPN model, respectively. The discrete place S 1 indicates the status of the promoter; while it holds token(s), transcription of the first gene continues. Footnote 2 The transcription rate of the first gene is assigned as the delay time of discrete transition T R1, and the concentration level of the mRNA produced by the transcription is stored in continuous place R 1 as a real number. Continuous transition T P1 represents the translation of the first gene, providing the amount of real number to continuous place P 1 depending on the content of continuous place R 1, namely, the firing rate of transition T P1 is given by a simple formula \(a\dot{m}_1\), where a is a real number greater than 0, and m 1 represents the content of place R 1. The reason for using the test arc from R 1 to T P1 is that mRNA is not consumed by the translation process. Continuous place P 1 stores the concentration of the protein produced from the first gene as a real number (m 2). Continuous transitions D R1 and D P1 are used to represent the degradation of mRNA and protein of the first gene, respectively. The firing rates of these continuous transitions D R1 and D P1 are given by simple formulas as \(b\dot{m}_1\) and \(c\dot{m}_2\), respectively, where b and c are real numbers greater than 0.

Fig. 1
figure 1

Operon consisting of two genes. While a transcription factor binds to the promoter site, Gene A and Gene B are transcribed sequentially

Fig. 2
figure 2

Hybrid Petri net model of the operon in Fig. 1

Places S 2, R 2 and P 2 and transitions T R2, T P2D R2, and D P2, which are used for modeling the transcription and translation process of the second gene, have the same implication as the first gene above.

Immediately after transcription of the first gene, the discrete place F 1 gets a token. The delay time assigned to discrete place F 1 represents the time required for the RNA polymerase to pass through the gap between the first and second genes.

Because the concentrations of mRNAs and proteins should be expressed in real numbers, continuous places are used to represent the concentrations that are controlled by continuous transitions with appropriate reaction rates. In contrast, the action of RNA polymerase is modeled with discrete places and transitions. The on/off state of a gene corresponds to the presence of a token in the discrete place to which a token is provided under the control of delay time, which represents the time required for RNA polymerase to traverse a gene or the gap between genes. The HPN model in the next section involves this operon model.Footnote 3

3 Enhanced HPN model of the λ phage genetic switch

Next, we will present an HPN model of the λ phage genetic switch. This HPN model includes the retroregulation and induction mechanisms that were not included in the previous paper (Matsuno et al. 2000). According to the quasi-standard in the symbolic description of genes and proteins of λ phage, the name of a gene is written with italic lower-case letters and the name of a protein with letters starting with a capital. For example, Int is a protein produced from a gene int.

3.1 Different expressions of Int and Xis in lytic and lysogenic growths of λ phage

The DNA of a λ phage is enclosed in the protein coat of the head and tail structure. λ phage attaches itself to the surface of an Escherichia Coli (E. Coli) cell, injecting its chromosome into the bacterium that is capsulated in its head. The injected chromosome may either lyse or lysogenize the E. Coli (Fig. 3). In lytic growth, new proteins are synthesized, which extensively replicate the viral chromosomes, package them in new viral particles, and lyse the cell. In a lysogenic bacterium, the phage genes required for lytic growth are turned off and the phage chromosome is replicated passively by proteins encoded and synthesized by the bacterium. The paper (Matsuno et al. 2000) demonstrated the simulation of the gene regulatory mechanism that is responsible for selecting lytic or lysogenic growth.

Fig. 3
figure 3

Lytic and lysogenic growths of λ phage injected into an E. coli host (Ptashne 1992). Ultraviolet irradiation of a lysogen induces lytic growth. Z1, Z2, ..., Z5 correspond to the same symbols as those in the HPN model of Fig. 5, which represent the states of λ phage growth

Int is the protein that integrates the phage chromosome into the host chromosome during lysogenization, and Xis is the protein that releases the integrated phage chromosome from the host chromosome. The int gene is transcribed from the two promoters—P L and P int —whose locations can be seen in Fig. 4. In contrast, the xis gene is transcribed from only the promoter P L .

Fig. 4
figure 4

Transcription of the Int and Xis genes. The promoter P int lies within the xis gene. Brief descriptions of the roles of these 2 genes and the cI, N, and cIII genes are given in (Matsuno et al. 2000). For details of these genes, refer to (Ptashne 1992)

In lytic growth, the transcribed mRNA originating at P L is destroyed by RNase, which begins at a position near sib and proceeds back toward N. Because the information encording int is destroyed, this mRNA produces more Xis than Int. This type of control is called retroregulation (Ptashne 1992).

Lysogenic or lytic growth of an infected phage can occur, depending on the amount of CII, which is influenced by the condition of the E. coli host, that is, when the phage grows in a rich medium in E. coli, degradation of CII is prevented.

The phage in lytic growth shows greater production of Xis than of Int so that phage chromosomes avoid unnecessary integration into the host chromosome. Since transcription from P int does not occur due to the low amount of CII in lytic growth, int and xis are transcribed from only P L as shown in Fig. 4. Accordingly, more Xis is produced than Int as a result of the retroregulation mentioned above.

Conversely, a high amount of CII causes the phage to go into the lysogenic growth phase, where more Int should be synthesized than Xis. As shown in Fig. 4, the CII protein turns on the transcription of int but not that of xis. Some Int and some Xis might be produced from the mRNA extending from P L , but the high amount of CII ensures that Int is in excess in lysogenic growth.

During lysogenic growth, ci gene expression is turned on, maintaining the production of CI protein at a certain level by a self-feedback mechanism. After the ultraviolet irradiation of lysogens, the CI protein is inactivated, and thereafter, the Cro protein is synthesized.

3.2 Enhanced HPN model with an incorporated induction mechanism

Figure 5 shows an HPN model of the λ phage genetic switch mechanism. The gray regions of this model illustrate the parts constructed in the paper (Matsuno et al. 2000). The region containing the black elements surrounded by the dotted square represents the logic in the HPN description determining lytic or lysogenic growth wherein proteins CI and Cro participate. This logic representation is a simplified version of the corresponding region described in (Matsuno et al. 2000). The remainder, which is in black, is the part that was newly added in this paper, which describes the regulatory mechanism for selecting lytic or lysogenic growth.

Fig. 5
figure 5

HPN of the λ phage genetic network. The gray parts of the network represent the previously constructed HPN presented in (Matsuno et al. 2000). The logical HPN expression of the binding sites for CI and Cro surrounded by the dotted line, where a more complicated expression was described in (Matsuno et al. 2000), is replaced by a simpler expression. The elements in black constitute the network that was newly added in this paper. This model can be downloaded from the website (http://www.genome.ib.sci.yamaguchi-u.ac.jp/~matsuno/lambda_CI.zip)

The discrete places labeled Z1, Z2, ..., Z5 represent the states of λ phage that correspond to the same labels in Fig. 3. A token in place Z1 moves to either place Z2 or place Z3, which reflects the selection between lytic and lysogenic growths (see Fig. 3).

3.2.1 Lytic growth

Place Z2 gets a token. Since this token inhibits the firing of discrete transition TS1, token(s) in discrete place D1 cannot flow out through TS1. Accordingly, the token flow from D1 to continuous place sib is accelerated, leading to an increase in the amount of sib. While keeping the amount of sib greater than the threshold th 1 at the arc from sib to discrete transition T D Footnote 4, the amount of C1 continues to get degraded by the firing of T D . As a result, the amount of continuous place Int B becomes low. These HPN elements constitute the retroregulation mechanism explained above.

Due to this retroregulation and the situation wherein the level of CII is not high enough to provide a token to discrete place P Int which works towards elevating the level of Int A , the expression of Int is maintained at a lower level than that of Xis. The token in Z2 moves to Z4 immediately after discrete place head&tail gets a token that is provided by the upstream path expressing lysis and production of heads and tails.

3.2.2 Lysogenic growth

Place Z3 gets a token. There are two inhibitory arcs going out from Z3. One inhibitory arc to discrete transition TS1 performs the same action as that in lytic growth, contributing to a decrease in the Int B level. The other inhibitory arc to continuous transition TS2 functions to prevent CII from getting degraded during lysogenic growth in a non-rich medium, which eventually maintains a high increase rate of Int A . This higher production rate of Int A than of Int B enables Int total to reach a sufficient level (i.e., the threshold th 2) to transfer the token from Z3 to Z5.

3.2.3 UV induction

We consider a case wherein λ phages in lysogenic growth are irradiated with ultraviolet light. The HPN in Fig. 5 can be used in this case by placing a token in place UV while Z5 holds a token. Two inhibitory arcs outgoing from UV suppress the firing of discrete transitions, eventually decreasing CI by closing the feedback mechanism maintaining the amount of CI at a certain level.

A token is provided to place P L until the amount of Cro reaches the threshold level th 3 of the inhibitory arc headed to the transition from place Cro, which activates its downstream genes including the gene of protein Xis.

The token in Z5 represses the firing of discrete transition TS2 through the inhibitory arc between them. Since the low amount in continuous place sib resulting from this repression cannot cause the firing of T D , the amounts of continuous places C1 and Int B grow. Int A is not produced because of the absence of a token in P Int provided from CII. This CII amount is reduced by the continuous transition that is attached to the normal arc and the test arc coming from CII and UV, respectively.

The token in Z5 moves to Z2 when both the amounts of Int total and Xis reach the specified thresholds at two test arcs to fire the discrete transition between Z5 and Z2.

3.3 Simulation results

Figure 6 shows the concentration behavior of the proteins CI, Cro, CII, Xis, Int A , Int B , and Int total obtained from the simulation of the HPN model in Fig. 5 in the Cell Illustrator. This case supposes that lysogenic growth is chosen at time 0. The increase in CII promotes the increase of Int total , which is mainly achieved by the increase in Int A . This high amount of Int and the lower amount of Xis reflects the establishment of the lysogenic growth.

Fig. 6
figure 6

Simulation result. Lysogenic growth is selected at time 0. UV irradiation is applied at time 250, which changes the state of a phage from lysogenic growth to lytic growth. High-low relationships between the Xis and Int total levels correspond to those obtained in the biological experiments

We further suppose that UV irradiation occurs at time 250. The production of CI is terminated, and the production of Cro is initiated at this time. Accordingly, higher Xis expression than Int expression is observed, which diverts a phage from lysogenic growth to lytic growth.

4 Hybrid functional Petri net with extention

The HFPN (Matsuno et al. 2003a, b) is defined as a modeling formalism with which we can create dynamic models of biological processes more naturally and easily. Intuitively speaking, HFPN is defined by extending the HPN such that it facilitates the definition of the rate, weight, or delay specifed for an arc by any function of the contents of the places. A similar notion called hybrid dynamic net (HDN) (Drath et al. 1999) introduce a dynamic feature to firing rate. According to the definition of HDN, the rates of the arcs going into and going out of the transition must be the same. However, this restriction sometimes forces unfavorable efforts in modeling. For example, when we model the continuous process of decomposition of a trimer to three monomers with HDN, we need to create a model by adding biologically irrelevant transitions in order to cope with the different production and consumption rates. This is also the case in modeling of the chemical reaction process 2CO2 + H2S + 2H2O →2CH2O + H2SO4, which has the following stoichiometries; two for compounds CO2, H2O and CH2O, one for the compounds H2S and CH2O.

Although HFPN is valuable for modeling many biological pathways, there are more complex biological processes involving various kinds of biological information and data, e.g., the density of molecules, the number of molecules, sequences, molecular modifications, binding location, and localization of molecules. In order to cope with biological processes such as those involving alternating splicing and frameshifting, we defined the notion of the Hybrid functional Petri net with extension (HFPNe) (Nagasaki et al. 2004; 2005). The concept of HFPNe is to introduce the notion of an “object” to HFPN so that we can handle almost all objects and processes in the biological systems in our minds.

In this section, we formally define HFPNe and explain its relation to HFPN and HPN. We then briefly discuss the development of the software tool Cell Illustrator and its related issues, which have been developed on the basis of HFPNe.

4.1 Definition of HFPNe

HPN uses “discrete place” and “continuous place” for the data types of places, and “discrete transition” and “continuous transition” for defining the function types of transitions.

In a similar manner, the definition of HFPNe mainly consists of two parts. The first is the definition of types that can be used as data types in HFPNe. Using the defined types, we can handle various biological entities. The second is to use the function f to determine the parameters such as weight, delay, and rate in HPN, which control the system behavior. Using the defined function f, we can handle complicated biological events.

We first define a terminology with which we define the notion of HFPNe formally.

Definition 1

The set \({\mathcal{T}}\) of types is defined as follows:

$$ \begin{array}{ll} \langle type \rangle ::= &{\tt boolean} \|{\tt integer} \|{\tt integer+} \|{\tt real} \|{\tt real+} \|{\tt string} \| \cr &{\tt pair}(\langle type \rangle,\langle type \rangle) \| {\tt list} \langle type \rangle \| \cr &{\tt object}(\langle type \rangle,\ldots,\langle type \rangle). \end{array} $$

Definition 2

For each \({\theta}\,{\in}\,{\mathcal{T}}\), we associate it with its domain D(θ) as follows:

  1. 1.

    \(D({{\tt boolean}}) =\{{\tt true},{{\tt false}}\}\).

  2. 2.

    \(D({{\tt integer}}) ={\bf Z}\) (the set of integers).

  3. 3.

    \(D({\tt integer+})= {\bf N}\) (the set of nonnegative integers).

  4. 4.

    \(D({\tt real}) = {\bf R}\) (the set of real numbers).

  5. 5.

    \(D({\tt real+}) = {\bf R}^{\ge 0}\) (the set of nonnegative real numbers).

  6. 6.

    \(D({\tt string}) = {\bf S}\) (the set of strings over some alphabet).

  7. 7.

    \(D({\tt pair}(\theta_1,\theta_2)) = D(\theta_1) \times D(\theta_2)\).

  8. 8.

    \(D({\tt list}\theta) = \bigcup_{k \ge 0} D(\theta)^k\).

  9. 9.

    \(D({\tt object}(\theta_1,\cdots,\theta_n)) = D(\theta_1) \times \cdots \times D(\theta_n)\).We denote \(D^{*} = \bigcup_{\theta \in {\mathcal{T}}} D(\theta).\)

For HFPNe, we newly introduce places and transitions which deal with D *. These places and transitions are named “generic” while the names “discrete” and “continuous” are used for places and transitions of HPN.

Let P be a finite set of places. Each place is labeled with either \({\tt discrete}, {\tt continuous}\), or \({\tt generic}\). Place labeled with \({\tt discrete}\) (resp., \({\tt continuous}, {\tt generic}\)) is called discrete (resp., continuous, generic). We assign a type τ(p) to each place p in P by a mapping called a type function \(\tau:P \rightarrow {\mathcal{T}}\) which satisfies the following conditions:

  1. 1.

    If p is labeled with \({\tt discrete}\), then \(\tau(p) = {\tt integer}{\tt +}.\)

  2. 2.

    If p is labeled with \({\tt continuous}\), then \(\tau(p) = {\tt real}{\tt +}.\)

  3. 3.

    If p is labeled with \({\tt generic},\) it can be any type in \({\mathcal{T}}.\)

A marking of P is defined as a mapping M: PD * such that M[p] is in D(τ(p)) for \(p\,{\in}\,P.\) M[p] is called the mark of p. We denote the set of all markings of P by \({\mathcal{M}}\).

In advance, we need to define some notations which will be used for the definition of HFPNe. Let \({\mathcal{D}}_{{\tt discrete}} = \{f \mid f: {\mathcal{M}} \rightarrow {\bf N}\}, {\mathcal{D}}_{{\tt boolean}} =\{b \mid f: {\mathcal{M}} \rightarrow \{{\tt true},{\tt false}\}\), and \({\mathcal{D}}_{{\tt generic}}=\{f\mid f: {\mathcal{M}} \rightarrow D^*\}\).

Consider \(f:\prod_{p\in P}D(\tau(p)) \rightarrow{\bf R}^{\ge 0}\). Note that the set \({\mathcal{M}}\) can be identified with the set \(\prod_{p\in P}D(\tau(p))\). Let R be the set of all places labeled with continuous and let Q = P − R. For an element \(v\in \prod_{p\in Q}D(\tau(p))\), let \(f\left[Q=v\right]:\prod_{p\in R}D(\tau(p)) \rightarrow {\bf R}^{\ge 0}\) be the function defined by f[Q = v](v′) = f(v′, v) for \(v^{\prime} \in \prod_{p\in R}D(\tau(p))\). We say that f is continuous if f[Q = v] is continuous on \(\prod_{p\in R}D(\tau(p))\) for any \(v \in \prod_{p\in Q}D(\tau(p))\). Then let \({\mathcal{D}}_{{\tt continuous}}= \{f \mid {f:{\mathcal{M}} \rightarrow {\bf R}^{\ge 0} \hbox{is continuous}}\}\).

Based on the above notions, we define HFPNe by introducing data types for places by giving functions which depend on markings to determine the weight, delay, and rate, etc. We embed the definition of HFPN into the definition of HFPNe as follows:

Definition 3

A hybrid functional Petri net with extension (HFPNe) H = (P, T, A, τ, w, u, d) consists of the following:

  1. 1.

    P is a finite set of places and T is a finite set of transitions. We assume \(P \cap T = \emptyset\). Each place is labeled with either \({\tt discrete}, {\tt continuous}\), or \({\tt generic}\). Each transition is also labeled with \({\tt discrete}, {\tt continuous}\), or \({\tt generic}\). The transitions and places are called discrete, continuous, or generic according to their label.

    Each transition t in T has two sets Input t and Output t of arcs. Arc \(a \in Input_t\) is an edge from input place p a to the transition t called input arc. Arc \(a^{\prime} \in Output_t\) is an edge from the transition t to output place \(p_{a^{\prime}}\) called output arc. Each arc is labeled with either \({\tt normal}, {\tt test}\), or \({\tt inhibitory}\). An arc labeled with \({\tt normal}\) (resp., \({\tt test}, {\tt inhibitory}\)) is called normal arc (resp., test arc, inhibitory arc). We also say that arcs (a and a′) are discrete (resp., continuous, generic) if transition t is discrete (resp., continuous, generic). For graphical representation we use the symbols in Fig. 7. The labels of arcs, places and transitions satisfy the following rules:

    1. (a)

      The label of arc \(a^{\prime} \in Output_t\) is \({\tt normal}\).

    2. (b)

      For arc \(a \in Input_t\) with input place p a , the labels of arc a, place p a , and transition t satisfy the connection rules in Table 1a.

    3. (c)

      For arc \(a^{\prime} \in Output_t\) with output place \(p_{a^{\prime}}\), the labels of arc a′, place \(p_{a^{\prime}}\) and transition t satisfy the connection rules in Table 1b.

      We denote by PT and TP the set of input arcs and the set of output arcs of all transitions, respectively. We also denote arc a in PT as a(pt) by specifying input place and transition. In a similar way, arc a′ in TP is denoted as a′(tp) by specifying transition and output place. The set A of arcs is given by \(PT \cup TP\).

  2. 2.

    The types of places are given by a type function \(\tau: P \rightarrow {\mathcal{T}}\).

  3. 3.

    For each input arc \(a \in PT\), its activity w(a) is given by an activity function \(w:PT \rightarrow {\mathcal{D}}_{{\tt discrete}} \cup {\mathcal{D}}_{{\tt continuous}} \cup {\mathcal{D}}_{{\tt boolean}}\) which satisfies the following conditions:

    1. (a)

      If a is discrete, w(a) is in \({\mathcal{D}}_{{\tt discrete}}\).

    2. (b)

      If a is continuous, w(a) is in \({\mathcal{D}}_{{\tt continuous}}\).

    3. (c)

      If a is generic, w(a) is in \({\mathcal{D}}_{{\tt boolean}}\).

      For input arc a(pt), w(a) is used as a function giving the threshold in discrete and continuous cases and the condition in generic case which is required for enabling the transition t.

  4. 4.

    For each arc c (\(c=a(p,t) {\in}PT\) or \(c=a^{\prime}(t,p) \in TP\)), the update u(c) is given by an update function \(u:A \rightarrow {\mathcal{D}}_{{\tt discrete}} \cup {\mathcal{D}}_{{\tt continuous}} \cup {\mathcal{D}}_{{\tt generic}}\) which satisfies the following conditions:

    1. (a)

      If c is discrete, u(c) is in \({\mathcal{D}}_{{\tt discrete}}\).

    2. (b)

      If c is continuous, u(c) is in \({\mathcal{D}}_{{\tt continuous}}\).

    3. (c)

      If c is generic, then u(c) is in \({\mathcal{D}}_{{\tt generic}}\) such that u(c)[M] is in D(τ(p)) for any marking \(M \in {\mathcal{M}}\). u(c) is used as a function which will update the mark of p.

  5. 5.

    For each discrete or generic transition t, the delay of t is given by a delay function \(d:T_{\tt discrete}\cup T_{\tt generic} \rightarrow {\mathcal{D}}_{{\tt continuous}}\), where \(T_{\tt discrete}\) (resp., \(T_{\tt generic}\)) is the set of discrete transitions resp., generic transitions). The delay of firing on marking M is given by d(t)[M].

Fig. 7
figure 7

Graphical notation of HFPNe components

We use the parameter x ≥ 0 for the time in HFPNe. Do not confuse t for transition with x for time.

Table 1 “✓” and “–” show that the connections are allowed or disallowed, respectively

The initial marking I is a marking at time x = 0 and we denote the marking at time x by M(x). The reserved marking M r (x) at time x represents the amount of “tokens” reserved for firing when firing conditions are satisfied. The mark of place p at time x is denoted by M[p](x).

We call M(x) (x ≥ 0) the behavior of H starting at the initial marking M(0) = I. Given the initial marking of HFPNe, the marking M(x) and the reserved marking M r (x) at time x are defined in the following way:

For time x = 0, M(0) = I by definition. We define M r [p](0) = 0 if p is discrete or continuous, and \(M_r[p](0) ={\tt null}\) (the empty list) if p is generic. By convention, let \(\tilde{M}(x)\) be \(\tilde{M}\left[p\right](x)=M\left[p\right](x)-M_r\left[p\right](x)\) if p is discrete or continuous and \(\tilde{M}\left[p\right](x)=M\left[p\right](x)\) if p is generic.

Definition 4

For transition t at time x, we say that t is enabled at time x if the following conditions are satisfied. Otherwise the transition is said to be disabled at time x.

  1. 1.

    If t is discrete or continuous, then for all input arcs \(a(p,t)\in PT\) the following conditions hold:

    1. (a)

      \(\tilde{M}\left[p\right](x) \ge w(a)\left[M(x)\right]\) if a is not labeled with \({\tt inhibitory}\).

    2. (b)

      \(\tilde{M}\left[p\right](x) < w(a)\left[M(x)\right]\) if a is labeled with \({\tt inhibitory}\).

  2. 2.

    If t is generic, then for all input arcs \(a(p,t)\in PT\) the following conditions hold:

    1. (a)

      \(w(a)[\tilde{M}(x)] = {\tt true}\) if a is not labeled with \({\tt inhibitory}\).

    2. (b)

      \(w(a)\left[\tilde{M}(x)\right] = {\tt false}\) if a is labeled with \({\tt inhibitory}\).

Definition 5

If disabled transition t turns enabled at time x, we say that t is triggered at time x, and x is called the trigger time. If enabled transition t turns disabled at time x, we say that t is switched off at time x, and x is called the switch-off time.

Definition 6

We define firing of discrete transition t. Assume that discrete transition t is triggered at time x. For each normal input arc a(pt), the place p must be discrete or continuous by definition. Then M r [p] reserves u(a)[M(x)], i.e. u(a)[M(x)] is added to M r [p], for the time y > x until xd(t)[M(x)]. If t keeps enabled until x + d(t)[M(x)], then at time x + d(t)[M(x)], M[p] is decreased by u(a)[M(x)] and M r [p] releases u(a)[M(x)], i.e., u(a)[M(x)] is decreased from M r [p]. Simultaneously, for each normal output arc a′(tp′), M[p′] is increased by u(a′)[M(x)] at time x + d(t)[M(x)] by arc a′(tp′). The time d(t)[M(x)] is called the delay that is determined by the function d(t) of the mark M(x) at time x.

As we will describe in Definitions 7 and 8 below, the reservation is not performed by generic or continuous transition. However, for the place p, there may be other discrete transitions \(t_1,\ldots,t_{\ell}\) with normal input arcs \(a_1(p,t_1),\ldots,a_m(p,t_{\ell})\) which are triggered at time x. Then each discrete transition t i tries to reserve u(a i )[M(x)] from the same M[p] at time x for \(i=0,\ldots,\ell\), where a 0 = a(pt) and t 0 = t. We say that there is a conflict with p at time x if \(M[p](x)<\sum_{k=0}^{\ell} u(a_i)[M(x)]\). When a conflict occurs, some conflict resolution should be applied, e.g., random selection of transitions, priorities on transitions, etc.

Even if some conflict resolution procedure selected the transition t to go further, the place p of a(pt) may be input place or output place of other discrete/continuous/generic transitions. By this, M[p] and M r [p], and therefore \(\tilde{M}\left[p\right]\), may be changed, the conditions of “enabled” are not necessarily satisfied until the firing time x + d(t)[M(x)]. When t becomes disabled before x + d(t)[M(x)], we say that a system error occurs with t.

Thus a triggered transition does not necessarily fire. If all of these actions succeed, we say that t fires at time xd(t)[M(x)].

Definition 7

We define firing of generic transition t. Assume that generic transition t is triggered at time x. For each normal input arc a(pt), the place p can be discrete, continuous or generic. For each normal output arc a′(tp′), p′ can be also any kind of places. If t keeps enabled until time x + d(t)[M(x)], then M[p] is updated to u(a)[M(x)] and M[p′] is updated to u(a′)[M(x)] at time x + d(t)[M(x)]. We say that t fires at time x + d(t)[M(x)] if this action succeeds. If p is generic, it is always that \(M_r\left[p\right](x)={\tt null}\). No change is added to M r [p] by arc a(pt) if p is discrete or continuous.

In a similar way as for discrete transition, if p is discrete or continuous, M p and M r [p] have a possibility to be changed before x + d(t)[M(x)] by another transition. Therefore \(w(a)\left[\tilde M(y)\right]= {\tt true}\) is not necessarily kept for \(y \in (x,x+d(t)\left[M(x)\right])\). As in the case of discrete transition, it should be reported as system error. Since generic transition updates M[p] and M[p′] at time x + d(t)[M(x)], there is a possibility of conflict with another transitions which use p and p′. Thus some conflict resolution should be applied or it should be reported as system error.

Definition 8

We define firing of continuous transition t. When continuous transition t is triggered, it starts firing and updates the marks of its connected places continuously with the rates determined by the update function u and the marking M as long as it is enabled. Assume that continuous transition t is enabled at time x. For each normal input arc a(pt), the place p must be continuous by definition (see Fig. 7). Then the mark M[p] will be decreased through the arc a(pt) with the additional rate u(a)[M(x)] at time x. No change is added to M r [p] by arc a(pt). For normal output arc a′(tp′), the place p′ must be continuous by definition. Then the mark M[p′] will be increased through the arc a′(tp′) with the additional rate u(a′)[M(x)] at time x. No change is added to M r [p′] by arc a′(tp′).

As we have investigated in Definitions 6 and 7, we consider continuous place p at time x. Continuous place p may be connected to some transitions with normal input/output arcs. Then let t 1, ..., t i be the continuous transitions which are enabled at time x and have p as input place with normal input arcs a 1(pt 1),…, a i (pt i ). Since continuous transition has no delay in firing, we consider continuous transitions t 1 …, t j which have p as output place with normal output arcs a′(t 1′, p), ..., a′(t j′, p) and are enabled at time x. Then the decreases and increases through these normal input and output arcs are summed up to define the derivative of \(M\left[p\right]\) at time x:

$$ {\frac{dM\left[p\right](x)}{dx}}= - \sum_{k=1}^{i} u(a_k)\left[M(x)\right] + \sum_{k=1}^{j}u(a^{\prime}_k) \left[M(x)\right]. $$

Starting from the time x = 0, we can solve the above equation (numerically) by using the initial mark M(0) as the initial condition until one of the following event occurs.

  • E1: A new continuous transition is triggered or some already enabled continuous transition is switched off. This may change the definition of the equation.

  • E2: Some discrete or generic transition is triggered or fires. This may change the initial condition for solving the equation.

Thus we can take a series of time points x 0x 1, ... such that E1 and/or E2 occur at time x i and neither E1 nor E2 occurs in the time interval (x i x i+1). Then we can define the equation for the time interval (left closed and right open) [x i x i+1) and solve it with M(x i ) as the initial condition.

4.2 HPN and HFPN as HFPNe’s

An HFPN H = (P, T, A, τ, w, u, d) is defined by removing the issues related to “generic” and by adding the restriction that u(a) = w(a) for any arc that connects to discrete transition in the definition of HFPNe. This restriction reflects the condition that the weight w(a) of the arc a that connects to a discrete transition must be the same as the number of tokens u(a) removed from the place p by firing in HFPN.

For example, we consider a HFPNe model model1 with one discrete place p1 that connects to the discrete transition t1 via the normal arc a1. For this model, if the delay of t1 is one, the initial value of p1 is three, the weight of a1 w(a1) is two, and the update of a1 u(a1) is one, then the p1 becomes 3,2,1,1 at time 0,1,2,3. In the definition of HFPN, two notions u and w are merged into “weight” on an arc in a Petri net. Since for model1 we must assign the same function to the w(a1) and u(a1) like w(a1) = u(a1) = 1. In these assignments, the p1 becomes 3,2,1,0 at time 0,1,2,3.

HPN cannot assign functions to weight, update and delay functions in HFPNe but can assign constants. Thus, HPN H = (P, T, A, τ, w, ud) (Alla and David 1998) is defined by adding the following further restrictions to HFPN:

  • w(a), u(a), and d(t) are constants for any arc \(a\,{\in}\,A\) and any transition \(t \in T\).

    HDN cannot define different update functions to arcs that connects to the same transition. Thus, HDN H = (P, T, A, τ, w, u, d) (Drath et al. 1999) is defined by adding the following different restrictions to HFPN:

  • For any continuous transition t, w(a(pt)) = u(a′(tp′)) for any normal arcs \(a(p,t) \in PT\) and \(a^{\prime}(t,p^{\prime})\in TP\).

HFPNe is a highly abstract extension of the Petri net for biological process modeling which include HPN, HDN and HFPN as special cases. Although in this paper, we do not get into biological pathway models which merit the generic entities and processes, in (Nagasaki et al. 2004; 2005), we have built several biological pathway models such as alternative RNA splicing model of the Calcitonin/CGRP gene, the ribosomal frameshifting in HIV-1, the Huntington’s disease model, and the protein modification of p53, which are hard to construct with HFPN.

5 Cell Illustrator

Cell Illustrator (http://www.cellillustrator.com) is a software tool that enables biologists to draw, model, elucidate, and simulate complex biological processes and systems. The prototype system was developed as Genomic Object Net (Nagasaki et al. 2003). HFPNe has been fully implemented as the architecture of pathway modeling and simulation in Cell Illustrator.

Pathway models in biological literature are usually illustrated by combining picture images of biological elements (e.g., protein, mRNA, and promoter region) and their relationships (e.g., activation, repression, and enzymatic reactions). From the experience of pathway modeling with Petri nets, it has been recognized that the relationships between biological elements in pathways can be successfully modeled with three types of arcs, namely, normal, test, and inhibitory arcs. However, in contrast, the symbols of place and transition are too simple to represent biological elements such as mRNA, protein, and complex.

On the basis of these observations, initial Cell Illustrator was designed with graphical model editor that allows us to describe biological pathways using appropriate biological symbols. In fact, these symbols were only the replaced symbols of places and transitions, but these replacements definitely render pathway models with HFPNe more familiar to biologists. The latest version of Cell Illustrator (http://www.cionline.hgc.jp/) additionally stands on the ontology based modeling and thus biological images are not simple figures but contain useful information from the ontology point of view as demonstrated in the next Section.

5.1 Hypothesis creation by simulation of the cyanobacterial circadian clock with Cell Illustrator

In the cyanobacterium Synechococcus elongatus PCC 7942, the kaiA, kaiBC, and sasA genes are essential for the generation of circadian rhythms. The products of these genes form a transcription/translation-based autoregulatory loop as shown in Fig. 8 (Ishiura et al. 1998; Iwasaki et al. 2000; Kitayama et al. 2003). Phosphorylation of the hexameric KaiC complex may accelerate its binding to KaiA. KaiB forms a stable complex with the KaiA-KaiC complex. The KaiA-KaiB-KaiC complex inactivates the promoter activity of the kaiA and kaiBC genes, forming negative feedback loops (Ishiura et al. 1998; Kitayama et al. 2003). KaiA forms a positive feedback loop by interacting with the kaiBC genes. SasA has been identified as a KaiC-interacting protein, which activates the expression of the kaiBC genes (Iwasaki et al. 2000). SasA indirectly reduces the activation of kaiBC genes by forming a complex with KaiC.

Fig. 8
figure 8

Gene and protein network of the cyanobacterial circadian clock

Figure 9 and shows an HFPN model that was created from Fig. 8. The transcription-translation processes were modeled based on the same construction manner as in Fig. 2, while the original HFPN symbols of places and transitions have been changed to the appropriate symbols that reflect the corresponding biological images. The rates of processes (transitions), which are expressed by simple formulas such as m9/10 (degradation of M_kaiB) and m11*m15/10 (complex formation of KaiCP and Sas), have been determined by the try-and-error hand-tuning method. The simulation result expresses identical behavior to the biological observation (Ishiura et al. 1998; Iwasaki et al. 2000; Kitayama et al. 2003) in terms of the order of peaks of the oscillation curves of kaiC mRNA, KaiC, KaiA-KaiC, and KaiA-KaiB-KaiC concentrations (Fig. 10).

Fig. 9
figure 9

Hybrid functional Petri net model of the cyanobacterial circadian clock. The CSML file of this model can be downloaded from the website (http://www.genome.ib.sci.yamaguchi-u.ac.jp/~matsuno/cyano_CI.zip)

Fig. 10
figure 10

Simulation result of the HFPN model in Fig. 9

We further conducted computational experiments on kaiC mutants. Figure 11 illustrates the concentration behavior of kaiBC mRNA in wild-type, disrupted kaiC, and overexpressed kaiC. The disruption of kaiC is brought about by removing the arc going into mRNA_kaiC entity, and its overexpression is brought about by adding the process of rate 10 and the arc that goes into KaiC entity from this process. In both cases of disrupted and overexpressed kaiC, the oscillations are terminated. The simulation of kaiC overexpression shows the same behavior as the expression data from the biological experiment (Iwasaki et al. 2002). However, the simulation result of disrupted kaiC is different from that of the biological experiment: the expression level of kaiBC is increased in the simulation, but this level is decreased in the biological experiment (Ishiura et al. 1998). The reason for this difference can be considered as follows.

Fig. 11
figure 11

kaiBC mRNA concentration behaviors for wild-type (dash-dotted line), disrupted kaiC (solid line) and overexpressed kaiC (dotted line). Both disrupted and overexpressed kaiC express no oscillation, maintaining constant high and low levels, respectively. Though the results for overexpressed kaiC are similar to those observed in biological experiments (Iwasaki et al. 2002), the results for the disrupted kaiC are different (Ishiura et al. 1998)

Since the disrupted kaiC mutant does not produce KaiC, neither the KaiA-KaiC nor the KaiA-KaiB-KaiC complex is formed. An increase in KaiA is induced when the KaiA-KaiC protein complex is not formed, which promotes KaiBC expression. In addition, no kaiBC osscillation is due to the termination of the negative regulation of KaiA-KaiB-KaiC, which regulates kaiBC transcription.

In order to obtain the same simulation result for kaiC disruption as the biological experiment (Ishiura et al. 1998), a hypothetical reaction, “KaiC activates kaiBC,” is incorporated into the simulated HFPN model. Figure 12 is the modified HFPN model, where the hypothetical reaction is described with the bold dotted arrow.

Fig. 12
figure 12

Modified HFPN model incorporating the hypothetical reaction “KaiC activates kaiBC.” The CSML file of this model can be downloaded from the website (http://www.genome.ib.sci.yamaguchi-u.ac.jp/~matsuno/cyano_CI.zip)

Figure 13 shows the simulation results of the modified HFPN model in Fig. 12. The kaiBC mRNA concentration is maintained at a low level, which corresponds to the biological process reported in the literature (Ishiura et al. 1998). Since the incorporated reaction promotes kaiBC activation as long as a certain amount of KaiC is present, the reduced KaiC resulting from kaiC disruption causes low kaiBC expression.

Fig. 13
figure 13

Simulation result from the modified HFPN model. The kaiBC expression is changed from the high to the low level in Fig. 11, which corresponds to the observations in biological experiments

5.2 Cell System Markup Language and Cell System Ontology for the Systems Biology Platform

In order to build a systems biology computational platform, we also developed an XML format Cell System Markup Language (CSML) and Cell System Ontology (CSO) (http://www.csml.org/) to describe biological pathways for visualization, modeling and simulation (Jeong et al. 2007a). Cell Illustrator employs CSML and CSO. CSO 3.0 is enhanced with an ontology for system dynamics (Jeong et al. 2007b), which inherits most of the terms from BioPAX Level2 (http://www.biopax.org/). The tags and attributes in CSML 3.0 have the mapping rule from CSO 3.0, which is the ontology based terminology definition with OWL. CSML 3.0 realized an integrated and unified data exchange format which covers widely used data formats and applications, e.g., CellML 1.0 (http://www.cellml.org/), SBML 2.0 (http://www.sbml.org/), BioPAX, and Cytoscape (http://www.cytoscape.org/). HFPNe is employed in CSML 3.0 to describe dynamics in biological pathways. Simultaneously, we developed automatic conversion programs that automatically convert TRANSPATH (http://www.biobase-international.com/) to CSML 3.0, SBML 2.0 to CSML 3.0, and CellML 1.0 to CSML 3.0 (http://www.csml.org/models/csml-models). For example, by creating 16 modeling rules, 97% of the reactions in TRANSPATH are converted into simulation-based models in CSML (Nagasaki et al. 2008). This reconstruction demonstrates that it is possible to generate quantitative models from static pathway descriptions. A Java web start software Cell Illustrator Online 4.0 (CIO) is combined with CSML databases including the TRANSPATH pathway database (http://www.cionline.hgc.jp/). CIO can be registered from http://www.cionline.hgc.jp/ and one can evaluate all functions for one month after the registered date. It has more sophisticated GUI functions including automatic pathway layout algorithms using ontology information (Kojima et al. 2007). Furthermore, we developed a method for automatic parameter estimation for HFPNe models by using a technology called data assimilation which “blends” simulation models and observational data “rationally” (Nagasaki et al. 2006; Tasaki et al. 2006). This data assimilation method is more suited for high performance computing systems and we plan to incorporate this function into Cell Illustrator in the near future to work on high performance computing environment. We consider that these developments based on the extensions of the hybrid Petri net will create a practical modeling and database platform for systems biology.

6 Conclusion

Research in the field of systems biology has garnered attention, and a considerable amount of simulation software has been developed, most of which require programming skills and mathematical descriptions. Cell Illustrator offers biologists who do not have such skills an easy-to-use computational environment that allows the creation of hypotheses based on biological observations in their experiments.

Pathway modeling with Cell Illustrator has been widely conducted by many different researchers. For example, Troncale et al. (2006) modeled the regulation of hemato- poiesis and investigated the role of Interleukin-6 in human early hemotapoiesis by simulations with a constructed HFPNe model. Koh et al. (2006) conducted parameter estimations using an evolutionary technique on the HFPNe model of Akt and MAPK signaling pathways and investigated their hypothesized crosstalk interaction. Hardy and Robillard (2008) simulated the Ca2+/calmodulin-dependent protein kinase II (CaMKII) regulation network with Cell Illustrator, and analyzed the dynamics of signal propagation in the CaMKII regulation pathway.

The website (http://www.genome.ib.sci.yamaguchi-u.ac.jp/~gon/) is useful for readers who want to develop their skills of building biological pathways with Cell Illustrator. This website provides many HFPN and HFPNe models with presentations materials created by our groups. These HFPN and HFPNe models are written in the CSML format, which enhances the usefulness of Cell Illustrator by allowing the simulation of other XML-based pathway modeling formats e.g., SBML (http://www.sbml.org/) and CellML (http://www.cellml.org/). For more information, visit the website (http://www.csml.org/), which provides many resources for Cell Illustrator modeling and simulation as well as information on our latest activities in the field of systems biology.