^{1}

^{2}

^{3}

^{3}

^{4}

^{5}

^{6}

^{7}

^{8}

^{3}

^{9}

^{10}

^{11}

^{12}

^{9}

^{10}

^{11}

^{1}

^{*}

^{1}

^{2}

^{3}

^{4}

^{5}

^{6}

^{7}

^{8}

^{9}

^{10}

^{11}

^{12}

Edited by: Pierre De Meyts, de Duve Institute, Belgium

Reviewed by: Katsuhiko Murakami, Fujitsu Laboratories, Japan; David Phillip Nickerson, University of Auckland, New Zealand

This article was submitted to Systems Biology, a section of the journal Frontiers in Physiology

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(s) 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.

Boolean and multi-valued logical formalisms are increasingly used to model complex cellular networks. To ease the development and analysis of logical models, a series of software tools have been proposed, often with specific assets. However, combining these tools typically implies a series of cumbersome software installation and model conversion steps. In this respect, the

Boolean and multi-valued logical formalisms are increasingly used to model complex cellular networks (see e.g., Helikar et al.,

The delineation of a regulatory graph, where the vertices (nodes) represent signaling or regulatory components (proteins, genes, microRNAs, etc.), while the arcs (arrows) represent regulatory interactions between pairs of components. These arcs are labeled by a sign: positive in the case of activation, negative in the case of an inhibition (multiple arcs between two nodes may be considered but are not used here).

A discrete variable is associated with each node. In the simplest cases, as hereafter, these variables are Boolean, i.e., they can take only two values (0 or 1), denoting the absence/inactivity or the presence/activity of the corresponding components.

Finally, a logical rule is associated with each component to specify the combinations enabling its activation. More precisely, this rule combines the different variables corresponding to the regulatory components using the logical negation (denoted by

To support the development and analysis of logical models, a series of software tools have been proposed, often with specific assets (Naldi et al.,

The ^{1}^{2}^{3}

This protocol describes in details the usage of the CoLoMoTso Interactive Notebook to provide a reproducible analysis of a recently published model of the signaling network controlling tumor cell invasion and migration. More specifically, we combine different tools (Table

List of software tools used in this notebook.

GINsim | Model input and display, conversion to bioLQM and NuSMV | |

bioLQM | Fixpoint computation, conversion to MaBoSS and Pint | |

MaBoSS | Stochastic simulations, assess impact of mutations on propensity of reaching phenotypes | |

Pint | Formal prediction of mutants | |

NuSMV | Formal verification of phenotypes reachability and stability |

This protocol has been actually edited entirely as a Jupyter notebook before being converted to a LaTeX document for journal-specific editing purposes. The original notebook file is provided as Supplemental Material. It can also be visualized and downloaded for execution in the CoLoMoTo Interactive Notebook at

The blocks beginning with

Provided Docker and Python are installed, the CoLoMoTo Interactive notebook can be installed by typing and executing the following command^{4}

Once installed, the notebook can be executed by typing

The execution of this command will open a web page with the Jupyter notebook interface, enabling the loading and execution of the code. Note that “SHIFT+ENTER” must be used to execute each code cell. More information on

This notebook makes use of the following Python modules:

We analyse a Boolean model of the signaling network controlling cell tumor invasion, which was recently reported in Cohen et al. (

We first show how to use GINsim (Naldi et al.,

The regulatory graph (using the graphical setting specified in the model file) can be displayed with the following command:

The resulting graphics is reproduced in Figure

Graphical output resulting from the input code:

In this regulatory graph, the gray boxes denote input and output vertices (nodes). Green arrows and red T arrows respectively denote activatory and inhibitory interactions. A set of rules combining the vertices with the Boolean operators NOT, AND, and OR, which must be consistent with the regulatory graph, then allows the computation of enabled transitions for each network state. These rules have been defined in Cohen et al. (

First, we compute the complete list of logical stable states (or fixpoints) of the model using the Java library

At that stage,

The list of stable states of a bioLQM model is computed as follows:

Here,

For a nice display of the list of stable states, one can use the

Figure

Graphical output resulting from the input code:

It results that the model has nine stable states, each corresponding to a row in the table, four of which enable apoptosis (rows with value 1 in fourth column “Apoptosis”). Note that the input node

A state can be visualized on the regulatory graph using GINsim. For example, the third stable state can be displayed using the following command:

The resulting graphics is reproduced in Figure

Graphical output resulting from the input code:

In this graph, the vertices shown in white or orange denote components that are OFF (value 0) or ON (value 1) respectively.

MaBoSS (Stoll et al.,

The aim of this section is to reproduce part of the results obtained by Cohen et al. (

First, we convert the bioLQM model to MaBoSS:

The variable

The stochastic simulation of Boolean networks with MaBoSS requires the specification of several parameters.

First, a distribution of initial states must be specified: each simulation then starts from a state sampled from this distribution. The distribution is determined by assigning a probability to start in state

The

The notebook will then display the widgets reproduced in Figure

Using MaBoSS, we can focus on the

Graphical output resulting from the input code:

The

Among the parameter list,

The object

The resulting object gives access to the output data generated by MaBoSS. It includes notably the mean probability over time for the activity of the output states integrated over all the performed simulations.

The function

The resulting graphics is reproduced in Figure

Graphical output resulting from the input code:

In this chart, a state is described by the set of its active output nodes and is associated to a phenotype. For instance, the “

From this plot, we can deduce that, from the specified set of initial conditions, the apoptotic state (orange section), the EMT (purple section) and the metastatic states (green section) can be reached (the proportion of simulations that reached none of these phenotypes correspond to the red section).

The mean value of each output node during the simulations can be plotted with the following command:

The resulting graphics is reproduced in Figure

Graphical output resulting from the input code:

In the original article (Cohen et al.,

A mutant can be configured by copying the wild-type model, and use the

The modified model can then be simulated exactly as for the wild-type case:

The resulting graphics is reproduced in Figure

Graphical output resulting from the input code:

Using the same parameters as for the wild-type model, all the trajectories obtained for the double mutant model reach the metastatic invasive state exclusively. This suggests that such a double mutation can be responsible for a loss of apoptotic capability of cancer cells.

In the above section, the conclusion regarding the loss of apoptotic stable state relies on stochastic simulations, which, in general, may not offer a complete coverage of the possible trajectories. Therefore, one may want to formally verify whether the loss of reachable stable apoptosis state is total or not. First, we show how to use Pint (Paulevé,

Pint implements formal methods that allow deducing combinations of mutations guaranteed to block the reachability of a given state.

First, we convert the bioLQM model to Pint:

Then, we transfer the initial conditions defined in MaBoSS to the Pint model

Given a (partial) state specification, Pint provides the method

Among the returned mutation sets, one can spot the mutation

Noteworthy, forbidding

Therefore, the sets of mutations returned by Pint, albeit correct, might be non-minimal for controlling only the long-term dynamics of the system. Finally, note that the analysis of Pint can give incomplete results. This is due to the technology on which the computation relies (static analysis), which allows addressing very large scale networks.

We will first formally analyse the Notch++/p53-- double mutant to show that asymptotic apoptosis is forbidden, although transient activation of apoptosis node might still be possible.

One can apply a mutation on a Pint model using the

Then, we use the temporal logic CTL (Clarke and Emerson,

First, the existence of a trajectory leading to a

Next, the existence of a trajectory leading to a

Here,

Finally, we gather these two properties in a Python dictionary for later use:

The adequation of a model with a CTL property can be assessed using a

Pint provides a conversion to NuSMV models. By default, the NuSMV model considers any initial state. With the

We then add the properties defined above, and ask NuSMV to verify them.

Interestingly, the Notch++/p53-- double mutant can still reach an apoptotic state, but only transiently: the property

To complete our analysis, we now consider the triple mutant obtained by adding a loss-of-function of

The mutant combinations predicted with Pint should be refined when the aim is to control specifically stable behaviors. In general, given a set of mutations guaranteed to block any transient activation of a node, one may verify whether only a subset of them are sufficient to achieve proper control of the sole stable states.

We show here how we can take advantage of the Python environment to provide a small program, which, for each subset of mutations of a multiple mutant (here a triple gain-of-function for

The computation can take a couple of minutes. The results are shown in a graphical form (colored pie charts) for each single and double loss-of-function combination. In the pie charts, “Others” regroup states with an individual probability less than 1%, which often correspond to simulated trajectories having not reached an attractor in the given amount of time.

The resulting graphics are reproduced in Figures

Graphical output resulting from the input code:

Graphical output resulting from the input code:

Graphical output resulting from the input code:

Graphical output resulting from the input code:

Graphical output resulting from the input code:

Graphical output resulting from the input code:

Note that only one of the pie charts shows an absence of apoptotic state: the SNAI2++/miR203++ double mutant (Figure

This can be formally verified with NuSMV, as we did for the Notch++/p53-- mutant:

With this protocol, we showed how the Python interface and Jupyter integration of GINsim, bioLQM, MaBoSS, and Pint ease the delineation of sophisticated re-executable computational analyses of qualitative models of biological networks, combining and chaining different software with a unified interface.

Leaning on the CoLoMoTo Docker image and on the companion Jupyter notebook, we have demonstrated the benefits of this framework by revisiting the analysis of a recent Boolean model of the signaling network controlling cancer cell metastasis. We could reproduce results previously obtained with GINsim and MaBoSS, which demonstrate that the Notch++/p53-- double mutant can suppress the apoptotic outcome. Furthermore, a formal analysis of trajectories with Pint enabled us to deduce novel “anti-apoptotic” combinations of mutations, including a triple mutant that forbids even transient activation of apoptosis, which were subsequently quantified using MaBoSS.

The predicted of mutations point to potential synergistic genetic interactions underlying uncontrolled tumor proliferation. These combinations would deserve further analysis, in particular regarding potential correlations with specific clinical outcomes. For example, one could check whether the loss of apoptosis triggering correlates with higher tumor grades.

Similar computational analyses could be performed to predict combinations of perturbations enforcing the existence of a given stable phenotype, e.g., apoptosis, which could then serve as a basis to design novel therapeutic strategies.

NL, AN, CH, LP implemented the necessary Python modules, their integration in the Jupyter interface, and the Docker image. NL, AN, GS, DT, AZ, LC, LP participated to the general design of the notebook. All authors participated to the writing of the article.

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.

The Supplementary Material for this article can be found online at:

The supplemental data “Notebook” (Data Sheet

The supplemental data “Fixpoints” (Data Sheet

^{1}Available at

^{2}

^{3}

^{4}You may have to use