Interactively view, curate, and share results of electrophysiological spike sorting.
A backend service implements the compute tasks needed to power the web GUI on a particular channel.
- Step 1: Set up and run a kachery node on your computer
- Step 2: Create a new kachery channel - be sure to authorize your own node as well as the figurl node on this channel
- Step 2b: Restart the kachery daemon after adding the channel for the changes to take effect
- Step 3: Install and set up sortingview (see below)
- Step 4: Run the sortingview backend (see below)
- Step 5: Create a sortingview workspace and view it using figurl (see below)
On the computer running the kachery daemon, install the python package:
pip install --upgrade sortingview
Set the FIGURL_CHANNEL environment variable to the name of the channel you set up on kachery
# You can put this in your ~/.bashrc
export FIGURL_CHANNEL=<name-of-your-kachery-channel>
To run the backend service:
sortingview-start-backend --channel <name-of-kachery-channel>
You can optionally specify a backend ID. See below for more details.
A sortingview workspace consists of a collection of recordings and optionally one or more sortings of those recordings. Workspaces are created on the computer running the backend using Python scripts and can be visualized from anywhere using a web browser. This example script shows how to create a basic workspace using SpikeInterface.
When starting the backend service, you can optionally supply a backend ID, a secret string that can restrict access to the service:
sortingview-start-backend --channel <name-of-kachery-channel> --backend-id <secret-string>
Then, on the front-end, you can connect to your particular backend by setting the backend ID inside the figurl web app (use the channel button in the upper-right corner of the page).
If you are in a multi-user environment, you may want to have each user run their own backend, with different backend IDs. This could particularly work well if each user runs a backend on their own workstation, and all workstations connect to the same kachery daemon, with a shared kachery storage directory mounted on all workstations.
See task concurrency
Wrapping a new SpikeInterface recording into an old-version recording extractor
Jeremy Magland and Jeff Soules, Center for Computational Mathematics, Flatiron Institute
In collaboration with Kyu Hyun Lee and Loren Frank, Frank Laboratory @ UCSF