Céline Kuttler

Simulating Bacterial Transcription and Translation in a Stochastic Pi Calculus

Stochastic simulation of genetic networks based on models in the stochastic π-calculus is a promising recent approach. This paper contributes an extensible model of the central mechanisms of gene expression i.e. transcription and translation, at the prototypical instance of bacteria. We reach extensibility through object-oriented abstractions, that are expressible in a stochastic π-calculus with pattern guarded inputs. We illustrate our generic model by simulating the effect of translational bursting in bacterial gene expression.

Introduction

Gene expression is essential to all forms of life. In order to maintain their vital functions, cells selectively activate subsets of their genetic material, which is stored in the form of Dna. Genes are segments of this linear macromolecule, they specify molecules that are functional components of the cell. Their expression proceeds through two phases: transcription of static Dna-encoded information into a short-lived mRna molecule, followed by translation of the latter into proteins. Expression is subject to rigorous control and modulation, referred to as gene regulation [START_REF] Ptashne | Genes and Signals[END_REF], that complicate its understanding.

As a result of regulation, the phases of gene expression are not strictly independent, as they were initially deemed. The first such case was found in bacteria: transcription of certain genes aborts prematurely, unless the nascent mRna is translated efficiently [START_REF] Yanofsky | Trancription attenuation[END_REF]. In higher organisms the basic two-phase scheme of gene expression is extended by additional phases, and couplings may occur between virtually all levels [START_REF] Maniatis | An extensive network of coupling among gene expression machines[END_REF][START_REF] Orphanides | A unified theory of gene expression[END_REF]. This work concentrates on the common fundamental mechanisms, as observed in bacteria.

Modeling and simulation seek to contribute to better understanding of the dynamics of gene expression. We follow the discrete event modeling approach [START_REF] Hessam | Discrete Event Modeling and Simulation Technologies: A Tapestry of Systems and AI-based Theories and Methodologies[END_REF], to be distinguished from more established continuous deterministic frameworks [START_REF] Voit | Computational Analysis of Biochemical Systems: A Practical Guide for Biochemists and Molecular Biologists[END_REF]. It is appropriate for gene expression and regulation, since decisive events between individual molecules are inherently discrete. Based on individual interactions, we describe the evolution of molecular networks in gene expression over time. Discrete event models are typically executed through stochastic simulation [START_REF] Daniel | A general method for numerically simulating the stochastic time evolution of coupled chemical reactions[END_REF], which resolves the nondeterministic choice between alternative events, and introduces a stochastic scheduling. The probability distributions from which waiting times between events are drawn can lead to significant variability between different executions of a model.

In 2001, Regev et al. proposed the stochastic π-calculus as foundation for discrete modeling and stochastic simulation in systems biology [START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF][START_REF] Regev | Cells as computation[END_REF], which is a stochastic refinement of the π-calculus [START_REF] Milner | Communicating and Mobile Systems: the π-calculus[END_REF][START_REF] Milner | A calculus of mobile processes (I and II)[END_REF]. The latter was invented by Milner et al. as a minimal formal language for modeling mobile systems, while abstracting from the many details of distributed computation, parallel programs, or multi-threading operating systems. Components of mobile systems dynamically acquire new interaction possibilities as a result of interaction. Such behavior is reminiscent of intra cellular dynamics. Cells are densely populated by a variety of molecules that perpetually interact. The observed interaction patterns evolve, molecules acquire new patterns through modification by others.

The stochastic π-calculus [START_REF] Priami | Stochastic π-calculus[END_REF] augments the π-calculus with stochastic parameters, which control the speed of nondeterministic interactions. These parameters impose waiting times drawn from exponential distributions. The biochemical stochastic π-calculus [START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF] specializes the stochastic scheduling to comply with Gillespie's algorithm from 1976, which constitutes a rigorous framework for the simulation of the dynamics of chemical reactions in the regime of small numbers [START_REF] Daniel | A general method for numerically simulating the stochastic time evolution of coupled chemical reactions[END_REF].

The stochastic π-calculus has recently been applied to a number of biological simulation case studies, performed in the BioSPI or [START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF] or SPiM [START_REF] Phillips | A correct abstract machine for the stochastic pi-calculus[END_REF] systems. Kuttler and Niehren [START_REF] Kuttler | Gene regulation in the pi calculus: Simulating cooperativity at the lambda switch[END_REF] proposed to simulate gene regulation in the stochastic π-calculus. In a first case study they showed how to simulate the molecularlevel dynamics in the control of transcription initiation at the λ switch [START_REF] Ptashne | A Genetic Switch: Phage Lambda Revisited[END_REF]. Cardelli et al. followed in presenting a complementary view based on networks of genes in the stochastic π-calculus, hereby assuming gene expression as atomic [START_REF] Blossey | A compositional approach to the stochastic dynamics of gene networks[END_REF]. Both contributions left the modeling of transcription and translation to future research.

Contributions.

In this article, we present a generic model of the general machinery of bacterial transcription and translation in a stochastic π-calculus, to the best of our knowledge for the first time. This machinery subsumes the following aspects, including their quantitative control:

Transcription: promoter binding and unbinding of Rna polymerase, initiation of transcription, stepwise elongation of Rna, simultaneous transcription of a gene by multiple Rna polymerases working on disjoint portions of it, cotranscriptional processing of nascent mRna molecules, intrinsic termination. Translation: binding and unbinding of ribosomes to mRna, initiation of translation, elongation, simultaneous elongation by multiple ribosomes operating on disjoint mRna subsequences, termination, release of the protein. Degradation of mRna competing with translation.

Our model is generic in two ways. First, the stochastic parameters can be flexibly set when using our model components. Second, and more importantly, our model can be extended to cover points that arise for particular genes. Since the consideration of specific cases is essential to biology, it is highly desirable to provide models covering basic mechanisms, that can later be refined to integrate further detail. For instance, our model can be extended to account for genes grouped into operons, as well as alternative promoters for a transcriptional unit. Both are reflected by the resulting mRna. Such detailed aspects matter when engineering regulatory networks [START_REF] Kaern | The engineering of gene regulatory networks[END_REF], and to the quantitative dynamics of gene expression [START_REF] Peter | Efficient attenuation of stochasticity in gene expression through post-transcriptional control[END_REF][START_REF] Neufing | Establishing lysogenic transcription in the temperate coliphage 186[END_REF], however remain poorly supported in current stochastic simulation packages that tend to emphasize large-scale simulation [START_REF] Ramsey | Dizzy: stochastic simulation of large-scale genetic regulatory networks[END_REF].

From the modeling perspective, the minimality of the π-calculus is sometimes unfortunate. Besides other programming abstractions, the π-calculus lacks object-oriented features and pattern matching. We use object-oriented programming abstractions in order to create models of Dna and mRna that become sufficiently extendable. Objects help specifying the interfaces of concurrent actors. We extend models by inheritance, i.e. we add new functionality to concurrent actors, while keeping consistent with their previously defined interface. This idea is new to π-calculus based simulation approaches in systems biology. As we will see, it applies to both examples mentioned above, operons and tandem promoters.

As modeling language, we rely on the stochastic π-calculus with pattern guarded inputs [START_REF] Kuttler | A stochastic pi calculus for concurrent objects[END_REF], which has been developed in parallel with the present article. Pattern guarded inputs are the key to express concurrent objects in the π-calculus, as already noticed by Vasconcelos in 1993 [START_REF] Paulino | A multi-threaded asynchronous language[END_REF][START_REF] Vasco | A typing system for a calculus of objects[END_REF]. We propose a notion of inheritance for objects in the stochastic π-calculus. We keep this notion on a meta level, rather than defining it inside the π-calculus. It only serves for creating π-calculus programs, and is compiled away before program execution.

Last not least, we illustrate the power of the presented modeling techniques in a case study. We concentrate on the effect of translational bursting, that has been identified as a major source of stochasticity in bacterial gene expression [START_REF] Kaern | Stochasticity in gene expression: from theories to phenotypes[END_REF][START_REF] Raser | Noise in Gene Expression: Origins, Consequences, and Control[END_REF]. It arises from variations in the quantitative control of transcription and translation, and is thus not captured by the atomic representation of gene expression in [START_REF] Blossey | A compositional approach to the stochastic dynamics of gene networks[END_REF].

