What's new? | Help | Directory | Sign in
Google
booleannet
Boolean Network Modeling
  
  
  
  
    
Code License: MIT License
Labels: boolean, simulation, modeling
Show all Featured Wiki Pages:
BooleanAPI
Join project
Project owners:
  istvan.albert
Project members:
reka.albert

Boolean Network Modeling

The goal of this software package is to provide intuitive and accessible tools for simulating biological regulatory networks in a boolean formalism. Using this simulator biologist and bioinformaticians can specify their system in a simple textual language then explore various dynamic behaviors via a web interface or an application programming interface (API) each designed to facilitate scientific discovery, data collection and reporting.

The software is primarly distributed as Python source code and requires that Python 2.4 (or later) be installed on the target computer.

Introduction

When trying to understand the role and functioning of a regulatory network, the first step is to assemble the components of the network and the interactions between them. The experimental advances in the large scale mapping of regulatory networks are fairly recent, but modeling efforts date back to the end of 1960s thanks to the pioneering work of Stuart Kauffman and Rene Thomas.

In a Boolean representation we assume that nodes are equivalent, and their interactions form a directed graph in which each node receives inputs from its neighbors (nodes that are connected to it). The state of nodes is described by binary (ON/OFF) variables, and the dynamic behavior of each variable, that is, whether it will be ON or OFF at next moment, is governed by a Boolean function. In general, a Boolean or logical function is written as a statement acting on the inputs using the logical operators and, or and not and its output is ON(OFF) if the statement is true (false).

In this software package, we implement two advanced methodologies which combine discrete logical rules with more realistic assumptions regarding the relative timescales of the processes. The first method introduces asynchronous updates where update times may be randomly chosen thus making the model stochastic. The second method associates a set of continuous variables (concentrations, decay rates and thresholds) to each discrete variable in the system. The dynamics of these continuous variables is determined by a linear system of piecewise differential equations, leading to a hybrid model in the manner first suggested by Leon Glass and collaborators.

Note: to run the examples you'll need to have matplotlib installed.

Examples

Here are a few example plots obtained while using Boolean Net to simulate:

These and other examples can be found in the examples directory of the distribution

Credits

The library has been conceived and programmed by István Albert using previous work, ideas and contributions from Song Li, Juilee Thakar and Ranran Zhang. None of us would be thinking about Boolean Networks if it weren't for Réka Albert.

Our software relies on the following third party libraries that are distributed with the software:

The following library must be also installed if the engine will be used in plde mode (piece-wise linear differential equations):