Skip to content

BlueBrain/BlueCelluLab

Repository files navigation

banner

BlueCelluLab

Latest Release latest release
Documentation latest documentation
License license
Build Status CI
Coverage coverage
Gitter Join the chat at https://gitter.im/BlueBrain/BlueCelluLab
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

@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

Installation

BlueCelluLab can be pip installed with the following command:

pip install bluecellulab

Quick Start

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

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

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:

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

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