Related work. This paper builds on previous work on stochastic simulation of bacterial gene expression. Heijne and co-authors suggested the the first stochastic treatment of ribosome movement during translation almost 30 years ago [START_REF] G Von Heijne | Translation and messenger RNA secondary structure[END_REF]. Carrier and Keasling elucidated the relation between molecular actors in translation and mRna decay in 1997 [START_REF] Carrier | Mechanistic modeling of mRNA decay[END_REF]. In the same year McAdams and Arkin attracted wide attention with a scheme for stochastic simulation of gene expression based on Gillespie's algorithm [START_REF] Harley | Stochastic mechanisms in gene expression[END_REF]. It combines a continuous representation of transcription initiation in the tradition of [START_REF] Shea | The OR control system of bacteriophage lambda: A physical-chemical model for gene regulation[END_REF] with a stochastic account of transcript elongation and subsequent processing of mRna. This schema was successfully applied to bacteriophage lambda [START_REF] Arkin | Stochastic kinetic analysis of developmental pathway bifurcation in phage λ-infected Escherichia coli cells[END_REF]. However, this latter work neglected important differences in stochastic fluctuations between genes due to distinct translational efficiencies. This aspect was systematically investigated by Kierzek, Zaim, and Zielenkiewitz [START_REF] Kierzek | The effect of transcription and translation initiation frequencies on the stochastic fluctuations in prokaryotic gene expression[END_REF]. They simulated bacterial gene expression while systematically varying translation and transcription initiation frequencies. Their predictions were confirmed experimentally by Ozbudak and co-authors [START_REF] Ertugrul | Regulation of noise in the expression of a single gene[END_REF]. The coupling between transcription and translation in the control of tryptophan expression [START_REF] Yanofsky | Trancription attenuation[END_REF] was recently investigated by Elf and Ehrenberg [START_REF] Elf | What makes ribosome-mediated trascriptional attenuation sensitive to amino acid limitation?[END_REF]. Gillespie style simulations have for long been executed by programs crafted ad hoc, for one time use. In recent years several dedicated tools for stochastic simulation of genetic and molecular networks have been suggested [START_REF] Adalsteinsson | Biochemical Network Stochastic Simulator (BioNetS): software for stochastic modeling of biochemical networks[END_REF][START_REF] Madhukar | DEMSIM: a discrete event based mechanistic simulation platform for gene expression and regulation dynamics[END_REF][START_REF] Kierzek | STOCKS: STOChastic Kinetic Simulations of biochemical systems with Gillespie algorithm[END_REF][START_REF] Ramsey | Dizzy: stochastic simulation of large-scale genetic regulatory networks[END_REF]. While some of these packages provide templates for gene expression, many models keep being hand-crafted for a single use.

Several dedicated formal languages for biological modeling have been suggested in recent years, each with different objectives [START_REF] Cardelli | Brane calculi: interactions of biological membranes[END_REF][START_REF] Chabrier-Rivier | Modeling and querying biomolecular interaction networks[END_REF][START_REF] Chabrier-Rivier | The biochemical abstract machine BioCham[END_REF][START_REF] Danos | Formal molecular biology[END_REF][START_REF] Priami | Beta binders for biological interactions[END_REF]. They are reviewed in [START_REF] Cardelli | Abstract machines of systems biology[END_REF][START_REF] Prandi | Process calculi in a biological context[END_REF].

Outline. We first provide biological background, highlighting stochastic and concurrent features in gene expression. Section 3 introduces the stochastic π-calculus variant with pattern guarded choices that constitutes our modeling language. Sec. 4 introduces the expression of multi-profile objects, and a notion of inheritance for these. We then present dynamical models of transcription and translation, validate our approach with a set of selected simulations, and conclude.

Bacterial transcription and translation

We overview the main activities during transcription and translation, contemporaneous events, and couplings between the phases of gene expression. It follows a presentation of details of transcription and translation at the level of molecular interactions, which provides the basis for later discrete event modeling. We then review stochastic aspects of bacterial gene expression, putting an emphasis on the quantitative parameters that control transcription, translation and mRna decay -they are indispensable for stochastic simulation. We finally present particular cases of transcriptional organization in bacteria, that can have interesting impact on the quantitative patterns of gene expression.

Overview of genetic actors and gene expression

Each cell of an organism contains its complete genetic information, which is passed on from one generation to the next. It is encoded in a linear, doublestranded Dna macromolecule that winds up to a helix. Each Dna strand con- A gene is a segment of one strand of Dna, with explicit begin and end delimiters. Its information content can be transcribed into a single-stranded Rna molecule. Dna also comprises regions that are never transcribed, but contain regulatory information. Figure 1 summarizes the two phase of gene expression.

Transcription of a gene is carried out by Rna polymerase. Rnap assembles Rna molecules, that reflect the information content of the template Dna strand. Certain categories of transcripts have an immediate functional role in the cell. Messenger Rna (mRna) acts as an information carrier, and is subject to two competing subsequent processing phases: translation into proteins and degradation.

Translation of mRna into proteins is performed by ribosomes, the largest macromolecular complexes in the cell. Ribosomes read out the genetic code from mRna in three-letter words, mapped into growing sequences of amino acids, which fold into three-dimensional proteins.

Both transcription and translation follow a similar scheme of three phases. Figure 2 illustrates it for transcription, summarizes as follows:

Initiation. Rnap localizes its start point on Dna, a dedicated promoter sequence, where it reversibly binds. Upon successful initiation it opens the double-stranded Dna, making its information content accessible. Rnap reads out the first portion of the template Dna strand, assembles the 5 end of a new Rna molecule, and continues into elongation. Elongation. Rnap translocates over Dna in discrete steps of one nucleotide, and for each adds a complementary nucleotide to the growing transcript. Throughout elongation, Rnap maintains a tight contact to the growing extremity of the nascent Rna, as well as the template Dna strand. Termination. Rnap unbinds from Dna and releases the transcript when it recognizes a terminator sequence. mRna decay. Instability is a second decisive property of mRna molecules, that undergo degradation after fractions of a minute to half an hour. When mRna was discovered, instability was its defining feature [START_REF] Brenner | An unstable intermediate carrying information from genes to ribosomes for protein synthesis[END_REF][START_REF] Gros | Unstable ribonucleic acid revealed by pulse labeling of Escherichia coli[END_REF]. Degradation is performed by the degradosome, which comprises several enzymes and their respective actions [START_REF] Carpousis | The Escherichia coli RNAdegradosome: structure, function and relationship to other ribonucleolytic multienzyme complexes[END_REF][START_REF] Grunberg-Manago | Messenger RNA stability and its role in control of gene expression in bacteria and phages[END_REF]. The decisive step is the initial access to the 5 end of mRna, which competes with translation initiation as Fig. 3 illustrates.

Proteins are the most prominent active constituents of a cell. In brief, proteins carry out instructions that are hard-wired in Dna. They can be enzymes that catalyze reactions, receptors sitting on the cell's outer membrane and conferring information about the environment to the inside, signaling molecules that carry on information within the cell, transcription factors that control gene expression through binding to Dna, or others. All proteins are subject to degradation, their half-lives usually exceed those of mRna.

Concurrent features of gene expression. Several features of gene expression have a flavor of concurrency. The first is simultaneous processing of the same macromolecule by a number of molecular actors. The second are interdependencies or couplings between different phases of gene expression, that are not yet visible in the simple scheme of Fig. 1. The third is immediate competition for a resource, as the race for mRna by ribosomes and the degradosome.

Rnap + P → kon (Rnap • P ) closed (2.1) (Rnap • P ) closed → k off Rnap + P (2.2) (Rnap • P ) closed → k init (Rnap • P )open (2.3) (Rnap • P )open → k elong Rnap • Dna1 (2.4) Rnap • Dnan → k elong Rnap • Dnan+1 (2.5) Rnap • Dnaterminator → k elong Rnap + Dnaterminator + mRna (2.6)
Table 1. Equations for transcription of Dna

The macromolecules Dna and mRna are typically processed by multiple actors at the same time. Bacterial genomes contain several thousand genes, many of which can undergo transcription at any instant. In addition, each gene can simultaneously be transcribed by several Rnap. This is visible in Fig. 4(a), which shows a structure reminiscent of a comb. Its backbone is formed by a stretch of Dna encoding one gene. We can not discern the Rnap themselves, but their products. The comb's teeth are formed by these nascent Rna transcripts. Transcription initiates at the left, elongation has a left-to-right orientation, as indicated by the increasing lengths of transcripts. Its end point is easy to recognize: the non-coding stretch of Dna remains naked. Note that transcription of this gene initiates with high efficiency, thus the Rnap densely follow each other. Coupling between phases of gene expression. Unlike in eukaryotes where they are separated in time and space, transcription and translation are contemporaneous in bacteria. While one end of mRna molecule is being elongated by Rnap, ribosomes start accessing the other end. The coupling between transcription and translation can become very tight, and fulfill specific goals [START_REF] Gowrishankar | Why is transcription coupled to translation in bacteria?[END_REF]. Transcriptional attenuation is a regulatory mechanism in which transcription stops in the case of low efficiency in translation of the growing mRna [START_REF] Yanofsky | Trancription attenuation[END_REF]. The complexity of couplings further increases in higher organisms [START_REF] Maciag | Systems-level analyses identify extensive coupling among gene expression machines[END_REF][START_REF] Maniatis | An extensive network of coupling among gene expression machines[END_REF].

DNA and transcription

The summary of discrete interactions between Dna and Rnap in Table 1 constitutes the basis for our later π-calculus representation [START_REF] Harley | Stochastic mechanisms in gene expression[END_REF][START_REF] William | Mechanism and control of transcription initiation in prokaryotes[END_REF]. It also comprises the parameters for quantitative control necessary to reproduce the dynamics of transcription in stochastic simulation.

Equations (2.1) to (2.3) represent the three essential steps of transcription initiation [START_REF] William | Mechanism and control of transcription initiation in prokaryotes[END_REF], omitting intermediary ones that are not fully characterized: initial reversible binding of Rnap to promoter Dna (P ), followed by transition to the open complex. The parameter k on in equation (2.1) indicates the speed at which Rnap scans the Dna, recognizes and binds to arbitrary promoters. The closed complex formed hereby is reversible, its stability is reflected by the promoter specific k off in (2.2). In successful initiation Rnap unwinds the duplex Dna locally, and reaches an open complex (2.3). This requires a promoter specific effort reflected by the parameter k init . We will later report parameter ranges.

Regulation of initiation. 1 Bacteria apply various strategies to use their genetic material with great effectiveness, in the correct amount and at the appropriate time [START_REF] Barnard | Regulation at complex bacterial promoters: how bacteria use different promoter organizations to produce different regulatory outcomes[END_REF]. Transcription initiation is controlled by Dna binding proteins. Repressors exclude Rnap from promoters by stable binding to overlapping sequences. Activators conversely attach in the vicinity of the promoter, and favor initiation by increasing the transition rate to the open complex k init , or stabilize Rnap by lowering k off .

