Airavata Cerebrum aims to simplify building whole brain models via integration of cellular-level brain atlases with advanced computational tools. Our goal is to create a cohesive, open-source framework that allows for accelerated 'data to model' workflows that are flexible to update and straight-forward to reproduce.
- Integration of Brain Atlases: Transparently connect to publicly available cellular-level brain atlases into a single, accessible platform.
- Model Consruction Workflows: Workflows to collect/filter/combine data from different databases and construct whole brain scale models.
- Open-Source Framework: Developing a user-friendly, open-source environment for neuroscience research.
- Streamlined Environment: Ensuring a lightweight, efficient framework for both beginners and advanced users alike.
Airavata Cerebrum requires python v3.10 environment.
It is currently tested only in the Linux operating system.
To install from the source, we recommend creating a conda environment using
miniforge as below:
conda config --add channels conda-forge
conda create -n cerebrum python=3.10 nodejs
conda activate cerebrumTo install Airavata Cerebrum from source into the environment created above, install from pypi using pip.
pip install airavata-cerebrumThe examples directory in our
github repo
contains a set of notebooks to demonstrate Cerebrum, and
also standalone batch scripts that build/simulate models using cerbrum.
Please refer to
examples/README.md
for additional installation requirements to run the notebooks.
airavata-cerebrum includes three submodules:
abc_atlas_access,
aisynphys and
codetiming.
Clone the repo with all submodules as below.
git clone --recurse-submodules https://github.com/apache/airavata-cerebrum.gitAll the dependencies are included with in the airavata_cerebrum/ext namespace.
To get these python module to work in developement environment, create the following
links:
cd airavata-cerebrum/airavata_cerebrum
ln -s ../../ext/codetiming/codetiming/
ln -s ../../ext/abc_atlas_access/src/abc_atlas_access/
ln -s ../../ext/aisynphys/aisynphys/
ln -s ../../ext/abc_atlas_access/src/manifest_builder/Development environment for Airavata Cerebrum is created as a python3.10+
virtual environment in conda using the environment.yml file.
conda config --add channels conda-forge
conda env create -n cbmdev -f environment.yml
conda activate cbmdevenvironment.yml includes the version of each of the package to make conda's
dependency resolution algorithm to run faster.
We use poetry a build tool which can be buit as follows. Intall the follwing dependencies for building the dist/wheels:
pip install build
pip install twine==6.0.1Build and upload to pypi:
rm -rf dist; python3 -m build
python3 -m twine upload --repository pypi dist/* --verboseIf installing conda with miniforge, in some cases the following error appears:
ModuleNotFoundError: No module named 'conda'
This happens when the conda script ($CONDA_EXE) has in its first line
#!/usr/bin/env python, which picks up the python from the cerebrum environment
which is currently being installed instead of the base environment. To fix this,
replace the /usr/bin/env python with the python installed in the base
environment (generally corresponds of the environment variable $CONDA_PYTHON_EXE).