Skip to main content

Blue Brain Python E-feature extraction

Project description

banner


BluePyEfe: Blue Brain Python E-feature extraction

Latest Release

latest release

Documentation

latest documentation

License

license

Build Status

Actions build status

Coverage

coverage

Citation

DOI

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

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:

  1. Load the data to memory by reading all the files containing the traces

  2. Extract the required e-features for all the traces

  3. Compute the rheobases of the cells based on one or several protocols

  4. Use these rheobases to associate to each protocol an amplitude expressed in % of the rheobase

  5. Compute the mean and standard deviations for the e-features across traces having the same amplitude

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bluepyefe-2.3.54.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bluepyefe-2.3.54-py3-none-any.whl (68.1 kB view details)

Uploaded Python 3

File details

Details for the file bluepyefe-2.3.54.tar.gz.

File metadata

  • Download URL: bluepyefe-2.3.54.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bluepyefe-2.3.54.tar.gz
Algorithm Hash digest
SHA256 66efdd6235714d7bf8b1a456027b94e8ae71ae9a6af848644327048e8038930d
MD5 ffc990799bc21c4d8e47402e83bf775e
BLAKE2b-256 f25b68a9f2b17cf291208c0340be35e5fefbc338e8e8e1f327379ebe0b10dce5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bluepyefe-2.3.54.tar.gz:

Publisher: build.yml on openbraininstitute/BluePyEfe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bluepyefe-2.3.54-py3-none-any.whl.

File metadata

  • Download URL: bluepyefe-2.3.54-py3-none-any.whl
  • Upload date:
  • Size: 68.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bluepyefe-2.3.54-py3-none-any.whl
Algorithm Hash digest
SHA256 3392ce89e235dd68f48ff222a56614155fc92e81b082c8d183e8e41b73d3a73b
MD5 9f56e08f72d9d7addf476ed8d697e592
BLAKE2b-256 7780b36ea8c9ee8624eca7581a3bb061e551d91255e75947fe7d21740f56570b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bluepyefe-2.3.54-py3-none-any.whl:

Publisher: build.yml on openbraininstitute/BluePyEfe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page