Section: Software

BIOCHAM, biochemical abstract machine

Participants : François Fages, Steven Gay, Sylvain Soliman.

The Biochemical Abstract Machine BIOCHAM [18] is a modeling environment for systems biology distributed as open-source since 2003. Current version is v3.4, released in October. BIOCHAM uses a compositional rule-based language for modeling biochemical systems, allowing patterns for expressing set of rules in a compact form. This rule-based language is compatible with the Systems Biology Markup Language (SBML ) and is interpreted with three semantics correspnding to three abstraction levels:

  1. the boolean semantics (presence or absence of molecules),

  2. the stochastic semantics (discrete numbers of molecules),

  3. the differential semantics (concentrations of molecules).

Based on this formal framework, BIOCHAM features:

  • Boolean and numerical simulators (Rosenbrock's method for the differential semantics, Gillespie's algorithm with tau lipping for the stochastic semantics);

  • a temporal logic language (CTL for qualitative models and LTL(R lin ) with numerical constraints for quantitative models) for formalizing biological properties such as reachability, checkpoints, oscillations or stability, and checking them automatically with model-checking techniques;

  • automatic search procedures to infer parameter values, initial conditions and even reaction rules from temporal logic properties;

  • automatic detection of invariants, through constraint-based analysis of the underlying Petri net;

  • an SBGN-compatible reaction graph editor;

  • an event handler allowing the encoding of hybrid models and formalisms.

BIOCHAM is implemented in GNU-Prolog and interfaced to the symbolic model checker NuSMV and to the continuous optimization tool CMAES developed by the EPI TAO.