Working with IBL data
Many projects make use of the large dataset collected by the International Brain Laboratory.
General info
- eLife paper describing the experiments and the behavioral data.
- Video description of the data by Eric deWitt, for NeuroMatchAcademy.
- Explore the data through the interactive data explorer.
Behavioral data
- See data.internationalbrainlab.org for a landing page and overview.
Neural data
The IBL’s neural recordings will be fully released once completed. Until then, you can find some example data and check out analyses here.
- See docs.internationalbrainlab.org/ for a landing page and overview.
- You can find some example data and check out analyses here.
- Browse the data in this interactive visualization app.
- See here for a tutorial given at COSYNE 2024 (recording here).
- See here for a online course on Neuropixels (recording here).
Accessing data on ALICE
Currently, the ALICE IBL data (described below) has not been maintained - instead, lab members analyzing internal IBL data should ideally follow the IBL onboarding procedure to get access to data that has not been publicly released.
In our lab’s shared ALICE project space (data_pi-uraiae) live IBL data which are not available through the openalyx public dataset. You can point ONE to use this local cache using the snippet below:
Email the ALICE helpdesk to get access to the shared data folder: data_pi-uraiae.
from one.api import ONE
one = ONE()
# Load with ONE in local mode
save_dir = os.path.join(os.path.expanduser('~'), 'data_pi-uraiae/ONE/alyx.internationalbrainlab.org/')
one = ONE(mode='local', cache_dir=save_dir)
In the same folder, there is a file subject_info.csv with date of birth and sex for all animals to compute their age at the time of the ephys recording).
See the snippet below to load from the cache.
# ===================================
# code to load shared (internal) data
# ===================================
import os
import pandas as pd
from one.api import ONE
# change my username to your own
project = 'churchland_learninglifespan'
save_dir = os.path.join(os.path.expanduser('~'), 'data_pi-uraiae/ONE/alyx.internationalbrainlab.org/', project)
# THIS IS THE OFFICIAL WAY - FIND THE RELEVANT SESSIONS FROM THE LOCAL CACHE
# If you want to use this cache without re-downloading data (i.e. keep the download cache the same as the main IBL Alyx), you can use the tags system.
one = ONE(mode='local', cache_dir = save_dir)
one.load_cache()
# one = ONE(mode='local')
# one.load_cache(cache_dir=save_dir)
print('Datasets location: %s;\nCache table location: %s' % (one.cache_dir, save_dir))
eids = one.search(lab='churchlandlab', query_type='local', dataset='spikes.times')
print(len(eids)) # should be 51...
# THIS IS THE HACK WAY - READ IN THOSE EIDS THAT CERTAINLY ARE AVAILABLE LOCALLY
eids = pd.read_csv(os.path.join(save_dir,'eids_on_alice.csv'))
eids = eids.eid.values
print(len(eids)) # should be 51...