https://github.com/catalystneuro/cohen-u01-to-nwb
Science Score: 26.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
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: catalystneuro
- License: mit
- Language: Python
- Default Branch: main
- Size: 2.16 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
cohen-u01-to-nwb
NWB conversion scripts for multiple labs' data to the Neurodata Without Borders data format. This repository contains conversion tools for data from the following laboratories:
- Marie Suver Lab (Vanderbilt University)
- Itai Cohen Lab (Cornell University)
- Sung Soo Kim Lab (University of California, Santa Barbara)
- Brad Dickerson Lab (Princenton University)
- Jessica Fox Lab (Case Western Reserve University)
Installation from GitHub
To install the package directly from GitHub, you will need to use git (installation instructions). We also recommend the installation of conda (installation instructions) as it contains all the required machinery in a single and simple install.
From a terminal (note that conda should install one in your system) you can do the following:
bash
git clone https://github.com/catalystneuro/cohen-u01-to-nwb
cd cohen-u01-to-nwb
conda env create --file make_env.yml
conda activate cohen-u01-to-nwb-env
This creates a conda environment which isolates the conversion code from your system libraries. We recommend that you run all your conversion related tasks and analysis from the created environment in order to minimize issues related to package dependencies.
Alternatively, if you want to avoid conda altogether (for example if you use another virtual environment tool) you can install the repository with the following commands using only pip:
bash
git clone https://github.com/catalystneuro/cohen-u01-to-nwb
cd cohen-u01-to-nwb
pip install -e .
Note: both of the methods above install the repository in editable mode.
Running Conversions
Each lab has its own conversion script(s) that can be run to convert data to NWB format. These scripts serve as blueprints for how common experimental setups in each lab can be converted to the standardized NWB format. They are designed to be readily modified and expanded to meet evolving laboratory requirements. The scripts not only convert primary data streams but also systematically capture experimental, subject, and device metadata, providing practical examples that can be adapted for similar future workflows.
Note: Concrete examples of how to call each conversion function with real data can be found at the bottom of the respective conversion scripts under the
if __name__ == "__main__":directive. These examples demonstrate typical usage patterns with actual file paths and parameters.
Below are links to the conversion scripts and instructions on how to run them.
Cohen Lab Conversions (Itai Cohen Lab, Cornell University)
The Cohen Lab has two main types of data conversions:
1. Free Flight Optogenetics Conversion
This conversion processes free flight optogenetics experiments with high-speed video recordings of Drosophila during optogenetic stimulation. It captures:
- Wing and body kinematics (angles, positions)
- Optogenetic stimulation parameters
- Behavioral video recordings
- Subject metadata (genotype, age, sex)
Conversion script: freeflightoptogenetics_conversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from cohenlabtonwb.freeflightoptogeneticsconversion import convertstimuliexperimenttonwb ```
2. Confocal Microscopy Conversion
This conversion processes Zeiss confocal microscopy data (.czi files) from immunohistochemistry experiments. It captures:
- Z-stack image data
- Multiple fluorescence channels
- Microscope metadata
- Image dimensions and resolution
Conversion script: confocal_conversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from cohenlabtonwb.confocalconversion import convertconfocalto_nwb ```
Dickerson Lab Conversion (Brad Dickerson Lab, Princeton University)
The Dickerson Lab conversion processes Thor imaging data and behavior data from experiments studying neural activity in Drosophila. It captures:
- Two-photon calcium imaging data with GCaMP and tdTomato indicators acquired using the ThorImageLS system
- Detailed wing kinematics:
- Left and right wing beat amplitude
- Left minus right wing beat amplitude (differential signal)
- Visual stimulus tracking in X and Y directions
- Experimental metadata and imaging parameters
Conversion script: payel_conversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from dickersonlabtonwb.payelconversion import convert_session ```
Fox Lab Conversion (Jessica Fox Lab, Case Western Reserve University)
The Fox Lab conversion processes trial data from experiments studying insect flight mechanics and sensory integration. It captures:
- Multiple synchronized camera recordings (side, top, and haltere views)
- DeepLabCut pose estimation data for tracking body parts
- Detailed wing kinematics:
- Wing beat amplitude for left and right wings
- Wing beat frequency
- Wing voltage recordings showing wing position throughout the stroke
- Synchronization of video, pose estimation and behavioral data.
Conversion script: streets_conversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from foxlabtonwb.streetsconversion import runtrialconversion ```
Kim Lab Conversion (Sung Soo Kim Lab, UC Santa Barbara)
The Kim Lab conversion processes experimental sessions studying sensorimotor integration in Drosophila. It captures:
- Two-photon calcium imaging data
- Behavioral measurements (wingbeat amplitude, flight dynamics)
- Visual stimuli presentation data
- ROI fluorescence traces and coordinates
- Video recordings of fly behavior
- Synchronization of modalities (imaging, behavior, and stimuli)
- Experimental metadata (genotype, age, sex)
Conversion script: kim_conversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from kimlabtonwb.kimconversion import convertsessionto_nwb ```
Suver Lab Conversions (Marie Suver Lab, Vanderbilt University)
The Suver Lab has two main types of data conversions:
1. Electrophysiology Conversion
This conversion processes session data from experiments studying Drosophila flight control and sensory integration with patch clamp recordings. It captures:
- In-vivo whole-cell patch clamp recordings (current and voltage)
- Filtered membrane potential recordings
- Tachometer data for detecting wing flapping/flight
- Puffer stimulus data (air puff sensory stimulus)
- Video recordings from multiple angles (lateral fly left, lateral fly right, lateral ventral)
- Pose estimation with DeepLabCut
- Seal test data with calculated metrics (input resistance, access resistance)
- Subject metadata (genotype, age, sex)
Conversion script: ephys_conversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from suverlabtonwb.ephysconversion import convertsessionto_nwb ```
2. Behavioral Experiments
The Suver Lab has several behavioral experiment conversions that capture different aspects of Drosophila flight behavior:
WindySteps Experiment
This conversion processes behavioral data from the WindySteps experiment, where flies experience airflow trials with increasing or decreasing wind speeds. It captures:
- Tachometer data for detecting wing flapping/flight
- Smoothed tachometer signal for improved analysis
- Puffer stimulus data (air puff sensory stimulus)
- Trial information with stimulus type (ascending/descending)
- Support for DeepLabCut pose estimation data (when available)
- Subject metadata (condition, age)
Conversion script: windystepsconversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from suverlabtonwb.windystepsconversion import convertwindystepsto_nwb ```
SpeedyBars Experiment
This conversion processes behavioral data from the SpeedyBars experiment, where flies experience optic flow trials at various speeds. It captures:
- Tachometer data for detecting wing flapping/flight
- Photodiode signal for tracking visual stimuli
- Puffer stimulus data (air puff sensory stimulus)
- Trial information with stimulus speed
- Support for DeepLabCut pose estimation data (when available)
- Subject metadata (condition, age)
Conversion script: speedybarsconversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from suverlabtonwb.speedybarsconversion import convertspeedybarsto_nwb ```
Coco Experiment
This conversion processes behavioral data from the Coco experiment, where flies experience trials at different oscillatory frequencies with varying windspeeds and optic flow speeds. It captures:
- Tachometer data for detecting wing flapping/flight
- Photodiode signal for tracking visual stimuli
- Puffer stimulus data (air puff sensory stimulus)
- Trial information with block, block trial, and stimulus frequency
- Support for DeepLabCut pose estimation data (when available)
- Subject metadata (condition, age)
Conversion script: coco_conversion.py
To run this conversion, you can import the conversion function and call it with the appropriate parameters:
```python
Import the conversion function
from suverlabtonwb.cococonversion import convertcocoto_nwb ```
Repository Structure
The repository is organized by lab, with each lab having its own directory in the src directory:
cohen-u01-to-nwb/
├── LICENSE # Project license file
├── make_env.yml # Conda environment specification
├── pyproject.toml # Python package configuration
├── README.md # This documentation file
└── src/
├── cohen_lab_to_nwb/ # Itai Cohen Lab (Cornell University)
│ ├── confocal_conversion.py # Converts Zeiss confocal microscopy data
│ ├── conversion_notes.md # Documentation of data structure
│ ├── custom_metadata.yml # Lab-specific metadata configuration
│ ├── free_flight_optogenetics_conversion.py # Converts free flight experiments
│ └── zeiss_confocal_interface.py # Interface for Zeiss confocal microscopes
├── dickerson_lab_to_nwb/ # Brad Dickerson Lab (UNC Chapel Hill)
│ ├── behavior_interface.py # Interface for behavioral data
│ ├── conversion_notes.md # Documentation of data structure
│ ├── payel_conversion.py # Main conversion script for Dickerson lab data
│ └── thor_interface.py # Interface for Thor imaging systems
├── fox_lab_to_nwb/ # Jessica Fox Lab (Case Western Reserve)
│ ├── behavior.py # Behavioral data processing
│ ├── camera_utilites.py # Utilities for camera data processing
│ ├── conversion_notes.md # Documentation of data structure
│ ├── metadata.yaml # Lab-specific metadata configuration
│ └── streets_conversion.py # Main conversion script for Fox lab data
├── kim_lab_to_nwb/ # Sung Soo Kim Lab (UC Santa Barbara)
│ ├── behavior.py # Behavioral data processing
│ ├── conversion_notes.md # Documentation of data structure
│ ├── kim_conversion.py # Main conversion script for Kim lab data
│ ├── metadata.yaml # Lab-specific metadata configuration
│ ├── ophys.py # Optical physiology data processing
│ ├── stimuli.py # Visual stimuli data processing
│ ├── trials.py # Trial data processing
│ └── utils.py # Utility functions for Kim lab conversions
└── suver_lab_to_nwb/ # Marie Suver Lab (Vanderbilt University)
├── assets/ # MATLAB scripts and data files
├── conversion_notes.md # Documentation of data structure
├── coco_conversion.py # Conversion script for Coco behavioral data
├── ephys_conversion.py # Conversion script for electrophysiology data
├── speedy_bars_conversion.py # Conversion script for SpeedyBars behavioral data
└── windy_steps_conversion.py # Conversion script for WindySteps behavioral data
Each lab directory contains: - Conversion scripts specific to that lab's data. - Custom interfaces for handling transformation of specific data types / formats to NWB. - Metadata files (YAML, JSON) for configuring the conversion.
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
- Delete event: 29
- Member event: 1
- Issue comment event: 2
- Push event: 82
- Pull request event: 57
- Create event: 25
Last Year
- Delete event: 29
- Member event: 1
- Issue comment event: 2
- Push event: 82
- Pull request event: 57
- Create event: 25
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 23
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.09
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 23
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.09
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- h-mayorquin (26)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/add-to-project v0.5.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- neuroconv [video]
- nwbinspector *