https://github.com/catalystneuro/ibl-to-nwb

Conversion of IBL data to NWB format.

https://github.com/catalystneuro/ibl-to-nwb

Science Score: 36.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 8 committers (12.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.3%) to scientific vocabulary

Keywords

nwb-conversion

Keywords from Contributors

data-retrieval electrophysiology neuroscience spike-sorting
Last synced: 10 months ago · JSON representation

Repository

Conversion of IBL data to NWB format.

Basic Info
  • Host: GitHub
  • Owner: catalystneuro
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 14.1 MB
Statistics
  • Stars: 3
  • Watchers: 5
  • Forks: 5
  • Open Issues: 12
  • Releases: 0
Topics
nwb-conversion
Created over 6 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

IBL-to-nwb

PyPI version License

This repository houses conversion pipelines for the IBL data releases, including the Brain Wide Map project.

Installation

git clone https:/github.com/catalystneuro/IBL-to-nwb cd IBL-to-nwb pip install -e .

for the exact environment used for the initial conversion, see src/ibl_to_nwb/_environments.

It is recommended to follow a similar approach for future conversions to leave a record of provenance.

Running data conversions

NeuroConv structure

NeuroConv has two primarily classes for handling conversions.

An Interface reads a single data stream (such as DLC pose estimation) and creates one or more neurodata objects, adding them to an in-memory pynwb.NWBFile object via the .add_to_nwbfile method. Before that it can also fetch and set local metadata: dict values for use or modification.

The Converter orchestrates the conversion by combining multiple interfaces, and can also be used to add additional metadata to the NWB file. It is responsible for creating the NWB file saved to disk.

Occasionally, a sub-Converter, such as the IBLSpikeGLXConverter, will be used to handle the conversion of multiple data streams that is more complex than a single interface can handle; though these behave like other Interfaces with respect to the main orchestrating Converter.

Metadata

Anywhere you see handwritten text in the NWB files that is meant to be human-readable, it is likely that it was copied from the public Google IBL documents and written in the .yaml files found in src/ibl_to_nwb/_metadata.

Occasionally, especially if a portion of the text is pulled from source data, these values might be overwritten in the .add_to_nwbfile protocol of an interface, so always be sure to check that as well.

Raw only

Open the script src/ibl_to_nwb/_scripts/convert_brainwide_map_raw_only.py.

Change any values at the top as needed, such as the session_id (equivalent to the 'eid' of ONE).

Then run the script.

Processed only

Open the script src/ibl_to_nwb/_scripts/convert_brainwide_map_processed_only.py.

Change any values at the top as needed, such as the session_id (equivalent to the 'eid' of ONE).

Then run the script.

Upload to DANDI

Set the environment variable DANDI_API_KEY, obtainable from clicking on your initials in the top right of https://dandiarchive.org/dandiset.

In an fresh environment, install the DANDI CLI:

pip install dandi

Download a shell of the dandiset:

dandi download DANDI:000409 --download dandiset.yaml

All outputs from the conversion scripts should be pre-organized, so we can just directly move all the sub- folders from the conversion output directory into the Dandiset folder. This should appear like:

|- 000409 | |- sub-CSH-ZAR-001 | |- |- sub-CSH-ZAR-001_ses-3e7..._desc-processed_behavior+ecephys.nwb | |- |- sub-CSH-ZAR-001_ses-3e7..._desc-raw_ecephys+image.nwb | |- |- ... | |- ...

From a working directory of 000409, you can either scan for validations directly with:

dandi validate .

Of course, all assets ought to be valid, so you could also just directly upload the data to DANDI (this will also run validation as it iterates through the files):

dandi upload

Owner

  • Name: CatalystNeuro
  • Login: catalystneuro
  • Kind: organization
  • Email: hello@catalystneuro.com

GitHub Events

Total
  • Issues event: 4
  • Watch event: 1
  • Delete event: 1
  • Member event: 2
  • Issue comment event: 5
  • Push event: 82
  • Pull request event: 8
  • Pull request review event: 2
  • Fork event: 1
  • Create event: 4
Last Year
  • Issues event: 4
  • Watch event: 1
  • Delete event: 1
  • Member event: 2
  • Issue comment event: 5
  • Push event: 82
  • Pull request event: 8
  • Pull request review event: 2
  • Fork event: 1
  • Create event: 4

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 277
  • Total Committers: 8
  • Avg Commits per committer: 34.625
  • Development Distribution Score (DDS): 0.379
Top Committers
Name Email Commits
Saksham Sharda s****a@g****m 172
Cody Baker c****9@n****u 47
CodyCBakerPhD c****d@g****m 18
Cody Baker 5****D@u****m 13
Saksham Sharda 1****0@u****m 11
Ben Dichter b****r@g****m 8
pre-commit-ci[bot] 6****]@u****m 5
Shaurya Chanana 1****a@u****m 3
Committer Domains (Top 20 + Academic)
nd.edu: 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 44
  • Total pull requests: 63
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 3 days
  • Total issue authors: 5
  • Total pull request authors: 9
  • Average comments per issue: 1.07
  • Average comments per pull request: 0.71
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 20
  • Pull requests: 27
  • Average time to close issues: 16 days
  • Average time to close pull requests: 2 days
  • Issue authors: 2
  • Pull request authors: 5
  • Average comments per issue: 1.45
  • Average comments per pull request: 0.48
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • CodyCBakerPhD (31)
  • bendichter (6)
  • grg2rsr (3)
  • Saksham20 (1)
  • h-mayorquin (1)
Pull Request Authors
  • CodyCBakerPhD (45)
  • pre-commit-ci[bot] (9)
  • grg2rsr (8)
  • h-mayorquin (8)
  • Saksham20 (6)
  • bendichter (4)
  • rai-pranav (2)
  • k1o0 (1)
  • weiglszonja (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 8 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 1
  • Total maintainers: 1
pypi.org: ibl-to-nwb

Tools to convert IBL data to NWB format

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 8 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 21.7%
Forks count: 22.6%
Stargazers count: 27.8%
Average: 29.6%
Downloads: 66.1%
Maintainers (1)
Last synced: 11 months ago