NWB Explorer is a web application that can be used by scientists to read, visualize and explore the content of NWB:N 2 files.
Learn more about the Neurodata Without Borders.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Alternatively, to see a working demo of nwb explorer without a local setup see the Open source brain website.
Below you will find the software you need to install to use nwb explorer (and the versions we used):
- Git (2+).
- Node (10+) and npm (6+).
- Python 3 (3.7+), pip (20+)
We recommend the use of a new python 3 virtual environment:
python3 -m venv nwb-explorer
source nwb-explorer/bin/activate
Or, with conda
conda create -n nwb-explorer python=3.9
conda activate nwb-explorer
Clone repository using the development branch:
git clone -b development https://github.com/MetaCell/nwb-explorer
If you have Docker installed, you can run NWB explorer with one single command:
docker run -it -p8888:8888 gcr.io/metacellllc/nwb-explorer:0.6.2-RC
There is a Dockerfile ready to build a container for NWB-Explorer:
cd nwb-explorer
docker build -t nwb-explorer .
docker run -it -p8888:8888 nwb-explorer
Then, after the Docker contained has started, the application is ready at http://localhost:8888
Instructions to get a development environment running.
cd nwb-explorer
python utilities/install.py
After the local installation is complete, run the script:
cd nwb-explorer
./NWBE
If everything worked, the default browser will open on http://localhost:8888/geppetto
When the application is started, no file will be loaded.
- Use the interface to load the file from a public url or just load a sample
- Specify the parameter nwbfile in your browser. Example:
http://localhost:8888/geppetto?nwbfile=https://github.com/OpenSourceBrain/NWBShowcase/raw/master/NWB/time_series_data.nwb
After the file is loaded, a Jupyter notebook will be available.
From the notebook the current loaded file can be accessed through the variable nwbfile
.
For further information about the Python API, see the PyNWB docs
In order to have all the Python files NWB:N 2 loaded from sources, the application and the dependencies must be installed in development mode, i.e. with the command
pip install -e .
JS/HTML code can be found inside webapp/
. The code needs to be rebuilt with webpack everytime there is a change. To avoid having to do so you can use the Webpack development server running in webapp/
this command:
npm run build-dev-noTest:watch
This will spawn a process that while left running will watch for any changes on the webapp
folder and automatically deploy them each time a file is saved.
To check if a dependency is installed in development mode, run pip list
.
- Geppetto - Used to build a web-based application to interpret and visualize the NWB:N 2 files.
- PyNWB - Used to read and manipulate NWB:N 2 files
- Jupyter notebook - Jupyter notebook is used as a backend.
The NWB Explorer was initially created by MetaCell to showcase the features of the Geppetto platform to share neurophysiological data in Neurodata Without Borders format. It was further developed as part of a Google Summer of Code project for the OpenWorm project. It is currently being extended as part of the Open Source Brain project to provide both a standalone and online application for visualising and analysing the contents of NWB:N 2 files. This work is currently funded by the Wellcome Trust.
- Matteo Cantarelli (MetaCell)
- Giovanni Idili (MetaCell)
- Filippo Ledda (MetaCell)
- Rodriguez Facundo (MetaCell)
- Afonso Pinto (MetaCell)
- Padraig Gleeson (UCL/Open Source Brain)
See also the list of contributors who participated in this project.