Dockerize spike sorters
Key Investigators
- Ben Dichter
- Alessio Buccino
- Chuang Yu Min
- Julia Sprenger
- Vincent Prevosto
Project Description
One of the biggest usability challenges of SpikeInterface is installing the different spike sorters. This is particularly challenging for sorters that run on MATLAB and those that have specific requirements like GPU. Creating docker containers for each sorter will make them easier to install locally and deploy remotely.
Objectives
The goal of this project is to finalize and clean up the container images for all sorters in SpikeInterface.
Approach and Plan
The plan is to proritize KS and PyKilosort implementations, since they are the most widely used sorters. If we have time, we’ll move on to WaveClus first and then HDsort. A parallel effort will involve setting up a testing suite on in github actions to test the built images on some toy data using docker and/or singularity.
Progress and Next Steps
- Dockerize KS1, KS2, and KS3 following KS3 approach (https://github.com/SpikeInterface/spikeinterface-dockerfiles/pull/21) There are options for future developments, but this is lower priority as these versions seem to work across all platform.
- Cleanup spikeinterface-dockerfiles repo and push to all images to Docker Hub KS container PR merge / images pushed spikeinterface-jupyterlab PR cleaned up / image pushed
- [-] Test on different OS (Windows/Mac)
- [-] Implement testing suite on spikeinterface-dockerfiles for CI
- [-] Create images for other MATLAB-based sorters: Waveclus, HDSort MClust: https://github.com/adredish/MClust-Spike-Sorting-Toolbox JRClust: https://github.com/JaneliaSciComp/JRCLUST
- Create image for pyKilosort
- Test image for YASS (with YASS devs)
- Improve documentation on how to get docker/singularity installed
Materials
Background and References
- Docker files: https://github.com/SpikeInterface/spikeinterface-dockerfiles
- Official docker hub images: https://hub.docker.com/orgs/spikeinterface/repositories
- Chuang Yu Min’s dev images: https://hub.docker.com/u/chyumin