BlenX is a programming language designed to model and simulate biological systems. The BlenX programming language was introduced in 2008 by Lorenzo Dematté, Corrado Priami and Allessandro Romanel at the University of Trento Centre for Computational and Systems Biology (CoSBi). BlenX is a stochastic process algebra-based language and in addition to modeling and simulating biological systems, it can be used for other complex dynamic systems. The Beta Workbench is a set of tools used to design, simulate and analyse models written in BlenX which is freely available.
Using the BlenX system, the modeler is able to create boxes that represent interacting biological entities such as proteins or genes. In the below example, a box is an abstraction of a protein where active sites or domains of a protein are represented as binders on the box interface.
Boxes have an internal program or internal behavior that describes their behavior and a set of typed interfaces that describe their interaction capabilities. Binders is the term given to the interaction sites on boxes. The behavior of the biological system is driven by the set of binders and the internal program of the box and is given by an ordered sequence of actions and reactions that the program can perform. This leads to the biochemical interactions between elements. For example, actions can occur when binders “sense” signals or receive an input and when they propagate signals or send out output. The internal structure codifies for the mechanism that transforms an input signal into a change of the box. Changes in the box may be activation (unhide or expose), deactivation (hide) or change the type of binder. Boxes, as biological entities, can be born when a new box is synthesized or die when a box is deleted. Certain conditions lead to join or split events that merge or split boxes. Through the boxes’ binders they can form complexes and dissociate depending on the overall system state.
That BlenX can model reactions between components simply by listing their affinity and without the need to program all possible interactions is considered a key innovation. The BlenX framework uses a bottom-up approach, allowing the user to build systems by fixing each reaction of the network and also gives the opportunity to handle abstractions such as a top-down approach. After the system is specified, the BlenX program is executed with the Gillespie SSA algorithm. In the system the occurring reactions are defined by rate dependent functions that are crucial for the reaction propensities of the stochastic model. Rate functions are associated to actions and events of boxes and are determined by the mass action kinetic law.
BlenX4Bio is a high-level interface for the programming language BlenX that allows biologists to write BlenX programs without having programming skills. The main elements of a biological model are specified by filling out tables which include descriptions of static and dynamic aspects of the biological system. These are automatically mapped to BlenX programs for simulation and analysis within CoSBiLab software.