Skip to main content

A Python package for the simulation of organoids for the purpose of studying Organoid Intelligence (OI) and Organoid Learning (OL).

Project description

PyOrganoid Logo

PyPI Downloads Conda Downloads CI/CT/CD License

PyOrganoid is the world's first* Python package for the simulation of organoids for the purpose of studying Organoid Intelligence (OI) and Organoid Learning (OL). It is designed to be simple to use and easy to extend with support for standard machine learning libraries such as TensorFlow, PyTorch, and Scikit-Learn (as well as ONNX-format models).

It provides:

  • a simple and intuitive API
  • support for standard machine learning libraries
  • a growing library of organoid models
  • visualization tools for organoid simulation
  • numerous simulation environments and scheduling algorithms
  • TODO: support for parallel/distributed computing, bio/cheminformatics libraries, logging, and more

PyOrganoid is currently in development and may not yet be ready for production use. We are actively seeking contributors to help us improve the package and expand its capabilities. If you are interested in contributing, please see our contributing guide.

*As of July 6th, 2024, to the best of our knowledge :)

Organoid Example

Installation

Pip

PyOrganoid can be installed (without built-in support for machine learning libraries) using pip:

pip install pyorganoid

To include support for all machine learning libraries, use:

pip install pyorganoid[all]

Or, to include support for a specific library (TensorFlow, PyTorch, Scikit-Learn, or ONNX), use:

pip install pyorganoid[tensorflow]
pip install pyorganoid[torch]
pip install pyorganoid[sklearn]
pip install pyorganoid[onnx]

Conda

PyOrganoid can also be installed using conda:

conda install -c danielathome19 pyorganoid

To include support for all machine learning libraries, use:

conda install -c danielathome19 pyorganoid-all

Or, to include support for a specific library (TensorFlow, PyTorch, Scikit-Learn, or ONNX), use:

conda install -c danielathome19 pyorganoid-tensorflow
conda install -c danielathome19 pyorganoid-torch
conda install -c danielathome19 pyorganoid-sklearn
conda install -c danielathome19 pyorganoid-onnx

Quickstart

For a quick introduction to PyOrganoid, see the Spiking Neuron Test in the test directory. This test demonstrates the creation of a simple spiking neuron organoid running a binary classification Multi-Layer Perceptron (MLP) model using TensorFlow.

If you prefer Scikit-Learn, PyTorch, or ONNX models, see the Volumetric Organoid Test (Scikit-Learn), the Gene Regulation Organoid Test (PyTorch), or the Immune Response Organoid Test (ONNX), respectively.

For example:

import pyorganoid as po

model = po.tf_module.TFModel("model.h5")
env = po.environments.Environment()
organoid = po.organoids.SpikingNeuronOrganoid(env, model, num_cells=50)
organoid.plot_organoid(show_properties=True)

scheduler = po.simulation.Scheduler(organoid)
scheduler.simulate(steps=100)

organoid.plot_simulation_history(title="Spiking Neuron Organoid Simulation", 
                                 y_label="Membrane Potential (mV)", dpi=600)
Spiking Organoid Example Volumetric Organoid Example
Gene Regulation Organoid Example Immune Response Organoid Example

License

PyOrganoid is licensed under the BSD-3 License. See the LICENSE file for more information.

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

pyorganoid-0.1.3.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

pyorganoid-0.1.3-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file pyorganoid-0.1.3.tar.gz.

File metadata

  • Download URL: pyorganoid-0.1.3.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pyorganoid-0.1.3.tar.gz
Algorithm Hash digest
SHA256 bd22b89e7a8f63053e708ea119ec8e8aeb5cfbd1fcf7d16e5c36987c036c4c65
MD5 f0553291360e9e020bc389e5ad4aa463
BLAKE2b-256 0f8f8a92f95708bb3ed53d864449cccc14550833aed794129e01df8546b1aa91

See more details on using hashes here.

File details

Details for the file pyorganoid-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: pyorganoid-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pyorganoid-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d7948ade27fff32cea4820c75f5045ff92b71243b8f2eca50431bf7225a49997
MD5 cc5fece722e327535bd31dbde41816f6
BLAKE2b-256 5cf60ef4a1293b3d79613a6aaba218c5a50653ac4994c9f4c6b192e2d4d98cb6

See more details on using hashes here.

Supported by

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