Open Neurophysiology Environment - HaissLab flavour
The Open Neurophysiology Environment is a scheme for accessing neurophysiology data from an alyx database server, in a standardized manner. For information on how to manage file names when registering data with ONE to an alyx server, please click here. This github page contains an API for searching and loading ONE-standardized data, stored either on a user’s local machine or on a remote server. Please Click here for the main documentation page.
NB: The API and backend database are still under active development, for the best experience please regularly update the package by running :
pip install --force-reinstall --no-deps git+https://gitlab.pasteur.fr/haisslab/data-management/ONE.git.
This will force the reinstallation of the package, without the need to do a pip uninstall ONE-api first, and without reinstalling the dependancies like numpy etc (hence faster).
Requirements
ONE runs on Python 3.7 or later, and is tested on the latest Ubuntu and Windows (3.7 and 3.8 only).
Installing
Installing the package via pip typically takes a few seconds. To install, activate your developpement environment :
conda activate <myenvironment>
Then run the One-api install using :
pip install git+https://gitlab.pasteur.fr/haisslab/data-management/ONE.git
Set up
For setting up ONE for a given database e.g. our local version of Alyx at HaissLab:
from one import ONE
one = ONE(base_url='http://157.99.138.172:8080')
Once you've setup the server, subsequent calls will use the same parameters:
from one import ONE
one = ONE() #uses the same parameters entered the first time and stored by default in C:\Users\<myusername>\AppData\Roaming\.one\.157.99.138.172_8080:
For using ONE with a local cache directory (not recommanded for now):
from one import One
one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
Using ONE
To search for sessions:
from one import ONE
one = ONE()
print(one.search_terms()) # A list of search keyword arguments
# Search session with wheel timestamps from January 2021 onward
eids = one.search(date_range=['2021-01-01',], dataset='wheel.timestamps')
['d3372b15-f696-4279-9be5-98f15783b5bb'] # this is a list of unique ids of sessions returned. Here only one has been found with given parameters
# Search for project sessions with two probes
eids = one.search(data=['probe00', 'probe01'], project='brainwide')
Further examples and tutorials can be found in the main IBL documentation documentation.
(Not currentely supported :)
To load data:
from one.api import ONE
one = ONE()
# Load an ALF object
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
wheel = one.load_object(eid, 'wheel')
# Load a specific dataset
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
ts = one.load_dataset(eid, 'wheel.timestamps', collection='alf')
# Download, but not load, a dataset
filename = one.load_dataset(eid, 'wheel.timestamps', download_only=True)
Metadata
Release files for one-haisslab 1.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| one_haisslab-1.3.5.tar.gz | 134.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| one_haisslab-1.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 243.1 kB
Release files / one_haisslab-1.3.5.tar.gz
| Download URL | one_haisslab-1.3.5.tar.gz |
|---|---|
| Size | 134.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b7741b21402e134979dddce23509788448b3242bad614b8648961c2969ea501
|
|
BLAKE2b-256 checksum How to use checksums |
c713f1430d1c7e20cfff83a0a6082c447750e7162e07b9aaa4cfc9e0c2586683
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / one_haisslab-1.3.5-py3-none-any.whl
| Download URL | one_haisslab-1.3.5-py3-none-any.whl |
|---|---|
| Size | 108.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc1913e5862958cc92af1758cf047be0be53758bf53447e480211480b4baf6ff
|
|
BLAKE2b-256 checksum How to use checksums |
aef49d7f8fef3d14864af5fe15bef8376a8e23f32cc75b6fb110465fbe48a8d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|