Elongation: After a successful transition to the open complex (2.3), Rnap starts to transcribe information content from Dna into Rna, at a first coding nucleotide (2.4). In elongation (2.5), it continues the synthesis of Rna complementary to the template Dna strand. Only in 2005 experiments provided evidence for an assumption that had for long remained under debate [START_REF] Elio | Direct observation of base-pair stepping by RNA polymerase[END_REF]: Rnap elongates Rna, while it advances over individual nucleotides by discrete steps, with an exponential distribution of waiting times determined by by parameter k elong . Elongating Rnap can stall, slow down and pause on certain sequences [START_REF] Wagner | Transcription Regulation in Prokaryotes[END_REF]. Another detail is that the promoter becomes available for further binding only after Rnap has cleared the length of its own footprint (a few tens of nucleotides). This promoter clearance delay becomes rate-limiting at highly efficient promoters [START_REF] Hsu | Promoter clearance and escape in prokaryotes[END_REF], such as the one from Figure 4(a).

Termination: Following a common view, which omits intermediary steps, Rnap dissociates from Dna as it recognizes a terminator sequence on the template, and releases the completed transcript. Equation (2.6) summarizes this intrinsic termination. The simplifying notation in Tab. 1 does not explicitly track the growth of the nascent Rna molecule.

A detail not considered here is that under certain circumstances, small molecules can load on elongating Rnap, and cause it to overrun intrinsic terminators. This is referred to as anti-termination, and can be explained by a more detailed model of intrinsic termination. An alternative mechanism is so called rho-dependent termination [START_REF] Banerjee | Rho-dependent transcription termination: More questions than answers[END_REF][START_REF] Henkin | Transcription termination control in bacteria[END_REF], where a small protein slides along the transcript starting from its 5 end, reaches Rnap and causes it to terminate. We will not cover this mechanism either.

mRNA, translation and degradation

The flow of mRna encoded information into proteins is again organized in three phases, and summarized by Table 2. Equation (2.7) represents the initial step of ribosome binding and assembly on a dedicated mRna sequence, the r ibosomal binding site. As depicted in Fig. 3, the Rbs is located close to the mRna's 5

mRnaRBS + Ribosome → kon mRnaRBS • Ribosome (2.7) mRnaRBS • Ribosome → k off mRnaRBS + Ribosome (2.8) mRnaRBS • Ribosome → k init mRna1 • Ribosome (2.9) mRnan • Ribosome → k elong mRnan+1 • Ribosome (2.10) mRnaterminator • Ribosome → k elong mRnaterminator + Ribosome + P rotein(2.11) mRnaRBS + Degradosome → k d mRnaRBS • Degradosome (2.12)
Table 2. Equations for translation and and degradation of mRna end. The ribosome may dissociate readily (2.8). Its stability k off depends on the agreement with an ideal sequence.

The abbreviation Rna RBS in Tab. 2 refers to the 5 end of mRna, including both the Rbs and the start signal where translation initiates with an efficiency k init in (2.9), that depends on the actual start signal. The ribosome then slides over mRna (2.10), reads out information content and assembles a growing chain of amino acids. Unlike transcription that maps individual nucleotides, translation proceeds in three letter words over mRna (codons), which each determine one amino acid. Illustrative comics are widespread in the biological literature [START_REF] Alberts | Molecular Biology of the Cell[END_REF], nevertheless the detailed internal functioning of ribosomes is only partially understood [START_REF] Frank | A ratchet-like inter-subunit reorganization of the ribosome during translocation[END_REF]. Elongation ends as the ribosome reaches a dedicated terminator signal on mRna (2.11).

Degradation: Table 2 covers the initial step of degradation by (2.12). After this, decay proceeds with the same net orientation as translation, and does not affect ribosomes that have already initiated. This scheme approximates the net outcome of multiple degradation pathways in a phenomenological manner [START_REF] Carrier | Mechanistic modeling of mRNA decay[END_REF][START_REF] Grunberg-Manago | Messenger RNA stability and its role in control of gene expression in bacteria and phages[END_REF][START_REF] Steege | Emerging features of mRNA decay in bacteria[END_REF]. For long, the detailed understanding of mRna degradation lagged behind that of other steps in gene expression; this is now changing rapidly [START_REF] Carpousis | The Escherichia coli RNAdegradosome: structure, function and relationship to other ribonucleolytic multienzyme complexes[END_REF][START_REF] Regonesi | Analysis of the Escherichia coli RNA degradosome composition by a proteomic approach[END_REF].

Quantitative control of gene expression

Part of the variability in gene expression originates from the inherently stochastic nature of the biochemical reactions involved, combined with low numbers of molecules in regulatory events [START_REF] Sneppen | Physics in Molecular Biology[END_REF]. Other effects are due to the specific quantitative control for a given gene of interest. In Tables 1 and2 we met its parameters as reaction labels k on , k off , k init and k elong . We consider ranges of values in Table 3, and discuss their impact.

The quantitative properties of promoters vary greatly. On some Rnap falls off the closed complex within fractions of seconds, while on such with favorable k off parameter, it may remain stably bound for minutes. Transition to the open complex (2.3) occurs within a second at strong promoters, at weak ones after minutes, depending on their k init parameter. Thus, the frequency of transcription per gene varies from one per second (ribosomal Rna) to one per cell elongation speed: 100 nucleotides/sec mRna lifetime few sec to 30 min Table 3. Quantitative control of gene expression generation (certain regulatory proteins). Rnap elongates transcripts at around 30 nucleotides per second. This combines to an average transcript elongation delay of roughly 30 seconds, with an average gene length of 1000 nucleotides.

For completeness, we recall that Rnap's access to promoters can be hindered by repressor proteins, bound to Dna. A repressor protein can stick to highly specific sequences for several bacterial generations of each 30 min -1 hour, while falling off less specific sequences after a few seconds.

Translation proceeds faster than transcription, such that the average time required for the translation of a protein from a mRna is in the order of 10 seconds. Note that degradation can start before a first protein has been completed from an mRna, and that a ribosome bound to the Rbs protects mRna from decay until it either unbinds or dissociates.

Translational bursting

The average number of proteins produced from a single mRna is gene specific, typical ranges are between 1 and 100. Nevertheless there are important fluctuations of protein crops, even for transcripts of the same gene, determined by the race between degradation and translation. When translation initiates efficiently, and the crop for the transcript is high, ribosomes queue on mRna, all proteins are released soon after transcript completion. With long spacings between transcriptions, high crops result in translational bursts in which the number of proteins rapidly increases. After this for a while very few proteins are made, until the next burst occurs.

Details. Let p be the probability that translation succeeds in one round, over degradation that has a probability of (1p). Considering several rounds of this race, the probability to produce x proteins from one transcript before it is degraded is given by p x (1p): with a probability of p, translation succeeds for each of n rounds, and then degradation wins with the complementary probability of (1p). This is a geometric distribution function, which is characterized by asymmetry and many large values. cumulative distribution function for geometric distributions with different mean values. It indicates the probability to obtain more than x transcripts from one transcript, P [X > x]. For example, if the mean crop per transcript is 10, 9% of the transcripts yield each over 25 proteins.

Translational bursting is frequent. Only a minority of bacterial genes yield averages of fewer than 5 proteins per transcript, a value of 20 is rather normal, and burst sizes increase with these means. Combined with the fact that most genes are only transcribed occasionally, translational bursting becomes prevalent; and significantly contributes to stochasticity in gene expression, which has attracted much attention in recent years [START_REF] Kaern | Stochasticity in gene expression: from theories to phenotypes[END_REF][START_REF] Raser | Noise in Gene Expression: Origins, Consequences, and Control[END_REF]. It explains why two cells with identical genetic material, under the same conditions, can exhibit significantly variable individual behavior. The effects can propagate up to the level of population of cells, which are partitioned into sub-populations with externally distinct characteristics. While these consequences have been known for long, the origins have have only become observable recently through real time courses of levels in proteins and mRna [START_REF] Golding | Real-time kinetics of gene activity in individual bacteria[END_REF][START_REF] Kobiler | Quantitative kinetic analysis of the bacteriophage λ genetic network[END_REF].

Transcriptional organization in bacteria

We now sketch specific cases in the arrangement of genes and promoters in bacterial genomes. They have important impact on expression patterns, and are difficult to explicitly represent in previous modeling approaches. We will discuss them within ours.

Operons: In bacteria, sequences of several genes are typically co-transcribed in one go from a common promoter. Figure 6(a) presents such an operon; operons yield polycistronic mRna molecules in which each cistron codes for a different protein, bears its own ribosomal binding site and translation start signal. The translational efficiency can vary up to a factor of 1000 across cistrons on the Alternative promoters for one gene sketched in Fig. 6(c) offer two interesting regulatory strategies in bacteria. Alternative promoter can be activated independently, depending on different environmental signals. Second, alternative transcripts of the same gene bear different 5 ends, where both translation and degradation initiate. The longer transcript is likely to contain a second ribosomal binding site, or translation start signal, and be stabler due to secondary structures into which its 5 end folds. Both factors allow to further tune protein crops. Alternative promoters can best be observed for ribosomal Rna genes in bacteria [START_REF] Dennis | Control of rRNA synthesis in Escherichia coli: a systems biology approach[END_REF][START_REF] Paul | rRNA transcription in E. Coli[END_REF], which account for 90% of transcription in rapidly growing cells. The aspect of subsequent tunable translation control is relevant for viruses that infect bacteria, taking the decision to either enter their dormant state, or start multiplying at the expense of their host cell [START_REF] Schmeissner | Promoter for the establishment of repressor synthesis in bacteriophage lambda[END_REF].

