Skip to content

Setup on EduCloud

Alessio Buccino edited this page Mar 8, 2024 · 12 revisions

The expipe-plugin-cinpla package is designed to run on the EduCloud computing platform from UiO.

Start EduCloud machine

Go to ondemand.educloud.no and create a new Jupyter (BETA) instance.

  • Select JupyterLab/4.05-GCCCore-12.3.0
  • Choose a relatively large machine for spike sorting (e.g., "Medium"/"Large" if GPU is not required, "GPU 1x (NVIDIA RTX 3090 24GB, 24CPU, 64GB RAM)" if using Kilosort).
  • Add MATLAB/2023a in Additional modules (optional) if you plan to run Kilosort

image

Configure environment

The first time you login, you should run the following commands to set the paths to the Kilosort installations and setup the cloud-based visualization. These steps need to be run only once!

Setup Kernel

To use the cinpla kernel, you need to copy it to your user local folder:

cp -r /projects/ec109/conda-envs/ipykernels/cinpla ~/.local/share/jupyter/kernels

Set Kilosort paths

Start a terminal and from your home folder create a .profile file and edit it:

Create the file:

touch .profile

If this command fails, you probably already have the file.

Edit the file:

nano .profile

Paste this at the end of the file:

export KILOSORT2_PATH="/projects/ec109/spikesorters/Kilosort2"
export KILOSORT2_5_PATH="/projects/ec109/spikesorters/Kilosort2.5"
export KILOSORT3_PATH="/projects/ec109/spikesorters/Kilosort3"

And press CTRL+x, then y, then Enter to save the changes.

The .profile is loaded for each session, so you might need to start another session to make the new environment available.

In addition, you have to run these commands:

git config --global --add safe.directory /fp/projects01/ec109/spikesorters/Kilosort2
git config --global --add safe.directory /fp/projects01/ec109/spikesorters/Kilosort2.5
git config --global --add safe.directory /fp/projects01/ec109/spikesorters/Kilosort3

Setup sortingview

Sortingview is the cloud-based alternative to Phy.

From a terminal, you first need to activate the cinpla environment as follows:

module --latest load Miniconda3

conda activate /projects/ec109/conda-envs/cinpla

Once the environment is activated, run the following command:

kachery-cloud-init

This will print a link: open the link and follow the instructions to login with your GitHub account.

Run expipe-plugin-cinpla notebook

You can download the notebooks/expipe-cinpla-plugin-demo.ipynb and copy it in your educloud home folder. This is the main entry point to:

  1. Convert old exdir-based projects to new NWB-based projects

  2. Run the display_browser function to launch the Jupyter GUI

Upon opening the notebook, you will be prompted for a kernel to use. Choose the cinpla kernel, which has everything pre-installed.

To convert an old project, it is recommended to run a conversion script after activating the cinpla environment.

For registering new actions (or converting old projects) you will need a probe JSON file. You can find one for 2 headstages wiht 4 tetrodes each with the Open Ephys channel map in the probes/ folder of the repo (tetrode_32_openephys.json). Copy that file in your EduCloud home folder for convenience.

Update expipe-plugin-cinpla

To update the version of expipe-plugin-cinpla for the group, you can run the following commands:

# activate environment
module --latest load Miniconda3
conda activate /projects/ec109/conda-envs/cinpla

# install the new version
pip uninstall -y expipe-plugin-cinpla
pip install --ignore-installed --upgrade expipe-plugin-cinpla

# renew access for the group
chgrp -R ec109-member-group /projects/ec109/conda-envs/cinpla