siibra - Software interfaces for interacting with brain atlases
Project description
siibra - Python interface for interacting with brain atlases
Copyright 2020-2021, Forschungszentrum Jülich GmbH
Authors: Big Data Analytics Group, Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH
Note: siibra-python is still at an experimental stage. The API of the library is not stable, and the software is not yet fully tested. You are welcome to install and test it, but be aware that you will likely encounter bugs.
Overview
siibra
is a Python client for interacting with "multilevel" brain atlases, which combine multiple brain parcellations, reference coordinate spaces and modalities.
siibra
is designed to allow safe and convenient interaction with brain definitions from different parcellations, facilitating implementation of reproducible neuroscience workflows on the basis of brain atlases. It allows to work with reference brain templates both at millimeter and micrometer resolutions, and provides streamlined access to multimodal data features linked to brain regions.
siibra
is largely developed inside the Human Brain Project for accessing the EBRAINS human brain atlas.
It stores most of its configuration and data features in the EBRAINS Knowledge Graph, and is designed to support the OpenMINDS metadata standards.
The functionality of siibra-python
matches common actions known from browsing the interactive viewer siibra explorer
hosted on EBRAINS:
Selecting different parcellations, browsing and searching brain region hierarchies, downloading maps, identifying brain regions, and accessing multimodal features and connectivity information associated with brain regions.
A key feature is a streamlined implementation of performing structured data queries for the main atlas concepts: reference spaces, parcellations, and brain regions.
Accordingly, siibra
implements unified handling for different types of features, namely
- spatial features (which are linked to atlas regions via coordinates; like contact points of physiological electrodes),
- regional features (which are linked to atlases via a brain region specifications, like cell densities or neurotransmitter distributions), and
- parcellation features (linked to an atlas via a whole brain parcellation, like grouped connectivity matrices).
As a result, all forms of data features can be queried using the same mechanism (siibra.get_features()
) which accepts the specification of an concept (e.g. a selected brain region), and a data modality.
Currently available data features include neurotransmitter densities, regional connectivity profiles, connectivity matrices, high-resolution volumes of interest, gene expressions, and cell distributions.
Additional features, including functional activation maps and electrophysiologal recordings, will become available soon.
Stay tuned!
siibra
hides much of the complexity that would be required to interact with the individual data repositories that host the associated data.
By encapsulating many aspects of interacting with different maps and reference templates spaces, it also minimizes common errors like misinterpretation of coordinates from different reference spaces, mixing up label indices of brain regions, or utilisation of inconsistent versions of parcellation maps.
It aims to provide a safe way of using maps defined across multiple spatial scales for reproducible analysis.
Documentation
siibra-python
's documentation is hosted at https://siibra-python.readthedocs.io.
Usage examples
To get familiar with siibra
, we recommend to checkout the jupyter notebooks in the docs/
subfolder of the repository, which are the basis for much of the documentation.
Installation and setup
siibra
is available on pypi. To install the latest released version, simply run pip install siibra
. In order to work with the latest development version from github, use pip install git+https://github.com/FZJ-INM1-BDA/siibra-python.git@develop
.
siibra
retrieves much of its data from the EBRAINS Knowledge Graph, which requires authentication.
Therefore you have to provide an EBRAINS authentication token for using all features provided by siibra
.
Please make sure that you have a valid EBRAINS user account by registering to EBRAINS.
Then follow the instructions for obtaining EBRAINS API auth tokens.
As a last step, you need to fetch a recent token from the authorization endpoint, and make it known to siibra
using either siibra.set_ebrains_token()
or by storing it in the environment variable HBP_AUTH_TOKEN
. Note that as of now, you need to get a new token approximately every day to perform EBRAINS data queries. However, siibra
implements a local cache on your harddisk, so once retrieved, your data will become usable and accessible without refreshing the token.
Acknowledgements
This software code is funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file siibra-0.2a6.tar.gz
.
File metadata
- Download URL: siibra-0.2a6.tar.gz
- Upload date:
- Size: 498.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e6d45f3fe067fe414f59060062a124693727039cf65b7700ac89baeabb20f44 |
|
MD5 | 2bf2af865e211ff478e13a5fd0b3435f |
|
BLAKE2b-256 | 4f0bb9c736e2e167127df8b568a3f86f6a6376fe5f0438643e9d11e9bf20d956 |
File details
Details for the file siibra-0.2a6-py3-none-any.whl
.
File metadata
- Download URL: siibra-0.2a6-py3-none-any.whl
- Upload date:
- Size: 525.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7182e8acc73a77125f4ee5a80e5c69af1c7a62334036779ad20a221f4139ef5 |
|
MD5 | fad01f78d2eadfa1aa75d5e1c550d78f |
|
BLAKE2b-256 | 7b2de4ce37d0c6599c3d8254c914498c6a7ad61667ac4960350ff23f816bc98c |