Convergent promoters. Two transcriptional units on opposing strands sometimes overlap within a segment of Dna. In this case transcription starts from converging promoters. As illustrated in Fig. 6(d), two Rnap can then proceed over the two strands with converging orientations. However transcriptional traffic over Dna occurs on a single lane, two way street [START_REF] Kw Shearwin | Transcriptional interference -a crash course[END_REF]. Head-on collisions between two Rnap causes at least one participant to fall off Dna, releasing a truncated transcript. This suppressive influence is known as transcriptional interference [START_REF] Kw Shearwin | Transcriptional interference -a crash course[END_REF].

Stochastic Pi Calculus with Pattern Guarded Inputs

We recall the stochastic π-calculus with pattern guarded inputs [START_REF] Kuttler | A stochastic pi calculus for concurrent objects[END_REF]. Pattern guarded inputs allow to express concurrent objects in the π-calculus, as already noticed by Vasconcelos [START_REF] Paulino | A multi-threaded asynchronous language[END_REF][START_REF] Vasco | A typing system for a calculus of objects[END_REF]. The stochastic semantics is induced by Gillespie's algorithm.

Processes

P ::= P1 | P2 parallel composition | new x(ρ).P channel creation | C1 + . . . + Cn choice (n ≥ 0) | A(x)
process application Guarded processes C ::= x?f (y).P pattern guarded input | x!f (y).P tuple guarded output Definitions D ::= A(y) P Table 4. Syntax of the stochastic π-calculus with pattern guarded inputs

Process expressions and reduction semantics

We construct π-calculus expressions starting from a vocabulary, that consists of an infinite set of channel names N = {x, y, z, . . .}, an infinite set of process names A, and an infinite set of function symbols f ∈ F . The vocabulary fixes arities, i.e. numbers of parameters for every process name A and for every function symbol f . Our vocabulary additionally comprises functions ρ : F →]0, ∞] which define collections of stochastic rates associated to channels. If ρ is assigned to channel x and f ∈ F is a function symbol, then ρ(f ) is the rate of the pair (x, f ). The syntax of our π-calculus is defined in Table 4. We write x for finite, possibly empty sequences of channels x 1 , . . . , x n where n ≥ 0. Whenever we use tuples f (x) or terms A(x) we assume that the number of arguments (the length of x) is equal to the respective arity of f or A. Process expressions are ranged over by P . Let us define the free channel names of all processes P and guarded processes C by induction over the structure of such expressions: fv(x?f (y).P ) = {x} ∪ (fv(P ) -{y}) fv(P 1 | P 2 ) = fv(P 1 ) ∪ fv(P 2 ) fv(x!f (y).P ) = {x} ∪ fv(P ) ∪ {y} fv(new x(ρ).P ) = fv(P ) -{x} fv(C 1 + . . .

+ C n ) = fv(C 1 ) ∪ . . . ∪ fv(C n )
The only atomic expression (that cannot be decomposed into others) is the guarded choice of length n = 0, that we write as 0. The expression P 1 |P 2 denotes the parallel composition of processes P 1 and P 2 . A term new x(ρ).P describes the introduction of a new channel x taking scope over P ; the rate function ρ fixes stochastic rates ρ(f ) for all pairs (x, f ) where f ∈ F . We can omit rate functions ρ in the declaration of a channel x if all reactions on x are instantaneous, i.e. ρ(f ) = ∞ for all f ∈ F . An expression A(x) applies the definition of a parametric process A with actual parameters x.

A guarded choice C 1 + . . . + C n offers a choice between n ≥ 0 communication alternatives C 1 , . . . , C n . A guarded input x?f (y) describes a communication act, ready to receive a tuple that is constructed by f over x. The channels y in input guards serve as pattern variables; these are bound variables that are replaced by the channels received as input. An output guarded process x!f (y).P describes a Here, the channels y are data values, i.e. free.

A definition of a parametric process has the form A(x) P , where A is a process name, and x is a sequence of (universally bound) channels that we call the formal parameters of A. We assume that definitions do not contain free variables. This means for all definitions A(x) P that fv(P ) ⊆ {x} 2 .

We define the operational semantics of the π-calculus in terms of a binary relation over expressions, called (one step) reduction. The definition relies on the usual structural congruence between expressions. Reduction steps on an expression can be performed on arbitrary congruent expressions.

Structural congruence is the smallest relation induced by the axioms in Table 5. It identifies expressions modulo associativity and commutativity of parallel composition, i.e. the order in P 1 | . . . |P n does not matter, order independence of alternatives in choices, scope extrusion. We also assume α-conversion. Unless this captures free variables, we can rename variables that are bound by a pattern input or new.

Table 6 defines the reduction relation. The first axiom tells how to interpret choices; it comprises channel communication and pattern matching. It applies to two complementary matching alternatives in parallel choices, an output alternative x!f (y).P 1 willing to send a term f (y) and an input pattern x?f (z).P 2 on the same channel x, of which the pattern matches in that it is built using the same function symbol f . The reduction cancels all other alternatives, substitutes the pattern's variables z by the received channels y in the continuation P 2 of the input, and reduces the result in parallel with the continuation of the output P 1 . Note that only matching tuples can be received over a channel. Other sending attempts have to suspend until a suitable input pattern becomes available. This fact will prove extremely useful for concurrent modeling. Upon reception, tuples are immediately decomposed.

The unfolding axiom applies one of the definitions of the parametric processes in a given set ∆. An application A(y) reduces in one step to definition P , in which the formal parameters y have been replaced by the actual parameters x. Note Communication, choice, pattern matching:

x!f (y).P1 + . . . | x?f (z).P2 + . . . → P1 | P2[z → y]
if z free for y in P2

Unfolding of parametric processes:

A(x) → P [y → x]
if A(y) P in ∆, and y free for x in P Closure rules:

P ≡ P P → Q Q ≡ Q P → Q P → P new c(ρ).P → new c(ρ).P P → P P | Q → P | Q Table 6.
Reduction relation for a finite set of definitions ∆ that parametric definitions can be recursive, and that another call of A may be contained in P . The usual closure rules state that reduction can be applied in arbitrary contexts, but not below choices or in definitions.

As in Milner's polyadic π-calculus, we can communicate sequences of names over a channel. It is sufficient to fix n-ary functions symbols f for all n ≥ 0, in order to wrap name sequences of length n. When defining x?y.P = def x?f (y).P and x!y.P = def x!f (y).P we obtain the usual reduction step of the polyadic π-calculus:

x!y.

P 1 | x?z.P 2 → P 1 | P 2 [z → y]

Example: semaphore

Semaphores control the access to shared resources in concurrent systems [START_REF] Edsger | Hierarchical ordering of sequential processes[END_REF]. They are widespread in programming languages, operating systems, or distributed databases. Their purpose lies in restricting the access to some resource, to a single user at a time. We will apply them to grant exclusive access to molecular binding sites. We consider simple semaphores with two states -free and bound. Importantly, any binding attempt on a bound semaphore has to wait until the semaphore has become free again. Consider the reduction sequence of the following process expression, of a bound semaphore, located at site s, in parallel with a bind request and a free request. In a first step, the Semaphore bound at s unfolds its definition. This creates an input offer on s to receive a free message. Other messages cannot be received over s in this state, in particular no bind requests. Hence, the site s cannot get § ¤

Stochastic scheduling

In order to apply the Gillespie algorithm to the π-calculus with pattern guarded inputs, we have considered a π-calculus expression with a chemical solution, and all instances of the reduction rules of the π-calculus as chemical reaction rules [START_REF] Kuttler | A stochastic pi calculus for concurrent objects[END_REF].

An abstract chemical expression is a multiset of molecules. In the set of the π-calculus, a molecule will be either a choice C 1 + . . . + C n or an application A(y), or more precisely, a congruence class of such an expression with respect to the structural congruence. A parallel composition without new binder modulo structural congruence is most naturally identified with a chemical solution, i.e. a multiset of such molecules.

The new-binder assigns a rate function ρ x to all channels x in a closed expression and can be ignored otherwise. By appropriate renaming, this assignment can be defined globally for all channel names. The chemical reduction rules are instances of the reduction rules of the π-calculus relative to some set of definitions ∆. A communication on channel x with pattern function f is assigned the rate ρ x (f ). Applications of definitions are immediate, i.e. have rate ∞.

x!f (y).P 1 + . . . | x?f (z).P 2 + . . . → ρx(f

) P 1 | P 2 [z → y] A(x) → ∞ P [y → x] if A(y) P in ∆
The Gillespie algorithm [START_REF] Daniel | A general method for numerically simulating the stochastic time evolution of coupled chemical reactions[END_REF] thus defines a scheduling for our π-calculus, including the delays for all steps.

Modules

We use a simple module system on an informal level, inspired by that of SML. Each module contains a set of definitions and declarations of process names and function symbols. Modules may export some, but not necessarily all names of defined processes, and import definitions from other modules. The module 'semaphore' (Fig. 7) exports a single process named Semaphore, which may receive tuples built from two 0-ary function symbols bind and free. The process names Semaphore free and Semaphore bound are not exported for external usage, they remain local to the implementation inside the module. Note that the rates of function calls for each Semaphore are determined by the ρ of the channel it is instantiated at.

Concurrent objects

