The Biochemical Abstract Machine BIOCHAM 4
version 4.6.26 June 2024
Overview
The Biochemical Abstract Machine (Biocham) is a modelling
environment for systems biology and synthetic biology, based on the computational theory of Chemical Reaction Networks (CRN).
Biocham is mainly composed of :
- a rule-based language for modeling biochemical processes
with reactions (i.e. CRN, compatible with SBML) and/or influences (compatible with QualSBML),
- a hierarchy of semantics (differential, stochastic, Petri Net, Boolean) to interpret, analyze or synthesize CRNs,
- a temporal logic based language to formalize behaviors of biochemical systems and validate, or synthesize, CRNs with respect to temporal specifications,
- a command line language interfaced with Jupyter for both notebook (i.e. time line view of the commands) and graphical user interface (i.e. static view of the commands) uses.
Biocham is a free software protected by the GNU General Public License
GPL version 2. This is an Open Source license that allows free
usage
of this software. Biocham is implemented in SWI-Prolog (43000 LOC) and interfaced with several third-party software.
Biocham 4 was first released in September 2017.
Biocham 4 is a complete rewriting of Biocham 3 for easier maintenance.
It integrates new features, in particular concerning
-
the synthesis of CRN implementing a mathematical function (either of time or of some input),
- robustness optimisation with respect to behavior specification in quantitative temporal logic,
- influence systems combined with CRNs.
.
For the sake of reproducible research, Biocham 3 is still active on http://lifeware.inria.fr/biocham3 but no longer maintained. Biocham 0 was first released in 2002.
Feedback on the use of Biocham in applications, research or teaching
are particularly welcomed on biocham@inria.fr
Demonstrations
Documentation
Unique features
Biocham implements some unique features for:
-
synthesizing reaction systems from mathematical specification of an input/output or time function [FLBP17cmsb][HFS20cmsb][HFS21cmsb]
-
infering reaction systems from ODEs [FGS15tcs] (used in Mocassin for importing Matlab models in SBML),
-
combining reaction and influence systems [FMRS18tcbb] and interpreting them in a hierarchy of continuous, stochastic, discrete and Boolean semantics related by abstraction [FS08tcs],
-
detecting model reductions between reaction models and in model repositories such as biomodels [FS10bi] , based on reaction graph structures (concept of subgraph epimorphisms [GFMSS14dam]).
-
checking necessary conditions for multistationarity in reaction systems [BFS18jtb],
or sufficient conditions for rate independence [DFS20cmsbcmsb].
-
checking or enumerating temporal properties of the (asynchronous non-deterministic) Boolean dynamics in Computation Tree Logic (CTL) using a symbolic model-checker [CF03cmsb],
-
reducing reaction systems with a CTL specification of their behavior [CCFS06tcsb],
-
analyzing numerical traces in First-Order Linear Time Logic with constraints over the reals, FO-LTL(Rlin) [FT14book],
-
measuring the satisfaction, sensitivity and robustness of FO-LTL(Rlin) properties w.r.t. parameter distributions in differential or stochastic models [RBFS11tcs] [RBFS09bi] [FR08tcs],
-
optimizing model parameters for satisfying FO-LTL(Rlin) constraints including robustness constraints [FS18cmsb],
-
solving tropical equilibration problems for reasoning about orders of magnitudes in quantitative models [SFR14amb],
-
synthesizing reaction systems for executing imperative programs or computing real functions presented as solutions of polynomial initial value problems (PIVPs) [FLBP17cmsb],
Online access to notebook - Docker image download - Installation from source files
Feedback and bug reports:
https://gitlab.inria.fr/lifeware/biocham/issues or mail to biocham@inria.fr