Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

000971 #91

Merged
merged 6 commits into from
Jul 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
*.DS_Store
*__pycache__/
*.ipynb_checkpoints/
output/
output/

8 changes: 8 additions & 0 deletions 000971/lernerlab/seiler_2024/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Example Sessions for Dandiset 000971

This submission provides 2 notebooks showcasing example sessions for the Dandiset 000971, which corresponds to the 2022 Current Biology paper: [Dopamine signaling in the dorsomedial striatum promotes compulsive behavior](https://doi.org/10.1016/j.cub.2022.01.055.) by Seiler et al.

Each notebook provides an example of how to access the critical data and metadata from the 2 types of experiments in the dataset:

- `fiber_photometry_example_notebook.ipynb` showcases one example session from the 000971 dataset containing operant behavior and concurrent fiber photometry recordings.
- `optogenetics_example_notebook.ipynb` showcases one example session from the 000971 dataset containing operant behavior and concurrent excitatory optogenetic stimulation.
Binary file not shown.
11 changes: 11 additions & 0 deletions 000971/lernerlab/seiler_2024/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# run: conda env create --file environment.yaml
name: lerner_notebook_env
channels:
- conda-forge
dependencies:
- python==3.10
- ipywidgets
- pip
- pip:
- matplotlib
- lerner-lab-to-nwb @ git+https://github.com/catalystneuro/lerner-lab-to-nwb.git@main
524 changes: 524 additions & 0 deletions 000971/lernerlab/seiler_2024/fiber_photometry_example_notebook.ipynb

Large diffs are not rendered by default.

301 changes: 301 additions & 0 deletions 000971/lernerlab/seiler_2024/optogenetics_example_notebook.ipynb

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions 000971/lernerlab/seiler_2024/stream_nwbfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
from pynwb import NWBHDF5IO
from fsspec import filesystem
from h5py import File
from dandi.dandiapi import DandiAPIClient

def stream_nwbfile(DANDISET_ID, file_path):
'''Stream NWB file from DANDI archive.

Parameters
----------
DANDISET_ID : str
Dandiset ID
file_path : str
Path to NWB file in DANDI archive

Returns
-------
nwbfile : NWBFile
NWB file
io : NWBHDF5IO
NWB IO object (for closing)

Notes
-----
The io object must be closed after use.
'''
with DandiAPIClient() as client:
asset = client.get_dandiset(DANDISET_ID, 'draft').get_asset_by_path(file_path)
s3_url = asset.get_content_url(follow_redirects=1, strip_query=True)
fs = filesystem("http")
file_system = fs.open(s3_url, "rb")
file = File(file_system, mode="r")
io = NWBHDF5IO(file=file, load_namespaces=True)
nwbfile = io.read()
return nwbfile, io
Loading