将专有格式数据转换为NWB格式。
项目描述
NWB转换工具
NWB转换工具是一个包,通过转换和组合专有格式中的神经数据并添加必要元数据来创建NWB文件。
正在紧张建设中。API正在快速变化。
功能
- 命令行界面
- Python API
- 利用SpikeExtractor支持从多个或专有格式进行转换。
安装
要通过PyPI安装最新稳定版本的nwb-conversion-tools,请键入
pip install nwb-conversion-tools
为了获得更多灵活性,我们建议直接从GitHub安装最新版本。以下命令创建了一个包含所有必需依赖项和最新更新的环境
git clone https://github.com/catalystneuro/nwb-conversion-tools
cd nwb-conversion-tools
conda env create -f make_env.yml
conda activate nwb_conversion_env
请注意,这将以可编辑模式安装包。
最后,如果您想完全避免使用conda
,以下命令可以在当前环境中提供干净安装
pip install git+https://github.com/catalystneuro/nwb-conversion-tools.git@master
依赖关系
NWB转换工具在电生理学上严重依赖SpikeExtractors,在光生理学数据上依赖ROIExtractors。
您可以使用NWB Web GUI为您的转换器提供图形界面。
目录
v0.9.3
Buzsáki实验室: buzsaki-lab-to-nwb
该项目是Ripple U19将细胞外电生理学数据转换为NWB格式的持续努力,包括在DANDI上最终发布每个数据集。目前包括7篇主要出版物和超过14TB的数据,位于DANDI存档。大部分数据由原始记录、LFP、排序好的动作电位单元和行为组成,行为可以是心理状态跟踪、迷宫中的位置跟踪和试验刺激事件等多种组合。
Shenoy实验室: shenoy-lab-to-nwb
Shenoy实验室是BCI(脑机接口)领域的先驱之一,为瘫痪人士开发BCI。他们是BrainGate团队的一部分,也是2019年BCI奖的获奖者。他们使用灵长类动物的大脑皮层电刺激和Neuropixels记录。
v0.9.2
Brody实验室: brody-lab-to-nwb
Brody实验室在细胞外电生理学实验上有着悠久的历史,涵盖了多个采集系统。这个项目有两个目的 - 允许将来自Neuralynx和SpikeGadgets的旧数据转换为NWB,以及使用Neuropixels(SpikeGLX)的较新、更大的数据。这些记录中,有些超过了250GB(几个小时的数据量!),与包含分类事件和时间刺激的丰富试验表配对。
v0.8.10
Feldman实验室: feldman-lab-to-nwb
Feldman实验室利用Neuropixels(SpikeGLX)系统和多个复杂的行为系统来操纵小鼠的触须刺激。这些系统产生了非常复杂的试验表,跟踪实验中的多个事件时间,包括试验中的多个事件序列。
v0.8.1
Hussaini实验室: hussaini-lab-to-nwb
v0.7.2
Movson实验室: movshon-lab-to-nwb
v0.7.0
Tank实验室: tank-lab-to-nwb
Neuropixel(SpikeGLX)记录了受试者在虚拟现实中的导航!行为包含大量NWB数据类型,包括随时间变化的位置和视角、碰撞检测等!与特定扩展配对,用于解析实验元数据。
Groh实验室: mease-lab-to-nwb
利用CED记录接口,此项目将ecephys通道与激光脉冲的光遗传学刺激以及随时间变化的机械压力刺激配对,所有这些数据都是从常见的.smrx
文件中提取的数据通道!
Giocomo实验室: giocomo-lab-to-nwb
使用NWB标准的其他实验室
- Axel实验室: axel-lab-to-nwb
- Brunton实验室: brunton-lab-to-nwb
- Buffalo实验室: buffalo-lab-data-to-nwb
- Jaeger实验室: jaeger-lab-to-nwb
- Tolias实验室: tolias-lab-to-nwb
开发者指南
本地运行GIN测试
nwb-conversion-tools
通过在支持格式的真实数据的简短示例上运行完整的测试套件来验证所有代码更改的完整性。在这方面,有两种测试类别;tests/test_internals
不需要任何数据存在,代表了我们软件包的“最小”预期行为,而tests/test_on_data
则要求用户执行完整的依赖安装(pip install -r requirements-full.txt
)以及下载每个模态的相关数据。
安装测试依赖项
我们提供了两种方便的方式安装所有测试所需的依赖项。
- 第一种是基于
conda
的解决方案,它创建了一个包含所有依赖项已安装的环境。
git clone https://github.com/catalystneuro/nwb-conversion-tools
cd nwb-conversion-tools
conda env create -f make_env_testing.yml
conda activate nwb_conversion_testing_env
请注意,这还将安装datalad
,这是下载测试数据的官方方式,以及pytest
和pytest-cov
,这是我们用于持续集成套件的工具。
- 同样可以通过使用
pip
来完成。在一个干净的环境中运行:
git clone https://github.com/catalystneuro/nwb-conversion-tools
cd nwb-conversion-tools
pip install .[test, full]
请注意,此方法不会安装datalad
。
下载数据
Datalad(conda install datalad
)是下载数据的推荐方式。要这样做,只需调用:
电生理学数据
datalad install -rg https://gin.g-node.org/NeuralEnsemble/ephy_testing_data
光学生理学数据
datalad install -rg https://gin.g-node.org/CatalystNeuro/ophys_testing_data
行为数据
datalad install -rg https://gin.g-node.org/CatalystNeuro/behavior_testing_data
测试配置文件
一旦数据下载到您的系统,您必须手动修改位于./tests/test_on_data/gin_test_config.json
的配置文件(示例),以便其对应的LOCAL_PATH
键指向包含数据集文件夹的正确系统文件夹(例如,对于测试ecephys
,使用ephy_testing_data
)。代码将自动检测测试是在本地运行的,因此您只需确保路径正确即可。
这些测试的输出默认存储在临时目录中,然后在测试运行完成后进行清理。为了质量评估目的检查这些文件,请在gin_test_config.json
文件中将标志SAVE_OUTPUTS=true
设置为true,并根据需要修改相应的测试中的OUTPUT_PATH
变量。
构建文档
要本地构建文档,可以遵循以下步骤。创建一个干净的环境,并在终端中输入以下命令:
git clone https://github.com/catalystneuro/nwb-conversion-tools
cd nwb-conversion-tools
pip install -e .[docs]
这些命令安装了repo的最新版本以及构建文档所需的依赖项。注意,参数-e
使您安装可编辑安装。
现在,要在终端中构建文档,发出以下命令:
sphinx-build -b html docs ./docs/_build/
这将在您的根目录下(您已安装nwb-conversion-tools
)的/docs/_build/
下构建html。这允许您在提交代码之前本地查看处理结果。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
哈希值 for nwb_conversion_tools-0.11.38-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c00bf4136d7dbe4d8d1eef680198c42597a0838cf997f7133588551bb47234b7 |
|
MD5 | 488bfb48ff33070fea4f7c4c253a1af7 |
|
BLAKE2b-256 | ea0cb90b543c6023d05601a5fb5d754f145e7a373ee5343f3ac825d509659db1 |