Skip to content

Free cloud platform for secure neuroscience data analysis.

Notifications You must be signed in to change notification settings

nicoalee/brainlife

 
 

Repository files navigation

image

What is Brainlife?

Brainlife is a free and open source platform for neuroscience data management. The project promotes engagement and education in FAIR and reproducible neuroscience.

Brainlife is a single integrative interface to manage, visualize, preprocess and analyze data (fMRI, dMRI, anatomical MRI, EEG and MEG). THe platform also allows to publish all research assets associated with a scientific project (data, preprocessing services and data analysis notebooks) in a single record addressed by a digital-object-identifier (DOI). The platform is unique because of its focus on supporting scientific reproducibility beyond open code and open data, by providing fundamental smart mechanisms for what we refer to as “Open Services.”

Running Brainlife Development Instance

⚠️ This is a work in progress ⚠️

Prerequisites

Currently the installation supports Linux and Mac OS You will need to have an environment with the following software packages

  • docker / docker-compose
  • git
  • Node.js 16
apt install docker-compose golang-docker-credential-helpers

Prerequisites for gpu-enabled novnc sessions

Not all novnc vis apps require GPU, but if you have nvidia gpu on your local machine, you should be able to launch it by having these tools installed

The vis/Dockerfile installs specific version of libnvidia drivers. I believe the version must match with the version of the driver installed on your host or vglrun won't work.

docker-compose versions

Please make sure that you have the correct docker-compose version installed

docker-compose version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1h  22 Sep 2020

Then git clone this repo and all of its submodules.

git clone https://github.com/brainlife/brainlife --recursive 

Then launch the dev stack (with auto-reload on code changes) by

./dev.sh

Populate database with test accounts / data

Once all services starts up, you can open your browser to access the warehouse UI at https://localhost:8080. If this is the first time you are running the dev instance, you can insert some database records by running ./scripts/populate_db.sh. This inserts the following collections.

  • auth - user/group
  • warehouse - datatypes/uis/apps

The default data contain two users: admin and guest. They come with no password, so make sure to set-up a password for them by using:

./scripts/passwd.sh <user>

TODO

The following functionalities are not yet implemented by this local dev instance

  • Group Analysis (jupyter notebook)
  • Dataset/Datalad import
  • Pipeline rules are not yet fully tested
  • Publication / datacite integration

Funding

This research was supported by NSF OAC-1916518, NSF IIS-1912270, NSF, IIS-1636893, NSF BCS-1734853, NIH 1R01EB029272-01, a Microsoft Research Award, A Microsoft Investigator Fellowship to Franco Pestilli

About

Free cloud platform for secure neuroscience data analysis.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 52.7%
  • Dockerfile 29.7%
  • JavaScript 17.4%
  • HTML 0.2%