Skip to content

Analyze gene regulatory networks (GRNs) via Network Finite State Machines (NFSMs).

License

Notifications You must be signed in to change notification settings

betsee/cellnition

Repository files navigation

Cellnition

Cellnition continuous integration (CI) status

Cellnition is an open source simulator to create and analyze Network Finite State Machines (NFSMs) from gene regulatory network (GRN) models.

Regulatory networks such as GRNs preside over complex phenomena in biological systems, yet given a specific regulatory network, how do we know what it's capable of doing?

Cellnition treats regulatory networks as analogue computers, where NFSMs map the sequential logic inherent in the network as a dissipative dynamic system. As an extension and improvement upon attractor landscape analysis, NFSMs reveal the analogue computing operations inherent in GRNs, allowing for identification of associated "intelligent behaviors". NFSMs capture the "analog programming" of GRNs, which aim to provide clear identification of:

  • Interventions that may induce transitions between stable states (e.g. from "diseased" to "healthy")
  • Identification of path-dependencies, representing stable changes occurring after a transient intervention is applied (e.g. predicting if a transient treatment with pharmacological agent might permanently heal a condition)
  • Identification of inducible cycles of behavior that may take the system through a complex multi-phase process (e.g. wound healing).

NFSMs have a range of potential applications, including the identification of potential strategies to renormalize cancer (see Tutorial 2).

Read more about Cellnition's NFSMs in our pre-print publication: Harnessing the Analogue Computing Power of Regulatory Networks with the Regulatory Network Machine.

Please cite our pre-print in any work that utilizes Cellnition:

Pietak, Alexis, and Levin, Michael.
“Harnessing the Analog Computing Power of Regulatory Networks with the Regulatory Network Machine.” OSF Preprints, 2 Dec. 2024. Web.

Cellnition is portably implemented in Python, continuously stress-tested via GitHub Actions × tox × pytest × Codecov, and licensed under a non-commercial use, open source APACHE license with Tufts Open Source License Rider v.1. For maintainability, cellnition officially supports only the most recently released version of CPython.


Cellnition is installable with pip, the standard package installer officially bundled with Python:

pip3 install cellnition

Comprehensive documentation for Cellnition is available at our GitHub Pages hosted site.

Cellnition embodies a range of functionality, including:

  • Work with regulatory networks imported from Cellnition's network-library, use Cellnition to procedurally generate regulatory networks with random or scale-free degree distributions, or import your own user-defined regulatory networks as directed graphs with activating or inhibiting edge characteristics (see Tutorial 1 and Tutorial 2 for some examples).
  • Analyze and characterize regulatory network graphs with a variety of metrics (see the characterize_graph method and Tutorial 1 and Tutorial 2).
  • Use directed graph representations of regulatory networks to build fully-continuous, differential equation based simulators of network dynamics (see ProbabilityNet class and Tutorial 1).
  • Use directed graph representations of regulatory networks to build logic equation based Boolean simulators of network dynamics (see BooleanNet class and Tutorial 2).
  • Explore regulatory network dynamics with comprehensive equillibrium state search and characterization capabilities, along with temporal simulators (see Tutorial 1 and Tutorial 2 for some examples).
  • Create simulated datasets, including simulation of automated gene-knockout experiments for a continuous regulatory network model (see GeneKnockout class).
  • Generate Network Finite State Machines (NFSMs) for continuous models (see Tutorial 1) or for Boolean models (see Tutorial 2).
  • Create and export a variety of plots and visualizations, including of the regulatory network analytic equations, regulatory network directed graphs, heatmaps of gene expressions in equilibrium states, gene expressions in temporal simulations, and depictions of the general and event-driven NFSMs (see Tutorial 1 and Tutorial 2 for some examples).

Cellnition tutorials are available as Jupyter Notebooks:

  • Tutorial 1 : Create NFSMs from a continuous, differential-equation based GRN model.
  • Tutorial 2 : Create NFSMs from a Boolean, logic-equation based GRN model.

Cellnition creator Alexis Pietak is grateful for collaboration opportunities and funding support from the Levin Lab at Tufts University, via a Templeton World Charity Foundation grant 0606. Thanks goes out to Brian Curry for his volunteer assistance with the Cellnition code repository.

Alexis Pietak created Cellnition, and co-authored the associated scientific manuscript, as an external contractor ("Affiliate Research Scientist") for Tufts University. Under the established terms of Tufts University, as an external contractor, Alexis recieves no royalties nor other financial benefits or entitlements in connection with any intellectual property associated with the Cellnition project or its associated scientific manuscript.

Note that the functionality provided and work presented in Cellnition and its associated scientific manuscript are at a theoretical and computational stage, with any and all potential applications for the work requiring verification by real world experiments and comprehensive testing.

Cellnition is non-commerical use, open source software licensed under an Apache 2.0 license with Tufts Open Source License Rider v.1, restricting use to academic purposes only.