Bio-Logic Builder: A Non-Technical Tool for Building Dynamical, Qualitative Models

Computational modeling of biological processes is a promising tool in biomedical research. While a large part of its potential lies in the ability to integrate it with laboratory research, modeling currently generally requires a high degree of training in mathematics and/or computer science. To help address this issue, we have developed a web-based tool, Bio-Logic Builder, that enables laboratory scientists to define mathematical representations (based on a discrete formalism) of biological regulatory mechanisms in a modular and non-technical fashion. As part of the user interface, generalized “bio-logic” modules have been defined to provide users with the building blocks for many biological processes. To build/modify computational models, experimentalists provide purely qualitative information about a particular regulatory mechanisms as is generally found in the laboratory. The Bio-Logic Builder subsequently converts the provided information into a mathematical representation described with Boolean expressions/rules. We used this tool to build a number of dynamical models, including a 130-protein large-scale model of signal transduction with over 800 interactions, influenza A replication cycle with 127 species and 200+ interactions, and mammalian and budding yeast cell cycles. We also show that any and all qualitative regulatory mechanisms can be built using this tool.


Variables and Expressions used by the Algorithm
This section defines the variables and expressions used by the Bio-Logic Builder application. They fully define the output Boolean state function of the application. In fact, the RESU LT expression is the result of the application.
• n -the number of species in the species palette • x 1 to x n -Boolean variables representing the activation state of the n species • p, q -the count of positive regulators and negative regulators, respectively • pr i , nr j -the i th positive regulator and j th negative regulator, respectively, where i is from 1 to p and j is from 1 to q. Each regulator is a species from the species palette and is in fact x k , for some k from 1 to n.
• P RC i , N RC j -the Boolean expression for the conditions and subconditions applied to the i th positive regulator and j th negative regulator, respectively. Each defaults to TRUE if no conditions are specified.
• P R i = (pr i AND P RC i ) -the Boolean expression for the i th positive regulator including its conditions and subconditions • N R j = (nr j AND N RC j ) -the Boolean expression for the j th negative regulator including its conditions and subconditions • P Roverride i is the set of indexes of negative regulators which override P R i . For example, P Roverride 2 = {1, 3} indicates that the negative regulators expressions N R 1 and N R 3 will be applied to P R 2 .
• ABSEN T = FALSE, user answered "OFF" as the activitity level when ALL regulators are OFF n i=1 x i , user answered "ON" The ABSEN T expression is also called the ABSEN T regulator.

Scalability of the Algorithm
This section describes how to generate any possible Boolean function of n-inputs using Bio-Logic Builder.
Definitions from the Variables and Expressions section are used.
A Disjunctive Normal Form (DNF) of a Boolean function is a summation of distinct complete products.
A complete product is a product of all the Boolean variable arguments of a Boolean function, where each variable is specified exactly once in either complemented (negated) or uncomplemented form. It can be easily shown that there is a DNF representation of any Boolean function f = 0.
At most one term in the DNF representation of a Boolean function can have all inputs negated, as that is a distinct complete product. The ABSEN T regulator controls whether this term is in the generated Boolean function.
The Boolean function created by the Bio-Logic Builder is exactly the RESU LT expression, which is If negative regulators are not specified, then P OSN EG REGU LAT ORS simplifies to P OS REGU LAT ORS, and the generated Boolean function generated is P OS REGU LAT ORS OR ABSEN T .

