Bio-PEPA at a glance

Bio-PEPA is a language for the modelling and the analysis of biochemical networks.

It is based on PEPA, a process algebra originally defined for the performance analysis of computer systems, and extends it in order to handle some features of biochemical networks, such as stoichiometry and different kinds of kinetic laws. A main feature of Bio-PEPA is the possibility to support different kinds of analysis, from stochastic simulation to analysis based on ordinary differential equations (ODEs), to model checking in PRISM.

You can find a detailed description of the language in the following paper:

Bio-PEPA: a Framework for the Modelling and Analysis of Biochemical Networks.
F. Ciocchetta and J. Hillston.
To appear in Theoretical Computer Science.
Preliminary version.

Main features

The main features of Bio-PEPA are:
  • it offers a formal abstraction of biochemical networks such as signalling, metabolic or genetic pathways. These networks are composed of a set of biochemical species, such as genes or proteins, that interact each other through some reactions.

  • It supports general kinds of kinetic laws and expresses them by means of functional rates.

  • It supports the definition of stoichiometry and the information about the role of the species (reactant, product, enzyme, ...) with respect to a given reaction.

  • It is defined in terms of a syntax and a (structural operational) semantics. There are species components, to represent biochemical species, and model components, to express how species components cooperate with each other. The model component contains the initial/current concentration of each species. In addition to these components, a Bio-PEPA system is composed of (the set of) compartments, (the set of) functional rates, (the set of) constant parameters and auxiliary information for the analysis. For details see here.

  • A stochastic labelled transition system can be derived from the Bio-PEPA system. Differently from other process algebras, each (species) component is associated with a discrete level of concentration. We assume a finite maximum concentration and, given a concentration step size H, we obtain a number of concentration levels for the species. The step size is assumed equal for all the species in a given compartment and represents the granularity of the system. The smaller H is, the finer the granularity. For details see here.

  • The view in terms of levels is reflected to the CTMC derived from the stochastic labelled transition system. We call these Markov Chains CTMC with levels. For details see here.

  • A Bio-PEPA system is a formal, intermediate and compositional representation of biochemical systems, on which different kinds of analysis can be carried out. The idea underlining Bio-PEPA is represented in the following schema:

    Each of these kinds of analysis can be of help for studying different aspects of the biological model. Moreover, they can be used in conjunction in order to have a better understanding of the system.

An illustrative example

In order to see how we can model a biochemical network into Bio-PEPA, we consider a simple genetic network with a negative feedback through dimers. This is from the paper Fluctuations and Slow Variables in Genetic Networks, by Bundschuh and co-authors.

The model is composed of three biological species:

  • the mRNA molecule (M),
  • the protein in monomer form (P),
  • the protein in dimeric form (P2).

These species are involved in five interactions:

  • the transcription of the mRNA from the genes/DNA, with the inhibition by means of P2 (transcription),
  • the translation of the protein P from M (translation),
  • the degradation of M (degradation_M),
  • the degradation of P (degradation_P),
  • the dimerization of P (dimerization),
  • the inverse process of dimerization (dimerization_inv).


The species of the network are represented by the following species components in Bio-PEPA:

M  = (transcription,1) >> M + (translation,1) << M + (degradation_M,1) << M;
P  = (translation,1) >> P + (degradation_P,1) << P + (dimerization,2) << P +
    (dimerization_inv,2) >> P;
P2 = (transcription,1) (-) P2 + (dimerization,1) >> P2 + (dimerization_inv,1) << P;

The model component of the Bio-PEPA system corresponding to the network above is:

(M(0) <translation > P(0) <dimerization, dimerization_inv > P2(0))

The mapping is based on the following abstraction:

  • Each reactions is represented by an action type;

  • Each species is represented by a species component. Each sub-term represents one of the reactions in which the species is involved. For each of sub-term we consider the stoichiometric coefficient and represent the role of the species with respect to that reaction using a specific symbol: >> stands for product, << for reactant, (+) for enzyme and (-) for inhibitor. Note that these symbols are the ones used in the syntax of the Bio-PEPA workbench, in Bio-PEPA the notation used is ↓ for <<, ↑ for >> ⊕ for (+) and ⊖ for (-). Consider the protein P in the definitions above. It is involved in four reactions with different roles and stoichiometry: in the the translation P is a product and has stoichiometry one, in the degradation it is a reactant and has stoichiometry one, in the dimerization it is a reactant and has stoichiometry two and finally in the inverse of dimerization it is a product and has stoichiometry two.

  • The model component describes which species are involved in the network and their initial quantity (in the example above the initial quantity of each species is set to zero).

In addition to these elements, there is the definition of the functional rates, expressing the kinetic laws associated with each reaction, and the definition of parameter constants:

f_transcription = (v • D)/(KM + P2);   f_translation = k2 • M;  
f_degradation_M = k3 • M;   f_degradation_P = k4 • P;  
f_dimerization = k5 • P • P;   f_monomerization = k5i • P2;

KM = 356 molecules;   v = 2.19 s-1;   k2 = 0.043 s-1;   k3 = 0.039 s-1;  
k4 = 0.0007 s-1;   k5 = 0.025 s-1;   k5i = 0.5 s-1;

Note that all the kinetic laws are of kind mass-action with the exception of the first, that expresses inhibition.

Finally, we have the definition of the compartment where the species are and some information avout levels, step size, use in the analysis.

For details about the model see the reference paper.


Recently, some extensions of Bio-PEPA have been defined in order to represent some specific features of some biochemical networks. Specifically, we have:
  • Bio-PEPA with SBML-events. This extension has been defined in order to handle events, constructs that represent changes in the system due to some trigger conditions. This allows us to represent the possible change to the system, due, for instance, to the introduction of some reagents or the interruption of some external stimuli. The language is mapped to Hybrid Automata (HA), a formalism that consider both continuous and discrete changes. For details see here.

  • Bio-PEPA with biological compartments. The language is extended with some features in order to represent more details about locations of species and reactions. Locations can represent either compartments or membranes. A hierarchy of location is considered to represent the relation between them and the transition labels are enriched with some information about locations. Compartments have a fixed structure, but their size can depend on time. For details see here.


The Bio-PEPA project has been supported by:

  • the CODA project (Process Algebra Approaches for Collective Dynamics), founded by the EPSRC, reference EP/c54370x/01 and ARF EP/c543696/01

  • the Signal Project (Stochastic process algebra for biochemical signalling pathway analysis), funded by EPSRC, reference EP/E031439/1

  • the Centre for Systems Biology at Edinburgh (CSBE), a Centre for Integrative Systems Biology (CISB) funded by BBSRC and EPSRC, reference BB/D019621/1.