电生理特征提取库 (eFEL)
项目描述
最新发布 |
|
文档 |
|
许可证 |
|
构建状态 |
|
覆盖率 |
|
Gitter |
|
引用 |
|
简介
电生理特征提取库(eFEL)允许神经科学家自动从神经元(无论是在体外还是在线模拟)记录的时间序列数据中提取特征。例如,在细胞整体膜片钳实验中记录的电压轨迹中的动作电位宽度和幅度。库的用户提供一组轨迹并选择要计算的特征。然后库将提取所需特征并将值返回给用户。
库的核心是用C++编写的,并包含一个Python包装器。目前,我们提供了一种自动编译和安装库作为Python模块的方法。如何将eFEL编译为独立C++库的说明可以在这里找到。
引用方法
当您使用此eFEL软件进行您的科研工作时,我们要求您引用它(包括海报展示),请通过参考仓库页面顶部的“引用此仓库”按钮来获取各种引用格式,包括APA和BibTeX。
有关详细的引用信息,请参阅CITATION.cff文件。
要求
- Python 3.9+
- Pip(Python的新版本默认安装)
- pip可用的C++编译器
- Numpy(pip将自动安装)
- 以下说明假设您有权访问Linux / UNIX / MacOSX / Cygwin的命令行
安装
安装eFEL最简单的方法是使用pip
pip install efel
如果您没有管理员权限,此命令可能会因权限错误而失败。在这种情况下,您可以在您的家目录中安装eFEL
pip install efel --user
或者,您可以使用python虚拟环境
virtualenv pythonenv
. ./pythonenv/bin/activate
# If you use csh or tcsh, you should use:
# source ./pythonenv/bin/activate.csh
pip install efel
如果您想直接从github仓库安装,可以使用
pip install git+git://github.com/BlueBrain/eFEL
快速入门
首先需要导入模块
import efel
获取所有可用特征名称的列表
efel.get_feature_names()
更改动作电位检测阈值设置(默认为-20 mV)
efel.set_setting('Threshold', -30)
有关所有可用设置的完整列表,请参阅设置类
提取特征的Python函数是get_feature_values(...)。以下是如何使用此函数的简短示例。代码和示例轨迹可在这里找到
"""Basic example 1 for eFEL"""
import efel
import numpy
def main():
"""Main"""
# Use numpy to read the trace data from the txt file
data = numpy.loadtxt('example_trace1.txt')
# Time is the first column
time = data[:, 0]
# Voltage is the second column
voltage = data[:, 1]
# Now we will construct the datastructure that will be passed to eFEL
# A 'trace' is a dictionary
trace1 = {}
# Set the 'T' (=time) key of the trace
trace1['T'] = time
# Set the 'V' (=voltage) key of the trace
trace1['V'] = voltage
# Set the 'stim_start' (time at which a stimulus starts, in ms)
# key of the trace
# Warning: this need to be a list (with one element)
trace1['stim_start'] = [700]
# Set the 'stim_end' (time at which a stimulus end) key of the trace
# Warning: this need to be a list (with one element)
trace1['stim_end'] = [2700]
# Multiple traces can be passed to the eFEL at the same time, so the
# argument should be a list
traces = [trace1]
# set the threshold for spike detection to -20 mV
efel.set_setting('Threshold', -20)
# Now we pass 'traces' to the efel and ask it to calculate the feature
# values
traces_results = efel.get_feature_values(traces,
['AP_amplitude', 'voltage_base'])
# The return value is a list of trace_results, every trace_results
# corresponds to one trace in the 'traces' list above (in same order)
for trace_results in traces_results:
# trace_result is a dictionary, with as keys the requested features
for feature_name, feature_values in trace_results.items():
print("Feature %s has the following values: %s" %
(feature_name, ', '.join([str(x) for x in feature_values])))
if __name__ == '__main__':
main()
此示例的输出是
Feature AP_amplitude has the following values: 72.5782441262, 46.3672552618, 41.1546679158, 39.7631750953, 36.1614653031, 37.8489295737
Feature voltage_base has the following values: -75.446665721
这意味着eFEL在电压轨迹中发现了5个动作电位。这些AP的幅度是'AP_amplitude'特征的结果。测量刺激开始前的电压为'voltage_base'。结果以mV为单位。
完整文档
完整文档可在这里找到
资助
本工作部分由欧洲第七框架计划(FP7/2007-2013)资助,项目编号为604102(HBP),欧洲联盟的“地平线2020”研究与创新框架计划,具体资助协议编号为720270,785907(人类脑计划SGA1/SGA2),并由EBRAINS研究基础设施资助,该基础设施从欧洲联盟的“地平线2020”研究与创新框架计划资助,具体资助协议编号为945539(人类脑计划SGA3)。此项目/研究得到了对洛桑联邦理工学院(EPFL)的Blue Brain项目的资助,该项目是瑞士联邦理工学院的一个研究中心,由瑞士政府ETH委员会资助。
版权(c)2009-2024 Blue Brain Project/EPFL
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
efel-5.7.10.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | be707c149cc1f37f4b06bb6a8e766ad47c4d9bfc94b1b517d68512039db33797 |
|
MD5 | eac954ef0d2d7408cc2a410e8936a1c8 |
|
BLAKE2b-256 | 687f718a8e588f5f40226c84a92c15c07d889cee25ad349d3ccba5942e737345 |
efel-5.7.10-cp312-cp312-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6cafd4645d6214f26b1ed67d809e5bda77f933a6561bbac0c7ee7191d1eeeb3a |
|
MD5 | 84cca35413b7f2ad4de6885ab183bf71 |
|
BLAKE2b-256 | e6344b40aa4706a2551641b7f0273476b07c595b325ec2dfb4c66b946085afb9 |
efel-5.7.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 41b9195a5dd90845de92984e457a47ea92516627321b1835e7d83d91fb0f8340 |
|
MD5 | 206cb237b6449fc59c48ec976f6cffb8 |
|
BLAKE2b-256 | 9fbafd085457b83e2c18a7d36a341657436b9eb3524884fa83a88a0c313e2db0 |
哈希值 用于 efel-5.7.10-cp312-cp312-macosx_10_13_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d83c9908af85fdd9c2b8fb7fc8dae8968cd369ecb02a873fb5a21707b31ebd3f |
|
MD5 | 71a0a6616caf6780463bd6b6a2c79b12 |
|
BLAKE2b-256 | 4867db2f0899a0f14965ff3fa2a436724c4c9cb7a5047abb9e1716cd19b40b2e |
哈希值 用于 efel-5.7.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cd8ac398aeed0793779985a1f9f61fa5231e149de5a835d3b08abe93e471219d |
|
MD5 | d16aef0ca17be05e5a3065b86641cca8 |
|
BLAKE2b-256 | d897b2fd3836a4e964d936eb659118b8339549224591838f7000f4cd9c4b8ba8 |
哈希值 用于 efel-5.7.10-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3bb4428f7ae0057f3da937165609be79420317f055c35922d824bc9560063b6b |
|
MD5 | cd62078d9eac4cd65a15911730d128e1 |
|
BLAKE2b-256 | 0a0f098a095d314fe6524c6591b38194a32d1f47278e724959f8555c38e3eef4 |
哈希值 for efel-5.7.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 14b14014426ed207da2a5d0a1f4004fd9963469b63f469d1e5fd26fb580566d4 |
|
MD5 | e682835cdc751776856071a05cfbb5ec |
|
BLAKE2b-256 | a2fca0c2a7b6326f9d1a23a4b16b9dc800646a1f8a7d889776f5755c38e3eef4 |
哈希值 for efel-5.7.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2a2b7bc8232b859264ad4e67b308c45da15c890334a8d8f773f4c6af37cc1c0 |
|
MD5 | c9401888b70432e80ff1922dd37b0dfa |
|
BLAKE2b-256 | 0dd855b1fe2e28eaa0d189a7068b2c537be5f6cfe036d8c531ac7e75364151f0 |