CABEAN is a software tool for the control of asynchronous Boolean networks, which are often used to model gene regulatory networks.

CABEAN provides the following methods for the efficient control of asynchronous Boolean networks:

- the minimal one-step instantaneous source-target control (OI) [BCB18, TCBB19];
- the minimal one-step temporary source-target control (OT)[FM19];
- the minimal one-step permanent source-target control (OP)[FM19];
- the attractor-based sequential instantaneous source-target control (ASI)[CMSB19];
- the attractor-based sequential temporary source-target control (AST)[arxiv20];
- the attractor-based sequential permanent source-target control (ASP)[arxiv20].

In this quick guide, we introduce the basic usages of CABEAN, including the syntax of the model file and how to compute the minimal control with and without practical constraints. For detailed introduction of CABEAN, please download the user guide.

Nodes | Functions | Indices of attractors | Attractors |
---|---|---|---|

x_{1} |
f_{1}= x_{2} |
A_{1} |
001100 |

x_{2} | f_{2}= x_{1} | A_{2} | 001111 |

x_{3} | f_{3}= (~x_{2}) ∨ x_{4}
| A_{3} | 110000 |

x_{4} | f_{4}= x_{3} | A_{4} | 110010 |

x_{5} |
f_{5}= (x_{1} ∨ x_{6}) ∧ x_{5}
| A_{5} | 111100 |

x_{6} | f_{6}=x_{4} ∧ x_{5} | A_{6} | 111111 |

The first two columns of Table 1 describe a Boolean network with six nodes, including x

Agent M Vars: x1: boolean; x2: boolean; x3: boolean; x4: boolean; x5: boolean; x6: boolean; end Vars Actions = {none}; Protocol: Other: {none}; end Protocol Evolution: x1=true if x2=true; x1=false if x2=false; x2=true if x1=true; x2=false if x1=false; x3=true if (~x2)|x4=true; x3=false if (~x2)|x4=false; x4=true if x3=true; x4=false if x3=false; x5=true if (x1|x6)&x5=true; x5=false if (x1|x6)&x5=false; x6=true if x4&x5=true; x6=false if x4&x5=false; end Evolution end Agent InitStates M.x1=true or M.x1=false; end InitStates

As shown in Table 1, this network has six attractors. Users can use the provided functions to compute the minimal control for one pair of source and target attractors or for all combinations of source and target attractors.

The minimal control from the source attractor to the target attractor can be computed using the following command line:

./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control <control method> -sin <indice of the source> -tin <indice of the target> <model file>

In the command line,
options '-steadystates -asynbn -newtarjan -newpred' are mandatory;
'-compositional 2' implies that the strong basin and weak basins of attractors are computed using the decomposition-based fixpoint computation methods [BCB18, TCBB19];
'-control <control method>' indicates the control method (OI, OT, OP, ASI, AST or ASP) to be applied;
'-sin <indice of the source> -tin <indice of the target>' indicates the indices of the source and target attractors;
'<model file>' is the name of the model file and it is always placed at the end of the command line.
CABEAN first identifies all the exact attractors of the network and then compute the minimal control for the specified source and target attractors.
For instance, to compute the minimal OT control from A_{6} to A_{1}, we use the folloing command line:

./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control OT -sin 6 -tin 1 example.ispl

The results are shown below.
We can see that CABEAN identified six attractors (in lexicographic order) and eight minimal OT control sets.
For this case, the minimal OT control requires at least two perturbations.
Command line: ./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control OT -sin 6 -tin 1 example.ispl ======================== find attractor #1 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-0-0- 1 ======================== find attractor #2 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-1-1- 1 ======================== find attractor #3 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-0-0- 1 ======================== find attractor #4 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-1-0- 1 ======================== find attractor #5 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-0-0- 1 ======================== find attractor #6 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-1-1- 1 number of attractors = 6 time for attractor detection=0.001 seconds ====== ONE-STEP TEMPORARY SOURCE-TARGET CONTROL (DECOMP) ====== source - 6 target - 1 PATH 1 - #perturbations: 2 Control set: x2=0 x6=0 PATH 2 - #perturbations: 2 Control set: x2=0 x5=0 PATH 3 - #perturbations: 2 Control set: x2=0 x4=0 PATH 4 - #perturbations: 2 Control set: x2=0 x3=0 PATH 5 - #perturbations: 2 Control set: x1=0 x6=0 PATH 6 - #perturbations: 2 Control set: x1=0 x5=0 PATH 7 - #perturbations: 2 Control set: x1=0 x4=0 PATH 8 - #perturbations: 2 Control set: x1=0 x3=0 execution time for control = 0.003 seconds

- R0: the nodes that can not be perturbed from 0 to 1;
- R1: the nodes that can not be perturbed from 1 to 0;
- R: the nodes that can not be perturbed in either way.

R0: R1: x5 R: x4, x6

To compute the minimal OT control from A

./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control OT -sin 6 -tin 1 -rmPert rmPert.txt example.ispl

