bluepyefe

BluePyEfe: Blue Brain Python E-feature extraction

https://github.com/openbraininstitute/bluepyefe

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 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.2%) to scientific vocabulary

Keywords

computational-neuroscience electrophysiology feature-extraction neuroscience python
Last synced: 6 months ago · JSON representation ·

Repository

BluePyEfe: Blue Brain Python E-feature extraction

Basic Info
Statistics
  • Stars: 4
  • Watchers: 3
  • Forks: 0
  • Open Issues: 1
  • Releases: 9
Topics
computational-neuroscience electrophysiology feature-extraction neuroscience python
Created about 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation Authors Zenodo

README.rst

|banner|

-----------------

BluePyEfe: Blue Brain Python E-feature extraction
=================================================

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


Introduction
============

BluePyEfe aims at easing the process of reading experimental recordings and extracting
batches of electrical features from these recordings. To do so, it combines trace reading
functions and features extraction functions from the `eFel library `_.

BluePyEfe outputs protocols and features files in the format used
by `BluePyOpt `_ for neuron electrical model building.

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.

Requirements
============

* `Python 3.11+ `_
* `eFEL eFeature Extraction Library `_ (automatically installed by pip)
* `Numpy `_ (automatically installed by pip)
* `Scipy `_ (automatically installed by pip)
* `Neo `_ (automatically installed by pip)
* The instruction below are written assuming you have access to a command shell on Linux / UNIX / MacOSX / Cygwin

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

To install BluePyEfe, run:

.. code-block:: bash

    pip install bluepyefe


Quick Start and Operating Principle
===================================

For a hands-on introduction to BluePyEfe, have a look at the notebook `examples/example_of_extraction.ipynb `_

The goal of the present package is to extract meaningful electrophysiological features (e-features) from voltage time series.
The e-features considered in the present package are the one implemented in the `eFEL python library `_. See `this pdf `_ for a list of available e-features.

The present package makes one major assumption: E-features are more meaningful if they are coming from a set of traces rather than a single trace. And they are even more meaningful if these traces come from different cells of the same cellular type.
This assumption dictates the organisation of the package and has several consequences:

The efeatures extracted through the package will always be averaged over the trace considered. For example, the AP_amplitude will be an average over all the action potentials present in a trace. If you wish to work on an AP by AP basis, please consider using the eFEL library directly.

A large part of the present software is therefore dedicated to averaging the features across set of "equivalent" recordings. To be able to average e-features across different cells in a meaningful way, an equivalence must be established between the traces coming from these different cells. It would not make sense to average the mean firing frequency obtain cell A on a 1s long step protocol with the one obtain for cell B on a ramp protocol that lasts for 500ms. We chose to define recordings as equivalent based on two criteria: (1) They have the same name and (2) they are of the same amplitude when the amplitude is expressed as a percentage of the rheobase of the cell.

A pseudo-code for the main function of the package (bluepyefe.extract.extract_efeatures) could look as follows:

#. Load the data to memory by reading all the files containing the traces
#. Extract the required e-features for all the traces
#. Compute the rheobases of the cells based on one or several protocols
#. Use these rheobases to associate to each protocol an amplitude expressed in % of the rheobase
#. Compute the mean and standard deviations for the e-features across traces having the same amplitude
#. Save the results and plot the traces and e-features

Each of these steps are parametrized by a number of settings, therefore we recommend that you read carefully the docstring of the function.

Coming from the legacy version
==============================
The legacy version (v0.4*) is moved to the legacy branch.
Changes introduced in v2.0.0 are listed in the `CHANGELOG.rst `_.
That is the only file you need to look at for the changes as the future changes will also be noted there.

Funding
=======
This work has been partially funded by the European Union Seventh Framework Program (FP7/2007­2013) 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 (c) 2016-2024 Blue Brain Project/EPFL

Copyright (c) 2025 Open Brain Institute

.. |pypi| image:: https://img.shields.io/pypi/v/bluepyefe.svg
               :target: https://pypi.org/project/bluepyefe/
               :alt: latest release
.. |docs| image:: https://readthedocs.org/projects/bluepyefe/badge/?version=latest
               :target: https://bluepyefe.readthedocs.io/
               :alt: latest documentation
.. |license| image:: https://img.shields.io/pypi/l/bluepyefe.svg
                  :target: https://github.com/openbraininstitute/bluepyefe/blob/master/LICENSE.txt
                  :alt: license
