bluecellulab

Biologically detailed neural network simulations and analysis API

https://github.com/openbraininstitute/bluecellulab

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.6%) to scientific vocabulary

Keywords

api biology brain cell circuit connection emodel network neural-network neuron neuroscience python simulation
Last synced: 6 months ago · JSON representation ·

Repository

Biologically detailed neural network simulations and analysis API

Basic Info
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 0
  • Open Issues: 5
  • Releases: 30
Topics
api biology brain cell circuit connection emodel network neural-network neuron neuroscience python simulation
Created about 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation Authors Zenodo

README.rst

|banner|

BlueCelluLab
============

+----------------+------------+
| Latest Release | |pypi|     |
+----------------+------------+
| Documentation  | |docs|     |
+----------------+------------+
| License        | |license|  |
+----------------+------------+
| Build Status 	 | |tests|    |
+----------------+------------+
| Coverage       | |coverage| |
+----------------+------------+
| Gitter         | |gitter|   |
+----------------+------------+
| Paper          | |joss|     |
+----------------+------------+
| Zenodo         | |zenodo|   |
+----------------+------------+

The Blue Brain Cellular Laboratory is designed for simulations and experiments on individual cells or groups of cells.
Suitable use cases for BlueCelluLab include:

* Scripting and statistical analysis for single cells or cell pairs.

* Lightweight, detailed reporting on specific state variables after simulation.

* Developing synaptic plasticity rules.

* Validating dynamics of synaptic properties.

* Automating in-silico whole-cell patching experiments.

* Debugging, both scientifically and computationally.

Citation
========

When using the BlueCelluLab software for your research, please cite the following paper (including for poster presentations): `BlueCelluLab: Biologically Detailed Neural Network Experimentation API `_

