CABEAN

CABEAN: A Software Tool for the Control of Asynchronous Boolean Networks



Case Study: Control of the Myeloid Differentiation Network

Hematopoiesis is the process through which mature blood cells are manufactured. The myeloid differentiation network is constructed to model the differentiation process of common myeloid progenitors (CMPs) into four types of mature blood cells , viz. megakaryocytes, erythrocytes, granulocytes and monocytes [myeloid]. This network consists of 11 transcription factors as shown in Figure 1. We use this network to show how to use CABEAN for the analysis of asynchronous Boolean networks.


Figure 1. The structure of the myeloid differentiation network.

The model file

The model file of the myeloid differentiation network under BoolNet and ISPL format are given in Figure 2 and Figure 3, respectively.

targets, factors
GATA2, GATA2 & (!(GATA1 & FOG1)) & (!PU1)
GATA1, (GATA1 | GATA2 | Fli1) & (!PU1)
FOG1, GATA1
EKLF, GATA1 & (!Fli1)
Fli1, GATA1 & (!EKLF)
SCL, GATA1 & (!PU1)
CEBPA, CEBPA & (!(GATA1 & FOG1 & SCL))
PU1, (CEBPA | PU1) & (!(GATA1 | GATA2))
cJun, PU1 & (!Gfi1)
EgrNab, (PU1 & cJun) & (!Gfi1)
Gfi1, CEBPA & (!EgrNab)

Figure 2. The model file of the myeloid differentiation network under BoolNet format.
Agent M
	Vars:
		GATA2: boolean;
		GATA1: boolean;
		FOG1: boolean;
		EKLF: boolean;
		Fli1: boolean;
		SCL: boolean;
		CEBPA: boolean;
		PU1: boolean;
		cJun: boolean;
		EgrNab: boolean;
		Gfi1: boolean;
	end Vars
	Actions = {none};
	Protocol:
		Other: {none};
	end Protocol
	Evolution:
		GATA2=true if GATA2&(~(GATA1&FOG1))&(~PU1)=true;
		GATA2=false if GATA2&(~(GATA1&FOG1))&(~PU1)=false;
		GATA1=true if (GATA1|GATA2|Fli1)&(~PU1)=true;
		GATA1=false if (GATA1|GATA2|Fli1)&(~PU1)=false;
		FOG1=true if GATA1=true;
		FOG1=false if GATA1=false;
		EKLF=true if GATA1&(~Fli1)=true;
		EKLF=false if GATA1&(~Fli1)=false;
		Fli1=true if GATA1&(~EKLF)=true;
		Fli1=false if GATA1&(~EKLF)=false;
		SCL=true if GATA1&(~PU1)=true;
		SCL=false if GATA1&(~PU1)=false;
		CEBPA=true if CEBPA&(~(GATA1&FOG1&SCL))=true;
		CEBPA=false if CEBPA&(~(GATA1&FOG1&SCL))=false;
		PU1=true if (CEBPA|PU1)&(~(GATA1|GATA2))=true;
		PU1=false if (CEBPA|PU1)&(~(GATA1|GATA2))=false;
		cJun=true if PU1&(~Gfi1)=true;
		cJun=false if PU1&(~Gfi1)=false;
		EgrNab=true if (PU1&cJun)&(~Gfi1)=true;
		EgrNab=false if (PU1&cJun)&(~Gfi1)=false;
		Gfi1=true if CEBPA&(~EgrNab)=true;
		Gfi1=false if CEBPA&(~EgrNab)=false;
	end Evolution
end Agent

InitStates
		M.GATA2=true or M.GATA2=false;
end InitStates

Figure 3. The model file of the myeloid differentiatio network under ISPL format.

Decomposition-based attractor detection

To analyse the myeloid differentiation network, we first compute its attractors using the following command line:

./cabean -compositional 2 myeloid.ispl
The output of CABEAN is given below.

Command line: ./cabean -compositional 2 myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.004 seconds

