A flexible pipeline to model protein signalling networks trained to data using various logic formalisms.


logo CellNOpt (from CellNetOptimizer; a.k.a. CNO) is a software used for creating logic-based models of signal transduction networks using different logic formalisms (Boolean, Fuzzy, or differential equations). CellNOpt uses information on signaling pathways encoded as a Prior Knowledge Network, and trains it against high-throughput biochemical data to create cell-specific models.

CellNOpt is freely available under GPL license in R and Matlab languages. It can be also accessed through a python wrapper, and a Cytoscape plugin called CytoCopter provides a graphical user interface.

CellNOpt is mainly developed at the Saez-Rodriguez group at the European Bioinformatics Institute (EBI). The project started at the groups of Peter Sorger (Harvard Medical School) and Doug Lauffenburger (M.I.T.). There is a group of CellNOpt developers at different locations.

CellNOpt is described in details in the following paper (more literature related to CellNOpt is available in the Publications sections). Please use this reference to cite CellNOpt

C Terfve, T Cokelaer, A MacNamara, D Henriques, E Goncalves, MK Morris, M van Iersel, DA Lauffenburger, J Saez-Rodriguez.
CellNOptR: a flexible toolkit to train protein signaling networks to data using multiple logic formalisms.
BMC Systems Biology, 2012, 6:133 PDF

We have also developed PHONEMeS, a related tool to build logic models from discovery mass-spectrometry based Phosphoproteomic data. Please visit PHONEMeS dedicated webpage. PHONEMeS is described in this paper:

CDA Terfve, E Wilkes, P Casado, P R Cutillas, J Saez-Rodriguez.
Large-scale models of signal propagation in human cells derived from discovery phosphoproteomic data.
Nature Communications, 2015, 6:8033 PDF
Return to top

CellNOpt Implementations

CellNOptR (R Packages)

A series of packages are available in R. The core CellNOpt is available on BioConductor web site: CellNOptR, revision 1.4.0. Newest and oldest version are also available in our Downloads page.

CellNOpt workflow
Scheme of the integration of CellNOpt and related packages. R packages (light grey) interact with each other, and are available via Python wrappers (blue), or directly from Cytoscape via CytoCopter using Rserve (yellow). SBML-qual and SBGN-ML interoperatibility (via CySBGN) is in progress.

CellNOptR contains the core functions as well as the boolean and steady states version. It implements the workflow described in Saez-Rodriguez et al Mol Sys Bio 2009, with extended capabilities for multiple time points.

CNORdt is an extension that allows to train a Boolean model agains time-courses of data.

CNORfuzzy is an extension to CellNOptR that allows to handle continous values, using constrained fuzzy logic, as described in Morris et al Plos Comp Bio 2011.

CNORode is an ODE add-on to CellNOptR. It is based on the method of (Wittmann et al BMC Sys Bio 2009), also implemented in the tool Odefy (Krusiek et al BMC Bioinf 2010).

CNORfeeder is an add-on to CellNOptR that permits to extend a network derived from literature with links derived in a strictly data-driven way and supported by protein-protein interactions as described in (Eduati et al Bioinformatics 2012).

Optimised Model
An illustration of how we use our logic modeling method CellNOpt to better understand deregulation of signal transduction in disease. Left: simple pathway model; right: experimental data and match between model simulations and data.


Some features of CellNOpt are also available as a MATLAB toolbox, along with the toolbox Q2LM to analyze models, here


A Python package called cellnopt.wrapper provides a python interace to the R packages (CellNOptR, CNORode and CNORfuzzy). It uses rpy2 and is available on Pypi. For more details see its cellnopt.wrapper page. In addition a pure Python version is developed on github

Cytoscape Plugin (CytoCopter)

CytoCopteR is a Graphical User Interface designed as a Cytoscape plugin. It provides an interface to CellNOptR using Rserve. More information is available on CytoCopter page.

Complementary tools


MEIGO, a global optimization toolbox that includes a number of metaheuristic methods as well as a Bayesian inference method for parameter estimation, that can be applied to model training in CellNOpt. Available in R, Matlab, and Python. Presented in Egea et al BMC Bioinformatics, 214 .


PHONEMeS Toolbox dedicated to mass spectrometry analysis.


Caspo a Python toolbox based on Answer Set Programming to exactly and exhaustively train Boolean models as defined in CellNOpt’s Boolean steady state case. Presented in Guziolowski et al Bioinformatics, 2013 link


The ColoMoTo consortium nvolves other groups developing tools and methods for logic modelling. We have also jointly develop the standard SBML-qual (Chaouiya et al, BMC Syst Bio 2013) (link) that allows to exchange models within tools.

The Downloads page provides snapshots of all packages, and the Developers page contains information for those developing CellNOpt.
Return to top


Manual and Tutorial of the R packages

The R packages are self documented. Tutorials and manual are provided on the bioconductor site of each package. Here below are direct links to the Bioconductor vignettes:

Some extra materials and courses about the formats used can be found in the CNODocs. Besides, the following link provides a tutorial given at In Silico Systems Biology, 2013. The following link provides also a CytoCopteR tutorial.

Published Model and Data Sets

Some model and data sets are provided in the R packages. However, we also provide a more exhaustive set of published models and data files in Model and Data documentation.

If you'd like another model/data set to be added to this page, please write us at .

User mailing list

To be up to date, please join the cno-users mailing list. This low-traffic mailing list is a place to discuss and help each other to install and use CellNOpt software, and to be aware of major developments and new releases.

Fur further reading, see the literature section for publications describing in detail the methodology behing CellNOpt and the tool itself, as well as references of work where CellNOpt was used.

Return to top


If you have general questions about CellNOpt, would like to find out (or request) future features, or interested in a collaboration developing or applying CellNOpt, write us to .

If you have problems using CellNOpt, please join the cno-users mailing list and send a mail to