Installation#

This guide will walk you through the installation of the aeon_mecha package, the main package for interacting with raw Aeon data. It also includes instructions for setting up data access to the Aeon data hosted on SWC’s Ceph storage (currently only applicable to SWC members).

aeon_mecha#

Note

We always recommend installing aeon_mecha inside a conda or mamba environment, to avoid dependency conflicts with other packages. In the following we assume you have conda installed, but the same commands will also work with mamba/micromamba.

All commands below should be run in a bash shell (Windows users can use the ‘mingw64’ terminal that is included when installing git).

Setting up on SWC’s HPC

If setting up on SWC’s remote HPC system, you will have to first connect to the HPC using SSH and add miniconda to your system path.

ssh <your_SWC_username>@ssh.swc.ucl.ac.uk
ssh hpc-gw1
module load miniconda

Optional: Add the following commands to the .profile file to add miniconda as an environment module and Bonsai and its dependencies to your system path on startup (this will be initialized each time you SSH into the HPC). This file should be located in the home directory, i.e. ~/.profile. If it does not exist, create it with touch ~/.profile.

.profile#
# Set env modules
module load miniconda

# Save Bonsai and deps to path
export PATH=$PATH:/ceph/aeon/aeon/code/bonsai/Bonsai.Player/bin/Debug/net5.0
export DOTNET_ROOT=/ceph/aeon/aeon/code/dotnet
export PATH=$PATH:/ceph/aeon/aeon/code/dotnet

Clone the aeon_mecha repository into the ~/ProjectAeon/aeon_mecha directory.

mkdir ~/ProjectAeon 
cd ~/ProjectAeon
git clone https://github.com/SainsburyWellcomeCentre/aeon_mecha
cd aeon_mecha

Create the aeon conda environment and activate it.

conda create -n aeon -c conda-forge python>=3.11
conda activate aeon

Install the aeon_mecha package in editable mode.

pip install -e .
pip install -e .[dev]  # works on most shells

or

pip install -e '.[dev]'  # works on zsh (the default shell on macOS)

This will install the package alongside all dev dependencies.

Setting up SWC Ceph data access#

Important

You must be an SWC aeon project member to access Aeon data hosted on SWC’s Ceph storage. The required sets of credentials are as follows:

To be granted these credentials, please send a single email to all contact parties requesting this access.

Note

The links below point to the SWC internal wiki, which is only accessible from within the SWC network (or using VPN).

In order to access Aeon data locally, you need to be on the SWC network or connected via VPN. You also need to mount the Ceph storage on your local machine. The Ceph storage path for different operating systems can be found here, replacing xxxxxxxx with aeon.

For using an IDE (e.g. VS Code, PyCharm Professional, Jupyter, etc.) to access Aeon data, you will need to configure the connection to SWC’s HPC using SSH. Please ensure you have met all the prerequisites before proceeding. In order to avoid typing the SSH commands each time you log into the HPC, we recommend modifying the SSH config file following this guide. The next step is to configure your IDE to connect to the swc-gateway node via SSH. These instructions can typically be found in your IDE’s online documentation. Here are the instructions for VS Code, and for PyCharm Professional.

Within the aeon conda environment, Aeon data can be accessed directly from Ceph or the DataJoint database using the aeon_mecha API. Examples for retrieving and visualizing the data can be found in the User Guide.