Skip to content

CASCI-lab/CANA

Repository files navigation

CANAlization: Control & Redundancy in Boolean Networks

This package implements a series of methods used to study control, canalization and redundancy in Boolean Networks.

Installation:

** Latest stable release **

  • from PYPI
    pip install cana

** Latest development release on GitHub **

Pull and install the code directly from the github project page.

    pip install git+https://github.com/CASCI-lab/CANA

Please note that CANA uses Cython. For it to compile you may need to install the following:

  • pip install Cython

Docs:

The full documentation can be found at: casci-lab.github.io/CANA/

Papers:

Credits:

CANA was originally written by Rion Brattig Correia and Alexander Gates, and has been developed with the help of many others. Thanks to everyone who has improved CANA by contributing code, bug reports (and fixes), documentation, and input on design, and features.

Original Authors

Contributors

Optionally, add your desired name and include a few relevant links. The order is an attempt at historical ordering.

Support

Those who have contributed to CANA have received support throughout the years from a variety of sources. We list them below. If you have provided support to CANA and a support acknowledgment does not appear below, please help us remedy the situation, and similarly, please let us know if you'd like something modified or corrected.

Research Groups

CANA was developed with support from the following:

  • CASCI, Indiana University, Bloomington, IN; PI: Luis M. Rocha
  • CAPES Foundation, Ministry of Education of Brazil, Brasília, Brazil; Rion B. Correia.

Development

Pull requests are welcome :) Please get in touch with one us beforehand: rionbr(at)gmail(dot)com or ajgates42(at)gmail(dot)com.

** TODOs**

  • Parallelize control methods;
  • Parallelize canalization methods;
  • Generating ensembles of dynamics from structural motifs;
  • Expand on easy-to-replicate tutorials;

Tests

Run nosetests -v to perform tests and diagnoses on functions.

Changelog

v0.1

  • Canalization methods ported to Cython

v0.0.4

  • Pep8 and python3
  • Pinned controllability methods

v0.0.3

  • Bugfixes

v0.0.2

  • Networkx 2.1 compatibility
  • Inclusion of tutorials
  • Derrida curve

v.0.0.1

  • Control (FVS, MDS, CSTG) methods.
  • Canalization methods.
  • Implementation ported to public package.