CABEAN identifies six single-state attractors summarised in Table 1. It has been validated that expressions of four attractors correspond to microarray expression profiles of megakaryocytes (A5), erythrocytes (A6), granulocytes (A3) and monocytes (A4). The attractor A2 with the activation of PU1, cJun and EgrNab might be caused by pathological alterations and the all-zero attractor (A1) is an attractor, where all the nodes have a value of 0.

GATA2 GATA1 FOG1 EKLF Fli1 SCL C/EBPA PU1 cJun EgrNab Gfi1
A1 0 0 0 0 0 0 0 0 0 0 0
A2 0 0 0 0 0 0 0 1 1 1 0
A3 0 0 0 0 0 0 1 1 0 0 1
A4 0 0 0 0 0 0 1 1 1 1 0
A5 0 1 1 0 1 1 0 0 0 0 0
A6 0 1 1 1 0 1 0 0 0 0 0

Table 1. Attractors of the myeloid differentiation network.

Minimal one-step instantaneous control

Let megakaryocytes (A5) and monocytes (A4) be the source and target attractors, respectively. The minimal OI control from A5 to A4 can be computed using the following command line:

./cabean -compositional 2 -control OI -sin 5 -tin 4 myeloid.ispl

The output of CABEAN is given below. CABEAN identifies one OI control that requires five perturbations.

Command line: ./cabean -compositional 2 -control OI -sin 5 -tin 4 myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.003 seconds

====== ONE-STEP INSTANTANEOUS SOURCE-TARGET CONTROL (DECOMP) ======

source - 5 target - 4
PATH 1 - #perturbations: 5
	Control set: GATA1=0 EgrNab=1 CEBPA=1 PU1=1 cJun=1 
execution time of control  = 0.001 seconds

Minimal one-step temporary control

The minimal OT control from A5 to A4 can be computed using the following command line:

./cabean -compositional 2 -control -control OT -sin 5 -tin 4 myeloid.ispl

The output of CABEAN is given below. There are two OT control sets that need three perturbations.

Command line: ./cabean -compositional 2 -control OT -sin 5 -tin 4 myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.003 seconds

====== ONE-STEP TEMPORARY SOURCE-TARGET CONTROL (DECOMP) ======

source - 5 target - 4
PATH 1 - #perturbations: 3
	Control set: EgrNab=1 CEBPA=1 PU1=1 
PATH 2 - #perturbations: 3
	Control set: GATA1=0 EgrNab=1 CEBPA=1 
execution time for control = 0.011 seconds

Minimal one-step permanent control

The minimal OP control from A5 to A4 can be computed using the following command line:

./cabean -compositional 2 -control -control OP -sin 5 -tin 4 myeloid.ispl

The output of CABEAN is given below. The results of OP control are the same with the minimal OT control.

Command line: ./cabean -compositional 2 -control OP -sin 5 -tin 4 myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.005 seconds

====== ONE-STEP PERMANENT SOURCE-TARGET CONTROL (DECOMP) ======

source - 5 target - 4
PATH 1 - #perturbations: 3
	Control set: EgrNab=1 CEBPA=1 PU1=1 
PATH 2 - #perturbations: 3
	Control set: GATA1=0 EgrNab=1 CEBPA=1 
execution time for control = 0.01 seconds

Attractor-based sequential instantaenous control

The all-zero (A1) attractor does not have a biological interpretation and mature erythrocytes (A6) in mammals do not have cell nucleus, therefore, we define these two attractors as undesired intermediate attractors for attractor-based sequential control and save the file as 'undesired_attractors.txt':

1, 6

To compute the ASI control from A5 to A4 without passing by the undesired attractors, we add the option '-rmID undesired_attractors.txt' to the command line:

./cabean -compositional 2 -control ASI -sin 5 -tin 4 -rmID undesired_attractors.txt myeloid.ispl

The output of CABEAN is given below. There exists one ASI path with three perturbations, where attractor A2 acts as the intermediate attractor.

Command line: ./cabean -compositional 2 -control ASI -rmID undesired_attractors.txt -sin 5 -tin 4 
myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.007 seconds

========= ATTRACTOR-BASED SEQUENTIAL INSTANTANEOUS SOURCE-TARGET CONTROL (DECOMP) =========

IDs of undesired attractors
1 6 
source - 5 target - 4

