Skip to main content

Open-source cross-platform biology simulator analyzing gene regulatory networks (GRNs) with Network Finite State Machines (NFSMs).

Project description

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 publication: Harnessing the Analogue Computing Power of Regulatory Networks with the Regulatory Network Machine. Please cite this publication in any work that utilizes Cellnition:

Pietak, Alexis, and Levin, Michael.

“Harnessing the Analog Computing Power of Regulatory Networks with the Regulatory Network Machine.” iScience, 28 April 2025, 112536.

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.


Install

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

pip3 install cellnition

Documentation

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

Features

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

Tutorials

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.

  • Tutorial 3 : Apply a dynamic stimulation to a continuous, differential-equation based GRN model.

  • Tutorial 4 : Apply a dynamic stimulation to a Boolean based GRN model.

Acknowledgements

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.

Disclaimer

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.

License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cellnition-0.6.0.tar.gz (276.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cellnition-0.6.0-py3-none-any.whl (246.0 kB view details)

Uploaded Python 3

File details

Details for the file cellnition-0.6.0.tar.gz.

File metadata

  • Download URL: cellnition-0.6.0.tar.gz
  • Upload date:
  • Size: 276.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cellnition-0.6.0.tar.gz
Algorithm Hash digest
SHA256 f074999727930c16690d32711dc896f2db25681c997aca6befc921dcf6678d09
MD5 fe7c545c017150618c0cfeb353ab094d
BLAKE2b-256 71b0f6858267bc8575d8555789a59a603123969577bdf356556fe737ad6340cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cellnition-0.6.0.tar.gz:

Publisher: python_release.yml on betsee/cellnition

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cellnition-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: cellnition-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 246.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cellnition-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f18ceda99c73c8cf25a0513e6154e41b841cfd528827de659786c2d4ca864f9c
MD5 9af2cbfa92ab6a3c536d941b971ff9b3
BLAKE2b-256 8b73de735a9414fa33dde3544aba48ece98cc63b16f15f8d9b5e70429fc3940f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cellnition-0.6.0-py3-none-any.whl:

Publisher: python_release.yml on betsee/cellnition

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page