https://github.com/bluebrain/bluepyefe

BluePyEfe: Blue Brain Python E-feature extraction

https://github.com/bluebrain/bluepyefe

Science Score: 33.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    9 of 16 committers (56.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.8%) to scientific vocabulary

Keywords from Contributors

neurons neuroscience biological-simulations computational-neuroscience electrophysiology evolutionary-algorithms genetic-algorithm optimisations parameter emodel
Last synced: 10 months ago · JSON representation

Repository

BluePyEfe: Blue Brain Python E-feature extraction

Basic Info
Statistics
  • Stars: 16
  • Watchers: 6
  • Forks: 15
  • Open Issues: 4
  • Releases: 41
Archived
Created over 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Authors

README.rst

.. warning::
   The Blue Brain Project concluded in December 2024, so development has ceased under the BlueBrain GitHub organization.
   Future development will take place at: https://github.com/openbraininstitute/BluePyEfe

|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.9+ `_
* `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

.. |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/BlueBrain/bluepyefe/blob/master/LICENSE.txt
                  :alt: license
.. |tests| image:: https://github.com/BlueBrain/BluePyEfe/workflows/Build/badge.svg?branch=master
                :target: https://github.com/BlueBrain/BluePyEfe/actions
                :alt: Actions build status
.. |coverage| image:: https://codecov.io/github/BlueBrain/BluePyEfe/coverage.svg?branch=master
                   :target: https://codecov.io/gh/BlueBrain/BluePyEfe
                   :alt: coverage
.. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
                 :target: https://gitter.im/bluebrain/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/BlueBrain/BluePyEfe/master/docs/source/logo/BluePyEfeBanner.jpg

Owner

  • Name: The Blue Brain Project
  • Login: BlueBrain
  • Kind: organization
  • Email: bbp.opensource@epfl.ch
  • Location: Geneva, Switzerland

Open Source Software produced and used by the Blue Brain Project

GitHub Events

Total
  • Release event: 4
  • Watch event: 2
  • Delete event: 11
  • Issue comment event: 1
  • Push event: 4
  • Pull request review event: 3
  • Pull request event: 7
  • Fork event: 2
  • Create event: 4
Last Year
  • Release event: 4
  • Watch event: 2
  • Delete event: 11
  • Issue comment event: 1
  • Push event: 4
  • Pull request review event: 3
  • Pull request event: 7
  • Fork event: 2
  • Create event: 4

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 327
  • Total Committers: 16
  • Avg Commits per committer: 20.438
  • Development Distribution Score (DDS): 0.682
Top Committers
Name Email Commits
Tanguy Pierre Louis Damart t****t@e****h 104
Luca Leonardo Bologna l****a@p****t 50
Werner Van Geit w****t@e****h 49
C Rössert c****t@e****h 44
Anil Tuncel a****l@e****h 20
Tanguy Damart 5****a@u****m 15
Jaquier Aurélien Tristan a****r@e****h 13
Aurélien Jaquier 7****r@u****m 10
Alessio Buccino a****7@g****m 5
Damart Tanguy Pierre Louis d****t@b****h 5
Elisabetta Iavarone e****e@e****h 4
Liviu S l****g@y****m 4
Alexandre Beche a****e@e****h 1
Benoît Coste b****e@e****h 1
lbologna 9****a@u****m 1
anilbey t****l@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 14
  • Total pull requests: 137
  • Average time to close issues: 9 days
  • Average time to close pull requests: 4 days
  • Total issue authors: 7
  • Total pull request authors: 10
  • Average comments per issue: 3.0
  • Average comments per pull request: 1.01
  • Merged pull requests: 129
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 28
  • Average time to close issues: 2 days
  • Average time to close pull requests: 2 days
  • Issue authors: 1
  • Pull request authors: 4
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.68
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • anilbey (7)
  • arnaudon (2)
  • alejoe91 (1)
  • stefanoantonel (1)
  • AurelienJaquier (1)
  • lvsltz (1)
  • wvangeit (1)
Pull Request Authors
  • AurelienJaquier (58)
  • DrTaDa (43)
  • ilkilic (24)
  • anilbey (21)
  • darshanmandge (7)
  • arnaudon (5)
  • alejoe91 (4)
  • wvangeit (2)
  • pitmonticone (1)
  • bbpgithubaudit (1)
Top Labels
Issue Labels
Pull Request Labels
dontmerge (1)

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
requirements.txt pypi
requirements_docs.txt pypi
  • sphinx >=2.0.0
  • sphinx-bluebrain-theme *
setup.py pypi
  • efel *
  • h5py *
  • igor2 *
  • matplotlib *
  • neo *
  • numpy *
  • scipy *