In this section, we introduce the expression of multi-profile objects in the stochastic π-calculus with pattern guarded choices. These object-oriented abstractions accompanied by a notion of inheritance are one of the central reasons for the extensibility of the model of transcription and translation presented in the current work. Note that previous π-calculus based approaches to biomolecular modeling do not use object-orientation.

Objects with multiple profiles are a recent notion [START_REF] Duchier | Biomolecular agents as multi-behavioural concurrent objects[END_REF]. Multiple profiles enable objects to change their interface, i.e. the set of functions offered. Based on multi-profile objects, we show how to model persistent and degradable lists, with or without queueing discipline. In Sec. 5 we will refine such lists to models of Dna and Rna. More traditional concurrent objects can be expressed in a closely related variant of the π-calculus, as already noticed by Vasconcelos in the beginning of the nineties [START_REF] Vasco | A typing system for a calculus of objects[END_REF].

Single-profile objects

A concurrent object resembles a server that offers a set of functions to its clients. The interface of such an object is specified by a finite set of function names. The class of an object defines functions for each of the function names in the interface.

In the π-calculus with pattern guarded choices, we represent objects as follows. The names of object functions correspond to the function names of the π-calculus; the class of the object is a parametric process name, say Obj. Every object of this class is represented by an application Obj(me,z) of the class to a channel me identifying the object and a sequence of parameters z. Its interface is defined by a choice of input offers on channel me, each guarded by one of the functions of the object: Obj (me , z) me? f 1 ( x1 ) . P1 + . . . + me? fn ( xn ) . Pn Upon reception of some message matching f i (x i ), the object replaces the formal parameters x i in P i by the actual parameters, and continues as the resulting process. Note that P i may further depend on the parameters z of the object, and on global names left free in the object's definition. In order to continue their service, most objects go into recursion; sometimes they terminate as the idle process 0.

We will frequently extend object classes by new functions in order to define new refined objects, i.e. a newly defined class inherits the functions of an existing one. Figure 8 The latter substitution means that all recursive calls to some Obj are renamed into recursive calls to Obj2. Note that according to our definition, only if the added choice is an input offer over channel me, the resulting Obj2 is in turn an object.

Examples: persistent and degradable lists

A persistent list consists of a sequence of nodes, each having a successor next and a value val. It is defined in Fig. 9 The rate function ρ determines the temporal behavior of the second node of the list, located at n2. We fix it by setting ρ(getNext)=30. We illustrate list processing with a Walker. It traverses the list by querying each node for it successor via getNext, and stops after identifying Nil by its positive response to isNil.

Walker ( node ) new c1 . node ! i s N i l (c1 ) . c1 ? t r u e ( ) . 0 + c1 ? f a l s e ( ) . new c2 . node ! getNext (c2 ) . c2 ? n e x t . Walker ( n e x t )

The attentive reader may have noticed a detail of our Walker process. It is actively sending requests to objects, which keep waiting for input over their respective me channels. The same holds for all devices processing representatives of macromolecules (i.e., data structures) in the remainder of this paper: the Rnap and ribosome abstractions proceed by calling functions3 that are offered by Dna and mRna representatives. After importing module 'persistent list [a,b]', we let the Walker run over our example list [a,b]:

L i s t ( n1 ) | Walker ( n1 ) → new n2 ( ρ ) . new n i l . Walker ( n1 ) | Nodes where Nodes = Node ( n1 , n2 , a ) | Node ( n2 , n i l , b ) | N i l ( n i l ) → * new n2 ( ρ ) . new n i l . Walker ( n2 ) | Nodes → * new n2 ( ρ ) . new n i l . Walker ( n i l ) | Nodes → * new n2 ( ρ ) . new n i l . Nodes = L i s t ( n1 ) § ¤ 1 module ' d e g
r a d a b l e l i s t ' 2 import P l i s t ( Node , N i l ) from ' p e r s i s t e n t l i s t ' 3 e x p o r t 4

Node extends P l i s t . Node by k i l l /0 5 N i l extends P l i s t . N i l by k i l l /0 6 d e f i n e 7

Node (me , v a l , n e x t ) extended by me? k i l l ( ) . 0 8 N i l (me) extended by me? k i l l ( ) . 0 ¦ ¥ Fig. 10. Degradable list Suppose the first node n1 was introduced with rates ρ as well. All calls to getNext functions are then associated with a stochastic rate of 30. Given that this is the single parameter determining an exponential distribution of waiting times4 , our Walker traverses lists at an average speed of 30 nodes per second. Besides merely running down the list, the Walker does not perform any further action. We leave it to the reader to extend the Walker into a Copier such that:

L i s t ( n1 ) | C o p i e r ( n1 , n2 ) → * L i s t ( n1 ) | L i s t ( n2 )
Degradable lists. The distinguishing feature between a degradable and persistent list is that the former can be destroyed. We define degradable lists by inheritance from the persistent in Fig. 10. The import statement in line 2 imports the specifications of Node and Nil from the module 'persistent lists', which it refers to as Plist. With this, Plist.Node and Plist.Nil denote the respective objects of persistent lists, clearly distinguished from the corresponding objects in non-persistent lists. The export statement tells that this module provides definitions for Node and Nil. These objects provide the same functions as their analogs from the 'persistent list' module, and additionally kill of arity zero.

A non-persistent list [a,b] can now be built by the same definition as a persistent list [a,b]. The only difference is that we have to import module 'non-persistent list' instead of 'persistent list'. Destructing a non-persistent list is easy. A Killer proceeds like a Walker, except that it kills a Node before continuing with the next: K i l l e r ( node ) new c1 . node ! i s N i l (c1 ) . c1 ? t r u e ( ) . node ! k i l l ( ) . 0 + c1 ? f a l s e ( ) . new c2 . node ! getNext (c2 ) . c2 ? n e x t . node ! k i l l ( ) .

K i l l e r ( n e x t )

It is worthwhile observing that Walkers are able to traverse non-persistent lists, without changing their code. This is one of the main advantages of the objectoriented approach proposed in this work. Objects of non-persistent lists specialize those of persistent lists, so we can always replace the latter by the former. This would not hold for our model encoded in the biochemical stochastic π-calculus [START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF].

Multi-profile objects

A multi-profile object is a collection of objects, that may recursively depend on another [START_REF] Duchier | Biomolecular agents as multi-behavioural concurrent objects[END_REF]. In this paper, we need the concept of multi-profile objects with an appropriate notion of inheritance (a topic left open by previous work). We group objects into multi-profile objects by a naming convention. We assume object names Obj and profile names p such that composed names Obj p belong to the set of parametric process names. This definition by inheritance can be resolved into the following π-calculus definition:

Obj2 p 1 (me , z1 ) C 1 1 + . . . + C 1 m 1 [ Obj → Obj2 ] . . . Obj2 p n (me , zn ) C n 1 + . . . + C n mn [ Obj → Obj2 ]
The latter substitution renames all recursive calls to some profile Obj p i into recursive calls to Obj2 p i for 1 ≤ i ≤ n.

Examples: persistent and degradable queueing lists

The persistent and degradable lists presented so far can be traversed by several visitors at the same time, e.g. by a Walker and by a Reader. Each visitor proceeds over the nodes, and hereby draws waiting times independently of the others. This permits overtaking of one visitor by another, which is however not possible in transcription of Dna, nor in translation of mRna or its degradation.

We impose queueing on visitors of a persistent list by incorporating a semaphore style behavior, distinguishing two profiles of Nodes (Fig. 11): free and bound. The functions exported as the interface can only be used as the Node is in profile bound. It becomes impossible to bind a node twice. Function bind is not exported outside the module, it can only be called on a node by its predecessor. This is implemented by re-defining the getNext function, compared to our previous list module. Upon a getNext request a Node binds its successor -if necessary it waits -before passing over the reference next (line 10).

Note that before the Walker can operate on a persistent queueing lists, we need to bind its first node: § ¤ A degradable queueing list can easily be expressed by inheritance (Fig. 12). Its members are equipped with a kill function for stepwise destruction. As for the Walker, the Killer remains functional starting on a bound first node.

Modeling transcription and translation

We now introduce models of bacterial transcription and translation in the stochastic π-calculus with pattern guarded choices. Hereby we make use of modules, inheritance and the modeling techniques introduced in the previous sections. Each list member has the private knowledge of its successor. Promoters control the access of Rnap to coding Dna, they can be contacted over the globally visible channel rnap. They abstract the behavior of the promoter Dna sequence as a whole, similarly as Terminators, but unlike regular Nucleotides.

Objects with multiple profiles are essential to our modeling. We represent multistep interactions between pairs of molecular actors, as observed in transcription initiation, by synchronized transitions of two interacting multi-profile objects.

DNA and transcription

Our model covers the following events from Table 1: interactions between Rnap and promoter sequences on Dna during initiation as sketched in equations (2.1) to (2.4), transcript elongation in steps of one Dna nucleotide (2.5), and termination (2.6) on terminator Dna sequences. Accordingly, we abstract promoter and terminator sequences as one object, with a common interface. In contrast we represent individual nucleotides within the coding region, building on Node from the 'persistent queueing list' module (Fig. fig:persistentQList). Figure 13 distinguishes these abstraction levels by coloring.

Let us precede the discussion of the components with a comment on a design choice. We want to represent the growth of the transcript, which itself is not included in Table 1. Recall that Rna is assembled on Dna by Rnap. In the π-calculus model, the transcript representative must be spawned by one. We attribute the task to the Dna representative, which by its sequence determines the information content of the transcript, and thus its behavior. Due to this choice, our representative of Rnap is simpler to explain than those of Dna.

