bluecellulab 2.6.37__tar.gz → 2.6.39__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bluecellulab might be problematic. Click here for more details.
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.github/workflows/release.yml +1 -1
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.github/workflows/test.yml +1 -1
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.gitignore +2 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/PKG-INFO +17 -16
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/README.rst +14 -13
- bluecellulab-2.6.39/bluecellulab/analysis/analysis.py +63 -0
- bluecellulab-2.6.39/bluecellulab/analysis/plotting.py +25 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/tools.py +74 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab.egg-info/PKG-INFO +17 -16
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab.egg-info/SOURCES.txt +2 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/pyproject.toml +2 -2
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.compile_mod.sh +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.gitattributes +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.github/dependabot.yml +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.gitlab-ci.yml +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.readthedocs.yml +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/.zenodo.json +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/AUTHORS.txt +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/CHANGELOG.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/CITATION.cff +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/CONTRIBUTING.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/LICENSE +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/MANIFEST.in +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/Makefile +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/analysis/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/analysis/inject_sequence.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/ballstick/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/ballstick/emodel.hoc +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/ballstick/morphology.asc +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/cell_dict.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/core.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/injector.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/plotting.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/random.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/recording.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/section_distance.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/serialized_sections.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/sonata_proxy.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/stimuli_generator.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/cell/template.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/circuit_access/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/circuit_access/bluepy_circuit_access.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/circuit_access/definition.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/circuit_access/sonata_circuit_access.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/config/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/config/bluepy_simulation_config.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/config/definition.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/config/sections.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/config/sonata_simulation_config.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/format.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/iotools.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/node_id.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/simulation_access.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/synapse_properties.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/validate.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit_simulation.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/connection.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/dendrogram.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/exceptions.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/graph.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/hoc/Cell.hoc +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/hoc/RNGSettings.hoc +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/hoc/TDistFunc.hoc +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/hoc/TStim.hoc +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/hoc/fileUtils.hoc +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/importer.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/neuron_interpreter.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/plotwindow.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/psection.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/psegment.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/rngsettings.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/simulation/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/simulation/neuron_globals.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/simulation/parallel.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/simulation/simulation.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/stimulus/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/stimulus/circuit_stimulus_definitions.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/stimulus/factory.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/synapse/__init__.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/synapse/synapse_factory.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/synapse/synapse_types.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/type_aliases.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/utils.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/verbosity.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab.egg-info/dependency_links.txt +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab.egg-info/requires.txt +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab.egg-info/top_level.txt +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/Makefile +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/images/voltage-readme.png +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/make.bat +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/requirements_docs.txt +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/_static/.gitkeep +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/api.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/changelog.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/compiling-mechanisms.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/conf.py +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/contributing.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/index.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/list_of_stim.rst +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/docs/source/logo/BlueCelluLabBanner.jpg +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/setup.cfg +0 -0
- {bluecellulab-2.6.37 → bluecellulab-2.6.39}/tox.ini +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: bluecellulab
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.39
|
|
4
4
|
Summary: Biologically detailed neural network simulations and analysis.
|
|
5
5
|
Author: Blue Brain Project, EPFL
|
|
6
6
|
License: Apache2.0
|
|
7
|
-
Project-URL: Homepage, https://github.com/
|
|
7
|
+
Project-URL: Homepage, https://github.com/openbraininstitute/BlueCelluLab
|
|
8
8
|
Project-URL: Documentation, https://bluecellulab.readthedocs.io/
|
|
9
9
|
Keywords: computational neuroscience,simulation,analysis,SONATA,neural networks,neuron,Blue Brain Project
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -14,7 +14,7 @@ Classifier: Operating System :: POSIX
|
|
|
14
14
|
Classifier: Topic :: Scientific/Engineering
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Topic :: Utilities
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
License-File: AUTHORS.txt
|
|
@@ -91,12 +91,12 @@ If you need to cite a specific version, please use the DOI provided by `Zenodo <
|
|
|
91
91
|
Support
|
|
92
92
|
=======
|
|
93
93
|
|
|
94
|
-
We are providing support on `Gitter <https://gitter.im/
|
|
94
|
+
We are providing support on `Gitter <https://gitter.im/openbraininstitute/BlueCelluLab>`_. We suggest you create tickets on the `Github issue tracker <https://github.com/openbraininstitute/BlueCelluLab/issues>`_ in case you encounter problems while using the software or if you have some suggestions.
|
|
95
95
|
|
|
96
96
|
Main dependencies
|
|
97
97
|
=================
|
|
98
98
|
|
|
99
|
-
* `Python 3.
|
|
99
|
+
* `Python 3.9+ <https://www.python.org/downloads/release/python-390/>`_
|
|
100
100
|
* `Neuron 8.0.2+ <https://pypi.org/project/NEURON/>`_
|
|
101
101
|
|
|
102
102
|
Installation
|
|
@@ -127,13 +127,13 @@ The following example shows how to create a cell, add a stimulus and run a simul
|
|
|
127
127
|
time, voltage = cell.get_time(), cell.get_soma_voltage()
|
|
128
128
|
# plotting time and voltage ...
|
|
129
129
|
|
|
130
|
-
.. image:: https://raw.githubusercontent.com/
|
|
130
|
+
.. image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/images/voltage-readme.png
|
|
131
131
|
:alt: Voltage plot
|
|
132
132
|
|
|
133
133
|
Tutorial
|
|
134
134
|
========
|
|
135
135
|
|
|
136
|
-
A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/
|
|
136
|
+
A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/openbraininstitute/BlueCelluLab/blob/main/examples/README.rst>`_.
|
|
137
137
|
|
|
138
138
|
API Documentation
|
|
139
139
|
=================
|
|
@@ -155,7 +155,7 @@ Testing is set up using `tox`:
|
|
|
155
155
|
Contributing
|
|
156
156
|
============
|
|
157
157
|
|
|
158
|
-
We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/
|
|
158
|
+
We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/openbraininstitute/BlueCelluLab/blob/main/CONTRIBUTING.rst>`_ for guidelines on how to contribute.
|
|
159
159
|
|
|
160
160
|
Funding & Acknowledgements
|
|
161
161
|
==========================
|
|
@@ -166,6 +166,7 @@ Copyright
|
|
|
166
166
|
=========
|
|
167
167
|
|
|
168
168
|
Copyright (c) 2023-2024 Blue Brain Project/EPFL
|
|
169
|
+
Copyright (c) 2025 Open Brain Institute
|
|
169
170
|
|
|
170
171
|
This work is licensed under `Apache 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`_
|
|
171
172
|
|
|
@@ -175,10 +176,10 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
175
176
|
|
|
176
177
|
|
|
177
178
|
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
|
|
178
|
-
:target: https://github.com/
|
|
179
|
+
:target: https://github.com/openbraininstitute/BlueCelluLab/blob/main/LICENSE
|
|
179
180
|
|
|
180
|
-
.. |tests| image:: https://github.com/
|
|
181
|
-
:target: https://github.com/
|
|
181
|
+
.. |tests| image:: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml/badge.svg?branch=main
|
|
182
|
+
:target: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml
|
|
182
183
|
:alt: CI
|
|
183
184
|
|
|
184
185
|
.. |pypi| image:: https://img.shields.io/pypi/v/bluecellulab.svg
|
|
@@ -189,13 +190,13 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
189
190
|
:target: https://bluecellulab.readthedocs.io/
|
|
190
191
|
:alt: latest documentation
|
|
191
192
|
|
|
192
|
-
.. |coverage| image:: https://codecov.io/github/
|
|
193
|
-
:target: https://codecov.io/gh/
|
|
193
|
+
.. |coverage| image:: https://codecov.io/github/openbraininstitute/BlueCelluLab/coverage.svg?branch=main
|
|
194
|
+
:target: https://codecov.io/gh/openbraininstitute/bluecellulab
|
|
194
195
|
:alt: coverage
|
|
195
196
|
|
|
196
197
|
.. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
|
|
197
|
-
:target: https://gitter.im/
|
|
198
|
-
:alt: Join the chat at https://gitter.im/
|
|
198
|
+
:target: https://gitter.im/openbraininstitute/BlueCelluLab
|
|
199
|
+
:alt: Join the chat at https://gitter.im/openbraininstitute/BlueCelluLab
|
|
199
200
|
|
|
200
201
|
.. |joss| image:: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff/status.svg
|
|
201
202
|
:target: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff
|
|
@@ -212,4 +213,4 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
212
213
|
to skip content after the marker 'substitutions'.
|
|
213
214
|
|
|
214
215
|
.. substitutions
|
|
215
|
-
.. |banner| image:: https://raw.githubusercontent.com/
|
|
216
|
+
.. |banner| image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/source/logo/BlueCelluLabBanner.jpg
|
|
@@ -61,12 +61,12 @@ If you need to cite a specific version, please use the DOI provided by `Zenodo <
|
|
|
61
61
|
Support
|
|
62
62
|
=======
|
|
63
63
|
|
|
64
|
-
We are providing support on `Gitter <https://gitter.im/
|
|
64
|
+
We are providing support on `Gitter <https://gitter.im/openbraininstitute/BlueCelluLab>`_. We suggest you create tickets on the `Github issue tracker <https://github.com/openbraininstitute/BlueCelluLab/issues>`_ in case you encounter problems while using the software or if you have some suggestions.
|
|
65
65
|
|
|
66
66
|
Main dependencies
|
|
67
67
|
=================
|
|
68
68
|
|
|
69
|
-
* `Python 3.
|
|
69
|
+
* `Python 3.9+ <https://www.python.org/downloads/release/python-390/>`_
|
|
70
70
|
* `Neuron 8.0.2+ <https://pypi.org/project/NEURON/>`_
|
|
71
71
|
|
|
72
72
|
Installation
|
|
@@ -97,13 +97,13 @@ The following example shows how to create a cell, add a stimulus and run a simul
|
|
|
97
97
|
time, voltage = cell.get_time(), cell.get_soma_voltage()
|
|
98
98
|
# plotting time and voltage ...
|
|
99
99
|
|
|
100
|
-
.. image:: https://raw.githubusercontent.com/
|
|
100
|
+
.. image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/images/voltage-readme.png
|
|
101
101
|
:alt: Voltage plot
|
|
102
102
|
|
|
103
103
|
Tutorial
|
|
104
104
|
========
|
|
105
105
|
|
|
106
|
-
A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/
|
|
106
|
+
A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/openbraininstitute/BlueCelluLab/blob/main/examples/README.rst>`_.
|
|
107
107
|
|
|
108
108
|
API Documentation
|
|
109
109
|
=================
|
|
@@ -125,7 +125,7 @@ Testing is set up using `tox`:
|
|
|
125
125
|
Contributing
|
|
126
126
|
============
|
|
127
127
|
|
|
128
|
-
We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/
|
|
128
|
+
We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/openbraininstitute/BlueCelluLab/blob/main/CONTRIBUTING.rst>`_ for guidelines on how to contribute.
|
|
129
129
|
|
|
130
130
|
Funding & Acknowledgements
|
|
131
131
|
==========================
|
|
@@ -136,6 +136,7 @@ Copyright
|
|
|
136
136
|
=========
|
|
137
137
|
|
|
138
138
|
Copyright (c) 2023-2024 Blue Brain Project/EPFL
|
|
139
|
+
Copyright (c) 2025 Open Brain Institute
|
|
139
140
|
|
|
140
141
|
This work is licensed under `Apache 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`_
|
|
141
142
|
|
|
@@ -145,10 +146,10 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
145
146
|
|
|
146
147
|
|
|
147
148
|
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
|
|
148
|
-
:target: https://github.com/
|
|
149
|
+
:target: https://github.com/openbraininstitute/BlueCelluLab/blob/main/LICENSE
|
|
149
150
|
|
|
150
|
-
.. |tests| image:: https://github.com/
|
|
151
|
-
:target: https://github.com/
|
|
151
|
+
.. |tests| image:: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml/badge.svg?branch=main
|
|
152
|
+
:target: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml
|
|
152
153
|
:alt: CI
|
|
153
154
|
|
|
154
155
|
.. |pypi| image:: https://img.shields.io/pypi/v/bluecellulab.svg
|
|
@@ -159,13 +160,13 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
159
160
|
:target: https://bluecellulab.readthedocs.io/
|
|
160
161
|
:alt: latest documentation
|
|
161
162
|
|
|
162
|
-
.. |coverage| image:: https://codecov.io/github/
|
|
163
|
-
:target: https://codecov.io/gh/
|
|
163
|
+
.. |coverage| image:: https://codecov.io/github/openbraininstitute/BlueCelluLab/coverage.svg?branch=main
|
|
164
|
+
:target: https://codecov.io/gh/openbraininstitute/bluecellulab
|
|
164
165
|
:alt: coverage
|
|
165
166
|
|
|
166
167
|
.. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
|
|
167
|
-
:target: https://gitter.im/
|
|
168
|
-
:alt: Join the chat at https://gitter.im/
|
|
168
|
+
:target: https://gitter.im/openbraininstitute/BlueCelluLab
|
|
169
|
+
:alt: Join the chat at https://gitter.im/openbraininstitute/BlueCelluLab
|
|
169
170
|
|
|
170
171
|
.. |joss| image:: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff/status.svg
|
|
171
172
|
:target: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff
|
|
@@ -182,4 +183,4 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
182
183
|
to skip content after the marker 'substitutions'.
|
|
183
184
|
|
|
184
185
|
.. substitutions
|
|
185
|
-
.. |banner| image:: https://raw.githubusercontent.com/
|
|
186
|
+
.. |banner| image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/source/logo/BlueCelluLabBanner.jpg
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""Module for analyzing cell simulation results."""
|
|
2
|
+
try:
|
|
3
|
+
import efel
|
|
4
|
+
except ImportError:
|
|
5
|
+
efel = None
|
|
6
|
+
import numpy as np
|
|
7
|
+
|
|
8
|
+
from bluecellulab.stimulus import StimulusFactory
|
|
9
|
+
from bluecellulab.tools import calculate_rheobase
|
|
10
|
+
from bluecellulab.analysis.inject_sequence import run_stimulus
|
|
11
|
+
from bluecellulab.analysis.plotting import plot_iv_curve
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def compute_plot_iv_curve(cell, stim_start=100.0, duration=500.0, post_delay=100.0, threshold_voltage=-30, nb_bins=11):
|
|
15
|
+
"""Compute and plot the IV curve from a given cell by injecting a
|
|
16
|
+
predefined range of currents.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
cell (bluecellulab.cell.Cell): The initialized cell model.
|
|
20
|
+
stim_start (float): Start time for current injection (in ms). Default is 100.0 ms.
|
|
21
|
+
duration (float): Duration of current injection (in ms). Default is 500.0 ms.
|
|
22
|
+
post_delay (float): Delay after the stimulation ends (in ms). Default is 100.0 ms.
|
|
23
|
+
nb_bins (int): Number of current injection levels. Default is 11.
|
|
24
|
+
|
|
25
|
+
Returns:
|
|
26
|
+
tuple: A tuple containing:
|
|
27
|
+
- list_amp (np.ndarray): The predefined injected step current levels (nA).
|
|
28
|
+
- steady_states (np.ndarray): The corresponding steady-state voltages (mV).
|
|
29
|
+
"""
|
|
30
|
+
rheobase = calculate_rheobase(cell)
|
|
31
|
+
|
|
32
|
+
list_amp = np.linspace(rheobase - 2, rheobase - 0.1, nb_bins) # [nA]
|
|
33
|
+
|
|
34
|
+
steps = []
|
|
35
|
+
times = []
|
|
36
|
+
voltages = []
|
|
37
|
+
# inject step current and record voltage response
|
|
38
|
+
for amp in list_amp:
|
|
39
|
+
stim_factory = StimulusFactory(dt=0.1)
|
|
40
|
+
step_stimulus = stim_factory.step(pre_delay=stim_start, duration=duration, post_delay=post_delay, amplitude=amp)
|
|
41
|
+
recording = run_stimulus(cell.template_params, step_stimulus, section="soma[0]", segment=0.5)
|
|
42
|
+
steps.append(step_stimulus)
|
|
43
|
+
times.append(recording.time)
|
|
44
|
+
voltages.append(recording.voltage)
|
|
45
|
+
|
|
46
|
+
steady_states = []
|
|
47
|
+
# compute steady state response
|
|
48
|
+
efel.set_setting('Threshold', threshold_voltage)
|
|
49
|
+
for voltage, t in zip(voltages, times):
|
|
50
|
+
trace = {
|
|
51
|
+
'T': t,
|
|
52
|
+
'V': voltage,
|
|
53
|
+
'stim_start': [stim_start],
|
|
54
|
+
'stim_end': [stim_start + duration]
|
|
55
|
+
}
|
|
56
|
+
features_results = efel.get_feature_values([trace], ['steady_state_voltage_stimend'])
|
|
57
|
+
steady_state = features_results[0]['steady_state_voltage_stimend']
|
|
58
|
+
steady_states.append(steady_state)
|
|
59
|
+
|
|
60
|
+
# plot I-V curve
|
|
61
|
+
plot_iv_curve(list_amp, steady_states)
|
|
62
|
+
|
|
63
|
+
return np.array(list_amp), np.array(steady_states)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Module for plotting analysis results of cell simulations."""
|
|
2
|
+
|
|
3
|
+
import matplotlib.pyplot as plt
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def plot_iv_curve(currents, voltages):
|
|
7
|
+
"""Plots the IV curve.
|
|
8
|
+
|
|
9
|
+
Args:
|
|
10
|
+
currents (iterable): The injected current levels (nA).
|
|
11
|
+
voltages (iterable): The corresponding steady-state voltages (mV).
|
|
12
|
+
Raises:
|
|
13
|
+
ValueError: If the lengths of currents and voltages do not match.
|
|
14
|
+
"""
|
|
15
|
+
if len(currents) != len(voltages):
|
|
16
|
+
raise ValueError("currents and voltages must have the same length")
|
|
17
|
+
|
|
18
|
+
# Plotting
|
|
19
|
+
plt.figure(figsize=(10, 6))
|
|
20
|
+
plt.plot(voltages, currents, marker='o', linestyle='-', color='b')
|
|
21
|
+
plt.title("I-V Curve")
|
|
22
|
+
plt.ylabel("Injected current [nA]")
|
|
23
|
+
plt.xlabel("Steady state voltage [mV]")
|
|
24
|
+
plt.tight_layout()
|
|
25
|
+
plt.show()
|
|
@@ -23,6 +23,7 @@ import neuron
|
|
|
23
23
|
import numpy as np
|
|
24
24
|
|
|
25
25
|
import bluecellulab
|
|
26
|
+
from bluecellulab.cell import Cell
|
|
26
27
|
from bluecellulab.circuit.circuit_access import EmodelProperties
|
|
27
28
|
from bluecellulab.exceptions import UnsteadyCellError
|
|
28
29
|
from bluecellulab.simulation.parallel import IsolatedProcess
|
|
@@ -351,3 +352,76 @@ def check_empty_topology() -> bool:
|
|
|
351
352
|
neuron.h.topology()
|
|
352
353
|
|
|
353
354
|
return stdout == ['', '']
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
def calculate_max_thresh_current(cell: Cell, threshold_voltage: float = -30.0) -> float:
|
|
358
|
+
"""Calculate the upper bound threshold current.
|
|
359
|
+
|
|
360
|
+
Args:
|
|
361
|
+
cell (bluecellulab.cell.Cell): The initialized cell model.
|
|
362
|
+
threshold_voltage (float, optional): Voltage threshold for spike detection. Default is -30.0 mV.
|
|
363
|
+
|
|
364
|
+
Returns:
|
|
365
|
+
float: The upper bound threshold current.
|
|
366
|
+
"""
|
|
367
|
+
# Calculate resting membrane potential (rmp)
|
|
368
|
+
rmp = calculate_SS_voltage(
|
|
369
|
+
template_path=cell.template_params.template_filepath,
|
|
370
|
+
morphology_path=cell.template_params.morph_filepath,
|
|
371
|
+
template_format=cell.template_params.template_format,
|
|
372
|
+
emodel_properties=cell.template_params.emodel_properties,
|
|
373
|
+
step_level=0.0,
|
|
374
|
+
)
|
|
375
|
+
|
|
376
|
+
# Calculate input resistance (rin)
|
|
377
|
+
rin = calculate_input_resistance(
|
|
378
|
+
template_path=cell.template_params.template_filepath,
|
|
379
|
+
morphology_path=cell.template_params.morph_filepath,
|
|
380
|
+
template_format=cell.template_params.template_format,
|
|
381
|
+
emodel_properties=cell.template_params.emodel_properties,
|
|
382
|
+
)
|
|
383
|
+
|
|
384
|
+
# Calculate upperbound threshold current
|
|
385
|
+
upperbound_threshold_current = (threshold_voltage - rmp) / rin
|
|
386
|
+
upperbound_threshold_current = np.min([upperbound_threshold_current, 2.0])
|
|
387
|
+
|
|
388
|
+
return upperbound_threshold_current
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
def calculate_rheobase(cell: Cell,
|
|
392
|
+
threshold_voltage: float = -30.0,
|
|
393
|
+
threshold_search_stim_start: float = 300.0,
|
|
394
|
+
threshold_search_stim_stop: float = 1000.0) -> float:
|
|
395
|
+
"""Calculate the rheobase by first computing the upper bound threshold
|
|
396
|
+
current.
|
|
397
|
+
|
|
398
|
+
Args:
|
|
399
|
+
cell (bluecellulab.cell.Cell): The initialized cell model.
|
|
400
|
+
threshold_voltage (float, optional): Voltage threshold for spike detection. Default is -30.0 mV.
|
|
401
|
+
threshold_search_stim_start (float, optional): Start time for threshold search stimulation (in ms). Default is 300.0 ms.
|
|
402
|
+
threshold_search_stim_stop (float, optional): Stop time for threshold search stimulation (in ms). Default is 1000.0 ms.
|
|
403
|
+
|
|
404
|
+
Returns:
|
|
405
|
+
float: The rheobase current.
|
|
406
|
+
"""
|
|
407
|
+
if cell.template_params.emodel_properties is None:
|
|
408
|
+
raise ValueError("emodel_properties cannot be None")
|
|
409
|
+
|
|
410
|
+
# Calculate upper bound threshold current
|
|
411
|
+
upperbound_threshold_current = calculate_max_thresh_current(cell, threshold_voltage)
|
|
412
|
+
|
|
413
|
+
# Compute rheobase
|
|
414
|
+
rheobase = search_threshold_current(
|
|
415
|
+
template_name=cell.template_params.template_filepath,
|
|
416
|
+
morphology_path=cell.template_params.morph_filepath,
|
|
417
|
+
template_format=cell.template_params.template_format,
|
|
418
|
+
emodel_properties=cell.template_params.emodel_properties,
|
|
419
|
+
hyp_level=cell.template_params.emodel_properties.holding_current,
|
|
420
|
+
inj_start=threshold_search_stim_start,
|
|
421
|
+
inj_stop=threshold_search_stim_stop,
|
|
422
|
+
min_current=cell.template_params.emodel_properties.holding_current,
|
|
423
|
+
max_current=upperbound_threshold_current,
|
|
424
|
+
current_precision=0.005,
|
|
425
|
+
)
|
|
426
|
+
|
|
427
|
+
return rheobase
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: bluecellulab
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.39
|
|
4
4
|
Summary: Biologically detailed neural network simulations and analysis.
|
|
5
5
|
Author: Blue Brain Project, EPFL
|
|
6
6
|
License: Apache2.0
|
|
7
|
-
Project-URL: Homepage, https://github.com/
|
|
7
|
+
Project-URL: Homepage, https://github.com/openbraininstitute/BlueCelluLab
|
|
8
8
|
Project-URL: Documentation, https://bluecellulab.readthedocs.io/
|
|
9
9
|
Keywords: computational neuroscience,simulation,analysis,SONATA,neural networks,neuron,Blue Brain Project
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -14,7 +14,7 @@ Classifier: Operating System :: POSIX
|
|
|
14
14
|
Classifier: Topic :: Scientific/Engineering
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Topic :: Utilities
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
License-File: AUTHORS.txt
|
|
@@ -91,12 +91,12 @@ If you need to cite a specific version, please use the DOI provided by `Zenodo <
|
|
|
91
91
|
Support
|
|
92
92
|
=======
|
|
93
93
|
|
|
94
|
-
We are providing support on `Gitter <https://gitter.im/
|
|
94
|
+
We are providing support on `Gitter <https://gitter.im/openbraininstitute/BlueCelluLab>`_. We suggest you create tickets on the `Github issue tracker <https://github.com/openbraininstitute/BlueCelluLab/issues>`_ in case you encounter problems while using the software or if you have some suggestions.
|
|
95
95
|
|
|
96
96
|
Main dependencies
|
|
97
97
|
=================
|
|
98
98
|
|
|
99
|
-
* `Python 3.
|
|
99
|
+
* `Python 3.9+ <https://www.python.org/downloads/release/python-390/>`_
|
|
100
100
|
* `Neuron 8.0.2+ <https://pypi.org/project/NEURON/>`_
|
|
101
101
|
|
|
102
102
|
Installation
|
|
@@ -127,13 +127,13 @@ The following example shows how to create a cell, add a stimulus and run a simul
|
|
|
127
127
|
time, voltage = cell.get_time(), cell.get_soma_voltage()
|
|
128
128
|
# plotting time and voltage ...
|
|
129
129
|
|
|
130
|
-
.. image:: https://raw.githubusercontent.com/
|
|
130
|
+
.. image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/images/voltage-readme.png
|
|
131
131
|
:alt: Voltage plot
|
|
132
132
|
|
|
133
133
|
Tutorial
|
|
134
134
|
========
|
|
135
135
|
|
|
136
|
-
A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/
|
|
136
|
+
A more detailed explanation on how to use BlueCelluLab, as well as other examples can be found on the `examples page <https://github.com/openbraininstitute/BlueCelluLab/blob/main/examples/README.rst>`_.
|
|
137
137
|
|
|
138
138
|
API Documentation
|
|
139
139
|
=================
|
|
@@ -155,7 +155,7 @@ Testing is set up using `tox`:
|
|
|
155
155
|
Contributing
|
|
156
156
|
============
|
|
157
157
|
|
|
158
|
-
We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/
|
|
158
|
+
We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/openbraininstitute/BlueCelluLab/blob/main/CONTRIBUTING.rst>`_ for guidelines on how to contribute.
|
|
159
159
|
|
|
160
160
|
Funding & Acknowledgements
|
|
161
161
|
==========================
|
|
@@ -166,6 +166,7 @@ Copyright
|
|
|
166
166
|
=========
|
|
167
167
|
|
|
168
168
|
Copyright (c) 2023-2024 Blue Brain Project/EPFL
|
|
169
|
+
Copyright (c) 2025 Open Brain Institute
|
|
169
170
|
|
|
170
171
|
This work is licensed under `Apache 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`_
|
|
171
172
|
|
|
@@ -175,10 +176,10 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
175
176
|
|
|
176
177
|
|
|
177
178
|
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
|
|
178
|
-
:target: https://github.com/
|
|
179
|
+
:target: https://github.com/openbraininstitute/BlueCelluLab/blob/main/LICENSE
|
|
179
180
|
|
|
180
|
-
.. |tests| image:: https://github.com/
|
|
181
|
-
:target: https://github.com/
|
|
181
|
+
.. |tests| image:: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml/badge.svg?branch=main
|
|
182
|
+
:target: https://github.com/openbraininstitute/BlueCelluLab/actions/workflows/test.yml
|
|
182
183
|
:alt: CI
|
|
183
184
|
|
|
184
185
|
.. |pypi| image:: https://img.shields.io/pypi/v/bluecellulab.svg
|
|
@@ -189,13 +190,13 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
189
190
|
:target: https://bluecellulab.readthedocs.io/
|
|
190
191
|
:alt: latest documentation
|
|
191
192
|
|
|
192
|
-
.. |coverage| image:: https://codecov.io/github/
|
|
193
|
-
:target: https://codecov.io/gh/
|
|
193
|
+
.. |coverage| image:: https://codecov.io/github/openbraininstitute/BlueCelluLab/coverage.svg?branch=main
|
|
194
|
+
:target: https://codecov.io/gh/openbraininstitute/bluecellulab
|
|
194
195
|
:alt: coverage
|
|
195
196
|
|
|
196
197
|
.. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
|
|
197
|
-
:target: https://gitter.im/
|
|
198
|
-
:alt: Join the chat at https://gitter.im/
|
|
198
|
+
:target: https://gitter.im/openbraininstitute/BlueCelluLab
|
|
199
|
+
:alt: Join the chat at https://gitter.im/openbraininstitute/BlueCelluLab
|
|
199
200
|
|
|
200
201
|
.. |joss| image:: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff/status.svg
|
|
201
202
|
:target: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff
|
|
@@ -212,4 +213,4 @@ The licenses of the morphology files used in this repository are available on: h
|
|
|
212
213
|
to skip content after the marker 'substitutions'.
|
|
213
214
|
|
|
214
215
|
.. substitutions
|
|
215
|
-
.. |banner| image:: https://raw.githubusercontent.com/
|
|
216
|
+
.. |banner| image:: https://raw.githubusercontent.com/openbraininstitute/BlueCelluLab/main/docs/source/logo/BlueCelluLabBanner.jpg
|
|
@@ -39,7 +39,9 @@ bluecellulab.egg-info/dependency_links.txt
|
|
|
39
39
|
bluecellulab.egg-info/requires.txt
|
|
40
40
|
bluecellulab.egg-info/top_level.txt
|
|
41
41
|
bluecellulab/analysis/__init__.py
|
|
42
|
+
bluecellulab/analysis/analysis.py
|
|
42
43
|
bluecellulab/analysis/inject_sequence.py
|
|
44
|
+
bluecellulab/analysis/plotting.py
|
|
43
45
|
bluecellulab/cell/__init__.py
|
|
44
46
|
bluecellulab/cell/cell_dict.py
|
|
45
47
|
bluecellulab/cell/core.py
|
|
@@ -38,10 +38,10 @@ dependencies = [
|
|
|
38
38
|
"networkx>=3.1",
|
|
39
39
|
"h5py>=3.8.0",
|
|
40
40
|
]
|
|
41
|
-
requires-python = ">=3.
|
|
41
|
+
requires-python = ">=3.9"
|
|
42
42
|
|
|
43
43
|
[project.urls]
|
|
44
|
-
Homepage = "https://github.com/
|
|
44
|
+
Homepage = "https://github.com/openbraininstitute/BlueCelluLab"
|
|
45
45
|
Documentation = "https://bluecellulab.readthedocs.io/"
|
|
46
46
|
|
|
47
47
|
[tool.setuptools_scm]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/circuit_access/definition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/config/bluepy_simulation_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/circuit/config/sonata_simulation_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bluecellulab-2.6.37 → bluecellulab-2.6.39}/bluecellulab/stimulus/circuit_stimulus_definitions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|