The output of CABEAN is given below. We can see that the minimal OT control still requires at least two perturbations and there are two solutions without undesired perturbations.
Command line: ./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control OT -sin 6 -tin 1 -rmPert rmPert.txt example.ispl ======================== find attractor #1 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-0-0- 1 ======================== find attractor #2 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-1-1- 1 ======================== find attractor #3 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-0-0- 1 ======================== find attractor #4 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-1-0- 1 ======================== find attractor #5 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-0-0- 1 ======================== find attractor #6 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-1-1- 1 number of attractors = 6 time for attractor detection=0.002 seconds ====== ONE-STEP TEMPORARY SOURCE-TARGET CONTROL (DECOMP) ====== source - 6 target - 1 PATH 1 - #perturbations: 2 Control set: x2=0 x3=0 PATH 2 - #perturbations: 2 Control set: x1=0 x3=0 execution time for control = 0.001 seconds

./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control OT -allpairs example.ispl

The results can be downloaded here (example-OT-allpairs.txt).
2,5

Command line: ./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control ASI -sin 6 -tin 1 example.ispl ======================== find attractor #1 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-0-0- 1 ======================== find attractor #2 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-1-1- 1 ======================== find attractor #3 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-0-0- 1 ======================== find attractor #4 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-1-0- 1 ======================== find attractor #5 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-0-0- 1 ======================== find attractor #6 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-1-1- 1 number of attractors = 6 time for attractor detection=0.002 seconds ========= ATTRACTOR-BASED SEQUENTIAL INSTANTANEOUS SOURCE-TARGET CONTROL (DECOMP) ========= source - 6 target - 1 PATH 1 - #perturbations: 3 Sequence of the attractors: 6 -> 1 STEP 1 Control set 1: x1=0 x2=0 x5=0 PATH 2 - #perturbations: 3 Sequence of the attractors: 6 -> 2 -> 1 STEP 1 Control set 1: x1=0 x2=0 STEP 2 Control set 1: x5=0 PATH 3 - #perturbations: 3 Sequence of the attractors: 6 -> 5 -> 1 STEP 1 Control set 1: x5=0 STEP 2 Control set 1: x1=0 x2=0 execution time of control=0.004 seconds

Now, we add constraints on the intermediate attractors by inserting '-rmID rmID.txt' to the command line and the output is given below. The two sequential paths passing though the undesired attractors are eliminated from the results.

Command line: ./cabean -steadystates -asynbn -newtarjan -newpred -compositional 2 -control ASI -sin 6 -tin 1 -rmID rmID.txt example.ispl ======================== find attractor #1 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-0-0- 1 ======================== find attractor #2 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 0-0-1-1-1-1- 1 ======================== find attractor #3 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-0-0- 1 ======================== find attractor #4 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-0-0-1-0- 1 ======================== find attractor #5 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-0-0- 1 ======================== find attractor #6 : 1 states ======================== : 7 nodes 1 leaves 1 minterms 1-1-1-1-1-1- 1 number of attractors = 6 time for attractor detection=0.001 seconds ========= ATTRACTOR-BASED SEQUENTIAL INSTANTANEOUS SOURCE-TARGET CONTROL (DECOMP) ========= IDs of undesired attractors 2 5 source - 6 target - 1 PATH 1 - #perturbations: 3 Sequence of the attractors: 6 -> 1 STEP 1 Control set 1: x1=0 x2=0 x5=0 execution time of control=0.002 seconds

1. Platform: x86 compatible 32 bit or 64 bit processor;

2. Operating system: Windows, Linux and Mac OSX (10.4 and above);

3. Required compilers: flex 2.6.4 or higher, GNU bison 3.0.4 or higher, GNU g++ 4.0.1 or higher, and Windows subsystem for Linux (Windows platform only).

- [BCB18] Paul, S., Su, C., Pang, J., and Mizera, A. (2018). A decomposition-based approach towards the control of Boolean networks. In Proc. 9th ACM Conference on Bioinformatics, Computational Biology, and Health Informatics, pages 11–20. ACM Press.
- [TCBB19] Paul, S., Su, C., Pang, J., and Mizera, A. (2019). An efficient approach towards the source-target control of Boolean networks. IEEE/ACM Transactions on Computational Biology and Bioinformatics. accepted.
- [FM19] Su, C., Paul, S., and Pang, J. (2019). Controlling large Boolean networks with temporary and permanent perturbations. In Proc. 23rd International Symposium on Formal Methods, volume 11800 of LNCS, pages 707–724. Springer-Verlag.
- [CMSB19] Mandon, H., Su, C., Haar, S., Pang, J., and Paulevé, L. (2019b). Sequential reprogramming of Boolean networks made practical. In Proc. 17th International Conference on Computational Methods in Systems Biology, volume 11773 of LNCS, pages 3–19. Springer.
- [arxiv20] Su, C. and Pang, J. (2020). Sequential control of Boolean networks with temporary and permanent perturbations. ArXiv e-prints. https://arxiv.org/abs/2004.07184.