.. code-block::

    @article{Tuncel2024,
        doi = {10.21105/joss.07026},
        url = {https://doi.org/10.21105/joss.07026},
        year = {2024},
        publisher = {The Open Journal},
        volume = {9},
        number = {100},
        pages = {7026},
        author = {Anıl Tuncel and Werner Van Geit and Mike Gevaert and Benjamin Torben-Nielsen and Darshan Mandge and İlkan Kılıç and Aurélien Jaquier and Eilif Muller and Lida Kanari and Henry Markram},
        title = {BlueCelluLab: Biologically Detailed Neural Network Experimentation API},
        journal = {Journal of Open Source Software}
    }

If you need to cite a specific version, please use the DOI provided by `Zenodo `_, which you can access via the "Cite this repository" button at the top of the repository page.

Support
=======

We are providing support on `Gitter `_. We suggest you create tickets on the `Github issue tracker `_ in case you encounter problems while using the software or if you have some suggestions.

Main dependencies
=================

* `Python 3.9+ `_
* `Neuron 8.0.2+ `_

Installation
============

BlueCelluLab can be pip installed with the following command:

.. code-block:: python

    pip install bluecellulab

Quick Start
===========

The following example shows how to create a cell, add a stimulus and run a simulation:

.. code-block:: python

    from bluecellulab.cell import create_ball_stick
    from bluecellulab import Simulation

    cell = create_ball_stick()
    sim = Simulation()
    sim.add_cell(cell)
    stimulus = cell.add_step(start_time=5.0, stop_time=20.0, level=0.5)

    sim.run(25, cvode=False)
    time, voltage = cell.get_time(), cell.get_soma_voltage()
    # plotting time and voltage ...

.. image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/images/voltage-readme.png
   :alt: Voltage plot

Tutorial
========

A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page `_.

API Documentation
=================

The API documentation can be found on `ReadTheDocs `_.

Running the tests
=================

Testing is set up using `tox`:

.. code-block:: bash

    pip install tox

    tox -e py3  # runs the tests
    tox -e lint  # runs the format checks

Contributing
============

We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst `_ for guidelines on how to contribute.

Funding & Acknowledgements
==========================

The development and maintenance of this code is supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government's ETH Board of the Swiss Federal Institutes of Technology.

Copyright
=========

Copyright (c) 2023-2024 Blue Brain Project/EPFL

Copyright (c) 2025 Open Brain Institute

This work is licensed under `Apache 2.0 `_

For MOD files for which the original source is available on ModelDB, any specific licenses on mentioned on ModelDB, or the generic License of ModelDB apply.

The licenses of the morphology files used in this repository are available on: https://zenodo.org/record/5909613


.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
                :target: https://github.com/openbraininstitute/BlueCelluLab/blob/main/LICENSE

.. |tests| image:: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml/badge.svg
   :target: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml
   :alt: CI

.. |pypi| image:: https://img.shields.io/pypi/v/bluecellulab.svg
               :target: https://pypi.org/project/bluecellulab/
               :alt: latest release

.. |docs| image:: https://readthedocs.org/projects/bluecellulab/badge/?version=latest
               :target: https://bluecellulab.readthedocs.io/
               :alt: latest documentation

.. |coverage| image:: https://codecov.io/github/openbraininstitute/BlueCelluLab/coverage.svg?branch=main
                   :target: https://codecov.io/gh/openbraininstitute/bluecellulab
                   :alt: coverage

.. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
                 :target: https://gitter.im/openbraininstitute/BlueCelluLab
                 :alt: Join the chat at https://gitter.im/openbraininstitute/BlueCelluLab

.. |joss| image:: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff/status.svg
                :target: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff
                :alt: JOSS

.. |zenodo| image:: https://zenodo.org/badge/640805129.svg
                 :target: https://zenodo.org/badge/latestdoi/640805129

..
    The following image is also defined in the index.rst file, as the relative path is
    different, depending from where it is sourced.
    The following location is used for the github README
    The index.rst location is used for the docs README; index.rst also defined an end-marker,
    to skip content after the marker 'substitutions'.

.. substitutions
.. |banner| image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/source/logo/BlueCelluLabBanner.jpg

Owner

  • Name: Open Brain Institute
  • Login: openbraininstitute
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "BlueCelluLab"
doi: 10.5281/zenodo.8113483
url: https://zenodo.org/doi/10.5281/zenodo.8113483
abstract: "The Blue Brain Cellular Laboratory is designed for simulations and experiments on individual cells or groups of cells. Use cases for which bluecellulab is well suited include: scripting and statistics across single or pairs of cells, light-weight detailed reporting on a few state variables post-simulation, development of synaptic plasticity rules, dynamics validations of e.g. synaptic properties, automation of in-silico whole-cell patching experiments, debugging both scientifically and computationally."
authors:
  - family-names: "Tuncel"
    given-names: "Anil"
  - family-names: "Van Geit"
    given-names: "Werner"
  - family-names: "Gevaert"
    given-names: "Mike"
  - family-names: "Torben-Nielsen"
    given-names: "Benjamin"
  - family-names: "Mandge"
    given-names: "Darshan"
  - family-names: "Kilic"
    given-names: "Ilkan"
  - family-names: "Jaquier"
    given-names: "Aurélien"
  - family-names: "Muller"
    given-names: "Eilif"
  - family-names: "Kanari"
    given-names: "Lida"
  - family-names: "Markram"
    given-names: "Henry"
date-released: 2020-03-01
publisher: "Zenodo"

GitHub Events

Total
  • Create event: 45
  • Issues event: 4
  • Release event: 19
  • Watch event: 3
  • Delete event: 19
  • Issue comment event: 42
  • Member event: 3
  • Push event: 91
  • Pull request review event: 120
  • Pull request review comment event: 103
  • Pull request event: 45
Last Year
  • Create event: 45
  • Issues event: 4
  • Release event: 19
  • Watch event: 3
  • Delete event: 19
  • Issue comment event: 42
  • Member event: 3
  • Push event: 91
  • Pull request review event: 120
  • Pull request review comment event: 103
  • Pull request event: 45

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 30
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Total issue authors: 1
  • Total pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.13
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 30
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.13
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • darshanmandge (2)
Pull Request Authors
  • AurelienJaquier (16)
  • ilkilic (10)
  • darshanmandge (2)
Top Labels
Issue Labels
good first issue (1) help wanted (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 2,179 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 154
  • Total maintainers: 5
pypi.org: bluecellulab

Biologically detailed neural network simulations and analysis.

  • Versions: 154
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 2,179 Last month
Rankings
Dependent packages count: 4.8%
Downloads: 7.0%
Average: 13.1%
Forks count: 13.3%
Stargazers count: 18.5%
Dependent repos count: 21.6%
Last synced: 6 months ago

Dependencies

.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • anothrNick/github-tag-action 1.71.0 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • softprops/action-gh-release v2 composite
.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codecov/codecov-action v4 composite
docs/requirements_docs.txt pypi
  • seaborn >=0.13.2
  • sphinx >=7.0.1
  • sphinx-bluebrain-theme >=0.4.1
  • sphinx_autodoc_typehints >=1.23.2
pyproject.toml pypi
  • NEURON >=8.0.2,<9.0.0
  • bluepysnap >=3.0.0,<4.0.0
  • h5py >=3.8.0
  • matplotlib >=3.0.0,<4.0.0
  • networkx >=3.1
  • numpy >=1.8.0,<2.0.0
  • pandas >=1.0.0,<3.0.0
  • pydantic >=2.5.2,<3.0.0
  • typing-extensions >=4.8.0
tests/bluecellulab-bb5-tests/test_requirements.txt pypi
  • bluepy >=2.5.0 test
  • bluepy-configfile >=0.1.18 test
  • mypy >=1.2.0 test
  • pytest * test
  • pytest-forked * test
  • pytest-timeout * test
  • pytest-xdist * test
  • ruff >=0.0.40 test