Rnap has four profiles, listed in Fig. 14. Three deal with transcription initiation -they have corresponding Promoter profiles. The fourth covers elongation, and roughly resembles our previous Walker. We first consider formation of the closed promoter complex, summarized by equation (2.1): Rnap free invocates bind over the global channel rnap (line 6). It waits for satisfaction by a Promoter, that is nondeterministically selected among several available in profile free, and extrudes its me channel. As the bind interaction succeeds, Rnap and Promoter switch to their closed profiles. They now jointly represent the closed promoter complex. As such they can interact over Promoter's shared me channel, by the competing functions unbind and initiate. The race between these is controlled by the rates k init (2. prom ! s t a r t T r a n s c r i p t ( c1 ) . c1 ? rna . 12 prom ! g e t N e x t ( c2 ) . c2 ? dna .

13

R n a p e l o n g a t i n g ( dna , r n a ) 14 R n a p e l o n g a t i n g ( dna , r n a ) new c1 . dna ! isTerm (c1 ) . c1 ? t r u e ( ) . dna ! e l o n g a t e ( rna ) . R n a p f r e e 16 + c1 ? f a l s e ( ) . new c2 . dna ! e l o n g a t e ( rna , c2 ) . c2 ? r n a n x t . 17 new c3 . dna ! getNext (c3 ) . c3 ? d n a n x t . 18 R n a p e l o n g a t i n g ( dna n x t , r n a n x t ) ¦ ¥ Rnap elongating traverses the Dna representative, calling elongate on each Nucleotide over its extruded me channel. After reaching the Terminator it returns to Rnap free (line 15), unlike the previous Walker that terminates as 0 at the end of a list. This behavior corresponds to equations (2.5) and (2.6).

Dna. Our module 'DNA' includes the complementary specification of Promoter, Nucleotide, and Terminator (Fig. 15). Promoter implements the explicit access control for genes. It has three profiles analogous to those of Rnap, with which it synchronizes transitions: Promoter free is dual to Rnap free. 5Transcription Parameterization. Table 7 gives sample values of the ρ function that attributes rates to on object's functions. Functions not associated with a rate are instantaneous. Recall that each object is identified by its me channel, over which its function are invocated. This allows to associate method calls on different objects of the same class with distinct rates, as useful for initiation rates of promoters or ribosomal binding sites.

mRNA, translation and degradation

Our model of mRna is based on 'degradable queueing list' (Fig. 12). By this we implicitly account for the molecule's unstable character by inheritance, and impose queueing on the ribosomes and degradosomes processing it. Similarly as we did for Dna, we assemble mRna from three components at different levels of abstraction illustrated in Fig. 16. The module's definition follows in Fig. 17.

