Abstract
Background: Boolean models of biological signalling-regulatory networks are increasingly used to formally describe and understand complex biological processes. These models may become inconsistent as new data becomes available and need to be repaired. In the past, the focus has been shed on the inference of (classes of) models given an interaction network and time-series data sets. However, repair of existing models against new data is still in its infancy, where the process is still manually performed and therefore slow and prone to errors.
Results: In this work, we propose a method with an associated tool to suggest repairs over inconsistent Boolean models, based on a set of atomic repair operations. Answer Set Programming is used to encode the minimal repair problem as a combinatorial optimization problem. In particular, given an inconsistent model, the tool provides the minimal repairs that render the model capable of generating dynamics coherent with a (set of) time-series data set(s), considering either a synchronous or an asynchronous updating scheme.
Conclusions: The method was validated using known biological models from different species, as well as synthetic models obtained from randomly generated networks. We discuss the method’s limitations regarding each of the updating schemes and the considered minimization algorithm.
How to run the project
./Converter type [asynchronous|synchronous|steady_state] repair[r|n|s|combinations] examples/Model.net [examples/Obs1.obs examples/Obsn.obs] [-n repairableNodes]
This will generate the repair models in the examples folder.
Arguments of the program
Type:
If the model is asynchronous, synchronous or is in steady state.
Available repair operations:
- Repair r - removes regulator
- Repair n - negates a regulator
- Repair s - changes AND function to OR function
Note: All the combinations of repairs are allowed, and they need to be written in alphabetical order.
Some examples with small networks are available in the folder: examples/steady/repairs
, showing the effects of the repair operations.
Model
The model has to be encoded in boolSim (format).
Experimental values
The program can deal with 0 or more observations. The observations correspond to a time-series and the time-series is organized in a matrix. As this argument is optional when not present the program will infer the data to minimize the number of repair operations needed.
Repairable Nodes
A list of nodes where it is suspected that model is incorrect. The tool will only apply repair operations to this nodes. The file received by the tool has a node per line.
Dependencies
An ASP solver (contained in the source folder) and available at:
Uses the Quine McCluskey algorithm available at:
Quine-McCluskey (to compile requires the Boost C++ Libraries) boost.org
Data Sets
Steady State
In the folder examples/steady/ecoli
two data sets originally obtained from Gebser et al are available.
As the model did not have functions associated with them, all nodes are explained by the same function, where a biological component is present if it has at least one activator and has no inhibitors.
Time-series
The data sets in the folder examples/time/modeloriginal
and examples/time/modelCorrupted
were originally obtained from Merhej et al.
The data sets in the folder examples/time/#networksize
were randomly generated using the program available on the folder scripts. The model was generated using the script available at BoolNetR2GINsim.
Authors
Alexandre Lemos, Pedro T. Monteiro and Inês Lynce.
Contacts:
If you have any comments or questions, please contact us.