.. |tests| image:: https://github.com/openbraininstitute/BluePyEfe/workflows/Build/badge.svg?branch=master
                :target: https://github.com/openbraininstitute/BluePyEfe/actions
                :alt: Actions build status
.. |coverage| image:: https://codecov.io/github/openbraininstitute/BluePyEfe/coverage.svg?branch=master
                   :target: https://codecov.io/gh/openbraininstitute/BluePyEfe
                   :alt: coverage
.. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
                 :target: https://gitter.im/openbraininstitute/bluepyefe
                 :alt: gitter
.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3728191.svg
                 :target: https://doi.org/10.5281/zenodo.3728191
                 :alt: DOI

..
    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/BluePyEfe/master/docs/source/logo/BluePyEfeBanner.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: "BluePyEfe"
doi: 10.5281/zenodo.3728191
url: https://doi.org/10.5281/zenodo.3728191
abstract: "BluePyEfe aims at easing the process of reading experimental recordings and extracting batches of electrical features from these recordings. To do so, it combines trace reading functions and features extraction functions from the eFel library. BluePyEfe outputs protocols and features files in the format used by BluePyOpt for neuron electrical model building."
authors:
  - family-names: "Rössert"
    given-names: "Christian"
  - family-names: "Van Geit"
    given-names: "Werner"
  - family-names: "Iavarone"
    given-names: "Elisabetta"
  - family-names: "Bologna"
    given-names: "Luca Leonardo"
  - family-names: "Damart"
    given-names: "Tanguy"
  - family-names: "Jaquier"
    given-names: "Aurélien"
  - family-names: "Mandge"
    given-names: "Darshan"
  - family-names: "Tuncel"
    given-names: "Anil"
  - family-names: "Kilic"
    given-names: "Ilkan"
  - family-names: "Sanin"
    given-names: "Aleksei"
  - family-names: "Davison"
    given-names: "Andrew"
date-released: 2020-03-01
publisher: "Zenodo"

GitHub Events

Total
  • Create event: 22
  • Issues event: 1
  • Release event: 8
  • Watch event: 4
  • Delete event: 9
  • Issue comment event: 10
  • Member event: 3
  • Push event: 13
  • Pull request review comment event: 17
  • Pull request review event: 23
  • Pull request event: 15
Last Year
  • Create event: 22
  • Issues event: 1
  • Release event: 8
  • Watch event: 4
  • Delete event: 9
  • Issue comment event: 10
  • Member event: 3
  • Push event: 13
  • Pull request review comment event: 17
  • Pull request review event: 23
  • Pull request event: 15

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.38
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 hour
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.38
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • AurelienJaquier (1)
Pull Request Authors
  • AurelienJaquier (5)
  • ilkilic (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,442 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 2
  • Total versions: 138
  • Total maintainers: 4
pypi.org: bluepyefe

Blue Brain Python E-feature extraction

  • Homepage: https://github.com/openbraininstitute/BluePyEfe
  • Documentation: https://bluepyefe.readthedocs.io/en/latest
  • License: BluePyEfe - Bluebrain Python E-feature extraction Library BluePyEfe is licensed under the LGPL, unless noted otherwise, e.g., for external dependencies. See file LGPL.txt for the full license. Examples and test are BSD-licensed. External dependencies are either LGPL or BSD-licensed. See file AUTHORS.txt for further details. Copyright (C) 2005-2024, Blue Brain Project/EPFL. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
  • Latest release: 2.3.49
    published 6 months ago
  • Versions: 138
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 1,442 Last month
Rankings
Dependent packages count: 4.8%
Downloads: 7.5%
Forks count: 9.8%
Average: 9.9%
Dependent repos count: 11.5%
Stargazers count: 15.6%
Last synced: 6 months ago

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • anothrNick/github-tag-action 1.64.0 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • softprops/action-gh-release v1 composite
.github/workflows/keep-alive.yml actions
  • actions/checkout v2 composite
.github/workflows/mirror-ebrains.yml actions
  • wei/git-sync v3 composite
.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite
pyproject.toml pypi
  • efel *
  • h5py *
  • igor2 *
  • matplotlib *
  • neo *
  • numpy *
  • scipy <1.15
requirements.txt pypi
requirements_docs.txt pypi
  • sphinx >=2.0.0
  • sphinx-bluebrain-theme *