The two-profile RBS represents the 5 end of mRna, including the ribosomal binding site and the translation start signal. It implements the co-transcriptional race between translation and degradation. Decay initiates over the global channel degradosome in the free profile: after RBS has passed the reference to its bound successor, it becomes the inert process 0 (line 15 Nucleotide propagates translation and degradation. A Degradome decays a Nucleotide using its inherited function kill. The Ribosome uses function getNext to step through the mRna representative in translation; it stops on the Terminator due to its positive response to isTerm. The last function elongate that Ribosome calls remains without effect in this basic Nucleotide model, but spawns a fresh protein when called on a Terminator, that marks the endo of a protein coding region.

Ribosome. The module 'ribosome' declares the co-actions for translation of mRna into proteins, see Fig. 18. Note how the simplicity in the representation of translation becomes apparent in the elongate function of a 'mRNA' Nucleotide, compared to that of Dna.

Degradosome. The degradosome specification is straightforward as well (Fig. 19). After gaining access to the RBS, it stepwise destructs the whole mRNA, calling kill and getNext on each of its Nucleotides. Degradation stops at the end of the transcript -on Nil, not on the Terminator as does translation. This distinction will prove useful when dealing with polycistronic mRna. § Proteins. Proteins have many functions in the cell, that are not covered in this work. The only point we mention beyond their expression is their limited lifetime, reflected by a kill function for the degradation of Proteins of a certain type identified by prot: P r o t e i n p r o t ? k i l l ( ) . 0

Extensions

We extend our components to cover details introduced in Sec. 2.6.

Operons and polycistronic mRNA. We devote a module to operons, and the polycistronic mRna transcribed from them (Fig. 20). It defines the processes OperonLinker and InternalRBS. OperonLinker connects two genes within § ¤

¦ ¥

Fig. 20. Operon module an operon. It spawns a transcript that comprises a mRna Terminator, on which translation of the first protein stops, followed by an InternalRBS, on which translation of the second protein initiates -but not degradation. Initial binding of the Ribosome occurs as on a regular RBS, same for unbinding and translation initiation, while decay propagation is inherited from a regular mRna Nucleotide.

We can assemble an Operon after importing the previous modules. For better legibility we omit channel creations and parameterization. The transcription of our operon yields polycistronic mRna coding for two different proteins6 , which are translated with distinct efficiencies (flexibly set by the ρ function of RBS's me). We obtain the following reduction sequence, at the end of which the transcript has yielded distinct numbers of A and B proteins, and been degraded: Tandem promoter. Let us now consider promoters in a tandem, illustrated in Fig. 6(c). The question is how to represent the internal promoter, over which transcription proceeds after it has initiated at the outer. The transcript is then appended a new element which offers translation initiation, but only propagation of decay -we previously designed an element of this functionality for transcripts resulting from operons. Our specialized promoter representative listed in Fig. 21 extends from the regular one by an elongate function that appends an Internal-RBS free imported from module 'operon' to the existing transcript.

Operon | Rnap | Ribosome | Degradosome → * Operon | Rnap | Ribosome | Degradosome | | P o l y c i s t r o n i c M r n a → * Operon | Rnap | Ribosome | Degradosome | P
Promoter clearance. One of our simplifications so far is that a Promoter becomes available for new Rnap free immediately upon after initiation, when switching to free. In reality Rnap clears its footprint stepwise, inducing a possibly limiting delay for highly efficient promoters, as those depicted in Figure 4(a). The model can be extended with an additional profile to reflect this synchronization, delaying the return to profile free until Rnap has moved far enough. We included this is in our implementation, used for the simulations in Section 6.

Challenging cases

The integration of more biological detail can become increasingly challenging. This becomes clearer on closer inspection of the biological matter, as points related to secondary structures of mRna (intrinsic termination of transcription, transcriptional attenuation), and two-way traffic on Dna and mRna.

An example is transcriptional attenuation, in which transcription termination is determined by the efficiency of translation of the nascent transcript. The crucial detail is that intrinsic termination depends on more than mere recognition of a terminator sequence which actually comprises two portions with different effects. The first codes for an mRna sequence that quickly forms a stable secondary structure, called hairpin. It is followed by a Dna sequence on which Rnap stalls. Both factors contribute to destabilize elongating Rnap, allowing the transcript below its footprint to partly dissociate from the template strand. Rnap eventually falls off Dna. In transcriptional attenuation, the formation of the mRna secondary structured is impaired by ribosomes that translate the mRna portion forming the hairpin with sufficient efficiency. Rnap recovers from its speed loss and continues transcription over the terminator. Capturing this would required more elaborate mechanisms of concurrent control than so far, specifically regarding Rnap's dependency on the last chunk of mRna assembled.

Antitermination of transcription on intrinsic terminators is related to attenuation. One could satisfyingly deal with it, while covering less detail than required for attenuation. The simplest strategy would be to introduce an additional profile antiterminated for Rnap, which continues over terminator signals.

Transition to this profile would be triggered by interaction of Rnap elongating with regulatory proteins.

Two-way traffic occurs both on Dna and mRna. The concurrent control supported so far can not yet account for traffic problems on double-stranded Dna (one of two Rnap falls off after a head-on collision), nor for details of mRna decay. So far we only realized queueing control on single stranded macromolecules, which are processed in one direction. Our model of mRna decay is phenomenological, a detailed one would cover the initial step of decay, in which the transcript is cleaved by one member of the degradosome proceeding with the same orientation as transcription, and subsequent decomposition of isolated mRna chunks by another enzyme in opposite direction.

Simulation

In this section we present simulations obtained from our model components with the BioSPI tool [START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF], after encoding pattern guarded inputs within the stochastic π-calculus [START_REF] Kuttler | A stochastic pi calculus for concurrent objects[END_REF]. Our focus lies on the effect of translational bursting introduced in Sec. 2.5. We hence compare the dynamics of unregulated expression of a single gene under variation of two crucial parameters. The underlying model is that of a single gene comprising 1000 nucleotides, its transcription into mRna, and subsequent translation and degradation. As experimentally confirmed by Ozbudak et. al [START_REF] Ertugrul | Regulation of noise in the expression of a single gene[END_REF], the variation of transcription of translation initiation parameters leads to significant differences in expression patterns. These would not appear in continuous deterministic simulation, which nevertheless yield comparable av- erage expression levels, nor can they be reproduced by one step models of gene expression as [START_REF] Blossey | A compositional approach to the stochastic dynamics of gene networks[END_REF]. Our parameter combinations are the following:

(a) In the setting we refer to as bursty, the promoter yields rare transcription initiations (k init of 0.01). This is combined with efficient translation (k init of 1). (b) The smooth setting inverts the parameters: transcription initiates more frequently (k init of 0.1), while translation initiation is rarer (k init of 0.1).

The mRna and protein decay rates are the same for both settings, 0.1 and 0.002 respectively, these are taken from [START_REF] Ertugrul | Regulation of noise in the expression of a single gene[END_REF] as the above paramters, and the number of Rnap, ribosomes and degradosomes are fixed. We executed both combinations for 7 hours of simulated time.

Figure 22 reports a sample run for each of the two settings. The left curve in Fig. 22(a) displays the evolution of the protein level over time for an execution of the bursty combination. The protein level fluctuates strongly around an average of 55, marked by a horizontal line. The fourth hour exhibits the strongest variability: after it has almost emptied, the protein pool replenishes rapidly to a maximal level around 140. We provide a summary of the protein levels observed over the whole simulation period by the histogram to the right of Fig. 22(a). Here the simulated time is divided into equally long intervals. The bars indicate by their heigth how often a given number of proteins (as labeled on horizontal axis) is observed. Simulations based on the smooth setting have a clearly distinct behavior, as shows Fig. 22(b) where the protein level only weakly fluctuates around an averate of 46. The histogram confirms that the distribution is pronouncedly narrowed compared with the previous setting.

An alternative interpretation of the histograms is as population snapshots, with respect to the expression level of a given protein. In this view the height of the bars indicate the fraction of the population with a certain protein level (horizontal axis). This shows how for the setting bursty, the variability propagates from the time course within an individual cell, up to population heterogeneity.

In the following table we adopt another perspective on the same data. The second column reports the mean protein crop per transcript, which averages to 10 for setting bursty. New transcripts appear about every 100 seconds (3rd column). This explains the drops observed in Fig. 22 Translational bursting. We could not yet observe the origin of the strong bursts in protein numbers in Fig. 22(a). This motivates further inspection of setting bursty's simulation. Figure 23 displays the numbers of translating ribosomes (circles) within the fourth hour of the simulation period, in which the protein pool empties, and then rapidly replenishes to the maximum. While the number of full mRna molecules never exceeds two (data not shown), these are simultaneously processed by up to 50 ribosomes. As discussed in Sec. 2.5 the strongest bursts in protein levels occur when for a mRna, the number of translations by far exceeds the average. The circles forming the bottom line may first appear peculiar; they can be explained as follows. For setting bursty new transcriptions are completed every 100 seconds. However, recall that nascent transcripts are translated co-transcriptionally. This means that whenever some Rnap is producing a transcript (wich takes around 100 seconds), one or more ribosomes closely follow it on the nascent mRna. Hence the bottom line reflects that there is virtually always some coupled transcription and concomitant translation going on. The column-reminiscent peaks mark transcripts yielding exceptionally high protein crops; this is in agreement with a geometric distribution.

Conclusion

The experience gained in this work motivates further improvements of modeling languages based on the stochastic π-calculus [START_REF] Phillips | A correct abstract machine for the stochastic pi-calculus[END_REF][START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF]. We extend the stochastic π-calculus [START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF] by input guarded patterns [START_REF] Vasco | A typing system for a calculus of objects[END_REF], this allows to express multi-profile objects [START_REF] Duchier | Biomolecular agents as multi-behavioural concurrent objects[END_REF] for which we introduce a simple notion of inheritance. We propose a simple module system, which is useful for model building. A stochastic semantics for our calculus, and an encoding into the stochastic π-calculus are presented in a companion paper [START_REF] Kuttler | A stochastic pi calculus for concurrent objects[END_REF]. We contribute an extensible model of transcription and translation, the two phases of gene expression. It represents discrete interactions between the molecular actors involved, and thus allows predictions at a high level of detail. We underline the expressiveness of our approach by a simulation case study, focusing on stochasticity in gene expression. Hereby we concentrate on translational bursting, which has been identified a prime origin of stochasticity in bacterial gene expression [START_REF] Kaern | Stochasticity in gene expression: from theories to phenotypes[END_REF][START_REF] Raser | Noise in Gene Expression: Origins, Consequences, and Control[END_REF].

The models suggested here may be extended to cover regulatory mechanisms in bacterial gene expression. They may constitute a starting point to deal with higher organisms, which refine the fundamental mechanism observed in bacterial gene expression.

Fig. 2 .

 2 Fig. 2. Dna processing by Rna polymerase (Rnap): promoter binding and initiation, transcript elongation, termination with release of Rna

Fig. 3 .

 3 Fig. 3. mRNA is subject to competing translation and transcription. Degradation is initiated at the 5 end, while the ribosome assembles on the nearby ribosomal binding site Rbs. The actual translation initiates at the start codon, here 'AUG'.

Fig. 4 .

 4 Fig. 4. Simultaneous processing of Dna and mRna[START_REF] Alberts | Molecular Biology of the Cell[END_REF]

   shows the analogous phenomenon in translation. While the mRna itself can not be seen, the visible blobs are ribosomes.

Figure 5 Fig. 5 .

 55 Fig. 5. A geometric distribution characterizes the fluctuations around the mean crop of proteins per mRna. P [X > x] for different mean values.

Fig. 6 .

 6 Fig. 6. Particular cases of promoter arrangements

S e m a

  p h o r e f r e e (me) me? b i n d ( ) . Semaphore bound (me) Semaphore bound (me) me? f r e e ( ) . S e m a p h o r e f r e e (me)

  Semaphore bound ( s ) | s ! bind ( ) . 0 | s ! f r e e ( ) . 0 → s ? f r e e ( ) . S e m a p h o r e f r e e ( s ) | s ! bind ( ) . 0 | s ! f r e e ( ) . 0 → S e m a p h o r e f r e e ( s ) | s ! bind ( ) . 0 → s ? b i n d ( ) . Semaphore bound ( s ) | s ! bind ( ) . 0 → Semaphore bound ( s )

Fig. 8 .

 8 Fig. 8. Obj2 extends Obj with the an+1-ary function fn+1

Fig. 12 .

 12 Fig. 12. Degradable queueing list

Fig. 13 .

 13 Fig.[START_REF] Chabrier-Rivier | The biochemical abstract machine BioCham[END_REF]. We abstract Dna as list, extending on the module 'persistent queueing list'. Each list member has the private knowledge of its successor. Promoters control the access of Rnap to coding Dna, they can be contacted over the globally visible channel rnap. They abstract the behavior of the promoter Dna sequence as a whole, similarly as Terminators, but unlike regular Nucleotides.

  2) and k off (2.3), which enter the model over the ρ function that quantifies the Promoter's channel me. Unbinding without transcription initiation § ¤ 1 module ' rnap ' 2 channel r n a p 3 e x p o r t Rnap 4 d e f i n e 5 Rnap R n a p f r e e 6 R n a p f r e e new c . rnap ! bind ( c ) . c ?prom . R n a p c l o s e d ( prom ) 7 R n a p c l o s e d ( prom ) 8 prom ! u n b i n d ( ) . R n a p f r e e 9 + prom ! i n i t i a t e () . Rnap open ( prom ) 10 Rnap open ( prom ) new c1 . new c2 . 11

Fig. 14 .

 14 Fig. 14. Rnap module

Fig. 15 .

 15 Fig. 15. Dna module

Fig. 16 .

 16 Fig. 16. Rna is based on module 'degradable queueing list'.

¤ 1 moduleFig. 18 .Fig. 19 .

 11819 Fig. 18. Ribosome module § ¤ 1 module ' degradosome ' 2 channel degradosome 3 e x p o r t Degradosome 4 d e f i n e 5 Degradosome D e g r a d o s o m e f r e e ( ) 6 D e g r a d o s o m e f r e e new c . 7 degradosome ! b i n d ( c ) . c ? r n a . Degradosome working ( r n a ) 8 Degradosome working ( r n a ) new b . rna ! i s N i l ( b ) . 9 b? t r u e ( ) . node ! k i l l ( ) . D e g r a d o s o m e f r e e 10 + b? f a l s e () . new c . node ! getNext ( c ) . c ? next . rna ! k i l l ( ) . 11 Degradosome working ( n e x t ) ¦ ¥ Fig. 19. Degradosome module

  Operon Dna . Promoter | Dna . N u c l e o t i d e | . . . | Dna . N u c l e o t i d e | O p e r o n L i n k e r | Dna . N u c l e o t i d e | . . . | Dna . N u c l e o t i d e | Dna . T e r m i n a t o r

P o l yFig. 21 .

 21 Fig. 21. Tandem promoter module

Fig. 22 .

 22 Fig. 22. Basal expression of a single gene under parameter variation. Left: time course of protein numbers, right: histogram of protein number over the simulated period.

Fig. 23 .

 23 Fig. 23. Concurrent translation of mRna by multiple ribosomes.

  (a) over periods in which the effect of protein degradation surpasses that of expression. Setting smooth behaves differently. It yields approximately one protein per transcript, fresh transcripts become available every 10 seconds, and both together result in weak fluctuations. Note that while the total number of transcriptions for setting smooth almost tenfold exceeds that of bursty (4th column), the total number of protein produced differ far less across the two settings (5th column):

  The first phase of gene expression is transcription of static Dna encoded information into Rna molecules, of which several types exist. Short-lived messenger Rna, or mRna, acts as information carrier. It serves as template for translation into proteins.

	Dna	-→	mRna	-→	proteins
		transcription		translation
	Fig. 1.

Table 5 .

 5 Axioms of the structural congruence communication act willing to send tuple f (y) over channel x and continue as P .

	(P1|P2)|P3 ≡ P1|(P2|P3)	P1|P2 ≡ P2|P1	P |0 ≡ P
	new x1(ρ1).new x1(ρ2).P ≡ new x2(ρ2).new x1(ρ1).P
	new x(ρ).(P1|P2) ≡ P1| new x(ρ).P2, if x / ∈ fv(P1)
	capture free renaming of bound variables (α-conversion)

. . . + C1 + C2 + . . . ≡ . . . + C2 + C1 + . . .

  Semaphorebound a second time. Only once the free message got received, s was able to accept the next bind request, while becoming bound again.

	1 module ' semaphore '
	2 e x p o r t
	3	Semaphore with b i n d /0 , f r e e /0
	4 d e f i n e
	5	Semaphore (me)	S e m a p h o r e f r e e (me)
	6	S e m a p h o r e f r e e (me)	me? b i n d ( ) . Semaphore bound (me)
	7	Semaphore bound (me)	me? f r e e ( ) . S e m a p h o r e f r e e (me)
	¦			¥
			Fig. 7.

  (b) illustrates. Class definitions by inheritance are always compiled into regular π-calculus definitions before execution. Let class Obj be defined by the following choice:

	Obj (me , z)	C1 + . . . + Cn
	Obj2 (me , z)	C1 + . . . + Cm [ Obj → Obj2 ]

Inheritance refines this class to Obj2 by adding further choices: Obj2 extends Obj Obj2 (me , z) extended by Cn+1 + ...+ Cm

This definition by inheritance can be resolved as follows:

  by concurrent objects of the class Node with three parameters: me, next, and val. The successor of a list's last Node is represented by a Nil object. Each Node object has three unary functions getNext, getValue, and isNil. The Nil object provides the unary function isNil only.

	§			¤
	1 module ' p e r s i s t e n t l i s t '
	2 e x p o r t
	3	Node with g e t N e x t /1 , g e t V a l u e /1 , i s N i l /1
	4	N i l with i s N i l /1
	5 d e f i n e
	6	Node (me , next , v a l )
	7	me? g e t N e x t ( c ) . c ! n e x t . Node ( me , n e x t , v a l )
	8	+ me? getValue ( c ) . c ! v a l . Node (me, next , v a l )
	9	+ me? i s N i l ( c )	. c ! f a l s e () . Node (me, next , Cal )
	10	N i l (me)	me? i s N i l ( c ) . c ! t r u e ( ) . N i l (me)
	¦			¥
			Fig. 9. Persistent list
	module ' p e r s i s t e n t l i s t [ a , b ] '
	import Node N i l from ' p e r s i s t e n t l i s t '
	e x p o r t L i s t
	d e f i n e
		L i s t ( n1 )	new n2 ( ρ ) . new n i l .
		Node ( n1 , n2 , a ) | Node ( n2 , n i l , b ) | N i l ( n i l )
	Consider a list [a,b] of length 2. It is represented by the parametric process,
	using the module 'persistent list'.

  The class of multi-profile object Obj with profiles p 1 , ..., p n is defined by a collection of classes Obj p 1 , ..., Obj p n :We have already seen an example of a multi-profile object, the semaphore from Sec. 3.4 with profiles free and bound. We can extend a class Obj into another Obj2 by adding new functions to some or all profiles:

	Obj p 1 (me , z1 )	C 1 1 + . . . + C 1 n 1
	. . .
	Obj p n (me , zn )	C n 1 + . . . + C n nn
	Obj2 extends Obj
	Obj2 p 1 (me , z1 ) extended by C 1 n 1 +1 + . . . + C 1 m 1
	. . .
	Obj2 p n (me , zn ) extended by C n nn+1 + . . . + C n mn

  Node

	1 module ' p e r s i s t e n t queueing l i s t '
	2 e x p o r t
	3	Node with g e t N e x t /1 , g e t V a l u e /1 , i s N i l /1
	4	N i l with i s N i l /1
	5 d e f i n e
	6	Node (me , next , v a l )	N o d e f r e e (me , next , v a l )
	7	N o d e f r e e (me , next , v a l )
	8	me? b i n d ( ) . Node bound (me , next , v a l )
	9	Node bound (me , next , v a l )
	10	me? g e t N e x t ( c ) . n e x t ! b i n d ( ) . c ! n e x t .
	11	N o d e f r e e (me , next , v a l )
	12	+ me? getValue ( c ) . c ! v a l . Node bound (me , next , v a l )
	13	+ me? i s N i l ( c ) . c ! f a l s e () . Node bound (me , next , v a l )
	14	N i l (me)
	15	me? b i n d ( ) . N i l (me)
	16	+ me? isNil (c) . c! true () . Nil (me)
	¦		¥
		Fig. 11. Persistent queueing list
	§		¤
	1 module ' d e g r a d a b l e queueing l i s t '
	2 import
	3	P l i s t ( Node , N i l ) from ' p e r s i s t e n t queueing l i s t '
	4 e x p o r t
	5

extends P l i s t . Node by k i l l /0 6 N i l extends P l i s t . N i l by k i l l /0 7 d e f i n e 8

Node bound (me , next , v a l ) extended by me? k i l l ( ) . 0 9 N i l (me) extended by me? k i l l ( ) . 0 ¦ ¥

  ensues once both Rnap and Promoter are open. As a result of a startTranscript call, Promoter open spawns a RBS as first chunk of the transcript, and returns its growing end rna to Rnap open. The transition to Promoter free is caused by Rnap open's following call to getNext, inherited from Node. §

			¤
	1 module 'DNA'
	2 channel
	3	r n a p with b i n d /1
	4 import
	5	L i s t ( Node , N i l ) from ' p e r s i s t e n t queueing l i s t '
	6	Mrna ( Node , T e r m i n a t o r , RBS) from 'mRNA'
	7 e x p o r t
	8	Promoter extends L i s t . Node by u n b i n d /0 ,
	9	i n i t i a t e /0 , s t a r t T r a n s c r i p t /1
	10	N u c l e o t i d e extends L i s t . Node by isTerm /1 , e l o n g a t e /2
	11	T e r m i n a t o r extends L i s t . Node by isTerm /1 , e l o n g a t e /1
	12 d e f i n e
	13	Promoter (me , n e x t )	P r o m o t e r f r e e (me , n e x t )
	14	P r o m o t e r f r e e (me , n e x t ) extended by
	15	r n a p ? b i n d ( c ) . c ! me . P r o m o t e r c l o s e d (me , n e x t )
	16	P r o m o t e r c l o s e d (me , n e x t )
	17	me? u n b i n d ( ) . P r o m o t e r f r e e (me , n e x t )
	18	+ me? i n i t i a t e () . Promoter o p e n (me , n e x t )
	19	P r o m o t e r o p e n (me , n e x t ) extended L i s t . Node by
	20	me? s t a r t T r a n s c r i p t ( c ) .
	21	new him ( ρ

rbs ) . new r n a (ρrna ) . c ! rna .

Table 7 .

 7 Examples of ρ definitions, which fix rates of functions calls over channels.

	name	ρname(function)	quantifies
	rnap	ρrnap(bind)=0.1	Rnap access to promoters over global channel
	ribosome	ρ ribosome (bind)=1	. . . ribosome to mRna
	degradosome ρ degradosome (bind)=0.1. . . degradosome to mRna
	prom	ρprom(initiate)=0.1	interaction with individual Promoter
		ρprom(unbind)=0.1
	dna	ρ dna (getNext)=30	interaction with individual Nucleotide and Termina-
			tor of Dna
	rbs	ρ rbs (init)=0.5	interaction with a RBS
		ρ rbs (unbind)=2.25
	rna	ρrna(getNext) = 100 interaction with mRna Nucleotide and Terminator
	protein	ρprotein(kill)=0.002	protein degradation

Table 2 .

 2 ). If alternatively a Ribosome binds over the global channel ribosome, it causes a switch from RBS free to RBS bound. Similarly to the unstable intermediate on promoters, two interactions unbind and initiate become possible, reflecting equations (2.8) and (2.9) in Their quantitative behaviour is fixed by the ρ function associated with the RBS's me channel. §

	¤

