用于将IBL数据转换为NWB格式的工具

ibl-to-nwb的Python项目详细描述


IBL到nwb

这个存储库包含用于将IBL特定神经生理学数据以开源ONE格式(Alyx+ALF)转换为NWB数据标准的模块。在

  • ^{/str{1与一个受支持的元数据相关联的一个元数据:str-1,包含一个与此数据相关联的详细信息。在
  • ALF:所有实验数据的存储格式:电生理时间序列(原始+处理)、试验数据、分类峰值数据、行为(原始+处理)、刺激。 下图显示了从ALF/ALyx到NWB的映射:

用法:

  1. IBL到NWB的转换(使用API):

    1. 安装:

      cd desired-path
      git clone https://github.com/catalystneuro/IBL-to-nwb.git
      cd IBL-to-nwb
      

      从创建虚拟环境并安装依赖项要求.txt公司名称:

      ^{pr2}$ 在
    2. 使用ONEapi检索感兴趣的实验的id:

      fromoneibl.oneimportONEone=ONE()# use the ONE doc to use correct search terms to retrieve the eideid=one.search(date_range=['2020-03-23','2020-03-24'],subject='CSH_ZAD_011')[0]# example eid:eid='da188f2c-553c-4e04-879b-c9ea2d1b9a93'
    3. 使用eid生成一个json文件,其中包含从服务器收集的所有数据/元数据(示例输出file):

      from.ibl_nwbimportAlyx2NWBMetadatametadata_object=Alyx2NWBMetadata(eid=eid,one_obj=one)# alternatively, you can also provide one search **kwargs directly:metadata_obj=Alyx2NWBMetadata(date_range=['2020-03-23','2020-03-24'],subject='CSH_ZAD_011')json_save_loc=r'path-to-save-json-file.json'metadata_obj.write_metadata(json_save_loc)
    4. 使用保存的json文件生成nwb文件:

      from.ibl_nwbimportAlyx2NWBConverternwb_saveloc=r'nwb-save-path.nwb'save_raw=False# keep as true if you want to add raw (ephysData.raw.* , camera.raw*) files, these are large files and will take time to download and create the nwbfile!!converter=Alyx2NWBConverter(nwb_metadata_file=json_save_loc,saveloc=nwb_saveloc,save_raw=save_raw)# alternatively you can also provide the metadata object:converter=Alyx2NWBConverter(metadata_obj=metadata_obj,saveloc=nwb_saveloc)# create nwb file: converter.run_conversion()converter.write_nwb()

    这将创建一个nwb文件。Example file。在

  2. IBL到NWB的转换(使用GUI):

    from.ibl_nwbimportAlyx2NWBGuiAlyx2NWBGui(eid=eid,nwbfile_saveloc=nwb_saveloc,metadata_fileloc=json_save_loc)#alternatively provide the one search kwargs:Alyx2NWBGui(nwbfile_saveloc=nwb_saveloc,metadata_fileloc=json_save_loc,dataset_types=['_iblmic_audioSpectrogram.frequencies''])

    这将打开一个gui,允许您编辑nwbfile/ibl会话相关的元数据,还可以使用run_conversion按钮将其转换为nwb。查看下面有关如何导航此gui的动画:

  3. Jupyter笔记本中使用nwbwigets可视化nwb文件

    frompynwbimportNWBHDF5IOfromnwbwidgetsimportnwb2widgetfromIPython.displayimportdisplayio=NWBHDF5IO(r"path-to-saved-nwb-file.nwb",mode='r',load_namespaces=True)nwb=io.read()a=nwb2widget(nwb)display(a)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是用来加速集合中对象查找的哈希代码吗?   java在Servlet中执行后将JSP请求重定向到自身   JavaHTTPStatus415使用Ajax将Json数据发布到SpringMVC4也使用了SpringSecurity   java为什么谷歌应用引擎MySQL JDBC URL不与数据库连接?   多线程Java:强制停止ExecutorService线程   java使用For循环向组合框添加值   java子Git“内存不足”和“超出GC开销限制”   使用正则表达式运行计算器程序时出现java NumberFormatException   java MockMvc测试POST请求返回错误:实际调用有不同的参数:   java自动在虚拟机内移动鼠标,与真实的鼠标无关   当类位于类路径上时,java Surefire抛出SurefireReflectionException   java GroupLayout错误:找不到错误的行   SpringHibernateJava。lang.NoSuchFieldError:实例   从一个java密钥库生成多个个人证书的身份验证   java 1.6.013中的eclipse@WebServlet注释支持   java Spring Webservicetemplate连接重置错误   spring如何修复SqlRowSet上的“无效游标SQL异常”。Java中的Next()   java Websphere版本迁移