<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Genet.</journal-id>
<journal-title>Frontiers in Genetics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Genet.</abbrev-journal-title>
<issn pub-type="epub">1664-8021</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fgene.2018.00039</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Genetics</subject>
<subj-group>
<subject>Technology Report</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Griffin: A Tool for Symbolic Inference of Synchronous Boolean Molecular Networks</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Mu&#x000F1;oz</surname> <given-names>Stalin</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/252496/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Carrillo</surname> <given-names>Miguel</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/50097/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Azpeitia</surname> <given-names>Eugenio</given-names></name>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
<xref ref-type="aff" rid="aff5"><sup>5</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/45517/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Rosenblueth</surname> <given-names>David A.</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff6"><sup>6</sup></xref>
<xref ref-type="author-notes" rid="fn001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/39116/overview"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Instituto de Investigaciones en Matem&#x000E1;ticas Aplicadas y en Sistemas, Universidad Nacional Aut&#x000F3;noma de M&#x000E9;xico</institution>, <addr-line>Mexico City</addr-line>, <country>Mexico</country></aff>
<aff id="aff2"><sup>2</sup><institution>Facultad de Ingenier&#x000ED;a, Universidad Nacional Aut&#x000F3;noma de M&#x000E9;xico</institution>, <addr-line>Mexico City</addr-line>, <country>Mexico</country></aff>
<aff id="aff3"><sup>3</sup><institution>Maestr&#x000ED;a en Ciencias de la Complejidad, Universidad Aut&#x000F3;noma de la Ciudad de M&#x000E9;xico</institution>, <addr-line>Mexico City</addr-line>, <country>Mexico</country></aff>
<aff id="aff4"><sup>4</sup><institution>Institut National de Recherche en Informatique et en Automatique Project-Team Virtual Plants, Inria, CIRAD, INRA</institution>, <addr-line>Montpellier</addr-line>, <country>France</country></aff>
<aff id="aff5"><sup>5</sup><institution>Department of Evolutionary Biology and Environmental Studies, University of Zurich</institution>, <addr-line>Zurich</addr-line>, <country>Switzerland</country></aff>
<aff id="aff6"><sup>6</sup><institution>Centro de Ciencias de la Complejidad, Universidad Nacional Aut&#x000F3;noma de Mexico</institution>, <addr-line>Mexico City</addr-line>, <country>Mexico</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Marco Pellegrini, Consiglio Nazionale Delle Ricerche (CNR), Italy</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: David Murrugarra, University of Kentucky, United States; Xiaodan Fan, Chinese University of Hong Kong, Hong Kong</p></fn>
<fn fn-type="corresp" id="fn001"><p>&#x0002A;Correspondence: David A. Rosenblueth <email>drosenbl&#x00040;unam.mx</email></p></fn>
<fn fn-type="other" id="fn002"><p>This article was submitted to Bioinformatics and Computational Biology, a section of the journal Frontiers in Genetics</p></fn></author-notes>
<pub-date pub-type="epub">
<day>06</day>
<month>03</month>
<year>2018</year>
</pub-date>
<pub-date pub-type="collection">
<year>2018</year>
</pub-date>
<volume>9</volume>
<elocation-id>39</elocation-id>
<history>
<date date-type="received">
<day>20</day>
<month>10</month>
<year>2017</year>
</date>
<date date-type="accepted">
<day>29</day>
<month>01</month>
<year>2018</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2018 Mu&#x000F1;oz, Carrillo, Azpeitia and Rosenblueth.</copyright-statement>
<copyright-year>2018</copyright-year>
<copyright-holder>Mu&#x000F1;oz, Carrillo, Azpeitia and Rosenblueth</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract><p>Boolean networks are important models of biochemical systems, located at the high end of the abstraction spectrum. A number of Boolean gene networks have been inferred following essentially the same method. Such a method first considers experimental data for a typically underdetermined &#x0201C;regulation&#x0201D; graph. Next, Boolean networks are inferred by using biological constraints to narrow the search space, such as a desired set of (fixed-point or cyclic) attractors. We describe <italic>Griffin</italic>, a computer tool enhancing this method. <italic>Griffin</italic> incorporates a number of well-established algorithms, such as Dubrova and Teslenko&#x00027;s algorithm for finding attractors in synchronous Boolean networks. In addition, a formal definition of regulation allows <italic>Griffin</italic> to employ &#x0201C;symbolic&#x0201D; techniques, able to represent both large sets of network states and Boolean constraints. We observe that when the set of attractors is required to be an <italic>exact</italic> set, prohibiting additional attractors, a naive Boolean coding of this constraint may be unfeasible. Such cases may be intractable even with symbolic methods, as the number of Boolean constraints may be astronomically large. To overcome this problem, we employ an Artificial Intelligence technique known as &#x0201C;clause learning&#x0201D; considerably increasing <italic>Griffin</italic>&#x00027;s scalability. Without clause learning only toy examples prohibiting additional attractors are solvable: only one out of seven queries reported here is answered. With clause learning, by contrast, all seven queries are answered. We illustrate <italic>Griffin</italic> with three case studies drawn from the <italic>Arabidopsis thaliana</italic> literature. <italic>Griffin</italic> is available at: <ext-link ext-link-type="uri" xlink:href="http://turing.iimas.unam.mx/griffin">http://turing.iimas.unam.mx/griffin</ext-link>.</p></abstract>
<kwd-group>
<kwd>molecular networks</kwd>
<kwd>Boolean networks</kwd>
<kwd>model inference</kwd>
<kwd>Boolean satisfiability problem</kwd>
<kwd>clause learning</kwd>
<kwd>biological constraints</kwd>
<kwd>attractors</kwd>
</kwd-group>
<contract-num rid="cn001">221341</contract-num>
<contract-sponsor id="cn001">Consejo Nacional de Ciencia y Tecnolog&#x000ED;a<named-content content-type="fundref-id">10.13039/501100007350</named-content></contract-sponsor>
<counts>
<fig-count count="9"/>
<table-count count="7"/>
<equation-count count="2"/>
<ref-count count="78"/>
<page-count count="23"/>
<word-count count="14888"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Synchronous Boolean networks (Kauffman, <xref ref-type="bibr" rid="B46">1969</xref>), as simple as they are, can encode meaningful biological information (Huang, <xref ref-type="bibr" rid="B43">1999</xref>; Bornholdt, <xref ref-type="bibr" rid="B12">2001</xref>, <xref ref-type="bibr" rid="B13">2005</xref>, <xref ref-type="bibr" rid="B14">2008</xref>; Fisher and Henzinger, <xref ref-type="bibr" rid="B33">2007</xref>). Hence, such models have emerged as valuable candidates for representing dynamics of molecular networks. At the same time, the <italic>inference</italic> of network dynamics from experimental data (sometimes called the &#x0201C;inverse problem&#x0201D;) has become increasingly relevant with the advent of high-throughput technologies. Because of their simplicity, synchronous Boolean networks could become excellent network-inference models. Nevertheless, the problem of synchronous Boolean-network inference is neglected, as efforts in Boolean-network research have mainly been devoted to <italic>analysis</italic>. Our objective is to present and illustrate the practical use of <italic>Griffin</italic>, a computer tool for the inference of synchronous Boolean networks.</p>
<sec>
<title>1.1. Inference of boolean networks</title>
<p>The inference of Boolean networks from biological data is at present coming of age. On the one hand, a methodology that has been employed to infer a number of Boolean gene regulatory networks has established itself. This methodology follows the next three steps. The first one is determining the set of genes regulating each gene, in addition to the &#x0201C;sign&#x0201D; of each regulation based on experimental results. Second, a number of constraints are considered. These constraints can be, for example, (a) a set of input-output pairs representing time-series data (Liang et al., <xref ref-type="bibr" rid="B55">1998</xref>; Akutsu et al., <xref ref-type="bibr" rid="B1">1999</xref>; L&#x000E4;hdesm&#x000E4;ki et al., <xref ref-type="bibr" rid="B51">2003</xref>; Chueh and Lu, <xref ref-type="bibr" rid="B21">2012</xref>; Haider and Pal, <xref ref-type="bibr" rid="B39">2012</xref>; Berestovsky and Nakhleh, <xref ref-type="bibr" rid="B10">2013</xref>; Han et al., <xref ref-type="bibr" rid="B40">2014</xref>; Barman and Kwon, <xref ref-type="bibr" rid="B9">2017</xref>), (b) a desired set of fixed-point attractors (Albert and Othmer, <xref ref-type="bibr" rid="B2">2003</xref>; Li et al., <xref ref-type="bibr" rid="B54">2004</xref>; Pal et al., <xref ref-type="bibr" rid="B64">2005</xref>; Mendoza, <xref ref-type="bibr" rid="B58">2006</xref>; Davidich and Bornholdt, <xref ref-type="bibr" rid="B26">2008</xref>; Tarissan et al., <xref ref-type="bibr" rid="B74">2008</xref>; La Rota et al., <xref ref-type="bibr" rid="B50">2011</xref>; Azpeitia et al., <xref ref-type="bibr" rid="B8">2013</xref>, <xref ref-type="bibr" rid="B6">2014</xref>), or (c) a set of temporal-logic constraints (Bernot et al., <xref ref-type="bibr" rid="B11">2004</xref>; Chabrier-Rivier et al., <xref ref-type="bibr" rid="B20">2004</xref>; Fages et al., <xref ref-type="bibr" rid="B32">2004</xref>; Calzone et al., <xref ref-type="bibr" rid="B17">2006a</xref>,<xref ref-type="bibr" rid="B18">b</xref>; Mateus et al., <xref ref-type="bibr" rid="B57">2007</xref>; Khalis et al., <xref ref-type="bibr" rid="B47">2009</xref>; Richard et al., <xref ref-type="bibr" rid="B65">2012</xref>). Third, search is performed to find Boolean networks consistent with the available information.</p>
<p>On the other hand, there are now many methods and algorithms for the analysis of Boolean networks that have demonstrated their effectiveness. We noticed that some of these algorithms can also be used as auxiliary techniques for the inference of network dynamics. In particular, we have selected Dubrova and Teslenko&#x00027;s (<xref ref-type="bibr" rid="B29">2011</xref>) algorithm for finding cyclic attractors in synchronous Boolean networks, Garg et al.&#x00027;s (<xref ref-type="bibr" rid="B36">2008</xref>) method for finding basins of attraction, and Naldi et al.&#x00027;s (<xref ref-type="bibr" rid="B62">2007</xref>) formula for finding fixed-point attractors. (We use the terms &#x0201C;steady state dynamics&#x0201D; and &#x0201C;fixed-point attractors&#x0201D; interchangeably.) <italic>Griffin</italic> has combined these algorithms with novel techniques, offering a tool automating many steps of the inference of molecular network dynamics.</p>
</sec>
<sec>
<title>1.2. Synchronous boolean networks</title>
<p>Boolean networks have variables representing the genes, mRNA, proteins, or any other type of molecule included in the network. Variables have only two values, and time is discrete. A <italic>state</italic> is a tuple (i.e., ordered list) of values, one for each variable. A Boolean network consists of a (finite) set of states together with a &#x0201C;transition&#x0201D; relation (sometimes also called &#x0201C;update&#x0201D; or &#x0201C;successor&#x0201D; relation).</p>
<p>In asynchronous Boolean networks, states may have more than one successor. In synchronous Boolean networks, by contrast, states have exactly one successor. Previous studies suggest that having multiple successors can provide a closer description of the biological phenomena and can eliminate dynamical artifacts (Garg et al., <xref ref-type="bibr" rid="B36">2008</xref>). There may be advantages, nevertheless, in considering synchronous networks.</p>
<list list-type="order">
<list-item><p>A first advantage appears if the properties of interest in asynchronous networks are preserved in synchronous networks. Large models treated as synchronous networks may be easier to analyze than if treated with more detailed models. It is straightforward to see that the set of fixed-point attractors of an asynchronous network is the same as in a corresponding synchronous network (Gershenson, <xref ref-type="bibr" rid="B37">2002</xref>; Bornholdt, <xref ref-type="bibr" rid="B14">2008</xref>; Garg et al., <xref ref-type="bibr" rid="B36">2008</xref>; Saadatpour et al., <xref ref-type="bibr" rid="B68">2010</xref>). The reason is that the successor of a state that is a fixed-point attractor is itself, so that the Hamming distance between such an attractor and its successor is zero. Since a synchronous network only differs from its corresponding asynchronous one in transitions with a Hamming distance greater than one, the same self-loops will be present in both. Another property that is preserved is the set of cycles in which the Hamming distance between a state and its successor is one. Yet another one is the set of &#x0201C;trap subspaces.&#x0201D; A trap subspace is a set of states, all of which have the same values for some variables, which is closed under update. Trap spaces are important in that each trap space contains at least one attractor (Klarner et al., <xref ref-type="bibr" rid="B48">2014</xref>).</p>
<p>It may be the case, however, that the properties of interest are not preserved by this reduction, so that asynchronous networks will be preferable. For some problems, therefore, synchronous networks may be more appropriate, and vice versa.</p></list-item>
<list-item><p>Synchronous Boolean networks can be valuable for methods employing non-Boolean models (such as discrete, stochastic, or differential) (Fages and Soliman, <xref ref-type="bibr" rid="B31">2008</xref>): A synchronous Boolean network that does not have an expected set of fixed-point attractors, for example, reflects the fact that there is something basically wrong in more detailed models of such a network. Hence, basic errors can be detected before using more precise models. A reason for preferring to detect such errors in a coarse model is that even in Boolean models a combinatorial explosion can readily occur, so that in finer corresponding models such an explosion is even more likely to occur.</p></list-item>
</list>
<p>The rest of this article only deals with synchronous Boolean networks. For simplicity, we will sometimes drop the &#x0201C;synchronous&#x0201D; adjective and refer to such networks simply as &#x0201C;Boolean.&#x0201D;</p>
</sec>
<sec>
<title>1.3. Outline of <italic>Griffin</italic>&#x00027;s methodology</title>
<p>In a nutshell, <italic>Griffin</italic>&#x00027;s methodology is the following. <italic>Griffin</italic> has as input a (generalization of a) &#x0201C;regulation&#x0201D; graph (sometimes also called &#x0201C;interaction&#x0201D; or &#x0201C;influence&#x0201D; graph), in addition to biological constraints, such as an expected set of either fixed-point or cyclic attractors of both the wild-type and of mutants of an organism. The output is typically a set of Boolean networks satisfying such constraints.</p>
<p>Because in <italic>Griffin</italic> the regulation graph plays a prominent role, the definition of a regulation is fundamental. <italic>Griffin</italic> uses the definition of Naldi et al. (<xref ref-type="bibr" rid="B62">2007</xref>), Richard et al. (<xref ref-type="bibr" rid="B65">2012</xref>), and Mori and Mochizuki (<xref ref-type="bibr" rid="B61">2017</xref>).</p>
<p>A regulation graph is normally an <italic>underdetermined</italic> specification of a Boolean network because even with the formal definition of regulation and sometimes also due to lack of information the regulation graph may be satisfied by many Boolean networks.</p>
<p><italic>Griffin</italic> then combines the regulation graph with the biological constraints, to reduce the number of possible networks. This is essentially done by constructing a typically large Boolean formula representing: (1) a formal definition of the regulation graph and (2) the biological constraints. This formula is then given to a &#x0201C;SAT solver.&#x0201D; These solvers employ algorithms finding value assignments to the variables occurring in the formula that make such a formula true. Each such assignment represents a possible network.</p>
<p>Notice that both the regulation graph and many of the biological constraints rely on biological information. Thus, <italic>Griffin</italic> mainly produces biological meaningful solutions (i.e., networks that are coherent with the available experimental information).</p>
<p><italic>Griffin</italic>&#x00027;s methodology required the development of multiple innovations, including the generalization of the concept of a regulation graph that we call R-graph, the gradual application of biological constraints at runtime using clause learning, and the handling of both mutations and partially known fixed-point attractors. Some of <italic>Griffin</italic>&#x00027;s innovations will be described below.</p>
</sec>
<sec>
<title>1.4. Symbolic techniques</title>
<p><italic>Griffin</italic> relies heavily on &#x0201C;symbolic&#x0201D; methods. Such methods do not represent sets explicitly, but rather codified as Boolean expressions. This allows for the representation of large sets of states, as well as the pruning of large fragments of the search space. It is important to observe that numerous off-the-shelf symbolic computational tools exist.</p>
</sec>
<sec>
<title>1.5. Background of <italic>Griffin</italic></title>
<p>The original prototype of <italic>Griffin</italic> appeared in Rosenblueth et al. (<xref ref-type="bibr" rid="B66">2014</xref>), where the authors presented a formal framework for the inference of Boolean networks from a standard regulation graph by direct application of a SAT solver to Boolean formulas codifying regulations, fixed-point attractors, and single-point mutations.</p>
<p>Examples illustrating the use of <italic>Griffin</italic> already appeared in: Rosenblueth et al. (<xref ref-type="bibr" rid="B66">2014</xref>), employing sets of desired fixed-points for mutations; Weinstein et al. (<xref ref-type="bibr" rid="B77">2015</xref>), looking for interactions that are necessary for the existence of a cyclic attractor; Garc&#x000ED;a-G&#x000F3;mez et al. (<xref ref-type="bibr" rid="B35">2017</xref>), verifying if a set of regulations was enough to obtain a desired set of expected attractors; and Azpeitia et al. (<xref ref-type="bibr" rid="B7">2017</xref>), making extensive use of hypotheses and partially defined sets of attractors for multi-point mutations.</p>
<p>Features illustrated in previous articles mentioning <italic>Griffin</italic> have been left out from this work. We demonstrate in this article <italic>Griffin</italic>&#x00027;s new functionalities through three cases studies in section 2.2.</p>
</sec>
<sec>
<title>1.6. Organization</title>
<p>The rest of this article is organized as follows. The section &#x0201C;sect:results&#x0201D; has two parts: first we give a description of <italic>Griffin</italic>, and then we turn our attention to three case studies. Next follows the section &#x0201C;sect:discussion,&#x0201D; relating our work with other approaches and summarizing our results. Section 4 gives formal definitions appearing in the pseudo-code of the algorithms. Finally, the Supplementary Material includes all query files for the case studies, and a detailed explanation of the syntax used to formulate partially defined fixed-point constraints.</p>
</sec>
</sec>
<sec sec-type="results" id="s2">
<title>2. Results</title>
<p>This section first gives an account of <italic>Griffin</italic>, and then presents three case studies.</p>
<sec>
<title>2.1. Griffin</title>
<sec>
<title>2.1.1. R-graphs</title>
<p>A first contribution of <italic>Griffin</italic> is a generalization of the ordinary regulation graph that we call &#x0201C;R-graph&#x0201D; (for &#x0201C;<underline>r</underline>egulation&#x0201D;). In an R-graph, vertices are, as in an ordinary regulation graph, molecular species. However, instead of having edges denoting only two kinds of regulation (positive or negative), an R-graph has 16 kinds of labels for edges, allowing the user to express a range of nuances of what is known about a regulation. Table <xref ref-type="table" rid="T1">1</xref> shows these 16 possible labels. In addition to having the ordinary positive and negative regulations (first two lines), we have ambiguous regulations (third line). Ambiguous regulations are regulations that depending on the &#x0201C;context&#x0201D; are negative or positive. As in ordinary regulation graphs, it is also possible to indicate the fact that we know that there is no regulation from one molecule to another (fourth line). We, however, view labels of edges as Boolean functions over the set of positive and negative regulations. This allows us to represent additional possibilities in a uniform manner. For example, we can represent the contingency in which we know that in certain contexts a regulation is positive, but we do not know whether or not there are other contexts where such a regulation is negative. This case would correspond to the fifth line (&#x0201C;Mandatory, positive, possibly ambiguous&#x0201D;).</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Interpretation of the 16 R-regulations between vertices <italic>u</italic> and <italic>v</italic> for an R-graph.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Depiction</bold></th>
<th valign="top" align="left"><bold>Meaning</bold></th>
<th valign="top" align="left"><bold>Acronym</bold></th>
<th valign="top" align="center"><bold>Formula</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0001.tif"/></td>
<td valign="top" align="left">Mandatory, positive, unambiguous</td>
<td valign="top" align="left">MPU</td>
<td valign="top" align="center"><italic>R</italic><sup>&#x0002B;</sup>&#x02227;&#x000AC;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0002.tif"/></td>
<td valign="top" align="left">Mandatory, negative, unambiguous</td>
<td valign="top" align="left">MNU</td>
<td valign="top" align="center">&#x000AC;<italic>R</italic><sup>&#x0002B;</sup>&#x02227;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0003.tif"/></td>
<td valign="top" align="left">Mandatory, ambiguous</td>
<td valign="top" align="left">MA</td>
<td valign="top" align="center"><italic>R</italic><sup>&#x0002B;</sup>&#x02227;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td/>
<td valign="top" align="left">No regulation</td>
<td valign="top" align="left">NR</td>
<td valign="top" align="center">&#x000AC;<italic>R</italic><sup>&#x0002B;</sup>&#x02227;&#x000AC;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0004.tif"/></td>
<td valign="top" align="left">Mandatory, positive, possibly ambiguous</td>
<td valign="top" align="left">MPPA</td>
<td valign="top" align="center"><italic>R</italic><sup>&#x0002B;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0005.tif"/></td>
<td valign="top" align="left">Mandatory, negative, possibly ambiguous</td>
<td valign="top" align="left">MNPA</td>
<td valign="top" align="center"><italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0006.tif"/></td>
<td valign="top" align="left">Mandatory, unknown sign, unambiguous</td>
<td valign="top" align="left">MUSU</td>
<td valign="top" align="center">&#x000AC;(<italic>R</italic><sup>&#x0002B;</sup> &#x02194; <italic>R</italic><sup>&#x02212;</sup>)</td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0007.tif"/></td>
<td valign="top" align="left">Mandatory, unknown sign, possibly ambiguous</td>
<td valign="top" align="left">MUSPA</td>
<td valign="top" align="center"><italic>R</italic><sup>&#x0002B;</sup>&#x02228;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0008.tif"/></td>
<td valign="top" align="left">Optional, positive, unambiguous</td>
<td valign="top" align="left">OPU</td>
<td valign="top" align="center">&#x000AC;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0009.tif"/></td>
<td valign="top" align="left">Optional, negative, unambiguous</td>
<td valign="top" align="left">ONU</td>
<td valign="top" align="center">&#x000AC;<italic>R</italic><sup>&#x0002B;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0010.tif"/></td>
<td valign="top" align="left">Optional, ambiguous</td>
<td valign="top" align="left">OA</td>
<td valign="top" align="center">(<italic>R</italic><sup>&#x0002B;</sup>&#x02194;<italic>R</italic><sup>&#x02212;</sup>)</td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0011.tif"/></td>
<td valign="top" align="left">Optional, positive, possibly ambiguous</td>
<td valign="top" align="left">OPPA</td>
<td valign="top" align="center"><italic>R</italic><sup>&#x0002B;</sup>&#x02228;&#x000AC;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0012.tif"/></td>
<td valign="top" align="left">Optional, negative, possibly ambiguous</td>
<td valign="top" align="left">ONPA</td>
<td valign="top" align="center">&#x000AC;<italic>R</italic><sup>&#x0002B;</sup>&#x02228;<italic>R</italic><sup>&#x02212;</sup></td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0013.tif"/></td>
<td valign="top" align="left">Optional, unknown sign, unambiguous</td>
<td valign="top" align="left">OUSU</td>
<td valign="top" align="center">&#x000AC;(<italic>R</italic><sup>&#x0002B;</sup>&#x02227;<italic>R</italic><sup>&#x02212;</sup>)</td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0014.tif"/></td>
<td valign="top" align="left">Contradiction</td>
<td valign="top" align="left">False</td>
<td valign="top" align="center">0</td>
</tr>
<tr>
<td valign="top" align="left"><inline-graphic xlink:href="fgene-09-00039-i0015.tif"/></td>
<td valign="top" align="left">Tautology</td>
<td valign="top" align="left">True</td>
<td valign="top" align="center">1</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>Each R-regulation is denoted by an acronym. Leaving out trivial regulations false, NR, and true, R-regulations can be classified as optional or mandatory. In the case of no regulation (NR), edges are not depicted. The last column shows the constraint added by Griffin in each case (R<sup>&#x0002B;</sup> denotes a positive regulation from u to v for the Boolean network f (R<sup>&#x0002B;</sup>(u, f, v)), R<sup>&#x02212;</sup> a negative regulation (R<sup>&#x02212;</sup>(u, f, v)), see definition 3)</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>Other interesting situations are the optional regulations. Such regulations can be used to test or predict putative regulations. Just as in mandatory regulations, the sign of optional regulations can vary. For instance, the first optional line (&#x0201C;Optional, positive, unambiguous&#x0201D;) represents a situation where we wish to allow for the possibility of no regulation, but in case there is one it should be positive and cannot be negative. In line 14 (last line before &#x0201C;Contradiction&#x0201D;), by contrast, we allow for the possibility of a positive regulation, a negative regulation, or no regulation.</p>
<p>The last column of Table <xref ref-type="table" rid="T1">1</xref> shows the corresponding Boolean function over positive and negative regulations (<italic>R</italic><sup>&#x0002B;</sup> and <italic>R</italic><sup>&#x02212;</sup>), defined in section 4.</p>
<p>We can thus represent any combination of necessity and possibility for positive and negative regulations. This generalization includes two trivial functions (Contradiction and Tautology) listed in the last two lines of Table <xref ref-type="table" rid="T1">1</xref>.</p>
</sec>
<sec>
<title>2.1.2. Meaning of a regulation</title>
<p>The next question we have to address is the <italic>meaning</italic> of a (positive or negative) &#x0201C;functional regulation&#x0201D; (i.e., <italic>R</italic><sup>&#x0002B;</sup> and <italic>R</italic><sup>&#x02212;</sup>). This meaning is important in the sense that it establishes a connection between regulation graphs (or R-graphs) and state graphs. We take the meaning proposed by Naldi et al. (<xref ref-type="bibr" rid="B62">2007</xref>) (and used also by Richard et al., <xref ref-type="bibr" rid="B65">2012</xref> and Mori and Mochizuki, <xref ref-type="bibr" rid="B61">2017</xref>). According to this definition, a regulation is functional if it is sufficient to modify the activity of the regulated variable in a non-empty set of (molecular) contexts. A context is a specific combination of values of all other variables. Observe that it is the formal definition of regulation (Defn. 3) that allows us to define R-graphs. Some previous works (e.g., Espinosa-Soto et al., <xref ref-type="bibr" rid="B30">2004</xref>) have inferred gene network dynamics manually, and without employing a formal definition of regulation. As a result, it is not clear in such inferences whether or not all possibilities of networks that are coherent with the experimental information have been explored.</p>
<table-wrap position="float">
<label>Algorithm 1</label>
<caption><p>Griffin strategy for network iteration</p></caption>
<graphic xlink:href="fgene-09-00039-i0016.tif"/>
</table-wrap>
</sec>
<sec>
<title>2.1.3. Tractability of boolean-network inference</title>
<p>Apart from an R-graph, an important input to <italic>Griffin</italic> can be a desired set of attractors (be they fixed-point or cyclic). Writing a Boolean formula representing a desired fixed-point, for instance, is straightforward (Rosenblueth et al., <xref ref-type="bibr" rid="B66">2014</xref>). Hence, a set of such fixed-points can be represented as the conjunction (the &#x0201C;AND&#x0201D; function) of such formulas. The resulting formula, however, does not say anything about the <italic>unwanted</italic> fixed-points, and the solution networks might have additional fixed-points. Although such solutions, with additional fixed-points, might be acceptable, it may also be the case that we do not wish additional fixed-points. We must then explicitly express so in the Boolean formula (a &#x0201C;clause&#x0201D;), so as to block each unwanted fixed-point from solutions. This situation is analogous to the &#x0201C;frame problem&#x0201D; (Shanahan, <xref ref-type="bibr" rid="B70">1997</xref>) in Artificial Intelligence. As a result, a direct approach to coding an <italic>exact</italic> set of fixed-point attractors (not allowing additional ones) produces a formula whose size is proportional to the number of states (i.e., exponential in the number of molecular species). Such an approach is not scalable. Moreover, if we are looking for solutions with no cyclic attractors, then coding this into a Boolean formula results in an intractable combinatorial explosion even for small networks.</p>
<p>Armed with Dubrova and Teslenko&#x00027;s (<xref ref-type="bibr" rid="B29">2011</xref>) method for detecting attractors in synchronous Boolean networks, <italic>Griffin</italic> does not block all unwanted attractors in the initial formula, but performs a &#x0201C;lazy&#x0201D; blocking, gradually adding the subformulas of unwanted attractors that appear in potential solutions. This technique, called &#x0201C;clause learning&#x0201D; (Franco and Martin, <xref ref-type="bibr" rid="B34">2009</xref>), is used in SAT solvers, but at a lower level than <italic>Griffin</italic> does.</p>
<p>Table <xref ref-type="table" rid="T2">2</xref> shows how the gradual application of biological constraints at runtime is able to tackle all queries in our case studies. <italic>Griffin</italic> exhibits a significant increase in scalability as compared with the 2014 prototype of <italic>Griffin</italic> that did not have this feature.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Scalability increase through clause learning in <italic>Griffin</italic>.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left" colspan="4" style="border-bottom: thin solid #000000;"><bold>R-graph size</bold></th>
<th valign="top" align="center" style="border-bottom: thin solid #000000;"><bold>No. of Boolean networks</bold></th>
<th valign="top" align="center" colspan="3" style="border-bottom: thin solid #000000;"><bold>Exclusion of attractors</bold></th>
</tr>
<tr>
<th valign="top" align="left"><bold><italic>n</italic></bold></th>
<th valign="top" align="center"><bold><italic>m</italic></bold></th>
<th valign="top" align="center" colspan="2" style="border-bottom: thin solid #000000;"><bold>indegree</bold></th>
<th valign="top" align="center"><bold><inline-formula><mml:math id="M1"><mml:msubsup><mml:mrow><mml:mo>&#x0220F;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></bold></th>
<th valign="top" align="center"><bold>No. of exclusionary clauses</bold></th>
<th valign="top" align="center" colspan="2" style="border-bottom: thin solid #000000;"><italic><bold>Griffin</bold></italic></th>
</tr>
<tr>
<th/>
</tr>
</thead>
<tbody>
<tr>
<td/>
<td/>
<td valign="top" align="center"><italic><bold>d</bold></italic></td>
<td valign="top" align="center">&#x00023;</td>
<td/>
<td valign="top" align="center"><inline-formula><mml:math id="M2"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>!</mml:mo><mml:mo>/</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>!</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td valign="top" align="center"><italic><italic><bold>NE</bold></italic></italic></td>
<td valign="top" align="center"><italic><italic><bold>CL</bold></italic></italic></td>
</tr> <tr>
<td valign="top" align="left" colspan="8"><bold>Small R-graphs with constant indegree</bold></td>
</tr>
<tr>
<td valign="top" align="left">1</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">&#x02713;</td>
<td valign="top" align="center">&#x02713;</td>
</tr>
<tr>
<td valign="top" align="left">2</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">24</td>
<td valign="top" align="center">&#x02713;</td>
<td valign="top" align="center">&#x02713;</td>
</tr>
<tr>
<td valign="top" align="left">2</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">256</td>
<td/>
<td/>
<td/>
</tr>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">64</td>
<td valign="top" align="center">16, 072</td>
<td valign="top" align="center">&#x02713;</td>
<td valign="top" align="center">&#x02713;</td>
</tr>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">4,096</td>
<td/>
<td/>
<td/>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="left">3</td>
<td valign="top" align="center">9</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">16,777,216</td>
<td/>
<td/>
<td/>
</tr> <tr>
<td valign="top" align="left" colspan="8"><bold><italic>A. thaliana</italic> root (questions 5 and 6)</bold></td>
</tr>
<tr>
<td valign="middle" align="left" rowspan="7">11</td>
<td valign="middle" align="center" rowspan="7">50</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">1</td>
<td valign="middle" align="center" rowspan="7">4.9 &#x000D7; 10<sup>173</sup></td>
<td valign="middle" align="center" rowspan="7">2.2 &#x000D7; 10<sup>5,891</sup></td>
<td valign="middle" align="center" rowspan="7">&#x02717;</td>
<td valign="middle" align="center" rowspan="7">&#x02713;</td>
</tr>
<tr>
<td valign="top" align="center">3</td>
<td valign="top" align="center">2</td>
</tr>
<tr>
<td valign="top" align="center">4</td>
<td valign="top" align="center">3</td>
</tr>
<tr>
<td valign="top" align="center">5</td>
<td valign="top" align="center">2</td>
</tr>
<tr>
<td valign="top" align="center">6</td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="center">7</td>
<td valign="top" align="center">1</td>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="center">8</td>
<td valign="top" align="center">1</td>
</tr> <tr>
<td valign="top" align="left" colspan="8"><italic><bold>A. thaliana</bold></italic> <bold>modified root (question 7)</bold></td>
</tr>
<tr>
<td valign="middle" align="left" rowspan="6">11</td>
<td valign="middle" align="center" rowspan="6">90</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">1</td>
<td valign="middle" align="center" rowspan="6">4.8 &#x000D7; 10<sup>1,661</sup></td>
<td valign="middle" align="center" rowspan="6">2.2 &#x000D7; 10<sup>5,891</sup></td>
<td valign="middle" align="center" rowspan="6">&#x02717;</td>
<td valign="middle" align="center" rowspan="6">&#x02713;</td>
</tr>
<tr>
<td valign="top" align="center">7</td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="center">8</td>
<td valign="top" align="center">5</td>
</tr>
<tr>
<td valign="top" align="center">9</td>
<td valign="top" align="center">2</td>
</tr>
<tr>
<td valign="top" align="center">10</td>
<td valign="top" align="center">1</td>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="center">11</td>
<td valign="top" align="center">1</td>
</tr> <tr>
<td valign="top" align="left" colspan="8"><italic><bold>A. thaliana</bold></italic> <bold>flower (questions 1</bold>, <bold>2, and 3)</bold></td>
</tr>
<tr>
<td valign="middle" align="left" rowspan="7">13</td>
<td valign="middle" align="center" rowspan="7">45</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">5</td>
<td valign="middle" align="center" rowspan="7">1.3 &#x000D7; 10<sup>151</sup></td>
<td valign="middle" align="center" rowspan="7">4.2 &#x000D7; 10<sup>28,499</sup></td>
<td valign="middle" align="center" rowspan="7">&#x02717;</td>
<td valign="middle" align="center" rowspan="7">&#x02713;</td>
</tr>
<tr>
<td valign="top" align="center">2</td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="center">3</td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="center">4</td>
<td valign="top" align="center">2</td>
</tr>
<tr>
<td valign="top" align="center">6</td>
<td valign="top" align="center">2</td>
</tr>
<tr>
<td valign="top" align="center">7</td>
<td valign="top" align="center">1</td>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="center">8</td>
<td valign="top" align="center">1</td>
</tr> <tr>
<td valign="top" align="left" colspan="8"><italic><bold>A. thaliana</bold></italic> <bold>sepal (question 4)</bold></td>
</tr>
<tr>
<td valign="middle" align="left" rowspan="3">21</td>
<td valign="middle" align="center" rowspan="3">32</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">12</td>
<td valign="middle" align="center" rowspan="3">2.9 &#x000D7; 10<sup>20</sup></td>
<td valign="middle" align="center" rowspan="3">8.6 &#x000D7; 10<sup>12,346,634</sup></td>
<td valign="middle" align="center" rowspan="3">&#x02717;</td>
<td valign="middle" align="center" rowspan="3">&#x02713;</td>
</tr>
<tr>
<td valign="top" align="center">2</td>
<td valign="top" align="center">7</td>
</tr>
<tr>
<td valign="top" align="center">3</td>
<td valign="top" align="center">2</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>The first four columns (from the left) are the R-graph parameters used in a query. The first column shows the number of vertices, n; the second column shows the number of edges, m; the thrid column, labeled d, is an indegree, while the fourth column, labeled &#x00023;, is the number of vertices in the R-graph having indegree d. The fifth column, no. of Boolean networks, is an upper bound of the number of satisfying Boolean networks. The last three columns give an idea of the difficulty of achieving an exclusion of attractors in Griffin&#x00027;s solutions through two different strategies. These columns show an estimate of the number of clauses required to exclude all possible attractors (column labeled no. of exclusionary clauses) and whether adding such constraint is tractable using naive encoding (column labeled NE) or using clause learning (column labeled CL). Naive encoding is the strategy used in early versions of Griffin and consists of adding in advance all constraints to the formula that prohibit the unwanted attractors. With naive encoding, the size of the formula required to enforce an exact set of desired attractors is too big in all case studies presented here (although question 4 do not ask for such condition), while clause learning allows Griffin to provide answers to all queries. Clause learning endows Griffin with a significant improvement in scalability</italic>.</p>
</table-wrap-foot>
</table-wrap>
<table-wrap position="float">
<label>Algorithm 2</label>
<caption><p>Radial exploration strategy for query splitting</p></caption>
<graphic xlink:href="fgene-09-00039-i0017.tif"/>
</table-wrap>
</sec>
<sec>
<title>2.1.4. Partially known state transitions</title>
<p><italic>Griffin</italic> is able to represent partially known state transitions, in particular those corresponding to fixed-point attractors where the value of some species is unknown.</p>
</sec>
<sec>
<title>2.1.5. Whole queries and query splitting</title>
<p>It is also possible to have certain user control in the search for Boolean networks through an operating mode called <italic>query splitting</italic>. In the query-splitting mode, <italic>Griffin</italic> can (1) first instantiate an R-graph into all possible ordinary regulation graphs, (2) next obtain answers for each such instance, and (3) finally combine all resulting answers. It may be useful to partition a problem this way, as the time required to solve all instances might be less than the time required for solving the original query. Figure <xref ref-type="fig" rid="F1">1</xref> shows an example of query splitting using the &#x0201C;radial&#x0201D; exploration strategy (see Algorithm 2).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p><bold>Left:</bold> An R-graph <italic>G</italic>. <bold>Right:</bold> The set of all instantiations of <italic>G</italic>, <italic>G</italic><sub><italic>G</italic></sub> (see definition 12). In the radial exploration strategy used by <italic>Griffin</italic> there are two centers contained in the continuous ovals. The nested dotted ovals illustrate regulation graphs that are at a certain radius from each center: continuous oval for radius 0, inner dotted ovals for radius 1, second inner dotted ovals for radius 2 and so on. In this example, each regulation graph of <italic>G</italic><sub><italic>G</italic></sub> corresponds to an R-graph of a query member of a query splitting. The strategy used for this query splitting is shown in Algorithm 2. In general, the number of queries in the query splitting does not correspond to the number of instantiations of an R-graph, due to the fact that a member of the splitting may not have satisfying solutions, while all instantiations of <italic>G</italic> have satisfying solutions.</p></caption>
<graphic xlink:href="fgene-09-00039-g0001.tif"/>
</fig>
<table-wrap position="float">
<label>Algorithm 3</label>
<caption><p>Exploration of sets of fixed point attractors</p></caption>
<graphic xlink:href="fgene-09-00039-i0018.tif"/>
</table-wrap>
<p>In the radial exploration strategy, an ordinary regulation graph resulting from removing all optional regulations of an R-graph, called a <italic>center</italic>, is obtained. Next, combinations of optional regulations are added to the obtained center. The number of optional regulations added to the center is called the <italic>radius</italic>.</p>
</sec>
<sec>
<title>2.1.6. <italic>Griffin</italic>&#x00027;s structure</title>
<p>Algorithm 1 shows the exploration strategy used by <italic>Griffin</italic> to find the set of satisfying solutions to a query. Figure <xref ref-type="fig" rid="F2">2</xref> depicts the processing of a query by <italic>Griffin</italic>.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Schematic of <italic>Griffin&#x00027;s</italic> information flow. The query at the top-left corner is first parsed. Depending on the options it is either directly encoded into a Boolean formula or split into simpler queries. The Boolean formula is fed into a SAT solver. Each satisfying assignment returned by the SAT solver is decoded into a synchronous Boolean network, a candidate solution. It is also possible that the SAT solver concludes that the formula is a contradiction, that is, there are no synchronous Boolean networks satisfying the query. If a candidate solution is found, blocking constraints prevent finding the same solution twice. Further properties of the candidate solution are verified, possibly resulting in the generation of additional constraints. The <italic>runtime blocking</italic> analysis concludes with the rejection or acceptance of the candidate solution. If no candidate solution passes the <italic>runtime blocking</italic> analysis, then <italic>Griffin</italic> concludes there are no satisfying solutions to the query.</p></caption>
<graphic xlink:href="fgene-09-00039-g0002.tif"/>
</fig>
</sec>
</sec>
<sec>
<title>2.2. Case studies</title>
<p>We demonstrate <italic>Griffin</italic>&#x00027;s functionalities with three different Boolean network models taken from the literature. The first example allows us to illustrate queries for (a) finding Boolean networks given an R-graph, (b) finding the sets of fixed-point attractors of the Boolean networks of a given R-graph, and (c) finding Boolean networks given an R-graph and a desired set of fixed-point attractors.</p>
<p>The second example is devoted to hypothetical regulations. Such regulations will enable us to exemplify <italic>Griffin</italic>&#x00027;s whole-query vs. query-splitting approaches.</p>
<p>The third example shows how uncertainty in the steady state behavior of a system can be effectively expressed by combining partially known fixed-point attractors and explicit exclusions of fixed-point attractors.</p>
<p>Some features, such as the use of constraints on mutants and specification of desired cyclic attractors, have been left out from this article. However, we have illustrated the use of these capabilities in previous articles (Rosenblueth et al., <xref ref-type="bibr" rid="B66">2014</xref>; Weinstein et al., <xref ref-type="bibr" rid="B77">2015</xref>; Azpeitia et al., <xref ref-type="bibr" rid="B7">2017</xref>; Garc&#x000ED;a-G&#x000F3;mez et al., <xref ref-type="bibr" rid="B35">2017</xref>).</p>
<sec>
<title>2.2.1. First case study: <italic>Arabidopsis thaliana</italic> flower model</title>
<p>We start by taking the <italic>A. thaliana</italic> floral organ determination gene regulatory network model developed by Alvarez-Buylla et al. (<xref ref-type="bibr" rid="B3">2010</xref>) (henceforth referred to as <italic>A. thaliana</italic> flower model). In their work (Mendoza and Alvarez-Buylla, <xref ref-type="bibr" rid="B59">1998</xref>; Mendoza et al., <xref ref-type="bibr" rid="B60">1999</xref>; Espinosa-Soto et al., <xref ref-type="bibr" rid="B30">2004</xref>; Alvarez-Buylla et al., <xref ref-type="bibr" rid="B3">2010</xref>), these authors report that this network is capable of reproducing the stable gene expression observed during the development of the flower organs, plus some inflorescence stages. Observe that these authors do not use a formal definition of regulation. Moreover, the search for networks satisfying the regulation graph (built from the literature) is done manually and without employing the expected set of fixed points to guide the search. Normally, these authors report only <italic>one</italic> Boolean network consistent with the regulation graph and recovering a set of fixed points coherent with the experimental information. We will show our attempts at reproducing their last results (Alvarez-Buylla et al., <xref ref-type="bibr" rid="B3">2010</xref>) with <italic>Griffin</italic>.</p>
<sec>
<title>2.2.1.1. Regulation graph as input</title>
<p>We first illustrate a direct attempt at trying to recover the 10 known fixed-points (i.e., steady states) for the model of <italic>A. thaliana</italic> without using the desired set of fixed-points as input. This approach assumes that genes do not oscillate. This assumption can be justified by observing that even with such a constraint we did not recover the desired set of steady states. Hence, if we allowed for the possibility of cyclic attractors, thus enlarging the size of the search space, we would be even less likely to recover the desired set of fixed-point attractors.</p>
<p>Question 1. <italic>The first question we asked Griffin was</italic>: What are the <italic>Boolean networks</italic> satisfying the known regulation graph of the <italic>A. thaliana</italic> flower model (Figure <xref ref-type="fig" rid="F3">3A</xref>) and that do not have cyclic attractors?</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Regulation graphs for <italic>A. thaliana</italic> models used in the section Case Studies. <bold>(A)</bold> Flower development model of Alvarez-Buylla et al. (<xref ref-type="bibr" rid="B3">2010</xref>). Nodes <italic>LUG</italic> and <italic>CLF</italic> have been omitted from the diagram because they are constant inputs to the model. <bold>(B)</bold> Sepal primordium polarity model of La Rota et al. (<xref ref-type="bibr" rid="B50">2011</xref>). For all figures: positive regulations are shown as green lines with arrow tips, negative regulations are shown as red lines with orthogonal line tips, dashed lines represent hypothetical interactions (it is unknown whether they are present or not). Blue dashed lines with square tips represent hypothetical interactions of unknown sign. <bold>(C)</bold> Root cell stem niche model of Azpeitia et al. (<xref ref-type="bibr" rid="B8">2013</xref>). <bold>(D)</bold> Modified root cell stem niche model of Azpeitia et al. (<xref ref-type="bibr" rid="B8">2013</xref>) is shown with several new hypotheses.</p></caption>
<graphic xlink:href="fgene-09-00039-g0003.tif"/>
</fig>
<p>Listing 1 in Supplementary Material shows the corresponding query as posed to <italic>Griffin</italic>. <italic>Griffin</italic>&#x00027;s answer was positive, giving a large number of satisfying Boolean networks before exhausting the available resources. We hence limited to 100 the number of answers. These answers, however, were similar to each other, and none of them had the desired set of fixed-point attractors. Consequently, we devised search strategies to look for diversity in the answers.</p>
<p>Question 2. <italic>What are the possible distinct</italic> fixed-point attractor sets <italic>(FPASs) for Boolean networks compatible with the known regulatory interactions of <italic>A. thaliana</italic> flower model and that do not have cyclic dynamics?</italic></p>
<p>Normally, <italic>Griffin</italic> can be used through a query language. However, if such a language is not expressive enough for the desired query, it is possible to run <italic>Griffin</italic> through its <underline>a</underline>pplication <underline>p</underline>rogramming <underline>i</underline>nterface (API). Algorithm 3 exemplifies the use of <italic>Griffin</italic> via its API. This algorithm computes distinct FPASs. To prevent the possibility of finding the same combination more than once, there is a blocking constraint representing the negation of that particular FPAS.</p>
<p>It is important to note that this search algorithm is not complete, in the sense that some FPASs may be excluded from the answer as a result of the blocking strategy. Adding a blocking clause not only prevents a particular FPAS from being found again; it also blocks all FPASs that are a superset of the FPAS of a satisfying solution found by <italic>Griffin</italic>. If the whole set of FPASs is required, this algorithm would have to be modified with more sophisticated blocking techniques. In our case, this was not deemed necessary because the computation of the sample of FPASs already exhausted the computational resources.</p>
<p><italic>Griffin</italic> found 2,896 Boolean networks. The sets of attractors were not only distinct but some of them also had distinct cardinalities. The minimum number of fixed-point attractors for the networks in the sample was two; the maximum was 15. We found 133 different fixed-point attractors in such a sample. Of the 10 desired fixed-point attractors that are compatible with the regulation graph for <italic>A. thaliana</italic> flower (Figure <xref ref-type="fig" rid="F3">3A</xref>), <italic>Griffin</italic> was only able to find nine, as explained in Figure <xref ref-type="fig" rid="F4">4</xref>.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>A sample of 133 fixed-point attractors that are compatible with the interaction graph of Figure <xref ref-type="fig" rid="F3">3A</xref>. Black squares represent expressed genes; gray squares represent unexpressed genes. From bottom-left to top-right, there are seven groups of 19 rows and 13 columns each. Each column is labeled with a particular gene. Each row is an expression profile for the 13 genes and corresponds to a compatible fixed-point attractor for the regulations present in the interaction graph. At the top-right corner the 10 known fixed-point attractors corresponding to the cell types: inflorescence shoot apical meristem <italic>I1, I2, I3, I4</italic>; sepal <italic>SE</italic>; petal <italic>PE1, PE2</italic>; stamen <italic>ST1, ST2</italic>; and carpel <italic>CA</italic>. Nine of the 10 fixed-point attractors present in the sample have been highlighted in green. The algorithm used to generate the sample did not find the <italic>I4</italic> profile highlighted in red.</p></caption>
<graphic xlink:href="fgene-09-00039-g0004.tif"/>
</fig>
<p>To assess the diversity of the sample, we analyzed the similarity of the FPASs between each pair of found networks. Figure <xref ref-type="fig" rid="F5">5</xref> is a visualization of the similarity matrix computed for the 2,896 networks in the sample. The visualization shows not only that many FPASs share common elements, but also that there are significant number of them that do not share any fixed-point attractor (2,896<sup>2</sup> &#x000D7; 0.46 entries in the matrix are zeros; that is, 46% of pairs are completely different in their fixed-point attractors). Our conclusion is that results produced by <italic>Griffin</italic> show that there is a significant diversity of fixed-point attractors in Boolean networks with dynamics compatible with a given regulation graph (see Figure <xref ref-type="fig" rid="F6">6</xref>).</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Similarity matrix of sets of fixed-point attractors for a sample of 2,896 Boolean networks satisfying the interaction graph of <italic>A. thaliana</italic> flower model shown in Figure <xref ref-type="fig" rid="F3">3A</xref> and that do not have cyclic attractors. The similarity matrix shows the degree to which different sets of fixed-point attractors share the same elements. Each row and column represents a particular witness. The entry (<italic>i, j</italic>) represents the similarity between the fixed-point attractor sets of witness <italic>i</italic> and witness <italic>j</italic>. The maximum similarity between two networks equals 1 if they have the same set of fixed-points. Algorithm 3 ensures that the witnesses have different sets of fixed-point attractors. Therefore, the only entries in the similarity matrix that are equal to one are in the diagonal. The minimum similarity between two networks is zero. This happens when the intersection of their sets of fixed-point attractors is empty. High values of similarity are colored red while low values of similarity are colored blue. Zero similarity corresponds to black. The similarity of two sets was found using the cosine similarity given by <inline-formula><mml:math id="M3"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x02016;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x02016;</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x02016;</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x02016;</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math></inline-formula> where <italic>x</italic> and <italic>y</italic> are binary vectors encoding the presence or absence of different fixed-point attractors.</p></caption>
<graphic xlink:href="fgene-09-00039-g0005.tif"/>
</fig>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>A histogram with 30 bins, showing the distribution of entries in the similarity matrix of Figure <xref ref-type="fig" rid="F5">5</xref>. Low similarity values are more frequent than high similarities reflecting high diversity in the sets of fixed-point attractors.</p></caption>
<graphic xlink:href="fgene-09-00039-g0006.tif"/>
</fig>
<p>Note that a regulation graph (without biological constraints) can be satisfied by a vast number of Boolean networks corresponding to different dynamic behaviors. Therefore, in addition to the regulation graph, biological constraints on <italic>Griffin</italic>&#x00027;s input (as the set of desired attractors) are important for producing more accurate Boolean networks.</p>
<p>We show next that <italic>Griffin</italic> was able to find fully compliant Boolean networks once steady-state constraints were added to the query.</p>
</sec>
<sec>
<title>2.2.1.2. Regulation graph plus expected set of attractors as input</title>
<p>Question 3. <italic>The third question we asked Griffin was</italic>: Are there any Boolean networks satisfying the known regulatory interactions of the <italic>A. thaliana</italic> flower model that have exactly the known set of fixed-point attractors?</p>
<p>Listing 2 in Supplementary Material has a new constraint with respect to the previous query, asking <italic>Griffin</italic> to limit the search to those Boolean networks having exactly the set of known fixed-point attractors of Figure <xref ref-type="fig" rid="F4">4</xref>. As with the previous question, <italic>Griffin</italic>&#x00027;s answer was positive, giving a large number of satisfying Boolean networks. Before exhausting the resources, <italic>Griffin</italic> found 328,565 Boolean networks satisfying the constraints. We observe that were it not for the fact that <italic>Griffin</italic> blocks attractors <italic>on the fly</italic> (as opposed to blocking unwanted attractors in advance), the resources would be exhausted when building the formula (given the length of the formula required for blocking any additional fixed-point or cyclic attractor). After adding to the input the set of desired attractors, the number of solutions was still vast. <italic>Griffin</italic> allows adding constrains that could reduce even more the number of solutions. An example of such constraints is the effect of mutations on the set of attractors (Rosenblueth et al., <xref ref-type="bibr" rid="B66">2014</xref>; Azpeitia et al., <xref ref-type="bibr" rid="B7">2017</xref>).</p>
<p>As well as inferring Boolean networks, <italic>Griffin</italic> can be used to perform analysis, as we show next. Figure <xref ref-type="fig" rid="F7">7</xref> depicts a state space diagram for the 10 basins of attraction for the network having the combination reported in the sixth row of Table <xref ref-type="table" rid="T3">3</xref>. Our results would suggest that gene regulatory networks are robust allowing them to be stable in developmental and evolutionary scales, as observed for flowers (Drinnan et al., <xref ref-type="bibr" rid="B28">1994</xref>).</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Depiction of basins of attraction for the ten known fixed-point attractors corresponding to the Boolean network having the combination of basin sizes reported in the sixth row in Table <xref ref-type="table" rid="T3">3</xref>. The biggest component with 2,488 states corresponding to ST2 is colored red, the second biggest with 2,432 states, corresponds to CA and is colored light blue, I1 is colored purple, I2 dark green, I3 dark blue, I4 orange, SE brown, PE1, the smallest component with only four states, is colored yellow, PE2 pink and ST1 light green. The fixed-point attractors are represented by bigger circles than those of non stationary states. <italic>Griffin</italic> use the algorithm of Dubrova and Teslenko (<xref ref-type="bibr" rid="B29">2011</xref>) to compute the attractors of the Boolean networks. Binary Decision Diagrams and the backward reachable set algorithm of Garg et al. (<xref ref-type="bibr" rid="B36">2008</xref>) are applied to each attractor to compute their corresponding basins.</p></caption>
<graphic xlink:href="fgene-09-00039-g0007.tif"/>
</fig>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Frequency of sizes of basins of attraction for the 10 known fixed-point attractors of Figure <xref ref-type="fig" rid="F4">4</xref> in a sample of 328,565 Boolean networks found by <italic>Griffin</italic> that recover the exact set of fixed-point attractors.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>I1</bold></th>
<th valign="top" align="center"><bold>I2</bold></th>
<th valign="top" align="center"><bold>I3</bold></th>
<th valign="top" align="center"><bold>I4</bold></th>
<th valign="top" align="center"><bold><italic>SE</italic></bold></th>
<th valign="top" align="center"><bold>PE1</bold></th>
<th valign="top" align="center"><bold>PE2</bold></th>
<th valign="top" align="center"><bold>CA</bold></th>
<th valign="top" align="center"><bold>ST1</bold></th>
<th valign="top" align="center"><bold>ST2</bold></th>
<th valign="top" align="center"><bold>Num. of networks</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">896</td>
<td valign="top" align="center">896</td>
<td valign="top" align="center">512</td>
<td valign="top" align="center">512</td>
<td valign="top" align="center">2,596</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">2,592</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">96</td>
<td valign="top" align="center">156,227</td>
</tr>
<tr>
<td valign="top" align="left">884</td>
<td valign="top" align="center">884</td>
<td valign="top" align="center">524</td>
<td valign="top" align="center">524</td>
<td valign="top" align="center">2,596</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">2,592</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">96</td>
<td valign="top" align="center">95,352</td>
</tr>
<tr>
<td valign="top" align="left">908</td>
<td valign="top" align="center">908</td>
<td valign="top" align="center">500</td>
<td valign="top" align="center">500</td>
<td valign="top" align="center">2,596</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">2,592</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">96</td>
<td valign="top" align="center">57,725</td>
</tr>
<tr>
<td valign="top" align="left">968</td>
<td valign="top" align="center">968</td>
<td valign="top" align="center">440</td>
<td valign="top" align="center">440</td>
<td valign="top" align="center">2,596</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">2,592</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">96</td>
<td valign="top" align="center">19,259</td>
</tr>
<tr>
<td valign="top" align="left">896</td>
<td valign="top" align="center">896</td>
<td valign="top" align="center">512</td>
<td valign="top" align="center">512</td>
<td valign="top" align="center">2,588</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">2,584</td>
<td valign="top" align="center">52</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">104</td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="left">916</td>
<td valign="top" align="center">916</td>
<td valign="top" align="center">524</td>
<td valign="top" align="center">524</td>
<td valign="top" align="center">164</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">168</td>
<td valign="top" align="center">2,432</td>
<td valign="top" align="center">56</td>
<td valign="top" align="center">2,488</td>
<td valign="top" align="center">1</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>Cyclic attractors were prohibited in the query. There are only six different combinations of basin sizes. The last column shows the number of Boolean networks having the corresponding combinations of basin sizes</italic>.</p>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec>
<title>2.2.2. Second case study: <italic>A. thaliana</italic> sepal primordium polarity</title>
<p>La Rota et al. (<xref ref-type="bibr" rid="B50">2011</xref>) developed a model of sepal primordium polarity in the young flower of <italic>A. thaliana</italic>. These authors defined a set of expected attractors by analyzing the expression patterns of the most important genes during sepal development. Then, using published data, they defined the set of known regulatory interactions and looked for putative binding sites indicating putative missing regulatory interactions. Finally, using mathematical programming, they built Boolean networks that conformed with the known and missing interactions to verify if any of such networks could produce the set of expected attractors. We chose this example as it enables us to illustrate how incomplete knowledge about the regulators of specific genes can be captured in a <italic>Griffin</italic> query. In the following subsection, we also illustrate how to set a query-splitting strategy.</p>
<sec>
<title>2.2.2.1. Hypothetical regulations</title>
<p>The model of sepal primordium polarity for <italic>A. thaliana</italic> of La Rota et al. (<xref ref-type="bibr" rid="B50">2011</xref>) (henceforth referred to as <italic>A. thaliana</italic> sepal) was integrated considering incomplete knowledge and uncertainty in the data. After analyzing the data, these workers concluded that the model based on experimental data was unable to obtain the set of expected attractors. Then, based on bioinformatic data, they included a number of hypothetical missing regulations that could be necessary to obtain the desired attractors. The computational methods used by La Rota et al. (<xref ref-type="bibr" rid="B50">2011</xref>) were based on mixed integer linear programming representations and iterative procedures. They used their algorithm to reproduce steady states and regulatory interactions to be functional, as well as other biologically meaningful constraints. We were interested in testing <italic>Griffin</italic>&#x00027;s ability to find satisfying solutions to this problem.</p>
<p>Question 4. <italic>The question we asked Griffin was</italic>: Are there any Boolean networks satisfying the known and hypothetical regulations of <italic>A. thaliana</italic> sepal model that have the known set of fixed-point attractors with no constraints on possible additional attractors?</p>
<p>Listing 3 in Supplementary Material shows the <italic>Griffin</italic> query used to answer the previous question. It is simple to list hypothetical regulations, such as the 19 hypotheses formulated by La Rota et al. (<xref ref-type="bibr" rid="B50">2011</xref>) in their regulation graph (Figure <xref ref-type="fig" rid="F3">3B</xref> [based on Figure 3D of La Rota et al., <xref ref-type="bibr" rid="B50">2011</xref>]). By construction, the regulations of satisfying networks found by <italic>Griffin</italic>, if any, are functional (Rosenblueth et al., <xref ref-type="bibr" rid="B66">2014</xref>). Therefore, no special instruction is needed to specify this requirement. We included the expected fixed-point attractors as a constraint. Additionally, we asked <italic>Griffin</italic> to perform query splitting (see definition 16, below) on the question using the radial exploration strategy of Algorithm 2. By varying the query option corresponding to the radius, <italic>Griffin</italic> limited the number of simultaneous hypotheses considered at a time for each query <italic>q</italic> &#x02208; <italic>s</italic>(<italic>P</italic>) in the splitting (see definition 16).</p>
<p>We asked several queries varying the radius (paragraph &#x0201C;paragraph:query-splitting&#x0201D;). As there are 19 hypotheses, this is also the maximum possible radius. Table <xref ref-type="table" rid="T4">4</xref> summarizes the results. It can be seen that having control on the radius provided valuable information about the hypotheses. In particular, <italic>Griffin</italic> found all combinations of hypothetical regulations that reproduced the expected attractors, including the smallest set of required hypothetical regulations to obtain the attractors. In this case, there were no satisfying networks below a radius eight. In other words, the simplest models able to satisfy the constraints must include the right combination of at least eight hypotheses. There were 32 solutions at this radius, and only eight different right combinations (same number of associated interaction graphs). <italic>Griffin</italic> was able to compute all the solutions for the query, a total of 439,296. Notice that in the R-graph of this example, there are 19 hypothetical regulations, which is equivalent to 2<sup>19</sup> &#x0003D; 524, 288 ordinary regulation graphs. <italic>Griffin</italic> analyzed all these possible ordinary regulation graphs in a single question. We can also see the difference between the cardinality of the query splitting |<italic>s</italic>(<italic>P</italic>)| &#x0003D; 524, 288 and the cardinality of the instantiations of the corresponding R-graph |<italic>G</italic><sub><italic>G</italic></sub>| &#x0003D; 6, 912. That is, only about 1.32% of the ordinary regulation graphs produced solutions. To measure the computational cost of the query-splitting strategy, we compared the computing time for a single query (with no query-splitting strategy). This example shows that making 524,288 questions needed fewer computational resources than a single complex question did. Figure <xref ref-type="fig" rid="F8">8</xref> shows graphically the information of the table. It can be seen that the computing time correlates well with the number of solutions found.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>Satisfying R-graphs and Boolean networks found by <italic>Griffin</italic> for the center-radius exploration strategy applied to <italic>A. thaliana</italic> sepal model.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Radius</bold></th>
<th valign="top" align="center"><bold>Regulation graphs at radius</bold></th>
<th valign="top" align="center"><bold>Cumulative regulation graphs</bold></th>
<th valign="top" align="center"><bold>Cumulative satisfying Regulation graphs</bold></th>
<th valign="top" align="center"><bold>Cumulative satisfying networks</bold></th>
<th valign="top" align="center"><bold>Cumulative computing time [h:m]</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">8</td>
<td valign="top" align="center">75,582</td>
<td valign="top" align="center">1,69,766</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">0:01</td>
</tr>
<tr>
<td valign="top" align="left">9</td>
<td valign="top" align="center">92,378</td>
<td valign="top" align="center">2,62,144</td>
<td valign="top" align="center">84</td>
<td valign="top" align="center">448</td>
<td valign="top" align="center">0:03</td>
</tr>
<tr>
<td valign="top" align="left">10</td>
<td valign="top" align="center">92,378</td>
<td valign="top" align="center">3,54,522</td>
<td valign="top" align="center">410</td>
<td valign="top" align="center">3,120</td>
<td valign="top" align="center">0:05</td>
</tr>
<tr>
<td valign="top" align="left">11</td>
<td valign="top" align="center">75,582</td>
<td valign="top" align="center">4,30,104</td>
<td valign="top" align="center">1,243</td>
<td valign="top" align="center">14,048</td>
<td valign="top" align="center">0:11</td>
</tr>
<tr>
<td valign="top" align="left">12</td>
<td valign="top" align="center">50,388</td>
<td valign="top" align="center">4,80,492</td>
<td valign="top" align="center">2,651</td>
<td valign="top" align="center">45,120</td>
<td valign="top" align="center">0:28</td>
</tr>
<tr>
<td valign="top" align="left">13</td>
<td valign="top" align="center">27,132</td>
<td valign="top" align="center">5,07,624</td>
<td valign="top" align="center">4,303</td>
<td valign="top" align="center">1,08,912</td>
<td valign="top" align="center">1:06</td>
</tr>
<tr>
<td valign="top" align="left">14</td>
<td valign="top" align="center">11,628</td>
<td valign="top" align="center">5,19,252</td>
<td valign="top" align="center">5,675</td>
<td valign="top" align="center">2,04,496</td>
<td valign="top" align="center">2:08</td>
</tr>
<tr>
<td valign="top" align="left">15</td>
<td valign="top" align="center">3,876</td>
<td valign="top" align="center">5,23,128</td>
<td valign="top" align="center">6,481</td>
<td valign="top" align="center">3,07,968</td>
<td valign="top" align="center">3:22</td>
</tr>
<tr>
<td valign="top" align="left">16</td>
<td valign="top" align="center">969</td>
<td valign="top" align="center">5,24,097</td>
<td valign="top" align="center">6,809</td>
<td valign="top" align="center">3,86,496</td>
<td valign="top" align="center">4:22</td>
</tr>
<tr>
<td valign="top" align="left">17</td>
<td valign="top" align="center">171</td>
<td valign="top" align="center">5,24,268</td>
<td valign="top" align="center">6,897</td>
<td valign="top" align="center">4,25,968</td>
<td valign="top" align="center">4:54</td>
</tr>
<tr>
<td valign="top" align="left">18</td>
<td valign="top" align="center">19</td>
<td valign="top" align="center">5,24,287</td>
<td valign="top" align="center">6,911</td>
<td valign="top" align="center">4,37,728</td>
<td valign="top" align="center">5:08</td>
</tr>
<tr>
<td valign="top" align="left">19</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">5,24,288</td>
<td valign="top" align="center">6,912</td>
<td valign="top" align="center">4,39,296</td>
<td valign="top" align="center">5:10</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>Each row summarizes the results of individual runs. The first column shows the radius. The second column has the corresponding binomial coefficient giving the number of combinations of active hypotheses at each radius. The third column has the cumulative number of R-graphs. Not all R-graphs are consistent with the specified constraints. As we can see in the fourth column that gives the total number of satisfying R-graphs for each run, it is necessary to add at least eight simultaneous hypotheses to find satisfying networks. Each satisfying R-graph can have one or more satisfying Boolean networks. The total number of satisfying networks is shown in the fifth column. The processing time for each query is shown in the last column. As a comparison of performance, we also timed the query without using the center-radius strategy. The elapsed time was of 5:14 h. This illustrates that, in this case, splitting the query into several simpler ones (the third column gives the exact number of queries run), does not add time. The center-radius strategy finished over 4 min before the single query did</italic>.</p>
</table-wrap-foot>
</table-wrap>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Center-radius exploration strategy for the sepal model. Values have been normalized by their maximum in each category. The number of R-graphs grows rapidly with the radius. It is given by the binomial coefficient <inline-formula><mml:math id="M4"><mml:mrow><mml:mo>(</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mi>h</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>r</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>h</italic> is the number of hypotheses and <italic>r</italic> the radius. It can be seen that the computing time is highly correlated with the number of cumulative satisfying networks.</p></caption>
<graphic xlink:href="fgene-09-00039-g0008.tif"/>
</fig>
</sec>
</sec>
<sec>
<title>2.2.3. Third case study: <italic>A. thaliana</italic> root stem cell niche</title>
<p>The <italic>A. thaliana</italic> root stem cell niche is a model system for the study of plant development and stem cell niche dynamics. We consider here the work of Azpeitia et al. (<xref ref-type="bibr" rid="B8">2013</xref>). These authors have used multiple strategies for finding missing gene interactions able to explain the observed experimental steady state dynamics. Their study faces the computational complexity of searching within the space of potential Boolean functions, which is large and grows exponentially in the number of regulator genes. Here, we review some of their proposed procedures for predicting missing interactions, expressing such procedures as symbolic constraints. In fact, we have previously used <italic>Griffin</italic>(Rosenblueth et al., <xref ref-type="bibr" rid="B66">2014</xref>) to reproduce and extend (by finding other satisfying Boolean networks) a previously published Boolean network for <italic>A. thaliana</italic> root stem cell niche (Azpeitia et al., <xref ref-type="bibr" rid="B5">2010</xref>). In this subsection, we illustrate how <italic>Griffin</italic> can deal with uncertainty in the gene interactions as well as in the attractors.</p>
<sec>
<title>2.2.3.1. Using R-graphs to express hypotheses</title>
<p>In the next question, we explore the root stem cell niche model of Azpeitia et al. (<xref ref-type="bibr" rid="B8">2013</xref>) (henceforth referred to as <italic>A. thaliana</italic> root model). From the point of view of the Boolean network inference problem, this model is interesting because it is rich in hypotheses, that is, it incorporates uncertainties about the existence or sign of its regulatory interactions.</p>
<p>Question 5. Does there exist a Boolean network satisfying the <italic>A. thaliana</italic> root model?</p>
<p>The <italic>A. thaliana</italic> root model includes 30 hypothetical regulations as well as 20 known regulations. Figure <xref ref-type="fig" rid="F3">3C</xref> shows the set of regulations and Listing 4 in Supplementary Material exhibits the query file for the corresponding question. <italic>Griffin</italic>&#x00027;s answer to the query was negative. This is compatible with the results reported by Azpeitia et al. (<xref ref-type="bibr" rid="B8">2013</xref>). <italic>Griffin</italic>&#x00027;s conclusion, however, is important for the following reasons:</p>
<list list-type="order">
<list-item><p>The search space of Boolean functions is vast. The number of regulators for each gene is as follows (see Figure <xref ref-type="fig" rid="F3">3C</xref>): <italic>ACR4</italic>, 1; <italic>AUX_IAA</italic>, 4; <italic>AUXIN</italic>, 3; <italic>CLE40</italic>, 3; <italic>JKD</italic>, 5; <italic>MGP</italic>, 5; <italic>MR165</italic>, 4; <italic>PHB</italic>, 8; <italic>SCR</italic>, 6; <italic>SHR</italic>, 4; <italic>WOX5</italic>, 7. The total number of possible Boolean networks is then given by: 2<sup>2<sup>1</sup></sup> &#x000D7; 2<sup>2<sup>4</sup></sup> &#x000D7; 2<sup>2<sup>3</sup></sup> &#x000D7; &#x02026; &#x000D7; 2<sup>2<sup>7</sup></sup> &#x02248; 4.9 &#x000D7; 10<sup>174</sup>.</p></list-item>
<list-item><p>Azpeitia et al. (<xref ref-type="bibr" rid="B8">2013</xref>) performed extensive exploration of the search space, applying a set of procedures designed to reduce the complexity of the search and to focus on solutions with biological relevance. Their technique incorporated a heuristic search that tested combinations of hypothetical regulations adding each regulation one at a time. After three months of testing no solution was found. Because only a portion of the search space was explored, it was not possible to conclude whether or not there were satisfying Boolean networks.</p></list-item>
<list-item><p>When <italic>Griffin</italic>&#x00027;s answer is negative, i.e., when it concludes that the query is unsatisfiable, its conclusion is often found as a consequence of a trivial contradiction in the Boolean formula given to the SAT solver. If that is the case, the answer is found immediately. In our case, however, <italic>Griffin</italic> took 6.8 ms to give the answer.</p></list-item>
<list-item><p>Despite the size of the search space, this example illustrates that <italic>Griffin</italic>&#x00027;s <italic>runtime</italic> blocking strategy is effective. Inspecting <italic>Griffin</italic>&#x00027;s log files, we learned that there is no trivial contradiction in the query formula. <italic>Griffin</italic> iterates over 22 candidate Boolean networks, rejecting all because they exhibit additional attractors. <italic>Griffin</italic> blocks 15 fixed-point attractors, five cyclic attractors of length two, and two cyclic attractors of length three. After blocking one of the incompatible attractors of the 22nd network, a contradiction is generated, allowing <italic>Griffin</italic> to conclude the nonexistence of a satisfying solution.</p></list-item>
</list>
<p>The fact that no network satisfied the constraints suggested that such constraints might be incorrect. After analyzing the assumptions of the model, we learned that there existed uncertainty about the specification of the fixed-point attractors of the model. In particular, the model contains (1) an hormone, auxin, whose distribution is graded along the <italic>A. thaliana</italic> root, and (2) a mobile peptide, CLE40, that diffuses from its expression domain. Neither the exact region where auxin is active nor the diffusion coefficient of CLE40 are known. Thus, their Boolean values in the attractors is not clear. <italic>Griffin</italic> is able to express such degree of uncertainty by the use of partially known fixed-point attractors. This is explored in the following subsection.</p>
</sec>
<sec>
<title>2.2.3.2. Partially known fixed-point attractors</title>
<p>Uncertainty in stationary gene expression profiles when inferring the dynamics of a molecular network from the literature occurs frequently. To an extent, <italic>Griffin</italic> can deal with uncertainty by using partially known fixed-point attractors. We show in the following question that partially known fixed-point attractors, combined with explicit exclusion of certain fixed-point attractors, can be used to formulate complex hypotheses.</p>
<p>Question 6. Does there exist a Boolean network satisfying the <italic>A. thaliana</italic> root model having uncertainty in the definition of its steady-state behavior?</p>
<p>Listing 5 in Supplementary Material shows a modified query of the previous question. The constraints on the fixed-point attractors have been changed. Instead of just asking for nine well-defined fixed-point attractors, some uncertainty in the specification of them has been introduced by including partially known fixed-point attractors as well as prohibitions. A detailed explanation on the syntax and meaning of the constraint can be found in Table <xref ref-type="supplementary-material" rid="SM1">S1</xref> in Supplementary Material. <italic>Griffin</italic> was able to find a satisfying solution after 2.9 s. This example shows that being able to express uncertainty (due to lack of information) in the attractors could also be important when inferring a molecular network, and that <italic>Griffin</italic> can easily express such uncertainty.</p>
<p>In the following example, we would like to significantly extend the number of hypothetical regulations of the <italic>A. thaliana</italic> root model (henceforth referred to as the modified <italic>A. thaliana</italic> root model), and test whether <italic>Griffin</italic> is able to cope with the complexity of the query.</p>
<p>Question 7. What are the Boolean network satisfying the modified <italic>A. thaliana</italic> root model having uncertainty in the definition of its steady-state behavior?</p>
<p>The modified <italic>A. thaliana</italic> root model included the 20 known interactions of the original model, as well as 70 hypothetical interactions, 66 of which were of unknown sign and four were positive. The corresponding R-regulation graph is shown in Figure <xref ref-type="fig" rid="F3">3D</xref>.</p>
<p>The significance of this example is twofold:</p>
<list list-type="order">
<list-item><p>The search space of Boolean functions is significantly larger than that of the original <italic>A. thaliana</italic> root model. The number of regulators for each gene is as follows (see Figure <xref ref-type="fig" rid="F3">3D</xref>): <italic>ACR4</italic>, 8; <italic>AUX_IAA</italic>, 10; <italic>AUXIN</italic>, 9; <italic>CLE40</italic>, 7; <italic>JKD</italic>, 8; <italic>MGP</italic>, 8; <italic>MR165</italic>, 4; <italic>PHB</italic>, 11; <italic>SCR</italic>, 9; <italic>SHR</italic>, 8; <italic>WOX5</italic>, 8. The total number of possible Boolean networks is then given by: 2<sup>2<sup>8</sup></sup> &#x000D7; 2<sup>2<sup>10</sup></sup> &#x000D7; 2<sup>2<sup>9</sup></sup> &#x000D7; &#x02026; &#x000D7; 2<sup>2<sup>8</sup></sup> &#x02248; 4.8 &#x000D7; 10<sup>1, 661</sup>.</p></list-item>
<list-item><p><italic>Griffin</italic> required 5,520 variables to represent the update function in this problem, plus 160 regulation variables (the <italic>R</italic><sup>&#x0002B;</sup>s and <italic>R</italic><sup>&#x02212;</sup>s) plus an unidentified number of switching variables required to represent the formula in an &#x0201C;equisatisfiable&#x0201D; conjunctive normal form (Tseitin, <xref ref-type="bibr" rid="B75">1968</xref>).</p></list-item>
</list>
<p>The query for question 7 is shown in Listing 6 in Supplementary Material. A satisfying Boolean network was found after 24 min., which has a total of 83 regulations, as can be seen in Figure <xref ref-type="fig" rid="F9">9</xref>.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Modified <italic>A. thaliana</italic> root Boolean network found by <italic>Griffin</italic> satisfying question 7. <bold>(A)</bold> Interaction graph of the solution has 83 regulations of the 90 possible (see Figure <xref ref-type="fig" rid="F3">3D</xref>). <bold>(B)</bold> There are 11 fixed-point attractors in the solution. For each expression profile active genes are shown in green while inactive genes are shown in gray. The number corresponds to the decimal notation used in Table <xref ref-type="supplementary-material" rid="SM1">S1</xref> in Supplementary Material.</p></caption>
<graphic xlink:href="fgene-09-00039-g0009.tif"/>
</fig>
<p>For questions 1, 2, 3, and 7 we ran <italic>Griffin</italic> on a Dell PowerEdge T320 Server with 80 GB of RAM. For the rest of the questions we used a laptop computer with Intel(R) Core(TM) i7-4710HQ CPU &#x00040; 2.50GHz and 16 GB of RAM.</p>
</sec>
</sec>
</sec>
</sec>
<sec sec-type="discussion" id="s3">
<title>3. Discussion</title>
<p>In this section, we first give a summary of <italic>Griffin</italic>. Next, we review methods for Boolean-network inference and related formalisms, so as to place <italic>Griffin</italic> in context within this area of research. Finally, we discuss possible directions for future work.</p>
<sec>
<title>3.1. Overview of <italic>Griffin</italic></title>
<p>In the inference of Boolean networks form regulation graphs, the fact that multiple networks might be consistent with the same (given) regulation graph is sometimes neglected. Often, publications reporting the inference of Boolean networks consider a single network. Even if several such networks are analyzed, only a fragment of the possibly vast number of consistent networks is usually considered. <italic>Griffin</italic>, by contrast, employs a formal definition of regulation (Naldi et al., <xref ref-type="bibr" rid="B62">2007</xref>; Richard et al., <xref ref-type="bibr" rid="B65">2012</xref>; Mori and Mochizuki, <xref ref-type="bibr" rid="B61">2017</xref>) to build an implicit representation of all possible networks satisfying the regulation graph. <italic>Griffin</italic> then augments such a representation with biological constraints, resulting in a uniform representation of all potential networks and at the same time reducing such potential number of solution networks. This representation is then given to a powerful, symbolic search mechanism.</p>
<p>A key contribution to <italic>Model Checking</italic> (Clarke et al., <xref ref-type="bibr" rid="B22">1999</xref>) was the incorporation of symbolic representations of data (Burch et al., <xref ref-type="bibr" rid="B16">1992</xref>). Such representations allowed Model Checking to verify systems, first with 10<sup>20</sup> states, and subsequently with many more. As with model checkers, <italic>Griffin</italic> is able to handle large systems because of also using symbolic data structures. There exist two main symbolic techniques: <italic>binary-decision diagrams</italic> (BDDs) and <italic>SAT solvers</italic>. <italic>Griffin</italic> employs both, for solving different subproblems. <italic>Griffin</italic> finds cyclic attractors with a SAT solver (Dubrova and Teslenko, <xref ref-type="bibr" rid="B29">2011</xref>), whereas it computes basins of attraction (Garg et al., <xref ref-type="bibr" rid="B36">2008</xref>) with BDDs. The top level in <italic>Griffin</italic>, which builds a Boolean formula representing all biological information and constraints, also employs a SAT solver. <italic>Griffin</italic> thus capitalizes on the phenomenal recent developments of such solvers. This dramatic progress has &#x0201C;resulted in speed-ups of many orders of magnitude that have turned many problems that were considered intractable in the 1980s into trivially solved problems now.&#x0201D; (Franco and Martin, <xref ref-type="bibr" rid="B34">2009</xref>).</p>
<p>Another strong point of our tool is the concept of an R-graph, a generalization of ordinary regulation graphs. R-graphs represent advantages from both the user and the computational viewpoints. The user has available the whole repertoire of combinations involving the sign of a regulation and whether a regulation is compulsory or simply hypothetical. For example, the user can specify a hypothetical regulation that, if present, should be negative and cannot be positive. From a computational point of view, an R-graph encompasses all hypothetical regulations in one formula, thus avoiding having to perform many separate tests. Computer tools employing ordinary regulation graphs, by contrast, usually test all possible combinations of presence and absence of all hypothetical regulations, resulting in numerous analyses.</p>
<p><italic>Griffin</italic> is hence not only an innovative but also powerful computer tool for the inference of Boolean networks. It is possible, for example, to detect erroneous inferences due to the experimental, error-prone nature of biological data. Regulations that were believed to be positive might in fact turn out to be negative or vice versa. <italic>Griffin</italic> has detected these situations, as reported in Azpeitia et al. (<xref ref-type="bibr" rid="B7">2017</xref>).</p>
</sec>
<sec>
<title>3.2. Related work</title>
<p>As a first comparison between our work and related articles, it is important to point out a difference in the type of input data. In this work, <italic>Griffin</italic> input is composed of (partial) information about the network topology (R-graphs) along with other data representing biological constraints. R-graphs contain information on genetic connectivity that was inferred from data obtained by direct measurement of gene expression or protein interaction. By contrast, inference methods proposed by other authors (e.g., Laubenbacher and Stigler, <xref ref-type="bibr" rid="B52">2004</xref>) have an input composed of time series together with other data that capture information on the network dynamics. Time series, unlike the R-graphs, represent experimental data obtained by direct measurement of gene expression or protein interaction.</p>
<p>There are a number of tutorials on Boolean-network inference (D&#x00027;haeseleer et al., <xref ref-type="bibr" rid="B27">2000</xref>; Markowetz and Spang, <xref ref-type="bibr" rid="B56">2007</xref>; Karlebach and Shamir, <xref ref-type="bibr" rid="B45">2008</xref>; Hecker et al., <xref ref-type="bibr" rid="B41">2009</xref>; Hickman and Hodgman, <xref ref-type="bibr" rid="B42">2009</xref>; Berestovsky and Nakhleh, <xref ref-type="bibr" rid="B10">2013</xref>). From these tutorials we can classify algorithms according to (1) the expected input, (2) the kind of model inferred, and (3) the search strategy.</p>
<p>Much of the effort in Boolean-network inference has been aimed at having a binarized time-series data as input. Hence, multiple methods have been proposed and some of them have been compared with each other (Berestovsky and Nakhleh, <xref ref-type="bibr" rid="B10">2013</xref>). An influential method in this category is <sc>reveal</sc> (Liang et al., <xref ref-type="bibr" rid="B55">1998</xref>) (employing Shannon&#x00027;s mutual information between all pairs of molecules to extract an influence graph; the truth tables of the update functions for each molecule are simply taken from the time series). The use of mutual information and time-series for the inference of Boolean networks continues to develop (Barman and Kwon, <xref ref-type="bibr" rid="B9">2017</xref>), as well as alternative methods based on time series. Example are Han et al. (<xref ref-type="bibr" rid="B40">2014</xref>) (using a Bayesian approximation), Shmulevich et al. (<xref ref-type="bibr" rid="B71">2003</xref>), L&#x000E4;hdesm&#x000E4;ki et al. (<xref ref-type="bibr" rid="B51">2003</xref>), Akutsu et al. (<xref ref-type="bibr" rid="B1">1999</xref>), Laubenbacher and Stigler (<xref ref-type="bibr" rid="B52">2004</xref>), and Layek et al. (<xref ref-type="bibr" rid="B53">2011</xref>) (using a generate-and-test method, generating all possible update functions for one gene and testing with the input data). Extra information can be included in addition to time-series data. For example, an expected set of stable states (Layek et al., <xref ref-type="bibr" rid="B53">2011</xref>), previously known regulations (Haider and Pal, <xref ref-type="bibr" rid="B39">2012</xref>) and gene expression data (Chueh and Lu, <xref ref-type="bibr" rid="B21">2012</xref>) are used as an aid to curtail the number of possible solutions.</p>
<p><italic>Griffin</italic> belongs to a second family of methods taking as input a possibly partial regulation graph (perhaps obtained form the literature). There are also approaches employing both time-series data and a regulation graph, such as Ostrowski et al. (<xref ref-type="bibr" rid="B63">2016</xref>).</p>
<p>A third important area of research is the development of algorithms taking as input temporal-logic specifications, based on Model Checking (Clarke et al., <xref ref-type="bibr" rid="B22">1999</xref>). Works following this approach are: Calzone et al. (<xref ref-type="bibr" rid="B18">2006b</xref>), Mateus et al. (<xref ref-type="bibr" rid="B57">2007</xref>), and Streck and Siebert (<xref ref-type="bibr" rid="B73">2015</xref>).</p>
<p>As for the kind of model inferred, here we would be concerned with Boolean networks and similar formalisms. Among the nonprobabilistic approaches, we find synchronous Boolean networks, asynchronous networks based on Thomas&#x00027;s formalism (Bernot et al., <xref ref-type="bibr" rid="B11">2004</xref>; Khalis et al., <xref ref-type="bibr" rid="B47">2009</xref>; Corblin et al., <xref ref-type="bibr" rid="B23">2012</xref>; Richard et al., <xref ref-type="bibr" rid="B65">2012</xref>), and polynomial dynamical systems (Laubenbacher and Stigler, <xref ref-type="bibr" rid="B52">2004</xref>). Typically, methods based on temporal logic infer Kripke structures, which are closely related to Boolean networks. Probabilistic models, one the other hand, include Bayesian networks, and have the advantage of being able to deal with noise and uncertainty.</p>
<p>From the search-strategy point of view, Boolean-network inference methods may employ a simple random-value assignment (Pal et al., <xref ref-type="bibr" rid="B64">2005</xref>), exhaustive search (Akutsu et al., <xref ref-type="bibr" rid="B1">1999</xref>) or more elaborate algorithms. The work of Chueh and Lu (<xref ref-type="bibr" rid="B21">2012</xref>) is based on p-scores and that of Liang et al. (<xref ref-type="bibr" rid="B55">1998</xref>) guides search with Shannon&#x00027;s mutual information. Genetic algorithms are used by Saez-Rodriguez et al. (<xref ref-type="bibr" rid="B69">2009</xref>) and Ghaffarizadeh et al. (<xref ref-type="bibr" rid="B38">2017</xref>). Linear programming is the basis of Tarissan et al. (<xref ref-type="bibr" rid="B74">2008</xref>). The methods of Ostrowski et al. (<xref ref-type="bibr" rid="B63">2016</xref>) and Corblin et al. (<xref ref-type="bibr" rid="B23">2012</xref>), are based on Answer Set Programming (Brewka et al., <xref ref-type="bibr" rid="B15">2011</xref>). Algebraic methods use reductions (of polynomials over a finite field) modulo an ideal of <italic>vanishing polynomials</italic>.</p>
<p>Approaches based on temporal logic (sometimes augmented with constraints), such as Calzone et al. (<xref ref-type="bibr" rid="B18">2006b</xref>) and Mateus et al. (<xref ref-type="bibr" rid="B57">2007</xref>), normally employ Model Checking (Clarke et al., <xref ref-type="bibr" rid="B22">1999</xref>). Model Checking, in turn, is often based on symbolic approaches: BDDs and SAT solvers. Biocham (Calzone et al., <xref ref-type="bibr" rid="B18">2006b</xref>) and SMBioNet (Bernot et al., <xref ref-type="bibr" rid="B11">2004</xref>; Khalis et al., <xref ref-type="bibr" rid="B47">2009</xref>; Richard et al., <xref ref-type="bibr" rid="B65">2012</xref>) use a model checker as part of a generate-and-test method.</p>
<p>Having classified various approaches, we now mention a work similar to ours in spirit: Pal et al. (<xref ref-type="bibr" rid="B64">2005</xref>). These authors also propagate fixed-point constraints onto the truth tables of the update functions of each variable (molecule species). There is, however, no search technique, other than randomly giving values to the remaining entries of such truth tables. There is a random assignment of values to such entries, and a check for unwanted attractors. Neither is there a formal definition of regulation.</p>
<p>In contrast with the logical approach of our work, we devote our attention now to an <italic>algebraic</italic> approach to the problem of inference (reverse engineering) of Boolean networks. Instead of using a Boolean network to model the dynamics of a gene network, the algebraic approach (Laubenbacher and Stigler, <xref ref-type="bibr" rid="B52">2004</xref>; Jarrah et al., <xref ref-type="bibr" rid="B44">2007</xref>; Veliz-Cuba, <xref ref-type="bibr" rid="B76">2012</xref>) uses a polynomial dynamical system <italic>F</italic>: <italic>S</italic><sup><italic>n</italic></sup> &#x02192; <italic>S</italic><sup><italic>n</italic></sup> where <italic>S</italic> has the structure of a finite field (&#x02124;/<italic>p</italic> for an appropriate prime number <italic>p</italic>). The first benefit of this algebraic approach is that each component of <italic>F</italic> can be expressed by a polynomial (in <italic>n</italic> variables with coefficients in <italic>S</italic>) such that the degree of each variable is at most equal to the cardinality of the field <italic>S</italic>.</p>
<p>Following a computational algebra approach, in a framework of modeling with polynomial dynamical systems, Laubenbacher and Stigler (<xref ref-type="bibr" rid="B52">2004</xref>) propose a reverse-engineering algorithm. This algorithm takes as input a time series <inline-formula><mml:math id="M5"><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> of network states (where <italic>S</italic> is a finite field), and produces as output a polynomial dynamical system <inline-formula><mml:math id="M6"><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>:</mml:mo><mml:msup><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>&#x02192;</mml:mo><mml:msup><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> such that &#x02200;<italic>i</italic> &#x02208; {1, &#x02026;, <italic>n</italic>}: <italic>F</italic><sub><italic>i</italic></sub> &#x02208; <italic>S</italic>[<italic>x</italic><sub>1</sub>, &#x02026;, <italic>x</italic><sub><italic>n</italic></sub>] and <italic>F</italic><sub><italic>i</italic></sub>(<italic>s</italic><sub><italic>j</italic></sub>) &#x0003D; <italic>s</italic><sub><italic>j</italic>&#x0002B;1,<italic>i</italic></sub> for <italic>j</italic> &#x02208; {1, &#x02026;, <italic>m</italic>}. An advantage of the algebraic approach of this algorithm is that there exists a well-developed theory of algorithmic polynomial algebra, with a variety of procedures already implemented, supporting the implementation task. The time complexity of this algorithm is <italic>quadratic</italic> in the number of variables (<italic>n</italic>) and <italic>exponential</italic> in the number of time points (<italic>m</italic>).</p>
<p>Comparing <italic>Griffin</italic> with the reverse-engineering algebraic algorithms proposed by Laubenbacher and Stigler (<xref ref-type="bibr" rid="B52">2004</xref>) and Veliz-Cuba (<xref ref-type="bibr" rid="B76">2012</xref>), we found three basic differences. (1) Algebraic algorithms can handle discrete multi-valued variables, while <italic>Griffin</italic> only handles Boolean (two-valued) variables. Multi-valued variables give more flexibility and detail to the modeling process, but Boolean variables (of Boolean networks) lead to simpler models (see section 1). (2) The input of the algebraic algorithms, typically time series, provides <italic>simple</italic> information coming directly from experimental measurements, while input of <italic>Griffin</italic>, R-graphs and <italic>Griffin</italic> queries, provides <italic>structured</italic> information allowing a more precise specification of the required Boolean network. (3) The algebraic algorithm of Veliz-Cuba (<xref ref-type="bibr" rid="B76">2012</xref>) uses a formal definition of regulation, but this definition does not match the definition of regulation used by <italic>Griffin</italic>. While Griffin allows for R-regulations based on Boolean combinations of positive and negative regulations, Veliz-Cuba (<xref ref-type="bibr" rid="B76">2012</xref>) uses regulations restricted to <italic>unate</italic> functions <italic>h</italic> such that, for all variable <italic>x</italic>: <italic>h</italic> does not depend on <italic>x</italic>, or <italic>h</italic> depends positively on <italic>x</italic>, or <italic>h</italic> depends negatively on <italic>x</italic>.</p>
<p>Finally, we observe that sometimes results might have been reported overoptimistically. There have been some doubts cast upon the effectiveness of a number of methods of inference of network dynamics (Wimburly et al., <xref ref-type="bibr" rid="B78">2003</xref>), especially those based on more general-purpose learning methods. It is therefore important to establish tests such as the <sc>dream</sc> challenges (Stolovitzky et al., <xref ref-type="bibr" rid="B72">2007</xref>) emphasizing reproducibility.</p>
</sec>
<sec>
<title>3.3. Future work</title>
<p>Both <italic>Griffin</italic> and model checkers are based on symbolic search-algorithms, either SAT solvers or BDDs. Hence, a natural possibility to consider is the use of an off-the-shelf model checker as a search mechanism for <italic>Griffin</italic>. Model checkers take as input a temporal-logic formula. We did not find any advantage, however, in using a temporal logic, such as computation-tree logic (CTL) or linear-time logic (LTL), for expressing regulation over ordinary Boolean logic. Once a problem is expressed in Boolean logic, a SAT solver is precisely a method for finding a solution to such a problem. Hence, we disposed of temporal logic and directly expressed the regulation graph in Boolean logic.</p>
<p>Lacking a temporal logic makes the regulation graph the main means of communication of the user with <italic>Griffin</italic>. This suggested enriching the concept of a regulation graph as much as possible, which resulted in our generalization: the R-graph. In addition, the value of a number of parameters can be established with <italic>Griffin</italic>&#x00027;s query language. Nevertheless, as shown in our case studies, from a Biology point of view, it is easy to fall into situations where <italic>Griffin</italic>&#x00027;s query language is not expressive enough. In such situations, the user can employ <italic>Griffin</italic>&#x00027;s API, thus bypassing the query language. Moreover, <italic>Griffin</italic>&#x00027;s query language (apart from the R-graph, which can be viewed as a shorthand of a Boolean-logic formula) does not have a logical basis. Therefore, compared with a model checker, it would be desirable that <italic>Griffin</italic> have a temporal logic.</p>
<p>Temporal logic has been shown to be effective for the analysis of Boolean networks (Arellano et al., <xref ref-type="bibr" rid="B4">2011</xref>; Carrillo et al., <xref ref-type="bibr" rid="B19">2012</xref>; Klarner and Siebert, <xref ref-type="bibr" rid="B49">2015</xref>). At the same time, our case studies have shown that clause learning could be effective in pruning the search space. This suggests combining Model Checking with clause learning. Much more complex queries than are currently possible could be formulated to <italic>Griffin</italic> in this manner. This is, therefore, an important avenue of research.</p>
<p>Another possibility for future research would explore the combination of <italic>Griffin</italic> with different approaches of Boolean network inference. If the search space is too large for <italic>Griffin</italic> to give useful solutions because of exhausting available resources, <italic>Griffin</italic> could incorporate algorithms based on other approaches, such as genetic algorithms, through its API.</p>
<p>Yet another direction of future work would extend <italic>Griffin</italic> to include either (a) biological information relating species with each other, such as protein complexes, thus reducing the size of the search space, or (b) partially defined Boolean functions for a particular gene.</p>
<p>Finally, we mention an important improvement that would allow the computation and the output of <italic>sets</italic> of Boolean networks instead of a single network at a time. Currently, the SAT solver employed by <italic>Griffin</italic> returns one assignment of <italic>all</italic> the variables appearing in the Boolean formula representing the R-graph together with the constraints (i.e., a &#x0201C;minterm&#x0201D;) at a time. By contrast, it would be more useful to have a SAT solver returning a set of assignments represented by a partial assignment (i.e., a term that is not necessarily a minterm). This would allow <italic>Griffin</italic>, in turn, to output sets of Boolean networks.</p>
</sec>
</sec>
<sec sec-type="materials and methods" id="s4">
<title>4. Materials and methods</title>
<p>This section gives definitions and fixes the notation employed in <italic>Griffin</italic>&#x00027;s algorithms.</p>
<sec>
<title>4.1. General notation</title>
<p>&#x02115;<sup>&#x0002B;</sup> is <italic>the set of positive natural numbers</italic>. Unless differently stated, <italic>we assume that n</italic> &#x02208; &#x02115;<sup>&#x0002B;</sup>. <inline-formula><mml:math id="M7"><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is an <italic>initial segment</italic> of &#x02115;<sup>&#x0002B;</sup>, <inline-formula><mml:math id="M8"><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x02223;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x02264;</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. &#x1D539; &#x0003D; {0, 1} is a set of <italic>Boolean values</italic>. If <italic>b</italic> &#x02208; &#x1D539;, then <italic>b</italic>&#x02032; is the complement of <italic>b</italic>. If <italic>x</italic> &#x02208; &#x1D539;<sup><italic>n</italic></sup>, we say that <italic>x</italic> is a <italic>state</italic> and <italic>x</italic><sub><italic>i</italic></sub> denotes the <italic>i</italic>-th <italic>component</italic> of <italic>x</italic>. We sometimes omit parentheses and commas when writing a state. If <italic>f</italic>:<italic>X</italic>&#x02192;<italic>X</italic>, and <italic>k</italic> &#x02208; &#x02115;<sup>&#x0002B;</sup>, we write <italic>f</italic><sup><italic>k</italic></sup> to denote the iterated composition of <italic>f</italic> with itself, i.e., <italic>f</italic><sup>1</sup> &#x0003D; <italic>f</italic> and <italic>f</italic><sup><italic>n</italic>&#x0002B;1</sup> &#x0003D; <italic>f</italic> &#x025E6; <italic>f</italic><sup><italic>n</italic></sup>. If <italic>v</italic> &#x02208; &#x1D539;<sup><italic>k</italic></sup>, <inline-formula><mml:math id="M9"><mml:mi>p</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, and <italic>p</italic><sub><italic>i</italic></sub> &#x02260; <italic>p</italic><sub><italic>j</italic></sub> for <italic>i</italic> &#x02260; <italic>j</italic>, then <italic>x</italic>[<italic>v</italic>/<italic>p</italic>] is the state resulting from replacing, for all <inline-formula><mml:math id="M10"><mml:mi>i</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, the <italic>p</italic><sub><italic>i</italic></sub>-th component of <italic>x</italic> by <italic>v</italic><sub><italic>i</italic></sub>. We denote as <italic>x</italic> &#x0007E; <italic>i</italic> the vector resulting from replacing the <italic>i</italic>-th <italic>component</italic> of <italic>x</italic> with the complement of <italic>x</italic><sub><italic>i</italic></sub>, that is, <inline-formula><mml:math id="M11"><mml:mi>x</mml:mi><mml:mo>&#x0007E;</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>/</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. Given <italic>k</italic> &#x0003C; <italic>n</italic>, <italic>v</italic> &#x02208; &#x1D539;<sup><italic>k</italic></sup>, and <inline-formula><mml:math id="M12"><mml:mi>p</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, &#x1D539;<sup><italic>n</italic></sup>[<italic>v</italic>/<italic>p</italic>] is a <italic>subspace</italic> of &#x1D539;<sup><italic>n</italic></sup> defined by &#x1D539;<sup><italic>n</italic></sup>[<italic>v</italic>/<italic>p</italic>] &#x0003D; {<italic>x</italic>[<italic>v</italic>/<italic>p</italic>]&#x02223;<italic>x</italic> &#x02208; &#x1D539;<sup><italic>n</italic></sup>}. Alternatively, we describe subspaces by means of strings of zeros, ones, and asterisks used as wildcards indicating the free (unknown value) components. For example, &#x1D539;<sup>6</sup>[(0, 1, 0)/(1, 4, 6)] can be written simply as 0<sup>&#x0002A;&#x0002A;</sup>1<sup>&#x0002A;</sup>0.</p>
</sec>
<sec>
<title>4.2. Synchronous boolean networks, regulation graphs, and state graphs</title>
<p><italic>Definition 1</italic>. We define a <italic>synchronous Boolean network with n components</italic> as a function <italic>f</italic>:&#x1D539;<sup><italic>n</italic></sup>&#x02192;&#x1D539;<sup><italic>n</italic></sup>. The <italic>i-th component of f</italic> is a function <inline-formula><mml:math id="M13"><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>&#x02192;</mml:mo><mml:mi>&#x1D539;</mml:mi></mml:math></inline-formula> such that <italic>f</italic><sub><italic>i</italic></sub>(<italic>x</italic>) &#x0003D; <italic>f</italic>(<italic>x</italic>)<sub><italic>i</italic></sub>. We use <italic>BN</italic> to denote the class of Boolean networks with <italic>n</italic> components.</p>
<p>To relate a synchronous Boolean network with a molecular network dynamics, we interpret each component of a state <italic>x</italic> as representing the activation state of a particular variable denoting a molecule included in the network (which can be a gene, a protein, a hormone, for example). Given a set of variables <italic>V</italic>, we use a bijective function <inline-formula><mml:math id="M14"><mml:mi>v</mml:mi><mml:mo>:</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x02192;</mml:mo><mml:mi>V</mml:mi></mml:math></inline-formula> to relate the components of a state <italic>x</italic> with their respective variables. The molecule represented by the variable <italic>v</italic>(<italic>i</italic>), also denoted <italic>v</italic><sub><italic>i</italic></sub>, is said to be <italic>active</italic> if <italic>x</italic><sub><italic>i</italic></sub> &#x0003D; 1 and <italic>inactive</italic> otherwise.</p>
<p><italic>Definition 2</italic>. If <inline-formula><mml:math id="M15"><mml:mi>p</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, and <italic>v</italic> &#x02208; &#x1D539;<sup><italic>k</italic></sup> with <inline-formula><mml:math id="M16"><mml:mi>k</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>the mutation of f</italic> by <italic>p</italic> &#x0003D; <italic>v</italic> is defined as <italic>f</italic><sup><italic>p</italic> &#x0003D; <italic>v</italic></sup>: &#x1D539;<sup><italic>n</italic></sup> &#x02192; &#x1D539;<sup><italic>n</italic></sup>, where, for all <italic>x</italic> &#x02208; &#x1D539;<sup><italic>n</italic></sup> and <inline-formula><mml:math id="M17"><mml:mi>j</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula><mml:math id="M18"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mi>v</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula><mml:math id="M19"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mi>v</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> if <inline-formula><mml:math id="M20"><mml:mi>i</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. We say that <italic>f</italic><sup><italic>p</italic> &#x0003D; <italic>v</italic></sup> is a <italic>single-point mutation</italic> of <italic>f</italic> if <italic>k</italic> &#x0003D; 1, and a <italic>multi-point mutation</italic> if <italic>k</italic> &#x0003E; 1.</p>
<p><italic>Definition 3</italic>. (Naldi et al., <xref ref-type="bibr" rid="B62">2007</xref>; Richard et al., <xref ref-type="bibr" rid="B65">2012</xref>; Mori and Mochizuki, <xref ref-type="bibr" rid="B61">2017</xref>). A <italic>positive regulation</italic> between variables <italic>v</italic><sub><italic>i</italic></sub> and <italic>v</italic><sub><italic>j</italic></sub> is a function <italic>R</italic><sup>&#x0002B;</sup>: <italic>V</italic> &#x000D7; <italic>BN</italic> &#x000D7; <italic>V</italic> &#x02192; &#x1D539; such that
<disp-formula id="E1"><mml:math id="M46"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn><mml:mtext>&#x000A0;if&#x000A0;</mml:mtext><mml:mo>&#x02203;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mi>&#x1D539;</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>:</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02260;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo>~</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mtext>&#x000A0;and&#x000A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>0</mml:mn><mml:mtext>&#x000A0;otherwise</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Similarly, a <italic>negative regulation</italic> between <italic>v</italic><sub><italic>i</italic></sub> and <italic>v</italic><sub><italic>j</italic></sub> is a function <italic>R</italic><sup>&#x02212;</sup>: <italic>V</italic> &#x000D7; <italic>BN</italic> &#x000D7; <italic>V</italic> &#x02192; &#x1D539; such that
<disp-formula id="E2"><mml:math id="M47"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mo>&#x02212;</mml:mo></mml:msup><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn><mml:mtext>&#x000A0;&#x000A0;if&#x000A0;</mml:mtext><mml:mo>&#x02203;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mi>&#x1D539;</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>:</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02260;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo>~</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mtext>&#x000A0;and&#x000A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x02260;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>0</mml:mn><mml:mtext>&#x000A0;&#x000A0;otherwise</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p><italic>Definition 4</italic>. We say that <italic>G</italic> is a <italic>regulation graph</italic> if <italic>G</italic> &#x0003D; (<italic>V, I</italic><sup>&#x0002B;</sup>, <italic>I</italic><sup>&#x02212;</sup>), where: <italic>V</italic> is the set of vertices, <italic>I</italic><sup>&#x0002B;</sup> &#x02286; <italic>V</italic> &#x000D7; <italic>V</italic> is the set of <italic>positive regulations</italic>, and <italic>I</italic><sup>&#x02212;</sup> &#x02286; <italic>V</italic> &#x000D7; <italic>V</italic> is a set of <italic>negative regulations</italic>. If <italic>i</italic> &#x02208; <italic>I</italic><sup>&#x0002B;</sup> &#x02229; <italic>I</italic><sup>&#x02212;</sup>, we say that <italic>i</italic> is an <italic>ambiguous regulation</italic>.</p>
<p><italic>Definition 5</italic>. The regulation graph of <italic>f</italic> is <inline-formula><mml:math id="M23"><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> where:</p>
<list list-type="alpha-lower">
<list-item><p><inline-formula><mml:math id="M24"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> iff <inline-formula><mml:math id="M25"><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>.</p></list-item>
<list-item><p><inline-formula><mml:math id="M26"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> iff <inline-formula><mml:math id="M27"><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>.</p></list-item>
</list>
<p>Intuitively, the regulation graph of <italic>f</italic>, <italic>G</italic><sub><italic>f</italic></sub>, describes the structure of <italic>f</italic> and its interpretation as a molecular network where edges represent molecular regulations. Note that <italic>G</italic><sub><italic>f</italic></sub> may have both a positive and a negative regulation from <italic>j</italic> to <italic>i</italic>. Observe that whereas a Boolean network <italic>f</italic> has a unique regulation graph, a regulation graph may have more than one Boolean network.</p>
<p><italic>Definition 6</italic>. Given a regulation graph <italic>G</italic>, we say that <italic>f</italic> is a <italic>satisfying Boolean network</italic> of <italic>G</italic>, denoted by <italic>f</italic> &#x022A8; <italic>G</italic>, if <italic>G</italic> &#x0003D; <italic>G</italic><sub><italic>f</italic></sub>. The set of all satisfying Boolean networks of <italic>G</italic> is denoted by <italic>F</italic><sub><italic>G</italic></sub> &#x0003D; {<italic>f</italic>&#x02223;<italic>f</italic> &#x022A8; <italic>G</italic>}.</p>
<p><italic>Definition 7</italic>. The <italic>state graph</italic> of a Boolean network <italic>f</italic> is the graph <inline-formula><mml:math id="M28"><mml:msub><mml:mrow><mml:mi>&#x0011C;</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02223;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p><italic>Definition 8</italic>. We say that &#x003C9; &#x02286; &#x1D539;<sup><italic>n</italic></sup> is an <italic>attractor</italic> of <italic>f</italic> if &#x003C9; is a terminal strongly connected component of &#x0011C;<sub><italic>f</italic></sub> (Ruet, <xref ref-type="bibr" rid="B67">2017</xref>). That is, &#x003C9; is an attractor if &#x003C9; is strongly connected (each state in &#x003C9; is reachable from any other state in &#x003C9;) and no state or edge of &#x0011C;<sub><italic>f</italic></sub> can be added to &#x003C9; without causing &#x003C9; to be no longer strongly connected. In particular, &#x003C9; is a <italic>fixed point</italic> (or <italic>stationary state</italic>) of <italic>f</italic> if |&#x003C9;| &#x0003D; 1, it is a <italic>cyclic attractor</italic> otherwise. The <italic>size k</italic> of an attractor is defined as its cardinality. The <italic>set of attractors</italic> of <italic>f</italic> is denoted as A(<italic>f</italic>). The <italic>set of fixed points</italic> of <italic>f</italic> is denoted as FP(<italic>f</italic>). The <italic>set of cyclic attractors</italic> of <italic>f</italic> is denoted as CA(<italic>f</italic>). If &#x003C9; &#x02208; A(<italic>f</italic>), the <italic>basin of attraction</italic> of &#x003C9; is <inline-formula><mml:math id="M29"><mml:mo class="qopname">BA</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x02223;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">and</mml:mtext></mml:mstyle><mml:mo>&#x02203;</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup><mml:mo>:</mml:mo><mml:msup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec>
<title>4.3. Boolean-network inference</title>
<sec>
<title>4.3.1. Constrained-regulation graphs and R-graphs</title>
<p>Before formally introducing a Boolean network query, we provide additional definitions that will allow us to express partial knowledge of regulation graphs.</p>
<p><italic>Definition 9</italic>. A <italic>constrained-regulation graph G</italic> &#x0003D; (<italic>V, I</italic>) is a labeled graph over the set of variables <italic>V</italic>, where <italic>I</italic> is a set of <italic>constrained regulations I</italic> &#x02286; <italic>V</italic> &#x000D7; <italic>L</italic> &#x000D7; <italic>V</italic>. Labels <italic>L</italic> &#x0003D; {<italic>g</italic>&#x02223; <italic>g</italic>: <italic>V</italic> &#x000D7; <italic>BN</italic> &#x000D7; <italic>V</italic> &#x02192; &#x1D539;} are <italic>regulation constraints</italic> limiting the acceptable Boolean networks.</p>
<p><italic>Definition 10</italic>. We say that <italic>f satisfies</italic> a constrained-regulation graph <italic>G</italic> &#x0003D; (<italic>V, I</italic>), <italic>f</italic> &#x022A8; <italic>G</italic>, if &#x02200;<italic>u, v</italic>: (<italic>u, g, v</italic>) &#x02208; <italic>I</italic> implies <italic>g</italic>(<italic>u, f, v</italic>) &#x0003D; 1. The set of all satisfying Boolean networks of <italic>G</italic> is denoted by <italic>F</italic><sub><italic>G</italic></sub> &#x0003D; {<italic>f</italic> &#x02223; <italic>f</italic> &#x022A8; <italic>G</italic>}.</p>
<p>It can be proved that given a regulation graph <italic>G</italic> &#x0003D; (<italic>V, I</italic><sup>&#x0002B;</sup>, <italic>I</italic><sup>&#x02212;</sup>), if <italic>G</italic>&#x02032; &#x0003D; (<italic>V, I</italic>) is defined in such a way that (<italic>u, g, v</italic>) &#x02208; <italic>I</italic> iff</p>
<list list-type="alpha-lower">
<list-item><p>(<italic>u, v</italic>) &#x02208; <italic>I</italic><sup>&#x0002B;</sup> implies <italic>g</italic>(<italic>u, f, v</italic>) &#x0003D; <italic>R</italic><sup>&#x0002B;</sup>(<italic>u, f, v</italic>) and</p></list-item>
<list-item><p>(<italic>u, v</italic>) &#x02208; <italic>I</italic><sup>&#x02212;</sup> implies <italic>g</italic>(<italic>u, f, v</italic>) &#x0003D; <italic>R</italic><sup>&#x02212;</sup>(<italic>u, f, v</italic>),</p></list-item>
</list>
<p>then &#x02200;<italic>f</italic> &#x02208; <italic>BN</italic> : <italic>f</italic> &#x022A8; <italic>G</italic> iff <italic>f</italic> &#x022A8; <italic>G</italic>&#x02032;.</p>
<p><italic>Definition 11</italic>. An <italic>R-graph</italic> is a <italic>constrained-regulation graph G</italic> &#x0003D; (<italic>V, I</italic>) where the constraints are Boolean combinations of positive and negative regulations, that is, &#x02200;(<italic>u, g, v</italic>) &#x02208; <italic>I</italic>: &#x02203;<italic>h</italic>: &#x1D539;<sup>2</sup> &#x02192; &#x1D539; such that <italic>g</italic>(<italic>u, f, v</italic>) &#x0003D; <italic>h</italic>(<italic>R</italic><sup>&#x0002B;</sup>(<italic>u, f, v</italic>), <italic>R</italic><sup>&#x02212;</sup>(<italic>u, f, v</italic>)) with <italic>f</italic> &#x02208; <italic>BN</italic>. Edges of an R-graph are called <italic>R-regulations</italic>.</p>
<p>Table <xref ref-type="table" rid="T1">1</xref> shows the list of possible R-regulations for an R-graph. An example of an R-graph is shown in Figure <xref ref-type="fig" rid="F1">1</xref>. R-graphs are of special interest because they can be viewed as generalizations of ordinary regulation graphs, that are able to express hypotheses and incomplete knowledge about the dependencies between network variables.</p>
<p><italic>Definition 12</italic>. Given a regulation graph <inline-formula><mml:math id="M30"><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> and a constrained-regulation graph <italic>G</italic><sub>2</sub> &#x0003D; (<italic>V, I</italic>), we say that <italic>G</italic><sub>1</sub> is an <italic>instantiation</italic> of <italic>G</italic><sub>2</sub> if there exists <italic>f</italic> &#x02208; <italic>BN</italic> such that <italic>f</italic> &#x022A8; <italic>G</italic><sub>1</sub> and <italic>f</italic> &#x022A8; <italic>G</italic><sub>2</sub>. The set of all instantiations of <italic>G</italic> is denoted as <italic>G</italic><sub><italic>G</italic></sub>.</p>
<p>Instantiations of constrained-regulation graphs are regulations graphs that share the same satisfying networks, Figure <xref ref-type="fig" rid="F1">1</xref> shows an example of the set of all instantiations of an R-graph.</p>
</sec>
<sec>
<title>4.3.2. Network constraint problems and queries</title>
<p><italic>Definition 13</italic>. A <italic>network constraint c</italic> is a Boolean function on the class of Boolean networks, <italic>c</italic>:<italic>BN</italic> &#x02192; &#x1D539;.</p>
<p>The previous definition is a particular case of a Boolean constraint of arity <italic>k</italic> as defined in Creignou et al. (<xref ref-type="bibr" rid="B24">2001</xref>) and Dantsin and Hirsch (<xref ref-type="bibr" rid="B25">2009</xref>). In our case <italic>k</italic> &#x0003D; <italic>n</italic>2<sup><italic>n</italic></sup>, given that we have 2<sup><italic>n</italic></sup> states in &#x1D539;<sup><italic>n</italic></sup> and for each state <italic>x</italic> there are <italic>n</italic> components specifying the next state <italic>F</italic>(<italic>x</italic>).</p>
<p>Examples of meaningful network constraints include, but are not limited to:</p>
<list list-type="order">
<list-item><p>Network equality: <italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff <italic>f</italic> &#x0003D; <italic>f</italic><sub>0</sub> for <italic>f</italic><sub>0</sub> &#x02208; <italic>BN</italic>.</p></list-item>
<list-item><p>Network membership: <italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff <italic>f</italic> &#x02208; <italic>F</italic><sub>0</sub> for <italic>F</italic><sub>0</sub> &#x02282; <italic>BN</italic>.</p></list-item>
<list-item><p>Attractor equality: <italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff <italic>A</italic>(<italic>f</italic>) &#x0003D; <italic>S</italic><sub>0</sub> for <inline-formula><mml:math id="M31"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02282;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">P</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p></list-item>
<list-item><p>Steady-state inclusion: <italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff FP(<italic>f</italic>) &#x02287; &#x1D539;<sub>0</sub> for <inline-formula><mml:math id="M32"><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02282;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
<list-item><p>Steady-state prohibitions: <italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff <italic>x</italic><sub>0</sub> &#x02209; FP(<italic>f</italic>) for <inline-formula><mml:math id="M33"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
<list-item><p>Fixed-point equality after mutation: <italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff <inline-formula><mml:math id="M34"><mml:mo class="qopname">FP</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mi>v</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> for <inline-formula><mml:math id="M35"><mml:mi>p</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <italic>v</italic> &#x02208; &#x1D539;<sup><italic>k</italic></sup>, <inline-formula><mml:math id="M36"><mml:mi>k</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M37"><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02282;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
<list-item><p>Fixed-point inclusion after mutation:<italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff <inline-formula><mml:math id="M38"><mml:mo class="qopname">FP</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mi>v</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02286;</mml:mo><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> for <inline-formula><mml:math id="M39"><mml:mi>p</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <italic>v</italic> &#x02208; &#x1D539;<sup><italic>k</italic></sup>, <inline-formula><mml:math id="M40"><mml:mi>k</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02115;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M41"><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02282;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
<list-item><p>State transition presence:</p>
<p><italic>c</italic>(<italic>f</italic>) &#x0003D; 1 iff <italic>f</italic>(<italic>x</italic><sub>0</sub>) &#x0003D; <italic>y</italic><sub>0</sub> for <inline-formula><mml:math id="M42"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x1D539;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
</list>
<p>Note that <italic>network constraints</italic> are different from the <italic>constraint regulations</italic> of definition 9. As can be seen in the previous listing, the former refer to general properties of <italic>f</italic>, the Boolean network to be inferred, whereas the latter refer to specific properties of the regulations between pairs of variables, for example restricting a regulation to be a positive regulation.</p>
<p><italic>Definition 14</italic>. Given a constrained-regulation graph <italic>G</italic> &#x0003D; (<italic>V, I</italic>) and a set of network constraints <italic>C</italic>, we say that <italic>P</italic> is a <italic>network constraint problem (NCP) P</italic> &#x0003D; (<italic>G, C</italic>), where <italic>C</italic> &#x0003D; {<italic>c</italic><sub>1</sub>, &#x02026;, <italic>c</italic><sub><italic>m</italic></sub>} is a set of network constraints. We say that <italic>f</italic> &#x02208; <italic>BN</italic> is a <italic>solution</italic> of <italic>P</italic>, denoted as <italic>f</italic> &#x022A8; <italic>P</italic>, if <italic>f</italic> &#x022A8; <italic>G</italic> and for all <italic>c</italic> &#x02208; <italic>C</italic>, <italic>c</italic>(<italic>f</italic>) &#x0003D; 1. The set of all solutions of <italic>P</italic> is <italic>F</italic><sub><italic>P</italic></sub>.</p>
<p><italic>Definition 15</italic>. Given a network-constraint problem <italic>P</italic> &#x0003D; (<italic>G, C</italic>), we consider two possible queries over the set of solutions of <italic>P</italic>:</p>
<list list-type="alpha-lower">
<list-item><p>k-search queries, denoted search<sub><italic>k</italic></sub>(<italic>P</italic>): find any <italic>F</italic><sub>0</sub> &#x02286; <italic>BN</italic> such that &#x02200;<italic>f</italic> &#x02208; <italic>F</italic><sub>0</sub>:<italic>f</italic> &#x022A8; <italic>P</italic> and |<italic>F</italic>| &#x0003D; min(<italic>k</italic>, |<italic>F</italic><sub><italic>P</italic></sub>|),</p></list-item>
<list-item><p>All-search queries, denoted search(<italic>P</italic>): find all <italic>f</italic> such that <italic>f</italic> &#x022A8; <italic>P</italic>.</p></list-item>
</list>
<p><italic>A query Q over a set of solutions of P is denoted as Q(P). The class of queries is symbolized by <inline-formula><mml:math id="M43"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">Q</mml:mi></mml:mrow></mml:math></inline-formula>. The set of solutions satisfying a query Q is denoted as F<sub>Q</sub>. We call Griffin queries the queries implemented in Griffin, a subset of the class <inline-formula><mml:math id="M44"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">Q</mml:mi></mml:mrow></mml:math></inline-formula> (see <ext-link ext-link-type="uri" xlink:href="http://turing.iimas.unam.mx/griffin/guide.html#examplesfile">http://turing.iimas.unam.mx/griffin/guide.html#examplesfile</ext-link>)</italic>.</p>
<p><italic>Definition 16</italic>. Given a query <italic>Q</italic>(<italic>P</italic>) with <italic>P</italic> &#x0003D; (<italic>G, C</italic>), a <italic>query splitting</italic> is a function <inline-formula><mml:math id="M45"><mml:mi>s</mml:mi><mml:mo>:</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">Q</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">P</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">Q</mml:mi></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> such that</p>
<list list-type="alpha-lower">
<list-item><p>&#x02200;<italic>q</italic>(<italic>g, C</italic>) &#x02208; <italic>s</italic>(<italic>Q</italic>):<italic>f</italic> &#x022A8; <italic>g</italic> &#x02192; <italic>f</italic> &#x022A8; <italic>G</italic> and</p></list-item>
<list-item><p><italic>f</italic> &#x022A8; <italic>G</italic> &#x02192; &#x02203;<italic>q</italic>(<italic>g, C</italic>) &#x02208; <italic>s</italic>(<italic>Q</italic>): <italic>f</italic> &#x022A8; <italic>g</italic>.</p></list-item>
</list>
</sec>
</sec>
</sec>
<sec id="s5">
<title>Author contributions</title>
<p>DR conceived the project. DR, EA, and SM designed the research. SM developed <italic>Griffin</italic> and performed the research. EA designed and directed the case studies. MC, DR, and SM developed the formal definitions and theoretical results. SM and MC prepared tables and figures. All authors wrote the manuscript.</p>
<sec>
<title>Conflict of interest statement</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
</sec>
</body>
<back>
<ack><p>We gratefully acknowledge the facilities provided by IIMAS, UNAM. We should like to thank Wassim Abou-Jaoud&#x000E9;, Fran&#x000E7;ois Fages, Mariana Esther Mart&#x000ED;nez-S&#x000E1;nchez, Sylvain Soliman, Denis Thieffry, and Nathan Weinstein for fruitful discussions. We greatly appreciate the feedback provided by all participants of the course Griffin, una herramienta de model checking para el an&#x000E1;lisis de redes booleanas. Finally, we are very grateful to the reviewers for their valuable observations.</p>
</ack>
<sec sec-type="supplementary-material" id="s7">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fgene.2018.00039/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fgene.2018.00039/full#supplementary-material</ext-link></p>
<supplementary-material xlink:href="Presentation1.pdf" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
<supplementary-material xlink:href="Presentation2.zip" id="SM2" mimetype="application/zip" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Akutsu</surname> <given-names>T.</given-names></name> <name><surname>Miyano</surname> <given-names>S.</given-names></name> <name><surname>Kuhara</surname> <given-names>S.</given-names></name></person-group> (<year>1999</year>). <article-title>Identification of genetic networks from a small number of gene expression patterns under the Boolean network model</article-title>, in <source>Pacific Symposium on Biocomputing</source>, <volume>Vol. 4</volume> (<publisher-loc>Hawaii</publisher-loc>), <fpage>17</fpage>&#x02013;<lpage>28</lpage>.</citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Albert</surname> <given-names>R.</given-names></name> <name><surname>Othmer</surname> <given-names>H. G.</given-names></name></person-group> (<year>2003</year>). <article-title>The topology of the regulatory interactions predicts the expression pattern of the segment polarity genes in <italic>Drosophila melanogaster</italic></article-title>. <source>J. Theor. Biol.</source> <volume>223</volume>, <fpage>1</fpage>&#x02013;<lpage>18</lpage>. <pub-id pub-id-type="doi">10.1016/S0022-5193(03)00035-3</pub-id><pub-id pub-id-type="pmid">12782112</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alvarez-Buylla</surname> <given-names>E. R.</given-names></name> <name><surname>Ben&#x000ED;tez</surname> <given-names>M.</given-names></name> <name><surname>Corvera-Poir&#x000E9;</surname> <given-names>A.</given-names></name> <name><surname>Chaos Cador</surname> <given-names>&#x000C1;.</given-names></name> <name><surname>de Folter</surname> <given-names>S.</given-names></name> <name><surname>Gamboa de Buen</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2010</year>). <article-title>Flower development</article-title>. <source>Arabidopsis Book</source> <volume>8</volume>:<fpage>e0127</fpage>. <pub-id pub-id-type="doi">10.1199/tab.0127</pub-id><pub-id pub-id-type="pmid">22303253</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arellano</surname> <given-names>G.</given-names></name> <name><surname>Argil</surname> <given-names>J.</given-names></name> <name><surname>Azpeitia</surname> <given-names>E.</given-names></name> <name><surname>Ben&#x000ED;tez</surname> <given-names>M.</given-names></name> <name><surname>Carrillo</surname> <given-names>M.</given-names></name> <name><surname>G&#x000F3;ngora</surname> <given-names>P.</given-names></name> <etal/></person-group>. (<year>2011</year>). <article-title>&#x0201C;Antelope&#x0201D;: a hybrid-logic model checker for branching-time Boolean GRN analysis</article-title>. <source>BMC Bioinformatics</source> <volume>12</volume>:<fpage>490</fpage>. <pub-id pub-id-type="doi">10.1186/1471-2105-12-490</pub-id><pub-id pub-id-type="pmid">22192526</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Azpeitia</surname> <given-names>E.</given-names></name> <name><surname>Ben&#x000ED;tez</surname> <given-names>M.</given-names></name> <name><surname>Vega</surname> <given-names>I.</given-names></name> <name><surname>Villarreal</surname> <given-names>C.</given-names></name> <name><surname>Alvarez-Buylla</surname> <given-names>E. R.</given-names></name></person-group> (<year>2010</year>). <article-title>Single-cell and coupled GRN models of cell patterning in the <italic>Arabidopsis thaliana</italic> root stem cell niche</article-title>. <source>BMC Syst. Biol.</source> <volume>4</volume>:<fpage>1</fpage>. <pub-id pub-id-type="doi">10.1186/1752-0509-4-134</pub-id><pub-id pub-id-type="pmid">20920363</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Azpeitia</surname> <given-names>E.</given-names></name> <name><surname>Davila-Velderrain</surname> <given-names>J.</given-names></name> <name><surname>Villarreal</surname> <given-names>C.</given-names></name> <name><surname>Alvarez-Buylla</surname> <given-names>E. R.</given-names></name></person-group> (<year>2014</year>). <article-title>Chapter 26: Gene regulatory network models for floral organ determination</article-title>, in <source>Flower Development: Methods and Protocols, Methods in Molecular Biology</source>, <volume>Vol. 1110</volume>, eds <person-group person-group-type="editor"><name><surname>Riechmann</surname> <given-names>J. L.</given-names></name> <name><surname>Wellmer</surname> <given-names>F.</given-names></name></person-group> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>441</fpage>&#x02013;<lpage>469</lpage>.</citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Azpeitia</surname> <given-names>E.</given-names></name> <name><surname>Mu&#x000F1;oz</surname> <given-names>S.</given-names></name> <name><surname>Gonz&#x000E1;lez-Tokman</surname> <given-names>D.</given-names></name> <name><surname>Mart&#x000ED;nez-S&#x000E1;nchez</surname> <given-names>M. E.</given-names></name> <name><surname>Weinstein</surname> <given-names>N.</given-names></name> <name><surname>Naldi</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2017</year>). <article-title>The combination of the functionalities of feedback circuits is determinant for the attractors&#x00027; number and size in pathway-like Boolean networks</article-title>. <source>Sci. Rep.</source> <volume>7</volume>:<fpage>42023</fpage>. <pub-id pub-id-type="doi">10.1038/srep42023</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Azpeitia</surname> <given-names>E.</given-names></name> <name><surname>Weinstein</surname> <given-names>N.</given-names></name> <name><surname>Ben&#x000ED;tez</surname> <given-names>M.</given-names></name> <name><surname>Mendoza</surname> <given-names>L.</given-names></name> <name><surname>Alvarez-Buylla</surname> <given-names>E. R.</given-names></name></person-group> (<year>2013</year>). <article-title>Finding missing interactions of the <italic>Arabidopsis thaliana</italic> root stem cell niche gene regulatory network</article-title>. <source>Front. Plant Sci.</source> <volume>4</volume>:<fpage>110</fpage>. <pub-id pub-id-type="doi">10.3389/fpls.2013.00110</pub-id><pub-id pub-id-type="pmid">23658556</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Barman</surname> <given-names>S.</given-names></name> <name><surname>Kwon</surname> <given-names>Y.-K.</given-names></name></person-group> (<year>2017</year>). <article-title>A novel mutual information-based Boolean network inference method from time-series gene expression data</article-title>. <source>PLoS ONE</source> <volume>12</volume>:<fpage>e0171097</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0171097</pub-id><pub-id pub-id-type="pmid">28178334</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Berestovsky</surname> <given-names>N.</given-names></name> <name><surname>Nakhleh</surname> <given-names>L.</given-names></name></person-group> (<year>2013</year>). <article-title>An evaluation of methods for inferring Boolean networks from time-series data</article-title>. <source>PLoS ONE</source> <volume>8</volume>:<fpage>e66031</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0066031</pub-id><pub-id pub-id-type="pmid">23805196</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bernot</surname> <given-names>G.</given-names></name> <name><surname>Comet</surname> <given-names>J.-P.</given-names></name> <name><surname>Richard</surname> <given-names>A.</given-names></name> <name><surname>Guespin</surname> <given-names>J.</given-names></name></person-group> (<year>2004</year>). <article-title>Application of formal methods to biological regulatory networks: extending Thomas&#x00027; asynchronous logical approach with temporal logic</article-title>. <source>J. Theor. Biol.</source> <volume>229</volume>, <fpage>339</fpage>&#x02013;<lpage>347</lpage>. <pub-id pub-id-type="doi">10.1016/j.jtbi.2004.04.003</pub-id><pub-id pub-id-type="pmid">15234201</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bornholdt</surname> <given-names>S.</given-names></name></person-group> (<year>2001</year>). <article-title>Modeling genetic networks and their evolution: a complex dynamical systems perspective</article-title>. <source>Biol. Chem.</source> <volume>382</volume>, <fpage>1289</fpage>&#x02013;<lpage>1299</lpage>. <pub-id pub-id-type="doi">10.1515/BC.2001.161</pub-id><pub-id pub-id-type="pmid">11688712</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bornholdt</surname> <given-names>S.</given-names></name></person-group> (<year>2005</year>). <article-title>Systems biology: less is more in modeling large genetic networks</article-title>. <source>Science</source> <volume>310</volume>, <fpage>449</fpage>&#x02013;<lpage>451</lpage>. <pub-id pub-id-type="doi">10.1126/science.1119959</pub-id><pub-id pub-id-type="pmid">16239464</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bornholdt</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <article-title>Boolean network models of cellular regulation: prospects and limitations</article-title>. <source>J. R. Soc. Interface</source> <volume>5</volume>, <fpage>S85</fpage>&#x02013;<lpage>S94</lpage>. <pub-id pub-id-type="doi">10.1098/rsif.2008.0132.focus</pub-id><pub-id pub-id-type="pmid">18508746</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brewka</surname> <given-names>G.</given-names></name> <name><surname>Eiter</surname> <given-names>T.</given-names></name> <name><surname>Truszczy&#x00144;ski</surname> <given-names>M.</given-names></name></person-group> (<year>2011</year>). <article-title>Answer Set Programming at a glance</article-title>. <source>Commun. ACM</source> <volume>54</volume>, <fpage>92</fpage>&#x02013;<lpage>103</lpage>. <pub-id pub-id-type="doi">10.1145/2043174.2043195</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Burch</surname> <given-names>J.</given-names></name> <name><surname>Clarke</surname> <given-names>E.</given-names></name> <name><surname>McMillan</surname> <given-names>K.</given-names></name> <name><surname>Dill</surname> <given-names>D.</given-names></name> <name><surname>Hwang</surname> <given-names>L.</given-names></name></person-group> (<year>1992</year>). <article-title>Symbolic model checking: 10<sup>20</sup> states and beyond</article-title>. <source>Inform. Comput.</source> <volume>98</volume>, <fpage>142</fpage>&#x02013;<lpage>170</lpage>. <pub-id pub-id-type="doi">10.1016/0890-5401(92)90017-A</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Calzone</surname> <given-names>L.</given-names></name> <name><surname>Chabrier-Rivier</surname> <given-names>N.</given-names></name> <name><surname>Fages</surname> <given-names>F.</given-names></name> <name><surname>Soliman</surname> <given-names>S.</given-names></name></person-group> (<year>2006a</year>). <article-title>Machine learning biochemical networks from temporal logic properties</article-title>, in <source>Transactions on Computational Systems Biology VI, Lecture Notes in Bioinformatics No. 4220</source>, ed <person-group person-group-type="editor"><name><surname>Plotkin</surname> <given-names>G.</given-names></name></person-group> (<publisher-loc>Berlin; Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>68</fpage>&#x02013;<lpage>94</lpage>.</citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Calzone</surname> <given-names>L.</given-names></name> <name><surname>Fages</surname> <given-names>F.</given-names></name> <name><surname>Soliman</surname> <given-names>S.</given-names></name></person-group> (<year>2006b</year>). <article-title>BIOCHAM: an environment for modeling biological systems and formalizing experimental knowledge</article-title>. <source>Bioinformatics</source> <volume>22</volume>, <fpage>1805</fpage>&#x02013;<lpage>1807</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btl172</pub-id><pub-id pub-id-type="pmid">16672256</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Carrillo</surname> <given-names>M.</given-names></name> <name><surname>G&#x000F3;ngora</surname> <given-names>P. A.</given-names></name> <name><surname>Rosenblueth</surname> <given-names>D. A.</given-names></name></person-group> (<year>2012</year>). <article-title>An overview of existing modeling tools making use of model checking in the analysis of biochemical networks</article-title>. <source>Front. Plant Sci.</source> <volume>3</volume>:<fpage>155</fpage>. <pub-id pub-id-type="doi">10.3389/fpls.2012.00155</pub-id><pub-id pub-id-type="pmid">22833747</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chabrier-Rivier</surname> <given-names>N.</given-names></name> <name><surname>Chiaverini</surname> <given-names>M.</given-names></name> <name><surname>Danos</surname> <given-names>V.</given-names></name> <name><surname>Fages</surname> <given-names>F.</given-names></name> <name><surname>Sch&#x000E4;chter</surname> <given-names>V.</given-names></name></person-group> (<year>2004</year>). <article-title>Modeling and querying biomolecular interaction networks</article-title>. <source>Theor. Comput. Sci.</source> <volume>325</volume>, <fpage>25</fpage>&#x02013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1016/j.tcs.2004.03.063</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chueh</surname> <given-names>T.-H.</given-names></name> <name><surname>Lu</surname> <given-names>H. H.-S.</given-names></name></person-group> (<year>2012</year>). <article-title>Inference of biological pathway from gene expression profiles by time delay Boolean networks</article-title>. <source>PLoS ONE</source> <volume>7</volume>:<fpage>e42095</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0042095</pub-id><pub-id pub-id-type="pmid">22952589</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Clarke</surname> <given-names>E. M.</given-names></name> <name><surname>Grumberg</surname> <given-names>O.</given-names></name> <name><surname>Peled</surname> <given-names>D. A.</given-names></name></person-group> (<year>1999</year>). <source>Model Checking</source>. <publisher-loc>Cambridge, MA; London</publisher-loc>: <publisher-name>MIT Press</publisher-name>.</citation></ref>
<ref id="B23">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Corblin</surname> <given-names>F.</given-names></name> <name><surname>Fanchon</surname> <given-names>E.</given-names></name> <name><surname>Trilling</surname> <given-names>L.</given-names></name> <name><surname>Chaouiya</surname> <given-names>C.</given-names></name> <name><surname>Thieffry</surname> <given-names>D.</given-names></name></person-group> (<year>2012</year>). <article-title>Automatic inference of regulatory and dynamical properties from incomplete gene interaction and expression data</article-title>, in <source>Information Processing in Cells and Tissues</source> (<publisher-loc>Berlin; Heidelberg</publisher-loc>), <fpage>25</fpage>&#x02013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-642-28792-3_4</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Creignou</surname> <given-names>N.</given-names></name> <name><surname>Khanna</surname> <given-names>S.</given-names></name> <name><surname>Sudan</surname> <given-names>M.</given-names></name></person-group> (<year>2001</year>). <source>Complexity Classifications of Boolean Constraint Satisfaction Problems</source>. <publisher-loc>Philadelphia, PA</publisher-loc>: <publisher-name>SIAM</publisher-name>. <pub-id pub-id-type="doi">10.1137/1.9780898718546</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dantsin</surname> <given-names>E.</given-names></name> <name><surname>Hirsch</surname> <given-names>E. A.</given-names></name></person-group> (<year>2009</year>). <article-title>Worst-case upper bounds</article-title>, in <source>Handbook of Satisfiability</source>, <volume>Vol. 185</volume>, eds <person-group person-group-type="editor"><name><surname>Biere</surname> <given-names>A.</given-names></name> <name><surname>Heule</surname> <given-names>M.</given-names></name> <name><surname>van Maaren</surname> <given-names>H.</given-names></name> <name><surname>Walsh</surname> <given-names>T.</given-names></name></person-group> (<publisher-name>IOS Press</publisher-name>), <fpage>403</fpage>&#x02013;<lpage>424</lpage>. <pub-id pub-id-type="doi">10.3233/978-1-58603-929-5-403</pub-id></citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Davidich</surname> <given-names>M. I.</given-names></name> <name><surname>Bornholdt</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <article-title>Boolean network model predicts cell cycle sequence of fission yeast</article-title>. <source>PLoS ONE</source> <volume>3</volume>:<fpage>e1672</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0001672</pub-id><pub-id pub-id-type="pmid">18301750</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>D&#x00027;haeseleer</surname> <given-names>P.</given-names></name> <name><surname>Liang</surname> <given-names>S.</given-names></name> <name><surname>Somogyi</surname> <given-names>R.</given-names></name></person-group> (<year>2000</year>). <article-title>Genetic network inference: from co-expression clustering to reverse engineering</article-title>. <source>Bioinformatics</source> <volume>16</volume>, <fpage>707</fpage>&#x02013;<lpage>726</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/16.8.707</pub-id><pub-id pub-id-type="pmid">11099257</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Drinnan</surname> <given-names>A. N.</given-names></name> <name><surname>Crane</surname> <given-names>P. R.</given-names></name> <name><surname>Hoot</surname> <given-names>S. B.</given-names></name></person-group> (<year>1994</year>). <article-title>Patterns of floral evolution in the early diversification of non-magnoliid dicotyledons (eudicots)</article-title>, in <source>Early Evolution of Flowers. Plant Systematics and Evolution Supplement 8</source>, <volume>Vol. 8</volume>, eds <person-group person-group-type="editor"><name><surname>Endress</surname> <given-names>P. K.</given-names></name> <name><surname>Friis</surname> <given-names>E. M.</given-names></name></person-group> (<publisher-loc>Vienna</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>93</fpage>&#x02013;<lpage>122</lpage>.</citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dubrova</surname> <given-names>E.</given-names></name> <name><surname>Teslenko</surname> <given-names>M.</given-names></name></person-group> (<year>2011</year>). <article-title>A SAT-based algorithm for finding attractors in synchronous Boolean networks</article-title>. <source>IEEE/ACM Trans. Comput. Biol. Bioinformatics (TCBB)</source> <volume>8</volume>, <fpage>1393</fpage>&#x02013;<lpage>1399</lpage>. <pub-id pub-id-type="doi">10.1109/TCBB.2010.20</pub-id><pub-id pub-id-type="pmid">21778527</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Espinosa-Soto</surname> <given-names>C.</given-names></name> <name><surname>Padilla-Longoria</surname> <given-names>P.</given-names></name> <name><surname>Alvarez-Buylla</surname> <given-names>E.</given-names></name></person-group> (<year>2004</year>). <article-title>A gene regulatory network model for cell-fate determination during <italic>Arabidopsis thaliana</italic> flower development that is robust and recovers experimental gene expression profiles</article-title>. <source>Plant Cell</source> <volume>16</volume>, <fpage>2923</fpage>&#x02013;<lpage>2939</lpage>. <pub-id pub-id-type="doi">10.1105/tpc.104.021725</pub-id><pub-id pub-id-type="pmid">15486106</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fages</surname> <given-names>F.</given-names></name> <name><surname>Soliman</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <article-title>Abstract interpretation and types for systems biology</article-title>. <source>Theor. Comput. Sci.</source> <volume>403</volume>, <fpage>52</fpage>&#x02013;<lpage>70</lpage>. <pub-id pub-id-type="doi">10.1016/j.tcs.2008.04.024</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fages</surname> <given-names>F.</given-names></name> <name><surname>Soliman</surname> <given-names>S.</given-names></name> <name><surname>Chabrier-Rivier</surname> <given-names>N.</given-names></name></person-group> (<year>2004</year>). <article-title>Modelling and querying interaction networks in the biochemical abstract machine BIOCHAM</article-title>. <source>J. Biol. Phys. Chem.</source> <volume>4</volume>, <fpage>64</fpage>&#x02013;<lpage>73</lpage>. <pub-id pub-id-type="doi">10.4024/2040402.jbpc.04.02</pub-id></citation></ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fisher</surname> <given-names>J.</given-names></name> <name><surname>Henzinger</surname> <given-names>T. A.</given-names></name></person-group> (<year>2007</year>). <article-title>Executable cell biology</article-title>. <source>Nat. Biotechnol.</source> <volume>25</volume>, <fpage>1239</fpage>&#x02013;<lpage>1249</lpage>. <pub-id pub-id-type="doi">10.1038/nbt1356</pub-id><pub-id pub-id-type="pmid">17989686</pub-id></citation></ref>
<ref id="B34">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Franco</surname> <given-names>J.</given-names></name> <name><surname>Martin</surname> <given-names>J.</given-names></name></person-group> (<year>2009</year>). <article-title>A history of satisfiability</article-title>, in <source>Handbook of Satisfiability, vol. 185</source>, eds <person-group person-group-type="editor"><name><surname>Biere</surname> <given-names>A.</given-names></name> <name><surname>Heule</surname> <given-names>M.</given-names></name> <name><surname>van Maaren</surname> <given-names>H.</given-names></name> <name><surname>Walsh</surname> <given-names>T.</given-names></name></person-group> (<publisher-loc>Amsterdam; Berlin; Oxford; Tokyo; Washington, DC</publisher-loc>: <publisher-name>IOS Press</publisher-name>), <fpage>3</fpage>&#x02013;<lpage>74</lpage>.</citation></ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Garc&#x000ED;a-G&#x000F3;mez</surname> <given-names>M. L.</given-names></name> <name><surname>Azpeitia</surname> <given-names>E.</given-names></name> <name><surname>&#x000C1;lvarez Buylla</surname> <given-names>E. R.</given-names></name></person-group> (<year>2017</year>). <article-title>A dynamic genetic-hormonal regulatory network model explains multiple cellular behaviors of the root apical meristem of <italic>Arabidopsis thaliana</italic></article-title>. <source>PLoS Comput. Biol.</source> <volume>13</volume>:<fpage>e1005488</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1005488</pub-id><pub-id pub-id-type="pmid">28426669</pub-id></citation></ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Garg</surname> <given-names>A.</given-names></name> <name><surname>Di Cara</surname> <given-names>A.</given-names></name> <name><surname>Xenarios</surname> <given-names>I.</given-names></name> <name><surname>Mendoza</surname> <given-names>L.</given-names></name> <name><surname>De Micheli</surname> <given-names>G.</given-names></name></person-group> (<year>2008</year>). <article-title>Synchronous versus asynchronous modeling of gene regulatory networks</article-title>. <source>Bioinformatics</source> <volume>24</volume>, <fpage>1917</fpage>&#x02013;<lpage>1925</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btn336</pub-id><pub-id pub-id-type="pmid">18614585</pub-id></citation></ref>
<ref id="B37">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gershenson</surname> <given-names>C.</given-names></name></person-group> (<year>2002</year>). <article-title>Classification of random boolean networks in Standish</article-title>, in <source>Artificial Life VIII: Proceedings of the Eighth International Conference on Artificial Life</source>, eds <person-group person-group-type="editor"><name><surname>Standish</surname> <given-names>R. K.</given-names></name> <name><surname>Bedau</surname> <given-names>M. A.</given-names></name> <name><surname>Abbass</surname> <given-names>H. A.</given-names></name></person-group> (<publisher-loc>Sydney, NSW</publisher-loc>: <publisher-name>MIT Press</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>8</lpage>.</citation></ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ghaffarizadeh</surname> <given-names>A.</given-names></name> <name><surname>Podgorski</surname> <given-names>G. J.</given-names></name> <name><surname>Flann</surname> <given-names>N. S.</given-names></name></person-group> (<year>2017</year>). <article-title>Applying attractor dynamics to infer gene regulatory interactions involved in cellular differentiation</article-title>. <source>Biosystems</source> <volume>155</volume>, <fpage>29</fpage>&#x02013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1016/j.biosystems.2016.12.004</pub-id><pub-id pub-id-type="pmid">28254369</pub-id></citation></ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Haider</surname> <given-names>S.</given-names></name> <name><surname>Pal</surname> <given-names>R.</given-names></name></person-group> (<year>2012</year>). <article-title>Boolean network inference from time series data incorporating prior biological knowledge</article-title>. <source>BMC Genomics</source> <volume>13</volume>:<fpage>S9</fpage>. <pub-id pub-id-type="doi">10.1186/1471-2164-13-S6-S9</pub-id><pub-id pub-id-type="pmid">23134816</pub-id></citation></ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Han</surname> <given-names>S.</given-names></name> <name><surname>Wong</surname> <given-names>R. K.</given-names></name> <name><surname>Lee</surname> <given-names>T. C.</given-names></name> <name><surname>Shen</surname> <given-names>L.</given-names></name> <name><surname>Li</surname> <given-names>S.-Y. R.</given-names></name> <name><surname>Fan</surname> <given-names>X.</given-names></name></person-group> (<year>2014</year>). <article-title>A full bayesian approach for boolean genetic network inference</article-title>. <source>PloS ONE</source> <volume>9</volume>:<fpage>e115806</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0115806</pub-id><pub-id pub-id-type="pmid">25551820</pub-id></citation></ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hecker</surname> <given-names>M.</given-names></name> <name><surname>Lambeck</surname> <given-names>S.</given-names></name> <name><surname>Toepfer</surname> <given-names>S.</given-names></name> <name><surname>van Someeren</surname> <given-names>E.</given-names></name> <name><surname>Guthke</surname> <given-names>R.</given-names></name></person-group> (<year>2009</year>). <article-title>Gene regulatory network inference: data integration in dynamic models&#x02014;a review</article-title>. <source>BioSystems</source> <volume>96</volume>, <fpage>86</fpage>&#x02013;<lpage>103</lpage>. <pub-id pub-id-type="doi">10.1016/j.biosystems.2008.12.004</pub-id><pub-id pub-id-type="pmid">19150482</pub-id></citation></ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hickman</surname> <given-names>G. J.</given-names></name> <name><surname>Hodgman</surname> <given-names>T. C.</given-names></name></person-group> (<year>2009</year>). <article-title>Inference of gene regulatory networks using Boolean-network inference methods</article-title>. <source>J. Bioinform. Comput. Biol.</source> <volume>7</volume>, <fpage>1013</fpage>&#x02013;<lpage>1029</lpage>. <pub-id pub-id-type="doi">10.1142/S0219720009004448</pub-id><pub-id pub-id-type="pmid">20014476</pub-id></citation></ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>S.</given-names></name></person-group> (<year>1999</year>). <article-title>Gene expression profiling, genetic networks, and cellular states: an integrating concept for tumorigenesis and drug discovery</article-title>. <source>J. Mol. Med.</source> <volume>77</volume>, <fpage>469</fpage>&#x02013;<lpage>480</lpage>. <pub-id pub-id-type="doi">10.1007/s001099900023</pub-id><pub-id pub-id-type="pmid">10475062</pub-id></citation></ref>
<ref id="B44">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jarrah</surname> <given-names>A. S.</given-names></name> <name><surname>Laubenbacher</surname> <given-names>R.</given-names></name> <name><surname>Stigler</surname> <given-names>B.</given-names></name> <name><surname>Stillman</surname> <given-names>M.</given-names></name></person-group> (<year>2007</year>). <article-title>Reverse-engineering of polynomial dynamical systems</article-title>. <source>Adv. Appl. Math.</source> <volume>39</volume>, <fpage>477</fpage>&#x02013;<lpage>489</lpage>. <pub-id pub-id-type="doi">10.1016/j.aam.2006.08.004</pub-id></citation></ref>
<ref id="B45">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Karlebach</surname> <given-names>G.</given-names></name> <name><surname>Shamir</surname> <given-names>R.</given-names></name></person-group> (<year>2008</year>). <article-title>Modelling and analysis of gene regulatory networks</article-title>. <source>Nat. Rev. Mol. Cell Biol.</source> <volume>9</volume>, <fpage>770</fpage>&#x02013;<lpage>780</lpage>. <pub-id pub-id-type="doi">10.1038/nrm2503</pub-id><pub-id pub-id-type="pmid">18797474</pub-id></citation></ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kauffman</surname> <given-names>S.</given-names></name></person-group> (<year>1969</year>). <article-title>Homeostasis and differentiation in random genetic control networks</article-title>. <source>Nature</source> <volume>224</volume>, <fpage>177</fpage>&#x02013;<lpage>178</lpage>. <pub-id pub-id-type="doi">10.1038/224177a0</pub-id><pub-id pub-id-type="pmid">5343519</pub-id></citation></ref>
<ref id="B47">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Khalis</surname> <given-names>Z.</given-names></name> <name><surname>Comet</surname> <given-names>J.-P.</given-names></name> <name><surname>Richard</surname> <given-names>A.</given-names></name> <name><surname>Bernot</surname> <given-names>G.</given-names></name></person-group> (<year>2009</year>). <article-title>The SMBioNet method for discovering models of gene regulatory networks</article-title>, in <source>Focus on Bioinformatics. Genes, Genomes and Genomics Vol. 3 (Special Issue 1). Global Science Books 2009</source>, ed <person-group person-group-type="editor"><name><surname>Mansour</surname> <given-names>A.</given-names></name></person-group> <fpage>15</fpage>&#x02013;<lpage>22</lpage>. Available online at: <ext-link ext-link-type="uri" xlink:href="http://www.globalsciencebooks.info/Online/GSBOnline/OnlineGGG_3_SI1.html">http://www.globalsciencebooks.info/Online/GSBOnline/OnlineGGG_3_SI1.html</ext-link></citation></ref>
<ref id="B48">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Klarner</surname> <given-names>H.</given-names></name> <name><surname>Bockmayr</surname> <given-names>A.</given-names></name> <name><surname>Siebert</surname> <given-names>H.</given-names></name></person-group> (<year>2014</year>). <article-title>Computing symbolic steady states of boolean networks</article-title>, in <source>Cellular Automata. ACRI 2014. Lecture Notes in Computer Science</source>, <volume>Vol. 8751</volume>, eds <person-group person-group-type="editor"><name><surname>W&#x00105;s</surname> <given-names>J.</given-names></name> <name><surname>Sirakoulis</surname> <given-names>G. C.</given-names></name> <name><surname>Bandini</surname> <given-names>S.</given-names></name></person-group> (<publisher-loc>Cham</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>561</fpage>&#x02013;<lpage>570</lpage>.</citation></ref>
<ref id="B49">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klarner</surname> <given-names>H.</given-names></name> <name><surname>Siebert</surname> <given-names>H.</given-names></name></person-group> (<year>2015</year>). <article-title>Approximating attractors of boolean networks by iterative ctl model checking</article-title>. <source>Front. Bioeng. Biotechnol.</source> <volume>3</volume>:<fpage>130</fpage>. <pub-id pub-id-type="doi">10.3389/fbioe.2015.00130</pub-id><pub-id pub-id-type="pmid">26442247</pub-id></citation></ref>
<ref id="B50">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>La Rota</surname> <given-names>C.</given-names></name> <name><surname>Chopard</surname> <given-names>J.</given-names></name> <name><surname>Das</surname> <given-names>P.</given-names></name> <name><surname>Paindavoine</surname> <given-names>S.</given-names></name> <name><surname>Rozier</surname> <given-names>F.</given-names></name> <name><surname>Farcot</surname> <given-names>E.</given-names></name> <etal/></person-group>. (<year>2011</year>). <article-title>A data-driven integrative model of sepal primordium polarity in <italic>Arabidopsis</italic></article-title>. <source>Plant Cell</source> <volume>23</volume>, <fpage>4318</fpage>&#x02013;<lpage>4333</lpage>. <pub-id pub-id-type="doi">10.1105/tpc.111.092619</pub-id><pub-id pub-id-type="pmid">22198150</pub-id></citation></ref>
<ref id="B51">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>L&#x000E4;hdesm&#x000E4;ki</surname> <given-names>H.</given-names></name> <name><surname>Shmulevich</surname> <given-names>I.</given-names></name> <name><surname>Yli-Harja</surname> <given-names>O.</given-names></name></person-group> (<year>2003</year>). <article-title>On learning gene regulatory networks under the Boolean network model</article-title>. <source>Mach. Learn.</source> <volume>52</volume>, <fpage>147</fpage>&#x02013;<lpage>167</lpage>. <pub-id pub-id-type="doi">10.1023/A:1023905711304</pub-id></citation></ref>
<ref id="B52">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Laubenbacher</surname> <given-names>R.</given-names></name> <name><surname>Stigler</surname> <given-names>B.</given-names></name></person-group> (<year>2004</year>). <article-title>A computational algebra approach to the reverse engineering of gene regulatory networks</article-title>. <source>J. Theor. Biol.</source> <volume>229</volume>, <fpage>523</fpage>&#x02013;<lpage>537</lpage>. <pub-id pub-id-type="doi">10.1016/j.jtbi.2004.04.037</pub-id><pub-id pub-id-type="pmid">15246788</pub-id></citation></ref>
<ref id="B53">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Layek</surname> <given-names>R. K.</given-names></name> <name><surname>Datta</surname> <given-names>A.</given-names></name> <name><surname>Dougherty</surname> <given-names>E. R.</given-names></name></person-group> (<year>2011</year>). <article-title>From biological pathways to regulatory networks</article-title>. <source>Mol. Biosyst.</source> <volume>7</volume>, <fpage>843</fpage>&#x02013;<lpage>851</lpage>. <pub-id pub-id-type="doi">10.1039/C0MB00263A</pub-id><pub-id pub-id-type="pmid">21161088</pub-id></citation></ref>
<ref id="B54">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>F.</given-names></name> <name><surname>Long</surname> <given-names>T.</given-names></name> <name><surname>Lu</surname> <given-names>Y.</given-names></name> <name><surname>Ouyang</surname> <given-names>Q.</given-names></name> <name><surname>Tang</surname> <given-names>C.</given-names></name></person-group> (<year>2004</year>). <article-title>The yeast cell-cycle network is robustly designed</article-title>. <source>Proc. Natl. Acad. Sci. U.S.A.</source> <volume>101</volume>, <fpage>4781</fpage>&#x02013;<lpage>4786</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.0305937101</pub-id><pub-id pub-id-type="pmid">15037758</pub-id></citation></ref>
<ref id="B55">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liang</surname> <given-names>S.</given-names></name> <name><surname>Fuhrman</surname> <given-names>S.</given-names></name> <name><surname>Somogyi</surname> <given-names>R.</given-names></name></person-group> (<year>1998</year>). <article-title>REVEAL, a general reverse engineering algorithm for inference of genetic network architectures</article-title>. <source>Pac. Symp. Biocomput.</source> <volume>3</volume>, <fpage>18</fpage>&#x02013;<lpage>29</lpage>.</citation></ref>
<ref id="B56">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Markowetz</surname> <given-names>F.</given-names></name> <name><surname>Spang</surname> <given-names>R.</given-names></name></person-group> (<year>2007</year>). <article-title>Inferring cellular networks&#x02013;a review</article-title>. <source>BMC Bioinformatics</source> <volume>8</volume>:<fpage>S5</fpage>. <pub-id pub-id-type="doi">10.1186/1471-2105-8-S6-S5</pub-id><pub-id pub-id-type="pmid">17903286</pub-id></citation></ref>
<ref id="B57">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mateus</surname> <given-names>D.</given-names></name> <name><surname>Gallois</surname> <given-names>J.-P.</given-names></name> <name><surname>Comet</surname> <given-names>J.-P.</given-names></name> <name><surname>Gall</surname> <given-names>P. L.</given-names></name></person-group> (<year>2007</year>). <article-title>Symbolic modeling of genetic regulatory networks</article-title>. <source>J. Bioinform. Comput. Biol.</source> <volume>5</volume>, <fpage>627</fpage>&#x02013;<lpage>640</lpage>. <pub-id pub-id-type="doi">10.1142/S0219720007002850</pub-id><pub-id pub-id-type="pmid">17636866</pub-id></citation></ref>
<ref id="B58">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mendoza</surname> <given-names>L.</given-names></name></person-group> (<year>2006</year>). <article-title>A network model for the control of the differentiation process in Th cells</article-title>. <source>Biosystems</source> <volume>84</volume>, <fpage>101</fpage>&#x02013;<lpage>114</lpage>. <pub-id pub-id-type="doi">10.1016/j.biosystems.2005.10.004</pub-id><pub-id pub-id-type="pmid">16386358</pub-id></citation></ref>
<ref id="B59">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mendoza</surname> <given-names>L.</given-names></name> <name><surname>Alvarez-Buylla</surname> <given-names>E. R.</given-names></name></person-group> (<year>1998</year>). <article-title>Dynamics of the genetic regulatory network for <italic>Arabidopsis thaliana</italic> flower morphogenesis</article-title>. <source>J. Theor. Biol.</source> <volume>193</volume>, <fpage>307</fpage>&#x02013;<lpage>319</lpage>. <pub-id pub-id-type="doi">10.1006/jtbi.1998.0701</pub-id><pub-id pub-id-type="pmid">9714934</pub-id></citation></ref>
<ref id="B60">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mendoza</surname> <given-names>L.</given-names></name> <name><surname>Thieffry</surname> <given-names>D.</given-names></name> <name><surname>Alvarez-Buylla</surname> <given-names>E. R.</given-names></name></person-group> (<year>1999</year>). <article-title>Genetic control of flower morphogenesis in <italic>Arabidopsis thaliana</italic>: a logical analysis</article-title>. <source>Bioinformatics</source> <volume>15</volume>, <fpage>593</fpage>&#x02013;<lpage>606</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/15.7.593</pub-id><pub-id pub-id-type="pmid">10487867</pub-id></citation></ref>
<ref id="B61">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mori</surname> <given-names>F.</given-names></name> <name><surname>Mochizuki</surname> <given-names>A.</given-names></name></person-group> (<year>2017</year>). <article-title>Expected number of fixed points in Boolean networks with arbitrary topology</article-title>. <source>Phys. Rev. Lett.</source> <volume>119</volume>:<fpage>028301</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevLett.119.028301</pub-id><pub-id pub-id-type="pmid">28753377</pub-id></citation></ref>
<ref id="B62">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Naldi</surname> <given-names>A.</given-names></name> <name><surname>Thieffry</surname> <given-names>D.</given-names></name> <name><surname>Chaouiya</surname> <given-names>C.</given-names></name></person-group> (<year>2007</year>). <article-title>Decision diagrams for the representation and analysis of logical models of genetic networks</article-title>, in <source>Computational Methods in Systems Biology. CMSB 2007. Lecture Notes in Computer Science</source>, <volume>Vol. 4695</volume>, eds <person-group person-group-type="editor"><name><surname>Calder</surname> <given-names>M.</given-names></name> <name><surname>Gilmore</surname> <given-names>S.</given-names></name></person-group> (<publisher-loc>Berlin; Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>15</fpage>&#x02013;<lpage>31</lpage>.</citation></ref>
<ref id="B63">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ostrowski</surname> <given-names>M.</given-names></name> <name><surname>Paulev&#x000E9;</surname> <given-names>L.</given-names></name> <name><surname>Schaub</surname> <given-names>T.</given-names></name> <name><surname>Siegel</surname> <given-names>A.</given-names></name> <name><surname>Guziolowski</surname> <given-names>C.</given-names></name></person-group> (<year>2016</year>). <article-title>Boolean network identification from perturbation time series data combining dynamics abstraction and logic programming</article-title>. <source>Biosystems</source> <volume>149</volume>, <fpage>139</fpage>&#x02013;<lpage>153</lpage>. <pub-id pub-id-type="doi">10.1016/j.biosystems.2016.07.009</pub-id><pub-id pub-id-type="pmid">27484338</pub-id></citation></ref>
<ref id="B64">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pal</surname> <given-names>R.</given-names></name> <name><surname>Ivanov</surname> <given-names>I.</given-names></name> <name><surname>Datta</surname> <given-names>A.</given-names></name> <name><surname>Bittner</surname> <given-names>M. L.</given-names></name> <name><surname>Dougherty</surname> <given-names>E. R.</given-names></name></person-group> (<year>2005</year>). <article-title>Generating Boolean networks with a prescribed attractor structure</article-title>. <source>Bioinformatics</source> <volume>21</volume>, <fpage>4021</fpage>&#x02013;<lpage>4025</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/bti664</pub-id><pub-id pub-id-type="pmid">16150807</pub-id></citation></ref>
<ref id="B65">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Richard</surname> <given-names>A.</given-names></name> <name><surname>Rossignol</surname> <given-names>G.</given-names></name> <name><surname>Comet</surname> <given-names>J.-P.</given-names></name> <name><surname>Bernot</surname> <given-names>G.</given-names></name> <name><surname>Guespin-Michel</surname> <given-names>J.</given-names></name> <name><surname>Merieau</surname> <given-names>A.</given-names></name></person-group> (<year>2012</year>). <article-title>Boolean models of biosurfactants production in <italic>Pseudomonas fluorescens</italic></article-title>. <source>PLoS ONE</source> <volume>7</volume>:<fpage>e24651</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0024651</pub-id><pub-id pub-id-type="pmid">22303435</pub-id></citation></ref>
<ref id="B66">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rosenblueth</surname> <given-names>D. A.</given-names></name> <name><surname>Mu&#x000F1;oz</surname> <given-names>S.</given-names></name> <name><surname>Carrillo</surname> <given-names>M.</given-names></name> <name><surname>Azpeitia</surname> <given-names>E.</given-names></name></person-group> (<year>2014</year>). <article-title>Inference of boolean networks from gene interaction graphs using a SAT solver</article-title>, in <source>Algorithms for Computational Biology. AlCoB 2014. Lecture Notes in Computer Science</source>, <volume>Vol. 8542</volume>, eds <person-group person-group-type="editor"><name><surname>Dediu</surname> <given-names>A. H.</given-names></name> <name><surname>Mart&#x000ED;n-Vide</surname> <given-names>C.</given-names></name> <name><surname>Truthe</surname> <given-names>B.</given-names></name></person-group> (<publisher-loc>Cham</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>235</fpage>&#x02013;<lpage>246</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-07953-0_19</pub-id></citation></ref>
<ref id="B67">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ruet</surname> <given-names>P.</given-names></name></person-group> (<year>2017</year>). <article-title>Negative local feedbacks in Boolean networks</article-title>. <source>Discrete Appl. Math.</source> <volume>221</volume>, <fpage>1</fpage>&#x02013;<lpage>17</lpage>. <pub-id pub-id-type="doi">10.1016/j.dam.2017.01.001</pub-id></citation></ref>
<ref id="B68">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saadatpour</surname> <given-names>A.</given-names></name> <name><surname>Albert</surname> <given-names>I.</given-names></name> <name><surname>Albert</surname> <given-names>R.</given-names></name></person-group> (<year>2010</year>). <article-title>Attractor analysis of asynchronous Boolean models of signal transduction networks</article-title>. <source>J. Theor. Biol.</source> <volume>266</volume>, <fpage>641</fpage>&#x02013;<lpage>656</lpage>. <pub-id pub-id-type="doi">10.1016/j.jtbi.2010.07.022</pub-id><pub-id pub-id-type="pmid">20659480</pub-id></citation></ref>
<ref id="B69">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saez-Rodriguez</surname> <given-names>J.</given-names></name> <name><surname>Alexopoulos</surname> <given-names>L. G.</given-names></name> <name><surname>Epperlein</surname> <given-names>J.</given-names></name> <name><surname>Samaga</surname> <given-names>R.</given-names></name> <name><surname>Lauffenburger</surname> <given-names>D. A.</given-names></name> <name><surname>Klamt</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2009</year>). <article-title>Discrete logic modelling as a means to link protein signalling networks with functional analysis of mammalian signal transduction</article-title>. <source>Mol. Syst. Biol.</source> <volume>5</volume>:<fpage>331</fpage>. <pub-id pub-id-type="doi">10.1038/msb.2009.87</pub-id><pub-id pub-id-type="pmid">19953085</pub-id></citation></ref>
<ref id="B70">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Shanahan</surname> <given-names>M.</given-names></name></person-group> (<year>1997</year>). <source>Solving the Frame Problem. A mathematical investigation of the Common Sense Law of Inertia</source>. <publisher-loc>Cambridge, MA; London</publisher-loc>: <publisher-name>MIT Press</publisher-name>.</citation></ref>
<ref id="B71">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Shmulevich</surname> <given-names>I.</given-names></name> <name><surname>Saarinen</surname> <given-names>A.</given-names></name> <name><surname>Yli-Harja</surname> <given-names>O.</given-names></name> <name><surname>Astola</surname> <given-names>J.</given-names></name></person-group> (<year>2003</year>). <article-title>Chapter 11: Inference of genetic regulatory networks via best-fit extensions</article-title>, in <source>Computational and Statistical Approaches to Genomics</source> (<publisher-loc>New York, NY; Boston; Dordrecht; London; Moscow</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>197</fpage>&#x02013;<lpage>210</lpage>.</citation></ref>
<ref id="B72">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Stolovitzky</surname> <given-names>G.</given-names></name> <name><surname>Monroe</surname> <given-names>D.</given-names></name> <name><surname>Califano</surname> <given-names>A.</given-names></name></person-group> (<year>2007</year>). <article-title>Dialogue on reverse-engineering assessment and methods. The DREAM of high-throughput pathway inference</article-title>. <source>Ann. N.Y. Acad. Sci.</source> <volume>1115</volume>, <fpage>1</fpage>&#x02013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1196/annals.1407.021</pub-id><pub-id pub-id-type="pmid">17925349</pub-id></citation></ref>
<ref id="B73">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Streck</surname> <given-names>A.</given-names></name> <name><surname>Siebert</surname> <given-names>H.</given-names></name></person-group> (<year>2015</year>). <article-title>Extensions for LTL model checking of Thomas networks</article-title>, in <source>Proceedings of the Strasbourg Spring School on Advances in Systems and Synthetic Biology</source>, eds <person-group person-group-type="editor"><name><surname>Amar</surname> <given-names>P.</given-names></name> <name><surname>K&#x000E9;p&#x000E8;s</surname> <given-names>F.</given-names></name> <name><surname>Norris</surname> <given-names>V.</given-names></name></person-group> <fpage>101</fpage>&#x02013;<lpage>114</lpage>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.researchgate.net/publication/278804124_avances_in_Systems_and_Synthetic_Biology">https://www.researchgate.net/publication/278804124_avances_in_Systems_and_Synthetic_Biology</ext-link></citation></ref>
<ref id="B74">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Tarissan</surname> <given-names>F.</given-names></name> <name><surname>Liberti</surname> <given-names>L.</given-names></name> <name><surname>La Rota</surname> <given-names>C.</given-names></name></person-group> (<year>2008</year>). <article-title>Network reconstruction: a mathematical programming approach</article-title>, in <source>European Conference on Complex Systems (ECCS&#x00027;08)</source> (<publisher-loc>Jerusalem</publisher-loc>). Available online at: <ext-link ext-link-type="uri" xlink:href="https://hal.archives-ouvertes.fr/hal-01217842">https://hal.archives-ouvertes.fr/hal-01217842</ext-link></citation></ref>
<ref id="B75">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Tseitin</surname> <given-names>G.</given-names></name></person-group> (<year>1968</year>). <article-title>On the complexity of derivation in propositional calculus</article-title>, in <source>Studies in Constructive Mathematics and Mathematical Logic, Part 2</source>, ed <person-group person-group-type="editor"><name><surname>Slisenko</surname> <given-names>A.</given-names></name></person-group> (<publisher-loc>New York, NY; London</publisher-loc>: <publisher-name>Consultants Bureau</publisher-name>), <fpage>115</fpage>&#x02013;<lpage>125</lpage>.</citation></ref>
<ref id="B76">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Veliz-Cuba</surname> <given-names>A.</given-names></name></person-group> (<year>2012</year>). <article-title>An algebraic approach to reverse engineering finite dynamical systems arising from biology</article-title>. <source>SIAM J. Appl. Dyn. Syst.</source> <volume>11</volume>, <fpage>31</fpage>&#x02013;<lpage>48</lpage>. <pub-id pub-id-type="doi">10.1137/110828794</pub-id></citation></ref>
<ref id="B77">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Weinstein</surname> <given-names>N.</given-names></name> <name><surname>Ortiz-Guti&#x000E9;rrez</surname> <given-names>E.</given-names></name> <name><surname>Mu&#x000F1;oz</surname> <given-names>S.</given-names></name> <name><surname>Rosenblueth</surname> <given-names>D. A.</given-names></name> <name><surname>&#x000C1;lvarez-Buylla</surname> <given-names>E. R.</given-names></name> <name><surname>Mendoza</surname> <given-names>L.</given-names></name></person-group> (<year>2015</year>). <article-title>A model of the regulatory network involved in the control of the cell cycle and cell differentiation in the <italic>Caenorhabditis elegans</italic> vulva</article-title>. <source>BMC Bioinformatics</source> <volume>16</volume>:<fpage>1</fpage>. <pub-id pub-id-type="doi">10.1186/s12859-015-0498-z</pub-id><pub-id pub-id-type="pmid">25884811</pub-id></citation></ref>
<ref id="B78">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Wimburly</surname> <given-names>F. C.</given-names></name> <name><surname>Heiman</surname> <given-names>T.</given-names></name> <name><surname>Ramsey</surname> <given-names>J.</given-names></name> <name><surname>Glymour</surname> <given-names>C.</given-names></name></person-group> (<year>2003</year>). <article-title>Experiments on the accuracy of algorithms for inferring the structure of genetic regulatory networks from microarray expression levels</article-title>, in <source>International Joint Conference on Artificial Intelligence Workshop</source> (<publisher-loc>San Francisco, CA</publisher-loc>).</citation></ref>
</ref-list>
<fn-group>
<fn fn-type="financial-disclosure"><p><bold>Funding.</bold> We are grateful to Conacyt grant 221341 for support.</p></fn>
</fn-group>
</back>
</article>