For completeness we sketch principles of regulation, which we do not cover in this work. In a previous case study[START_REF] Kuttler | Gene regulation in the pi calculus: Simulating cooperativity at the lambda switch[END_REF] we elaborated on two well characterized bacterial promoters in the stochastic π-calculus[START_REF] Priami | Application of a stochastic name-passing calculus to representation and simulation of molecular processes[END_REF].

In modeling practice, global parameters are quite useful, but not essential. They correspond to free variables in definitions that are introduced by the reduction context, while fixing their stochastic rates.

When emulating a function call in the π-calculus, we pass a fresh private channel on which the result comes back[START_REF] Milner | Computer Systems: Theory, Technology, and Applications. A tribute to Roger Needham, chapter What's in a name?[END_REF], see the Walker's c1 and c2.

The inverse of its mean, in units of seconds.

Note that Promoter free is not subsumed by our object definition. We obtain it by extension of Node, using not its me channel but the global rnap. While individual objects are addressable over their me, interactions with (some arbitrary) Promoter free are nondeterministically initiated over rnap, on which all such processes listen. This resembles distributed objects[START_REF] Ravara | Typing non-uniform concurrent objects[END_REF] in TyCO[START_REF] Paulino | A multi-threaded asynchronous language[END_REF]

, 68], which share a common input channel.

This suggests to make our import statement for modules parametric. The idea would be to import a specific protein into the module 'mRNA', rather than the generic 'favorite protein', with its specific ρ protein .

Acknowledgments The author acknowledges insightful discussions with Denys Duchier, Cédric Lhoussaine, Joachim Niehren, and Bernard Vandenbunder. Many thanks also to David Ardell and Michael Baldamus for their feed-back during a research visit to the Linnaeus Centre for Bioinformatics in Uppsala, where part of this work was carried out (European Commission grant HPRI-CT-2001-00153). The author was funded by a PhD grant from the Conseil Régional Nord-Pas de Calais.