https://github.com/catalystneuro/ibl-to-nwb
Conversion of IBL data to NWB format.
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
Keywords from Contributors
Repository
Conversion of IBL data to NWB format.
Basic Info
Statistics
- Stars: 3
- Watchers: 5
- Forks: 5
- Open Issues: 12
- Releases: 0
Topics
Metadata Files
README.md
IBL-to-nwb
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
- Website: catalystneuro.com
- Twitter: catalystneuro
- Repositories: 87
- Profile: https://github.com/catalystneuro
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 | 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)
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
- Homepage: https://github.com/catalystneuro/IBL-to-nwb
- Documentation: https://ibl-to-nwb.readthedocs.io/
- License: bsd-3-clause
-
Latest release: 0.1.0
published over 5 years ago