Calibrating Boolean networks modeling biological processes

By converting Boolean functions into Zhegalkin polynomials and calibrating the Boolean network using SAT solver, the problem of insufficient accuracy of Boolean networks in a specific experimental context is solved, achieving more accurate biological process modeling and more efficient calibration processes.

CN119274643APending Publication Date: 2025-01-07DASSAULT SYSTEMES SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410779777.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-06
Filing Date
2024-06-17
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In the existing biological process modeling, Boolean networks are difficult to fully adapt to processes in specific experimental contexts, resulting in inaccurate and insufficient specificity of the model and incomplete matching of experimental data.

Method used

By converting Boolean functions into Zhegalkin polynomials and combining with SAT solvers, the Boolean network is calibrated based on experimental data, the calibration Boolean proposition is constructed to match experimental data, and the Boolean function of the network is adjusted to preserve the topological structure, achieving more accurate modeling of biological processes .

Benefits of technology

Improves the adaptability and accuracy of the Boolean network, making it more suitable for specific experimental data, and can more accurately capture the continuous states in a specific context of biological processes, reducing the computational complexity of the calibration process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119274643A_ABST
    Figure CN119274643A_ABST
Patent Text Reader

Abstract

The present disclosure generally relates to a computer-implemented method for calibrating a Boolean network. The Boolean network has a Boolean function. A Boolean network models a biological process. The method includes providing a Boolean network. The method also includes providing experimental data related to the biological process. The method further includes calibrating the Boolean network according to the experimental data. The calibration comprises the step of converting a Boolean function into a Zhegalkin polynomial. The calibration further comprises the step of constructing a calibration Boolean proposition based on a Zhegalkin polynomial, a Boolean network and experimental data. And the calibration Boolean proposition represents a conversion system and experimental data of the Boolean network. The calibration also includes applying the SAT solver to the calibration Boolean proposition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer programs and systems, and more particularly, to a method, system and program for calibrating a Boolean network for modeling biological processes. Background Art

[0002] Solutions exist for modeling biological systems. Modeling biological systems has applications in the medical field, for example in the development of solutions, such as software or software-based solutions, to assist medical practitioners in their work and / or to develop new and / or improved drugs and / or vaccines. Examples of such applications include: modeling the spread of disease, the spread of cancer, immune monitoring, inflammatory responses, the effects of vaccines. The basic biological systems typically associated with the human body and its functions are extremely complex. Figure 1 A diagram of the system is shown, and more specifically two cellular processes thought to be involved in Alzheimer's disease are shown: the formation of amyloid plaques in the extracellular medium and the accumulation of neurofibrillary tangles in cells. See History and progress of hypotheses and clinical trials for Alzheimer's disease, P.-PLiu et al., Signal Transduct. Target. Ther., 4(1), 2019.

[0003] Common techniques for modeling biological systems include the use of differential systems of the following types:

[0004]

[0005] However, this requires knowledge of the function F (also called "flow" or "flux") that governs the evolution of the system, as well as the associated parameter β. When biological systems are involved, especially in medicine, knowledge of this function and this parameter may not be available and / or cannot be modeled by differentiating the system. In fact, the measurements required for this knowledge may be out of reach.

[0006] However, biological systems, especially in the medical field, may involve regulating networks and / or influencing networks, such as activation sequences of biological entities (e.g. genes), such as the triggering of Alzheimer's disease. Figure 2 Such a network is schematically shown as a simple schematic example, where entity Y activates entity X, entity X inhibits entity Z, and entities X and Z activate entity Y.