PATH 1 - #perturbations: 5
Sequence of the attractors: 5 -> 4
	STEP 1
		Control set 1: GATA1=0 EgrNab=1 CEBPA=1 PU1=1 cJun=1 

PATH 2 - #perturbations: 3
Sequence of the attractors: 5 -> 2 -> 4
	STEP 1
		Control set 1: GATA1=0 PU1=1 
	STEP 2
		Control set 1: CEBPA=1 
execution time of control=0.006 seconds
total time costs=0.006 seconds

Attractor-based sequential temporary control

We compute the AST control from A5 to A4 bypassing the undesired attractors with the following command line:

./cabean -compositional 2 -control AST -sin 5 -tin 4 -rmID undesired_attractors.txt myeloid.ispl

The output of CABEAN is given below. We can see that the shortest AST control path needs only two perturbations in total.

Command line: ./cabean -compositional 2 -control AST -rmID undesired_attractors.txt -sin 5 -tin 4 
myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.006 seconds

========= ATTRACTOR-BASED SEQUENTIAL TEMPORARY SOURCE-TARGET CONTROL (DECOMP) =========

IDs of undesired attractors
1 6 
source - 5 target - 4

PATH 1 - #perturbations: 3
Sequence of the attractors: 5 -> 4
	STEP 1
		Control set 1: EgrNab=1 CEBPA=1 PU1=1 
		Control set 2: GATA1=0 EgrNab=1 CEBPA=1 

PATH 2 - #perturbations: 2
Sequence of the attractors: 5 -> 2 -> 4
	STEP 1
		Control set 1: PU1=1 
	STEP 2
		Control set 1: CEBPA=1 
execution time of control=0.029 seconds
total time costs=0.03 seconds

ASI control from A5 to A4 with constraints on perturbations.

Attractor-based sequential permanent control

We compute the ASP control from A5 to A4 without passing by the undesired attractors with the command line:

./cabean -compositional 2 -control ASP -sin 5 -tin 4 -rmID undesired_attractors.txt myeloid.ispl

The output of CABEAN is given below. The results of ASP control are the same with AST control.

Command line: ./cabean -compositional 2 -control ASP -rmID undesired_attractors.txt -sin 5 -tin 4 
myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.003 seconds

========= ATTRACTOR-BASED SEQUENTIAL PERMANENT SOURCE-TARGET CONTROL (DECOMP) =========

IDs of undesired attractors
1 6 
source - 5 target - 4

PATH 1 - #perturbations: 3
Sequence of the attractors: 5 -> 4
	STEP 1
		Control set 1: EgrNab=1 CEBPA=1 PU1=1 
		Control set 2: GATA1=0 EgrNab=1 CEBPA=1 

PATH 2 - #perturbations: 2
Sequence of the attractors: 5 -> 2 -> 4
	STEP 1
		Control set 1: PU1=1 
	STEP 2
		Control set 1: CEBPA=1 
execution time of control=0.035 seconds
total time costs=0.035 seconds

Temporary target control

We compute TTC to A4 with the command line:

./cabean -compositional 2 -control TTC -tin 4 myeloid.ispl

The output of CABEAN is given below.

Command line: ./cabean -compositional 2 -control TTC -tin 4 myeloid.ispl
======================== find attractor #1 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-0-0-0-0-  1

======================== find attractor #2 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-0-1-1-1-0-  1

======================== find attractor #3 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-0-0-1-  1

======================== find attractor #4 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-0-0-0-0-0-1-1-1-1-0-  1

======================== find attractor #5 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-0-1-1-0-0-0-0-0-  1

======================== find attractor #6 : 1 states ========================
: 12 nodes 1 leaves 1 minterms
0-1-1-1-0-1-0-0-0-0-0-  1

number of attractors = 6
time for attractor detection=0.003 seconds

=================== TEMPORARY TARGET COTNROL (DECOMP) ===================

************************************************************
TARGET ATTRACTOR #4
************************************************************

Control set 1: EgrNab=1 CEBPA=1 PU1=1 
Control set 2: CEBPA=1 PU1=1 Gfi1=0 

Time for temporary target control = 0.012 seconds

References