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.
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 cerebrum
To install Airavata Cerebrum from source into the environment created above, install from pypi using pip.
pip install airavata-cerebrum
The 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.git
All 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 cbmdev
environment.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.1
Build and upload to pypi:
rm -rf dist; python3 -m build python3 -m twine upload --repository pypi dist/* --verbose
conda Issue when installed with spackIf 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).