[0007] As is well known in the art, such a network can be modeled by a Boolean network. A Boolean network is generally represented by a graph, which includes nodes (TRUE logical state, FALSE logical state), edges (activation, inhibition), and logical operators (AND (∧), OR (∨), A Boolean network (defined by a function f) might see its state X evolve in a synchronous update scheme as:

[0008] X t+1 =f(X t ).

[0009] For example, with Figure 2 The corresponding Boolean network is:

[0010]

[0011] There are several databases that store regulatory pathways as biological entities, their interactions, reactions, and relationships, including: Reactome, KEGG, SIGNOR, Wikipathways, CellCollective. These entities and interactions may not fit into Boolean formulas (e.g., ubiquitination or phosphorylation reactions in KEGG), but LIVING MAP (discussed below) provides a translation tool that can convert these pathways into Boolean networks. For example, Figure 3 A screenshot of a pathway derived from Wikipathways representing the perturbation of host cell autophagy induced by different proteins of SARS-CoV-2 is shown.

[0012] Modeling biological systems using Boolean networks can simulate patient physiology under various conditions, such as simulating the effects of drugs or vaccines, or simulating the spread of a disease or the biological response of a patient.

[0013] The online tool Living Map for Boolean network modeling is provided by Dassault Systèmes under the trademark BIOVIA. Living Map provides: intuitive and user-friendly tools for biological Boolean network modeling; AND logic for interaction nodes; customization of entity formulas; experiments under various conditions (e.g. initial state, gene knockout, drugs); annotation of entities and interactions; (partially automated) aggregation of knowledge (e.g. Uniprot data). As mentioned above, LivingMap also contains conversion tools that allow regulatory pathways stored as entities and interactions (as described above) to be converted into Boolean networks.

[0014] Figures 4 to 16Screen capture showing models of various cell signaling pathways involved in Alzheimer's disease built using Living Map: Calcium Model ( Figure 4 ), diabetes model ( Figure 5 ), inflammation model ( Figure 6 )、APOE model( Figure 7 ), Mitochondrial autophagy model ( Figure 8 ), autophagy model ( Fig. 9 ), axonal transport model ( Fig.10 ), other calcium models ( Fig.11 ), ER-PSEN model( Fig.12 )、Wnt model( Fig.13 )、Fas model( Fig.14 )、RAGE model( Fig.15 ), and insulin models ( Fig.16 ).

[0015] Fig.17 A screenshot showing a MAPK signaling model of SARS-Cov-2 (built using Living Map), which simulates how the coronavirus hijacks cellular machinery to remain invisible. Fig.18 A screenshot showing an ER stress model of SARS-Cov-2 (built using Living Map), simulating how the coronavirus causes cells to build more copies of itself. Fig.19 Screenshot showing the innate immunity and inflammation model of SARS-Cov-2 (built using Living Map), modeling how the virus blocks innate immunity and triggers a cytokine storm.

[0016] Boolean networks therefore form a modern tool in the medical field for modeling relevant biological systems, for example in the development of solutions, such as software or software-based solutions, to assist medical practitioners in their work, and / or to develop new and / or improved drugs and / or vaccines.

[0017] However, in this context, improved solutions are needed to calibrate Boolean networks that model biological processes. Calibration refers to the selection of a Boolean function that matches a given dataset. Summary of the invention

[0018] Therefore, a computer-implemented method for calibrating a Boolean network is provided. The Boolean network has a Boolean function. The Boolean network models a biological process. The method includes providing a Boolean network. The method also includes providing experimental data related to the biological process. The method also includes calibrating the Boolean network based on the experimental data. The calibration includes converting the Boolean function into a Zhegalkin polynomial. The calibration also includes constructing a calibration Boolean proposition based on the Zhegalkin polynomial, the Boolean network, and the experimental data. The calibration Boolean proposition represents the converted system of the Boolean network and the experimental data. The calibration also includes applying a SAT solver to the calibration Boolean proposition.

[0019] The method may include one or more of the following:

[0020] The calibration Boolean proposition includes a first Boolean proposition representing a transformation system of a Boolean network and a second Boolean proposition representing experimental data, wherein the calibration Boolean proposition further includes:

[0021] A third Boolean statement representing a stability constraint on the biological process, and / or

[0022] a fourth Boolean proposition that penalizes a True or False function; and / or

[0023] The fifth Boolean proposition representing the constraints of a priori biological knowledge;

[0024] The stability constraints include at least one fixed point of the transformation system and / or at least one period of the transformation system, and / or a fourth Boolean proposition (also called a True or False penalty constraint) preventing loss of mechanistic information, and / or a priori biological knowledge constraints representing the Boolean network prior to calibration;

[0025] The SAT solver is the MaxSAT solver;

[0026] The MaxSAT solver is a weighted MaxSAT solver, and each Boolean proposition included in the calibration Boolean proposition corresponds to a conjunction of one or more disjunctive hard clauses or a conjunction of one or more disjunctive soft clauses, each clause having a weight;

[0027] The first Boolean proposition is the conjunction of one or more disjunctive hard clauses;

[0028] A calibrated Boolean proposition also includes a third Boolean proposition, which is a conjunction of one or more disjunctive hard clauses;

[0029] The calibration Boolean proposition also includes the fourth Boolean proposition and the fifth Boolean proposition, and:

[0030] The second Boolean proposition includes a sub-proposition representing the final state of the transformation system and a sub-proposition representing the initial state of the transformation system. The sub-proposition representing the final state of the transformation system is the conjunction of one or more disjunctive soft clauses with the largest weight among all soft clauses, and the sub-proposition representing the initial state of the transformation system is the conjunction of one or more disjunctive soft clauses with the second largest weight among all soft clauses. The second Boolean proposition also includes a sub-proposition representing the middle time point of the experimental data. The sub-proposition representing the middle time point of the experimental data is the conjunction of one or more disjunctive soft clauses with the third largest weight among all soft clauses.

[0031] A fourth Boolean proposition is the conjunction of one or more disjunctive soft clauses that has the fourth-largest weight among all soft clauses, and

[0032] The fifth Boolean proposition is the conjunction of one or more disjunctive soft clauses with the smallest weight among all soft clauses;

[0033] The method includes separating the weights of soft clauses corresponding to different Boolean propositions so that there is no overlap between these soft clauses;

[0034] The separation of weights is as follows:

[0035] Each weight of the sub-proposition that represents the final state of the transformation system is strictly greater than the sum of all weights of the sub-proposition clauses that represent the initial state of the transformation system.

[0036] Each weight of the sub-proposition representing the initial state of the transformation system is strictly greater than the sum of all weights of the sub-proposition clauses representing the intermediate time points of the experimental data,

[0037] Each weight of the sub-proposition representing the intermediate time point of the experimental data is strictly greater than the sum of all weights of the fourth proposition clause, and

[0038] The individual weights of the fourth proposition can be strictly greater than the sum of all the weights of the clauses of the fifth proposition;

[0039] Experimental data derived from physical measurements and / or observations of real-world biological processes; and / or

[0040] Biological processes correspond to the patient's physiological response to a medical event.

[0041] A computer program comprising instructions for performing the method is also provided.

[0042] A computer-readable storage medium is also provided, on which the computer program is recorded.

[0043] A computer system is also provided, comprising a processor coupled to a memory having the computer program recorded thereon. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Non-limiting examples will now be described with reference to the accompanying drawings, in which:

[0045] Figures 1 to 21 shows the background of the method; and

[0046] Fig. 22 An example of the system is shown. DETAILED DESCRIPTION

[0047] A computer-implemented method for calibrating a Boolean network is presented. The Boolean network has a Boolean function. The Boolean network models a biological process. The method includes providing a Boolean network. The method also includes providing experimental data related to the biological process. The method also includes calibrating the Boolean network based on the experimental data. The calibration includes converting the Boolean function into a Zhegalkin polynomial. The calibration also includes constructing a calibration Boolean proposition based on the Zhegalkin polynomial, the Boolean network, and the experimental data. The calibration Boolean proposition represents a transition system of the Boolean network and the experimental data. The calibration also includes applying a SAT solver to the calibration Boolean proposition.

[0048] This provides an improved solution for bio-Boolean network calibration, i.e. the calibration of Boolean networks used to model biological processes.

[0049] Indeed, the original (provided) Boolean network models the biological process, but only at a certain level of generality. Such a network is indeed constructed using biological knowledge at a certain level of generality and models the biological process at a certain level of generality, without taking into account any specific biological context (e.g., context related to a specific patient or a specific medical study, or a group of patients). Therefore, the network initially provided may not be fully adapted or accurate to model the process in a specific experimental context (e.g., physiological and / or medical data (e.g., measurements) for a specific patient, or a specific medical study, or a specific group of patients). A large amount of prior knowledge about biological processes is indeed directly available in the literature, dedicated databases, or even summarized in pathway and disease maps. This knowledge can often be used to construct biological networks that model the signaling, metabolism, or other molecular processes behind the behavior of proteins, genes, cytokines, cells, tissues, drug modes of action, drug resistance, etc. However, this knowledge is often not fully matched to the context in which the model needs to be built and may not be exhaustive. Networks built solely based on prior knowledge may overlook certain mechanisms, lack specificity, and only partially summarize experimental observations. To address this limitation, specific data in this context can be integrated. This is what the method does, by calibrating the Boolean network based on experimental data, i.e. specific experimental data obtained from a specific experimental context.

[0050] In other words, given a provided Boolean network, the method modifies the Boolean function of the network while preserving its initial topology, i.e. its nodes and their interconnections (regardless of the nature of the interactions), so that its continuous states reproduce as much as possible the continuous states of the experimental data (e.g., reaching the convergence or termination criteria of the SAT solver). This process is called calibration and, as mentioned before, refers to the selection of a Boolean function that matches a given data set (here, experimental data). By performing this calibration, the method improves the Boolean network and makes it better suited to specific experimental data (e.g., measured data). As a result, the calibrated network can model the biological process in the specific context captured by the experimental data with particular accuracy.

[0051] Now, the method can not only perform calibration, but also perform it in a resource-efficient way. In fact, the main challenge of calibration is that for a node that depends on k variables, there exists possible Boolean functions, which makes the enumeration of Boolean functions very difficult in practice as k increases. For example, for a node with 5 parents, there are Boolean functions. Therefore, a brute force approach consisting of enumerating and testing all possible functions cannot be used. To solve this problem, the method first converts the Boolean functions into Zhegalkin polynomials (also known as algebraic normal forms), which are simplified polynomial representations of Boolean functions. In other words, the method converts each Boolean function into an ordinary numerical polynomial, where the Boolean True and False values ​​are replaced by 0 and 1 (integer modulo 2), and logical conjunctions (AND, ∧) and exclusive disjunctions (XOR, ) as an analogue of the classical product and sum. In arithmetic modulo 2, x 2 = x, so the exponent becomes redundant and the only non-zero coefficient is 1. Therefore, all Boolean functions that depend on k variables, once transformed, consist entirely of a set of 2 k This means that the method is not Instead of searching for a matching Boolean function in the possible cases, we reduce the search to these 2 k In other words, the calibration performed by this method reduces the search to a combinatorial problem that is computationally feasible on available computer systems, whereas the problem of directly searching for matching Boolean functions without conversion into Zhegalkin polynomials is computationally difficult on available computer systems.

[0052] After the transformation is completed, the method applies a SAT solver to the propositions describing the transformed system of the network (in which the Boolean functions appear in their polynomial form) and the calibration constraints extracted from the experimental data to find matching coefficients. A SAT solver is a computer program that solves the SAT (or Boolean satisfiability) problem, which is to determine whether there is an interpretation (i.e., the binary value assigned to each variable) that satisfies a given Boolean formula in conjunctive normal form (CNF). When a formula is a conjunction clause or a disjunction clause (i.e., AND of ORs), the formula is in CNF. Therefore, the use of a SAT solver in combination with the Zhegalkin transformation is particularly suitable and makes the method efficient. The method produces one or more interpretations (i.e., the value of each Zhegalkin coefficient of each function in the initial Boolean network) that are compatible with the provided experimental data.

[0053] The method is used for the calibration of Boolean networks. The concept of Boolean networks is known per se and has been discussed before. A Boolean network consists of a set of discrete Boolean variables, each of which is assigned a Boolean function (the Boolean function for each variable may be different), which takes as input a subset of these variables and outputs a state that determines the variable assigned to the function. As mentioned before, a Boolean network can be represented as a graph and consists of: nodes (TRUE logical state, FALSE logical state), edges (activation, inhibition) and logical operators (AND (∧), OR (∨), ) and we can see that its state X evolves in a synchronous update scheme as (f denotes the function defining the network):

[0054] X t =f(X t-1 ).

[0055] In other words, a Boolean network is defined by a set of nodes representing binary variables, interconnected by a set of edges formalized as Boolean functions. "Calibration" means that, given a provided Boolean network, the method modifies the Boolean functions of the network while preserving its initial topology (i.e., its nodes and the interconnections between them (regardless of the nature of the interactions)) so that its continuous states reproduce as much as possible the continuous states of the experimental data. The input to calibration (and calibration methods) is the provided Boolean network and the experimental data, and the output is a Boolean network calibrated to the experimental data.

[0056] Boolean networks model biological processes (i.e., any biological process). A biological process may correspond to a patient's physiological response to a medical event. For example, the process may describe the evolution of a disease (or a virus or any similar medical condition) or some evolutionary phenomenon associated with the disease, and / or the patient's response to an event associated with the disease (e.g., an inflammatory response). For example, the model may be any of the models discussed above for Alzheimer's or coronavirus. Alternatively, the model may describe a patient's response to a treatment, drug, or vaccine.

[0057] For example, the method may be included in a treatment, drug or vaccine monitoring and / or development process, e.g., for developing new and / or improved treatments, drugs or vaccines. In this case, the Boolean network may model the physiological response to the treatment, drug or vaccine and / or the physiological processes associated with the disease to be cured. The process may include one or more iterations (e.g., once per patient):

[0058] performing the method, wherein experimental data is optionally acquired by physical and / or physiological measurements of the patient;

[0059] Use calibrated Boolean networks to perform simulations, such as evaluating the potential effects of treatments, drugs, or vaccines;

[0060] Optionally, the results of the simulation are used to develop and / or improve treatments, drugs or vaccines, for example by physically developing and / or improving the treatment, drug or vaccine based on the results of the simulation.

[0061] The method comprises providing (obtaining) a Boolean network. Providing the Boolean network may comprise constructing (e.g., from scratch) a network (e.g., using a Living Map) and / or modifying an already constructed network (e.g., using a Living Map). Alternatively, providing the Boolean network may comprise retrieving (e.g., downloading) an existing Boolean network from a (e.g., remote) memory or server or database storing an already constructed network.

[0062] The method includes providing (obtaining) experimental data. Providing experimental data can include retrieving (e.g. downloading) experimental data from a (e.g. remote) memory or server or database storing data. The experimental data is experimental data related to a biological process and corresponds to an experimental (e.g. physiological, medical) observation of the biological process (e.g., to a patient). The experimental data may be derived from physical measurements and / or observations of biological processes in the real world (e.g., observations of patients in a medical context). Alternatively, providing experimental data can include physically obtaining the experimental data or at least a portion of the experimental data, for example, by performing physiological and / or medical measurements on a patient using a suitable physical device.

[0063] In addition to providing the input, the method also comprises calibrating the Boolean network according to the experimental data, i.e. modifying the Boolean functions of the network while preserving its initial topology (i.e. its multiple nodes and the interconnections of the multiple nodes (regardless of the nature of the interactions)) so that the continuous states of the Boolean network reproduce the continuous states of the experimental data as much as possible.

[0064] The calibration consists of converting a Boolean function into a Zhegalkin polynomial. A Zhegalkin polynomial, also called an algebraic normal form, is a representation of a function in Boolean algebra. The Zhegalkin polynomial is a polynomial ring over integers modulo 2. The degeneration of the modular operation results in a Zhegalkin polynomial that is simpler than a normal polynomial, with binary coefficients and no exponent. The coefficients are binary because 1 is the only non-zero coefficient. The exponent is redundant because in arithmetic modulo 2, x 2 = x. Therefore, for example, 3x 2 y 5 The polynomial of z is congruent to xyz and can therefore be rewritten as xyz. There are many known methods for converting Boolean functions to Zhegalkin polynomials (by using the method of indefinite coefficients, by constructing a canonical disjunctive normal form, by using a table, by using the Pascal method, by using the summation method, or by using a Karnaugh map as discussed in https: / / en.wikipedia.org / wiki / Zhegalkin_polynomial), and the conversion can be done using any of these methods. The method can iterate over the variables of the network and iteratively convert all Boolean functions.

[0065] Now let's discuss an example to illustrate the transformation. This example considers a Boolean network with three variables A, B, and C. The network can be expressed as Fig. 20 The transformation may iterate over variables. In this case, only variable C has a Boolean function The associated Zhegalkin polynomial is

[0066] Then, calibration involves constructing a transformation system representing the Boolean network and a calibration Boolean proposition for the experimental data based on the Zhegalkin polynomials, the Boolean network, and the experimental data. The transformation system is a system that allows the transformation from X t-1 To X t Updated equation. For each time point, X t =f(X t-1) if a time point is equivalent to an update of the system. However, the continuous state of the numerical model (here represented by t) may not necessarily correspond to the time reality of the experimental data (e.g. 0, 3, 6, 24h). This scheme X t =f(X t -1 )∨f(f(X t-1 ))∨…f N (X t-1 ), where N>1, allows the possibility of integrating real-time time differences corresponding to multiple updates of the model. The topology of the network is completely characterized by a universal Zhegalkin polynomial for each variable and remains the same at each time point. The construction of calibration Boolean propositions can be based on A=B with The same truth table can be used to convert the topological conditions at each time point into the following propositions:

[0067]

[0068] The above proposition is called the first Boolean proposition. The proposition consists of a calibration Boolean proposition, which represents the transformation system of the Boolean network, thereby representing the topology of the Boolean network. The construction of the calibration Boolean proposition may also include converting the experimental data into a second Boolean proposition representing the experimental data. The second proposition may include a Boolean sub-proposition representing the final state of the transformation system according to the experimental data, and / or a Boolean sub-proposition representing the initial state of the transformation system according to the experimental data, and / or a Boolean sub-proposition representing the intermediate state according to the experimental data. For example, a variable A has the following experimental values ​​at 4 time points: A 0 =0,A 1 =1,A 2 =1,A f =0, converted to the following proposition:

[0069]

[0070] Back to Fig. 20 For the example of the above network shown, if:

[0071] The experimental data includes two time points corresponding to a single update of the network; and

[0072] The experimental data for these two time points, where the suffix 0 indicates the first / initial time point and f indicates the second / last time point, is: A 0 =0,A f =1; B 0 =1,B f =1; C 0 =0,C f =1,

[0073] The calibration of the Boolean proposition consists in converting the first proposition of the system into:

[0074]

[0075] And the following second proposition for experimental data:

[0076]

[0077] Calibration Boolean statements can also include:

[0078] a third Boolean proposition representing the stability constraint of the biological process;

[0079] a fourth Boolean proposition that penalizes True or False functions; and / or

[0080] The fifth Boolean proposition representing the constraints of a priori biological knowledge.

[0081] A stability constraint is any constraint that represents the stability of a transformation system. A stability constraint may include at least one fixed point of the transformation system and / or at least one loop of the transformation system. The concepts of fixed points and loops are now discussed, although they are known in the field of Boolean networks. Since a Boolean network with N nodes can only have 2 N configurations, so the pigeonhole principle means that after enough iterations of the update plan, the system must return to a previously visited configuration:

[0082]

[0083] (X d+i ) i∈[0,p-1] is the attractor of the Boolean network;

[0084] p is the attractor period; d can be thought of as the distance to the attractor.

[0085] If p = 1, the attractor is a fixed point attractor. If p > 1, the attractor is a cyclic attractor of period p. Whatever initial state is considered, the attractor structure depends only on the network topology. There must be cycles in the network to have a cyclic attractor. Some attractors have been shown to reflect many features of real equilibrium states. The attractor can be a single fixed point, in which case the attractor transforms to X f =f(X f ), where X is the state of the system; or a cycle, in which case the attractor transforms to X f =f p (X f ), where p is the period of the cycle. The third Boolean statement can be:

[0086] For the fixed point case, For cycles of length less than or equal to p,

[0087] The fourth Boolean proposition can be the conjunction of one or more disjunctive soft clauses. Fig. 20 In the example shown, the fourth proposition could be:

[0088]

[0089] The effect of this fourth proposition is that the True and False single Boolean functions are considered variables only if no other Boolean function matches or better matches the above constraints. The reason is that neither the True nor the False Boolean functions contain mechanistic information about the contributions of the variable's parents.

[0090] The fifth Boolean proposition represents a priori biological knowledge constraints. The priori biological knowledge constraints may represent the Boolean network or its function before calibration. The priori biological knowledge constraints may be the Zhegalkin coefficients of the Boolean function of the network before calibration, which carry a certain degree of knowledge. Therefore, the fifth Boolean proposition may exist in the proposition that the coefficients of the uncalibrated network function are true. Fig. 20 For a related example, the initial coefficients are (which does convert to ), which is converted to:

[0091]

[0092] For example, Fig. 20 The previous example of generating a calibration Boolean proposition including a stability proposition, a True / False Boolean function penalty, and prior knowledge can thus be:

[0093]

[0094]

[0095]

[0096] The calibration also includes applying a SAT solver to the calibration Boolean propositions (where the Boolean functions appear in their polynomial form) to find matching coefficients. A SAT solver is a computer program that solves the SAT (or Boolean satisfiability) problem, which is to determine whether there is an interpretation that satisfies a given Boolean formula in CNF (i.e., the binary values ​​assigned to each variable). A formula is in CNF when it is a conjunction clause or a disjunction clause (i.e., AND of ORs). If necessary, the method may include converting the Boolean formula into CNF (e.g., using a Tseitin transformation or a Quine-McCluskey algorithm) before applying the SAT solver. The SAT solver may be a MaxSAT solver. The goal of a SAT solver is to satisfy all clauses (propositions), while the goal of a MaxSAT solver is to satisfy as many clauses (propositions) as possible. This may be advantageous in the case of this method. In fact, in practice, situations may arise where all constraints cannot be satisfied simultaneously because:

[0097] When using real experimental data, it may be affected by measurement uncertainty, missing information, and inter-individual differences;

[0098] The data were averaged and binarized: information was lost;

[0099] Uncalibrated networks fix the topology, but not necessarily correctly (often based on generic but incomplete paths).

[0100] The MaxSAT solver can be a weighted MaxSAT solver. In this case, each Boolean proposition included in the calibrated Boolean proposition corresponds to a conjunction of one or more disjunctive hard clauses (i.e., mandatory satisfaction) or a conjunction of one or more disjunctive soft clauses, each soft clause having a weight. The meaning of "corresponding" is as follows: a Boolean proposition is a Boolean equation in this article, and it should be understood that a system of Boolean equations is also regarded as a Boolean equation. A clause is a disjunctive clause, and when the Boolean proposition is fed to the MaxSAT solver (in CNF form), the clause is a conjunction of one or more disjunctive clauses, each of which is a hard clause or a soft clause. The method may include the step of converting each proposition to be fed to the MaxSAT solver into such a format (CNF form). Each soft clause is assigned a weight, and the goal of the solver is to satisfy the clause that maximizes the sum of the clause weights.

[0101] The first Boolean proposition can be a conjunction of one or more disjunctive hard clauses. In other words, the transformation system containing the topology of the network is fixed during the calibration process, and the relevant constraints are explicitly marked as hard clauses (i.e., mandatory to be satisfied) at each time point in order to be constrained by experimental data later.

[0102] The third Boolean statement can be a conjunction of one or more disjunctive hard clauses. In fact, the Dirichlet box principle guarantees that the system will reach a stable state in less than 2n+1 steps (i.e. 2n is the number of states of a system with n variables). In order to be able to match this stable state with experimental data, the stability constraint is explicitly added as a hard clause.

[0103] The second Boolean proposition may include a sub-proposition representing the final state (attractor) of the transformation system and / or a sub-proposition representing the initial state of the transformation system. The sub-proposition representing the final state of the transformation system may be the conjunction of one or more disjunctive soft clauses with the largest weight among all soft clauses. That is, the last time point is given priority. The sub-proposition representing the initial state of the transformation system may be the conjunction of one or more disjunctive soft clauses with the second largest weight among all soft clauses. This may be advantageous because Living Map adopts a synchronous update scheme, so the attractor reached is determined by the initial state of the system. Variables without experimental data can be set to 0 by default so that the initial state is fully defined. The second Boolean proposition also includes a sub-proposition representing an intermediate time point of experimental data (i.e., not the initial state and the final state). The sub-proposition may be the conjunction of one or more disjunctive soft clauses with the third largest weight.

[0104] The fourth Boolean proposition may be the conjunction of one or more disjunctive soft clauses having the fourth largest weight among all soft clauses.

[0105] The fifth Boolean proposition can be the conjunction of one or more disjunctive soft clauses with the minimum weight among all soft clauses. In other words, biological information in the form of non-calibrated Boolean functions (ie, Zhegalkin coefficients) is considered only if all other constraints are equally satisfied.

[0106] For example, the weights may be set by the user before applying the SAT solver; alternatively, the weights may be fixed to establish a separation of the weights of soft clauses corresponding to different Boolean propositions, such that there is no overlap between these soft clauses. In the latter case, each weight of a given proposition may be set to be greater than the sum of the weights of propositions with lower weights (i.e., less important), for example, equal to the sum of the weights + 1. The separation of weights may be as follows:

[0107] Each weight of the sub-proposition that represents the final state of the transformation system is strictly greater than the sum of the weights of all the sub-proposition clauses that represent the initial state of the transformation system;

[0108] Each weight of the sub-proposition representing the initial state of the transformation system can be strictly greater than the sum of all weights of the sub-proposition clauses representing the intermediate time points of the experimental data;

[0109] The weights of the individual sub-propositions representing intermediate time points can be strictly greater than the sum of all the weights of the fourth proposition clauses;

[0110] The individual weights of the fourth proposition can be strictly greater than the sum of all weights of the clauses of the fifth proposition.

[0111] In the above, “each weight of a proposition” or “each weight of a sub-proposition” refers to each weight of the clause to which the proposition / sub-proposition corresponds.

[0112] This can be written as follows (and implemented as discussed above, by adding one to each of the following sums):

[0113]

[0114] In the above, "initial function" refers to the function of the provided Boolean network, ie, the function before calibration. "Single Boolean" (ie, single Boolean penalty) refers to the true function and false function solved by the fourth proposition.

[0115] For example, this guarantees that the method will prioritize interpretations that satisfy another initial-state clause at the expense of all intermediate-state clauses. Furthermore, unsatisfied clauses can be traced back to the class of constraints they represent.

[0116] Application of a SAT solver (e.g., a weighted MaxSAT solver) then produces one or more interpretations (i.e., values ​​of each Zhegalkin coefficient for each function in the provided Boolean network) that are equally compatible (i.e., have the same sum of weights) with the provided calibration constraints. Calibration can further convert these Zhegalkin coefficients back into Boolean formulas and update the Boolean network accordingly based on the calibrated functions.

[0117] The five Boolean propositions included in the calibration Boolean proposition have been discussed above. It should be understood that any other constraint or constraint set can be added to the calibration Boolean proposition as one or more additional Boolean propositions, as long as the constraint or constraint set can be converted into a choice of values ​​for a binary variable.

[0118] The inventors have tested the implementation of this method. Specifically, biological networks constructed to simulate vaccine-induced inflammation and visualize changes in the abundance of relevant cell types have been tested. The uncalibrated network contains 202 entities and 289 interactions. For the calibration process, the inventors used transcriptome (for gene expression) and cell count (for cell abundance) data (obtained during preclinical trials of the MVA vaccine, as discussed in reference Rosenbaum P et al., Front. Immunol. 12: 645210 2021, which is incorporated herein by reference). These data were binarized, that is, the continuous expression values ​​measured at continuous time points were set to 1 (indicating that the cell type is abundant and the gene is expressed) or 0 (indicating that the cell type is scarce and the gene is not expressed). The resulting calibration network includes 310 interactions and satisfies the constraints associated with the experimental data as much as possible. The results are as follows Fig.21 State #6 is the final state of the model (a stable attractor has been reached). Both the initial and final states agree well with the experimental data. For the transition states, only 4 outputmakers show differences between the simulated and experimental states. However, the calibration function is the best match in terms of the fixed parent nodes it is linked to and their dynamics. Therefore, it can be said that the network is properly calibrated.

[0119] The tests demonstrate that the method provides an improved calibration of Boolean networks with the following advantages.

[0120] First, the method outputs all Boolean networks that are equally compatible with the topology given by the initial network, without the need for additional transformation or model checking steps.

[0121] Furthermore, since the approach converts the choice of a Boolean function to be assigned to each variable into a 0 or 1 attribute for a given number of parameters, any additional constraints that can also be formalized as binary-valued attributes can be taken into account when making the choice. In the case of biological network calibration, these additional constraints will always include (but are not limited to) binarized calibration data.

[0122] Furthermore, the SAT problem is an old and well-studied problem in computer science. Over the years, several extensions of the problem have been defined and an increasing number of computationally efficient methods for solving it have been developed: the so-called SAT solvers, which benefit from this approach. In particular, one extension, the Weighted MaxSAT problem and its appropriate solvers, assign a weight to each clause of the Boolean formula that needs to be satisfied, with the goal of maximizing the sum of the weights of the satisfied clauses, without requiring that all clauses be satisfied. This problem allows defining a hierarchy between clauses in the Boolean formula, i.e., in this case, the user can control the priority of the constraints relevant to the calibration process and guarantee that (one of) the best matching networks is always obtained.

[0123] Finally, if no other constraints besides the transformation system and data are added to the proposition to be solved, no assumptions are made on the form of the Boolean functions, which avoids oversimplification of the network.

[0124] The method is implemented by a computer. This means that the steps (or substantially all steps) of the method are performed by at least one computer or any similar system. Therefore, the steps of the method may be performed fully automatically or semi-automatically by a computer. In some examples, the triggering of at least some of the steps of the method may be performed by user-computer interaction. The degree of user-computer interaction required may depend on the degree of automation foreseen and be balanced with the need to implement the user's wishes. In some examples, the degree may be user-defined and / or pre-defined.

[0125] A typical example of a computer-implemented method is to perform the method using a system suitable for the purpose. The system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program, the computer program including instructions for performing the method. The memory may also store a database. The memory is any hardware suitable for such storage, which may include several physically distinct parts (e.g., one for the program and one possibly for the database).

[0126] Fig. 22 An example of a system is shown, where the system is a client computer system, such as a user's workstation.

[0127] The client computer of this example includes a central processing unit (CPU) 1010 connected to an internal communication bus 1000, a random access memory (RAM) 1070 also connected to the bus. The client computer is also provided with a graphics processing unit (GPU) 1110, which is associated with a video random access memory 1100 connected to the bus. The video RAM 1100 is also known in the art as a frame buffer. The mass storage device controller 1020 manages access to the mass storage device (e.g., hard disk drive 1030). Mass storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, and by way of example, mass storage devices include: semiconductor memory devices, such as EPROM, EEPROM and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks. Any of the foregoing may be supplemented by or incorporated into a specially designed ASIC (application specific integrated circuit). The network adapter 1050 is responsible for managing access to the network 1060. The client computer may also include a tactile device 1090, such as a cursor control device, a keyboard, etc. The cursor control device is used in the client computer to allow the user to selectively position the cursor at any desired location on the display 1080. Additionally, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes a plurality of signal generating devices for inputting control signals to the system. Typically, the cursor control device may be a mouse, the buttons of which are used to generate signals. Alternatively or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.

[0128] The computer program may include instructions executable by a computer, the instructions including means for causing the above system to perform the method. The program may be recordable on any data storage medium (including the memory of the system). The program may be implemented, for example, in digital electronic circuit devices or computer hardware, firmware, software or a combination thereof. The program may be implemented as a device, for example, a product tangibly embodied in a machine-readable storage device to be executed by a programmable processor. The method steps may be performed by executing the instruction program by a programmable processor to perform the functions of the method by operating on input data and generating output. Therefore, the processor may be programmable and coupled to receive data and instructions from a data storage system, at least one input device and at least one output device, and to send data and instructions to the data storage system, at least one input device and at least one output device. If desired, the application program may be implemented in a high-level procedural language or an object-oriented programming language or in an assembly or machine language. In any case, the language may be a compiled language or an interpreted language. The program may be a complete installer or an updater. In any case, the application of the program on the system results in instructions for performing the method. The computer program may also be stored and executed on a server in a cloud computing environment, which communicates with one or more clients via a network. In this case, the processing unit executes the instructions contained in the program, so that the method is performed in a cloud computing environment.

Claims

1. A computer-implemented method for calibrating a Boolean network, wherein: The Boolean network has a Boolean function, the Boolean network models a biological process, and the method comprises: -supply: o the Boolean network; and o Experimental data relevant to the described biological process; and - calibrating the Boolean network according to the experimental data, the calibration comprising: o converting the Boolean function into a Zhegalkin polynomial; o constructing a transformation system representing the Boolean network and a calibrated Boolean proposition of the experimental data based on the Zhegalkin polynomials, the Boolean network and the experimental data; and o Apply a SAT solver to the calibrated Boolean propositions.

2. The method according to claim 1, wherein: The calibration Boolean propositions include: o a first Boolean proposition representing a transformation system of the Boolean network and a second Boolean proposition representing the experimental data; Wherein, the calibration Boolean proposition further includes: o a third Boolean proposition representing a stability constraint of the biological process; and / or o a fourth Boolean proposition that penalizes a true or false function; and / or o represents the fifth Boolean proposition constrained by prior biological knowledge.

3. The method according to claim 2, wherein: The stability constraint comprises at least one fixed point of the transformation system and / or at least one period of the transformation system, and / or the fourth Boolean proposition represents the prevention of mechanical information loss, and / or the prior biological knowledge constraint represents the Boolean network before calibration.

4. The method according to any one of claims 1 to 3, wherein: The SAT solver is a MaxSAT solver.

5. The method according to claim 4, wherein: The MaxSAT solver is a weighted MaxSAT solver, and each Boolean proposition included in the calibrated Boolean propositions corresponds to a conjunction of one or more disjunctive hard clauses or a conjunction of one or more disjunctive soft clauses, each soft clause having a weight.

6. The method according to claim 5 in combination with claim 2, wherein: The first Boolean proposition is a conjunction of one or more disjunctive hard clauses.

7. The method according to claim 6, wherein: The calibrated Boolean proposition also includes a third Boolean proposition, and the third Boolean proposition is a conjunction of one or more disjunctive hard clauses.

8. The method according to claim 7, wherein: The calibration Boolean proposition also includes a fourth Boolean proposition and a fifth Boolean proposition, and wherein: - the second Boolean proposition includes a sub-proposition representing the final state of the transformation system and a sub-proposition representing the initial state of the transformation system, the sub-proposition representing the final state of the transformation system is the conjunction of one or more disjunctive soft clauses with the largest weight among all soft clauses, the sub-proposition representing the initial state of the transformation system is the conjunction of one or more disjunctive soft clauses with the second largest weight among all soft clauses, the second Boolean proposition also includes a sub-proposition representing the middle time point of the experimental data, the sub-proposition representing the middle time point of the experimental data is the conjunction of one or more disjunctive soft clauses with the third largest weight among all soft clauses; - the fourth Boolean proposition is the conjunction of one or more disjunctive soft clauses having the fourth largest weight among all soft clauses; and -The fifth Boolean proposition is the conjunction of one or more disjunctive soft clauses with the smallest weight among all soft clauses.

9. The method according to claim 8, wherein: The method includes separating weights of soft clauses corresponding to different Boolean propositions so that there is no overlap between the soft clauses.

10. The method according to claim 9, wherein: The separation of the weights is as follows: - Each weight of the sub-propositions representing the final state of the transformation system is strictly greater than the sum of all weights of the sub-proposition clauses representing the initial state of the transformation system; - Each weight of the sub-proposition representing the initial state of the conversion system is strictly greater than the sum of all weights of the sub-proposition clauses representing the intermediate time points of the experimental data; - Each weight of the sub-proposition representing the intermediate time point of the experimental data is strictly greater than the sum of all weights of the fourth proposition clauses; and - Each weight of the fourth proposition is strictly greater than the sum of all weights of the clauses of the fifth proposition.

11. The method according to any one of claims 1 to 10, wherein: The experimental data is derived from physical measurements and / or observations of real-world biological processes.

12. The method according to any one of claims 1 to 11, wherein: The biological process corresponds to the patient's physiological response to the medical event.

13. A computer program comprising instructions, when the instructions are executed on a computer system, the computer system performs the method according to any one of claims 1 to 12.

14. A computer-readable data storage medium having recorded thereon the computer program according to claim 13.

15. A computer system comprising a processor coupled to a memory, the memory having recorded thereon the computer program of claim 13.