|banner|
BluePyEModel: Blue Brain Python Electrical Modeling Pipeline
============================================================
+----------------+------------+
| Latest Release | |pypi| |
+----------------+------------+
| Documentation | |docs| |
+----------------+------------+
| License | |license| |
+----------------+------------+
| Build Status | |tests| |
+----------------+------------+
| Coverage | |coverage| |
+----------------+------------+
| Citation | |zenodo| |
+----------------+------------+
Introduction
------------
The Blue Brain Python Electrical Modeling Pipeline (BluePyEModel) is a Python package facilitating the configuration and execution of electrical neuron model (e-model) building tasks. It covers tasks such as extraction of electrical features from electrophysiology data, e-model parameters optimisation and model validation. As such, it builds on top of `eFEL <https://github.com/BlueBrain/eFEL>`_, `BluePyEfe <https://github.com/BlueBrain/BluePyEfe>`_ and `BluePyOpt <https://github.com/BlueBrain/BluePyOpt>`_.
For a general overview and example of electrical model building, please refer to the paper: `A universal workflow for creation, validation and generalization of detailed neuronal models <https://doi.org/10.1016/j.patter.2023.100855>`_.
Note that this package only covers e-model building based on patch-clamp data and that it relies solely on the `NEURON <https://www.neuron.yale.edu/neuron/>`_ simulator.
How to cite
-----------
If you use this repository in your work, please refer to the ``Cite this repository`` button at the top of the repository page to get various citation formats, including APA and BibTeX.
For detailed citation information, please refer to the `CITATION.cff <./CITATION.cff>`_ file.
Installation
------------
BluePyEModel can be pip installed with the following command:
.. code-block:: python
pip install bluepyemodel[all]
If you do not wish to install all dependencies, specific dependencies can be selected by indicating which ones to install between brackets in place of 'all' (If you want multiple dependencies, they have to be separated by commas). The available dependencies are:
* luigi
* nexus
* all
To get started with the E-Model building pipeline
-------------------------------------------------
.. image:: https://raw.githubusercontent.com/BlueBrain/BluePyEModel/main/doc/images/pipeline.png
:alt: E-Model building pipeline
This section presents a general picture of the pipeline. For a detailed picture and how to use it, please refer to the `L5PC example <https://github.com/BlueBrain/BluePyEModel/tree/main/examples/L5PC/>`_ and its `README <https://github.com/BlueBrain/BluePyEModel/tree/main/examples/L5PC/README.rst>`_.
The pipeline is divided in 6 steps:
* ``extraction``: extracts e-features from ephys recordings and averages the results e-feature values along the requested targets.
* ``optimisation``: builds a NEURON cell model and optimises its parameters using as targets the efeatures computed during e-feature extraction.
* ``storage of the model``: reads the results of the extraction and stores the models (best set of parameters) in a local json file.
* ``validation``: reads the models and runs the optimisation protocols and/or validation protocols on them. The e-feature scores obtained on these protocols are then passed to a validation function that decides if the model is good enough.
* ``plotting``: reads the models and runs the optimisation protocols and/or validation protocols on them. Then, plots the resulting traces along the e-feature scores and parameter distributions.
* ``exporting``: read the parameter of the best models and export them in files that can be used either in NEURON or for circuit building.
These six steps are to be run in order as for example validation cannot be run if no models have been stored. Steps ``validation``, ``plotting`` and ``exporting`` are optional. Step ``extraction`` can also be optional in the case where the file containing the protocols and optimisation targets is created by hand or if it is obtained from an older project.
For an example of how to run the pipeline with the Nexus access point, see the `Nexus example <https://github.com/BlueBrain/BluePyEModel/tree/main/examples/nexus/>`_
Schematics of BluePyEModel classes
-----------------------------------
.. image:: https://raw.githubusercontent.com/BlueBrain/BluePyEModel/main/doc/images/classes_schema.png
:alt: Schematics of BluePyEModel classes
Acknowledgment
--------------
This work was 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. This work has been partially funded by the European Union Seventh Framework Program (FP7/20072013) under grant agreement no. 604102 (HBP), and by the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreements No. 720270 (Human Brain Project SGA1) and No. 785907 (Human Brain Project SGA2) and by the EBRAINS research infrastructure, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).
Copyright
---------
Copyright (c) 2023-2024 Blue Brain Project/EPFL
This work is licensed under `Apache 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`_
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
:target: https://github.com/BlueBrain/BluePyEModel/blob/main/LICENSE.txt
.. |tests| image:: https://github.com/BlueBrain/BluepyEModel/actions/workflows/test.yml/badge.svg
:target: https://github.com/BlueBrain/BluepyEModel/actions/workflows/test.yml
:alt: CI
.. |pypi| image:: https://img.shields.io/pypi/v/bluepyemodel.svg
:target: https://pypi.org/project/bluepyemodel/
:alt: latest release
.. |docs| image:: https://readthedocs.org/projects/bluepyemodel/badge/?version=latest
:target: https://bluepyemodel.readthedocs.io/
:alt: latest documentation
.. |coverage| image:: https://codecov.io/github/BlueBrain/BluePyEModel/coverage.svg?branch=main
:target: https://codecov.io/gh/BlueBrain/bluepyemodel
:alt: coverage
.. |zenodo| image:: https://zenodo.org/badge/651152332.svg
:target: https://zenodo.org/badge/latestdoi/651152332
..
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/BlueBrain/BluePyEModel/main/doc/source/logo/BluePyEModelBanner.jpg
Raw data
{
"_id": null,
"home_page": null,
"name": "bluepyemodel",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "computational neuroscience, simulation, analysis, parameters, Blue Brain Project",
"author": "Blue Brain Project, EPFL",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/f2/57/f3986c4b2da18c5539806d6ccf5aea6a573f9e75fcf352d1b2543355ccfc/bluepyemodel-1.0.28.tar.gz",
"platform": null,
"description": "|banner|\n\nBluePyEModel: Blue Brain Python Electrical Modeling Pipeline\n============================================================\n\n+----------------+------------+\n| Latest Release | |pypi| |\n+----------------+------------+\n| Documentation | |docs| |\n+----------------+------------+\n| License | |license| |\n+----------------+------------+\n| Build Status \t | |tests| |\n+----------------+------------+\n| Coverage | |coverage| |\n+----------------+------------+\n| Citation | |zenodo| |\n+----------------+------------+\n\n\nIntroduction\n------------\n\nThe Blue Brain Python Electrical Modeling Pipeline (BluePyEModel) is a Python package facilitating the configuration and execution of electrical neuron model (e-model) building tasks. It covers tasks such as extraction of electrical features from electrophysiology data, e-model parameters optimisation and model validation. As such, it builds on top of `eFEL <https://github.com/BlueBrain/eFEL>`_, `BluePyEfe <https://github.com/BlueBrain/BluePyEfe>`_ and `BluePyOpt <https://github.com/BlueBrain/BluePyOpt>`_.\n\nFor a general overview and example of electrical model building, please refer to the paper: `A universal workflow for creation, validation and generalization of detailed neuronal models <https://doi.org/10.1016/j.patter.2023.100855>`_.\n\nNote that this package only covers e-model building based on patch-clamp data and that it relies solely on the `NEURON <https://www.neuron.yale.edu/neuron/>`_ simulator.\n\n\nHow to cite\n-----------\nIf you use this repository in your work, please refer to the ``Cite this repository`` button at the top of the repository page to get various citation formats, including APA and BibTeX.\n\nFor detailed citation information, please refer to the `CITATION.cff <./CITATION.cff>`_ file.\n\n\nInstallation\n------------\n\nBluePyEModel can be pip installed with the following command:\n\n.. code-block:: python\n\n pip install bluepyemodel[all]\n\nIf you do not wish to install all dependencies, specific dependencies can be selected by indicating which ones to install between brackets in place of 'all' (If you want multiple dependencies, they have to be separated by commas). The available dependencies are:\n\n* luigi\n* nexus\n* all\n\n\nTo get started with the E-Model building pipeline\n-------------------------------------------------\n\n.. image:: https://raw.githubusercontent.com/BlueBrain/BluePyEModel/main/doc/images/pipeline.png\n :alt: E-Model building pipeline\n\nThis section presents a general picture of the pipeline. For a detailed picture and how to use it, please refer to the `L5PC example <https://github.com/BlueBrain/BluePyEModel/tree/main/examples/L5PC/>`_ and its `README <https://github.com/BlueBrain/BluePyEModel/tree/main/examples/L5PC/README.rst>`_.\n\nThe pipeline is divided in 6 steps:\n\n* ``extraction``: extracts e-features from ephys recordings and averages the results e-feature values along the requested targets.\n* ``optimisation``: builds a NEURON cell model and optimises its parameters using as targets the efeatures computed during e-feature extraction.\n* ``storage of the model``: reads the results of the extraction and stores the models (best set of parameters) in a local json file.\n* ``validation``: reads the models and runs the optimisation protocols and/or validation protocols on them. The e-feature scores obtained on these protocols are then passed to a validation function that decides if the model is good enough.\n* ``plotting``: reads the models and runs the optimisation protocols and/or validation protocols on them. Then, plots the resulting traces along the e-feature scores and parameter distributions.\n* ``exporting``: read the parameter of the best models and export them in files that can be used either in NEURON or for circuit building.\n\nThese six steps are to be run in order as for example validation cannot be run if no models have been stored. Steps ``validation``, ``plotting`` and ``exporting`` are optional. Step ``extraction`` can also be optional in the case where the file containing the protocols and optimisation targets is created by hand or if it is obtained from an older project.\n\nFor an example of how to run the pipeline with the Nexus access point, see the `Nexus example <https://github.com/BlueBrain/BluePyEModel/tree/main/examples/nexus/>`_\n\nSchematics of BluePyEModel classes\n-----------------------------------\n\n.. image:: https://raw.githubusercontent.com/BlueBrain/BluePyEModel/main/doc/images/classes_schema.png\n :alt: Schematics of BluePyEModel classes\n\n\nAcknowledgment\n--------------\n\nThis work was supported by funding to the Blue Brain Project, a research center of the \u00c9cole polytechnique f\u00e9d\u00e9rale de Lausanne (EPFL), from the Swiss government\u2019s ETH Board of the Swiss Federal Institutes of Technology. This work has been partially funded by the European Union Seventh Framework Program (FP7/2007\u00ad2013) under grant agreement no. 604102 (HBP), and by the European Union\u2019s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreements No. 720270 (Human Brain Project SGA1) and No. 785907 (Human Brain Project SGA2) and by the EBRAINS research infrastructure, funded from the European Union\u2019s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).\n\n\nCopyright\n---------\n\nCopyright (c) 2023-2024 Blue Brain Project/EPFL\n\nThis work is licensed under `Apache 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`_\n\n\n.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n :target: https://github.com/BlueBrain/BluePyEModel/blob/main/LICENSE.txt\n\n.. |tests| image:: https://github.com/BlueBrain/BluepyEModel/actions/workflows/test.yml/badge.svg\n :target: https://github.com/BlueBrain/BluepyEModel/actions/workflows/test.yml\n :alt: CI\n\n.. |pypi| image:: https://img.shields.io/pypi/v/bluepyemodel.svg\n :target: https://pypi.org/project/bluepyemodel/\n :alt: latest release\n\n.. |docs| image:: https://readthedocs.org/projects/bluepyemodel/badge/?version=latest\n :target: https://bluepyemodel.readthedocs.io/\n :alt: latest documentation\n\n.. |coverage| image:: https://codecov.io/github/BlueBrain/BluePyEModel/coverage.svg?branch=main\n :target: https://codecov.io/gh/BlueBrain/bluepyemodel\n :alt: coverage\n\n.. |zenodo| image:: https://zenodo.org/badge/651152332.svg\n :target: https://zenodo.org/badge/latestdoi/651152332\n\n..\n The following image is also defined in the index.rst file, as the relative path is\n different, depending from where it is sourced.\n The following location is used for the github README\n The index.rst location is used for the docs README; index.rst also defined an end-marker,\n to skip content after the marker 'substitutions'.\n\n.. substitutions\n.. |banner| image:: https://raw.githubusercontent.com/BlueBrain/BluePyEModel/main/doc/source/logo/BluePyEModelBanner.jpg\n",
"bugtrack_url": null,
"license": "BluePyEModel is licensed under the Apache License, unless noted otherwise, e.g., for external dependencies. See file COPYING for the full license. The examples are under the CC-BY-NC-SA license, as specified by the LICENSE.txt file. Copyright 2023-2024 Blue Brain Project / EPFL Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.",
"summary": "Blue Brain Python Electrical Modeling Pipeline",
"version": "1.0.28",
"project_urls": {
"Homepage": "https://github.com/BlueBrain/BluePyEModel"
},
"split_keywords": [
"computational neuroscience",
" simulation",
" analysis",
" parameters",
" blue brain project"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e6f41e8f671e01f7e6bc911315f387944be5d434f3b33571a9ee078e1000ccba",
"md5": "6947f246ca4dc6b32b5c1b1526244b2d",
"sha256": "aa370a4734b7fd0b965100cf701011821289cc439f23e8487297e773a595f5cd"
},
"downloads": -1,
"filename": "bluepyemodel-1.0.28-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6947f246ca4dc6b32b5c1b1526244b2d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 13356054,
"upload_time": "2024-11-21T15:26:55",
"upload_time_iso_8601": "2024-11-21T15:26:55.449491Z",
"url": "https://files.pythonhosted.org/packages/e6/f4/1e8f671e01f7e6bc911315f387944be5d434f3b33571a9ee078e1000ccba/bluepyemodel-1.0.28-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f257f3986c4b2da18c5539806d6ccf5aea6a573f9e75fcf352d1b2543355ccfc",
"md5": "94b65af511a0d5b963d7ad1c70457436",
"sha256": "052e1a3f84aab26e2653f8349d712cbec3e15df40ce09dc2f44d63e55184dc18"
},
"downloads": -1,
"filename": "bluepyemodel-1.0.28.tar.gz",
"has_sig": false,
"md5_digest": "94b65af511a0d5b963d7ad1c70457436",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 12984433,
"upload_time": "2024-11-21T15:26:59",
"upload_time_iso_8601": "2024-11-21T15:26:59.261939Z",
"url": "https://files.pythonhosted.org/packages/f2/57/f3986c4b2da18c5539806d6ccf5aea6a573f9e75fcf352d1b2543355ccfc/bluepyemodel-1.0.28.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-21 15:26:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BlueBrain",
"github_project": "BluePyEModel",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "bluepyemodel"
}