Procedure for implementing an arbitrary Boolean function
This procedure is written from the perspective of a user of Bio-Logic Builder. It is not used by Bio-Logic builder itself. Given an arbitrary Boolean function, we may craft inputs to Bio-Logic builder which will cause it to create that function as its output.
Let BF be an arbitrary Boolean function.
Only positive regulators and the ABSEN T regulator will be used in this procedure. This results in the Boolean function P OS REGU LAT ORS OR ABSEN T being generated.
Use the following steps to determine how to define the positive regulators and the ABSEN T regulator.
This will result in the generation of a Boolean function equivalent to BF .
Since there are no negative regulators, the positive regulators will be the n species in the species palette, which we may label x 1 to x n .
For the trivial case of BF = 0, create a single positive regulator x 1 with the condition "IF/WHEN x 1 IS OFF". Set the ABSEN T regulator to OFF and enter no other regulators. This generates the Boolean function x 1 x 1 OR F ALSE, which evaluates to F ALSE and matches BF = 0.
The rest of the procedure deals with the non-trivial case of BF = 0.
Let BE be a DNF form Boolean expression for BF . BE exists as BF = 0. Thus, BE is a non-empty summation of complete product terms.
x i . This is the "all inputs negated" term that is controlled by the ABSEN T regulator.
For the special case of BF = ALLIN P U T SOF F , set the ABSEN T regulator to ON and define a single positive regulator x 1 with the condition "IF/WHEN x 1 IS OFF". This generates the Boolean We now consider all other cases, where BF = 0 and BF = ALLIN P U T SOF F .
Let S be the set of complete products in BE, excluding the possible ALLIN P U T SOF F term. S is non-empty as BE = ALLIN P U T SOF F and BE = 0 and thus must contain at least one complete product other than ALLIN P U T SOF F .
Every term in S must have at least one non-negated input, as the only term which every input is negated is the ALLIN P U T SOF F term.
We may partition these terms into n partitions based on the lowest-index value of the non-negated variables in each term. The first partition will contains terms with x 1 (non-negated). The second partition contains terms with x 1 x 2 (as x 2 is the lowest-indexed non-negated input in any such term). The third partition contains terms with x 1 x 2 x 3 , and so on. The final partition is the nth partition and contains the term ( Since all terms have at least one non-negated input variable, this partitioning includes all terms in S.
There are n partitions, and at least one is non-empty. This construction allows us to associate the i th partition with variable x i , which is the lowest-indexed non-negated variable of each term in the partition.
For each non-empty partition i, perform the following in Bio-Logic Builder: Create positive regulator x i .
Create conditions and subconditions for regulator x i which causes its Boolean Expression to equal to the sum of the complete product terms in the partition. This can be done as follows: • Create one condition for each term, specifying that the conditions are independent.
• For each condition: -Specify the non-negated variables in the term as co-operative and use the "WHEN x IS ON" clause. Note that this will always contain the variable x i .
-If there are negated variables in the term, create a subcondition which contains them and specifies that they are co-operative and use the "WHEN x IS OFF" clause.
Due to the definition of P R i , x i will be AN Ded with the sum of these complete product terms. This distributes x i to each of those terms (by Boolean Algebra definitions). Because each term contains x i and the fact that (x i AND x i ) = x i , the resulting P R i will have the value of the sum of the complete product terms in the partition.
Since this will be done for each non-empty partition, every complete product term in S will be accounted for and summed and the result of the POS REGULATORS definition will be the sum of all complete product terms in S.
Note that we have already defined the ABSEN T regulator to be either ALLT ERM SOF F or F ALSE (if the "all inputs negated" term is not present in BF ). This accounts for the only possible completeproduct term in BF that was not in S.
Therefore the generated Boolean function will be the sum of all complete products in BF . This is exactly the definition of DNF Boolean form for BF . Thus, Bio-Logic Builder will create a Boolean function equivalent to BF .
This completes the procedure definition.
Note that the procedure involves only a linear sequence of steps; there are no recursive steps involved.

Conclusion
Bio-Logic Builder is capable of creating any arbitrary Boolean function definition, regardless of its complexity. One way this can be done is by defining the ABSEN T and positive regulators as described by the procedure above, and skipping all other regulator definitions. Specifically: 1. ABSEN T =OFF and P R 1 =A and P R 2 =B 2. ABSEN T =OFF and P R 1 =A and P R 2 =B and P R 2 has the condition "WHEN B IS ON"

Predictability of the Result
Any unique input to Bio-Logic Builder results in a unique setting of key variables and expressions used by the algorithm (as defined in the Variables and Expressions section).
Bio-Logic Builder will generate a Boolean function of n variables whose closed form expression is given by P OSN EG REGU LAT ORS OR ABSEN T . This is completely predictable and deterministic for any possible setting of input values.

Correctness of the Result
This section is concerned with the correctness of the algorithm. That is, whether a biologist using the Biological Operators (positive/negative regulators and conditions/subconditions) will obtain the correct logical definition of a protein.
It has been shown that the results are predictable for any input, but are they correct from the standpoint of a biologist using the application? Bio-Logic Builder allows the biologist to define positive regulators, negative regulators and the ABSEN T regulator. It will be shown that the Boolean function created will match the definitions given to the biologist for using the application.
In this section, the phrase "regulator is active" includes the conditions and subconditions of that regulator. That is, a positive regulator is only considered active when its Boolean expression which includes its conditions and subconditions evaluates to T RU E. That is, the expression P R i or N R j is being discussed in this context.

Positive Regulators and Negative Regulators
There are multiple cases to consider: • no positive or negative regulators defined In this case, if any positive regulator is active and not counteracted by an active negative regulator, then the Boolean function output will be T RU E. This is because P OSN EG REGU LAT ORS will evaluate to T RU E and the function output will be (T RU E OR ABSEN T ) which simplifies to T RU E. If each positive regulator is either inactive or overridden by an active negative regulator, then the function output depends on the ABSEN T regulator. This is because the function output will evaluate to (F ALSE OR ABSEN T ) which simplifies to ABSEN T . This matches the definition given to the biologist for positive regulators with associated negative regulators.

The ABSENT Regulator
The Boolean expression for the ABSEN T regulator is defined to be F ALSE if the target state is specified as OFF, otherwise it is the product of the negations of all inputs (x 1 . . . x n ). It is not possible to generate the Boolean term x 1 . . . x n in any other way.
If the ABSEN T regulator is specified as OFF, the definition guarantees that the Boolean function output will be F ALSE when all regulators are inactive. This matches the definition given to the biologist.
If the ABSEN T regulator is specified as ON, the definition guarantees that the Boolean function output will be T RU E if all regulators are inactive. This matches the definition given to the biologist.

Conclusion
It has been shown that the Boolean function generated by Bio-Logic Builder matches the definitions given to the biologist and can therefore be considered to be correct.

Conclusion
This document presented a detailed analysis of the Bio-Logic Builder algorithm for generating Boolean state functions for biological entities. It showed the algorithm to be scalable, predictable, and correct.