Skip to content

Franck-Delaplace/BooN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BooN

The BooN project provides a complete set of functionalities for Boolean Network (BooN) analysis. It was originally designed to explore the modeling of genetic networks by Boolean networks. The documentation related to the functions can be found here: https://franck-delaplace.github.io/BooN/. The project includes:

  • the definition of a Boolean network with the possibility to load and save it;
  • the computation of the model of dynamics with respect to a mode policy;
  • the definition of the interaction graph including a modular decomposition of the interaction;
  • the computation of equilibria based on dynamics model;
  • the efficient symbolic computation of stable states based on SAT solver;
  • the controllability analysis predicting which variables must be frozen to reach the expected goal at stable states based on possibility and necessity query;
  • also different basic functionalities are included as: update formula and importing/exporting to a text file the Boolean network.

BooN functionalities

The BooN project comprises 3 modules:

  • boon module is related to the manipulation of Boolean network named BooN which is an object.
  • logic module includes basic functions on propositional formula, as well as more advanced features like fast CNF conversion for large formulas, CNF conversion using Tseitin's method, and prime implicant calculation. These functions are used in the BooN modules.
  • The boonify module is the graphical interface manipulating BooN: computation of dynamical model for synchronous and asynchronous mode, the computation ot the stable states, and the controllability analysis. For exploring BooN interactively run boonify.py

example.py illustrates the different functionalities of BooN.

Real case study

A real case study on breast cancer is available. breast-cancer-study.py is a python program defining all the steps of the analysis using boon.py library. This example aims to identify the causes of breast cancer and to predict the therapeutic targets. breast-cancer.boon contains the Boolean network related to breast cancer study that can be used interactively with boonify.py. The analysis is decomposed in two phases: first, we will consider the prediction of mutations causing breast cancer, and then the prediction of therapeutic actions by cancer type in order to cure BRCA1 cancer. In this section, we will detail the operations to apply with boonify.py in order to achieve these predictions. Following and testing this scenario will contribute to a deeper understanding of the potentiality of BooN for regulatory network analysis and its philosophy.

Start the analysis

  • first open breast-cancer.boon file. The model depicts a regulatory network in normal cell conditions.
  • Compute the stable stables. Two possible stable states are shown which respectively correspond to the apoptosis and the cellular division initiation. Recall that each stable state is presumably associated to a characteristic phenotype.

Predicting mutations causing breast cancer

  • A cancerous situation corresponds here to a particular hallmark of cancer which is the loss of apoptosis. Cell division thus becomes the only phenotype describing the development of metastases.
  • The biomarkers are CyC1 and Bax. When CycD1=False, Bax=True at stable state, such situation corresponds to apoptosis. By contrast, when CycD1=True, Bax=False the stable state represents the cell division. Please check these bio-marking at stable states for the initial normal cell condition.
  • The onset of cancer is thus linked to the inhibition of apoptosis, which is indicated by the absence of its respective marking at stable state, namely:CycD1=False, Bax=True.
  • To describe cancerous conditions, open the Controllability window and set Cyc1 to False and Bax to True in the Destiny sheet.
  • Then, select [Avoid] and [Necessity]. The programmed query is thus: 'There is never a stable state where Cyc1=False, Bax=True.'
  • Execute this query. 3469 Models are produced and 9 solutions are found. Note that a large number of models may require significant computational time.
  • The mutations required to trigger breast cancer are described by the solutions. Please check the validity of these predictions in literature. Some corresponds to a single mutation (Solution 1 to

Predicting therapeutic actions

  • Among the solutions describing mutation causing cancer, we do focus on BRCA1 mutation. Hence, select BRCA1=False (Solution 4) and apply it. Normally, the Controllability window closes.
  • You can check that the modification is applied by opening the BooN View window, and you can also verify that the stable states have changed. Cyc1=False,Bax=True has disappeared.
  • Now, we examine the conditions for curing BRCA1-cancer. Open the Controllability window again.
  • The therapeutic actions thus must recover the apoptosis.
  • Again, fix Cyc1 to False and Bax to True.
  • Moreover, open the observer sheet and also check BRCA1 for excluding it to the potential targets since the mutation definitively freezes its state.
  • Select [Reach] and [Possibility]. The programmed query is thus: 'There exists a stable state having Cyc1=False, Bax=True'.
  • Execute this query. Notice that the Possibility is always far faster then the necessity. Three solutions are available. Please check their validity in literature.
  • Note that among the solutions, the controllability discover that inhibiting PARP1 is a potential therapeutic target. Actually, PARP1 is the lethal partner of BRCA1 enabling targeted cancerous therapy, and the lethal partners are hard to discover.

BooN installation

Go in the directory of BooN and type:
  • pip install .
  • or, python -m pip install .

To cite this work

If you wish to cite this work, please use the following citation:
Causal Reasoning on Boolean Control Networks Based on Abduction: Theory and Application to Cancer Drug Discovery
Celia Biane, Franck Delaplace
IEEE/ACM Trans Computer Biology & Bioinformatics . 2019 Sep-Oct;16(5):1574-1585.
PMID: 30582550 - DOI: 10.1109/TCBB.2018.2889102