BioAmbient Machine (BAM)

Category Cross-Omics>Agent-Based Modeling/Simulation/Tools and Cross-Omics>Pathway Analysis/Gene Regulatory Networks/Tools

Abstract BAM is a tool for representing and ‘stochastically simulating’ complex biological systems with mobile compartments.

BAM implements a stochastic version of the BioAmbient calculus and helps in understanding and reasoning about the multiple interconnections between components in bio-regulatory networks.

Modeling membrane interactions can be a step towards producing more accurate models of biological networks. The BioAmbient calculus was developed for the purpose of ‘modeling membrane’ interactions.

Simulation tools are often necessary in Systems Biology when trying to understand very large models, since analysis by hand of such models is often unfeasible.

The BioAmbient Machine (BAM) essentially implements a superset language of the ‘Stochastic Ambient Calculus’, making it viable for simulation of large ‘distributed mobile’ systems.

BAM Tool overview --

The core functionality of the tool is to simulate the behavior of the stochastic BioAmbients according to the Gillespie algorithm.

The tool automatically produces both a simulation graph and a debugging trace of the program, which is a sequence of triples consisting of the following:

1) A real number that represents the time at which an ‘action happens’;

2) The ‘name of the action’ that has been selected; and

3) The residual term.

The facility of a Graphical User Interface (GUI) interface is provided, where an editor allows the user to easily edit BioAmbient programs and to perform standard Input/Output (I/O) facilities, including loading and saving programs stored in files.

Compilation is executed using the GUI interface by pressing the ‘Compile’ button.

In the absence of ‘syntactic mistakes’, the program is ‘simulated’ by clicking on the ‘Play’ button, while the ‘Chart’ button displays a graph of the simulation.

The graph depicts the variation ‘over time’ of the population of the species chosen to be monitored.

Only prefixes (enter! n, local n! (m)...) and ambients can be plotted in the graph.

For example in the following process P = a []|M.a [] the manufacturer counts only one occurrence of the ambient ‘a’, since the one occurring after the guard M is Not currently being executed and is therefore ignored.

Note that the use of ‘ambient names’ in the manufacturer's syntax is required in order to plot an ambient.

The algorithm for counting occurrences in a process is defined inductively on the syntax of BioAmbients. The simulation in BAM continues until No more transitions are possible, or until the user pauses or stops the simulation.

A paused simulation can be resumed at a later stage. The simulation graph can be easily manipulated in the GUI interface, e.g. it can be enlarged or reduced for customized viewing of the simulation results.

The main motivation for developing BAM was to produce a ‘BioAmbient simulation’ tool that is more accessible to users.

BAM features a graphical user interface (GUI) for entering ‘program code’ and ‘visualizing simulation’ results.

BAM architecture --

The architecture of the tool is composed of the GUI interface that feeds into a parser, which translates the syntax of BioAmbients into machine terms.

Terms are built as lists and consist of a list of actions M1, . . . , Mn, together with a list of ambients, where each ambient can contain a nested term, recursively.

The reduction relation is therefore implemented as operators on these lists.

Additional data structures are used to count different types of ‘interactions’ on different channels, and the generation of ‘new names’ is handled using a top-level renaming function applied to the lists.

‘Structural congruence’ is essentially implemented as a reordering of lists. At each step in the simulation a term is selected to be reduced according to rules, based on the Gillespie algorithm.

This algorithm is performed on a ‘machine term’ by first choosing an ambient with probability ‘proportional’ to the total rate of all the reactions inside the ambient, and then choosing a ‘local reaction’ inside this ambient with probability proportional to the rate of the reaction.

BAM has been devised to ‘simulate large models’ of biological systems with mobile compartments. This is the main motivation for choosing a ‘simulation algorithm’ as opposed to other analysis methods such as steady state probability.

In the manufacturer's simulations the ‘state space’ and reactions do Not need to be constructed beforehand, allowing the manufacturer to effectively deal with models that have a large number of states and reactions.

For future work the manufacturer's aim to further improve the user interface by allowing a graphical representation of their code to be input by the user for simulation.

System Requirements

BAM is implemented in Java (BAM is written in Java 1.5) and requires only the Java run-time to install and run.


Manufacturer Web Site BioAmbient Machine (BAM)

Price Contact manufacturer.

G6G Abstract Number 20604

G6G Manufacturer Number 104204