Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updates pykilosort to 1.4.7 #68

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions pykilosort/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM nvidia/cuda:10.0-base-ubuntu18.04
FROM nvidia/cuda:11.5.2-base-ubuntu20.04

LABEL maintainer="Alessio Buccino <[email protected]>"

Expand All @@ -7,6 +7,7 @@ LABEL maintainer="Alessio Buccino <[email protected]>"
RUN apt update && \
apt install -y --no-install-recommends \
libfftw3-dev \
nano \
git \
wget && \
apt clean && \
Expand All @@ -31,11 +32,15 @@ RUN echo ". $CONDA_DIR/etc/profile.d/conda.sh" >> /root/.profile
RUN conda init bash

# Install IBL python port of pykilosort
RUN git clone -b 1.4.3 https://github.com/int-brain-lab/pykilosort.git /src/pykilosort
RUN git clone -b 1.4.7 https://github.com/int-brain-lab/pykilosort.git /src/pykilosort
WORKDIR /src/pykilosort

# modify env file so that env extends on base
RUN sed -i "s/pyks2/base/" pyks2.yml
# edit the python line to keep the current python version (e.g., 3.9), otherwise it may upgrade (e.g., to 3.10.x), conflict with numba and break the installation.
RUN PYTHON_VERSION=$(python --version | cut -d ' ' -f 2) && \
sed -i "s/- python.*/- python=$PYTHON_VERSION/" pyks2.yml
# remove the spikeinterface dependency
RUN sed -i "s/- spikeinterface//" pyks2.yml

# Create environment
Expand All @@ -44,7 +49,7 @@ RUN conda env update --name base --file pyks2.yml --prune
# Install pykilosort
RUN conda install --quiet --yes ipykernel && \
python -m ipykernel install --user --display-name "pyKilosort" && \
conda develop .
pip install -e .
RUN conda clean --all --yes

#--name pyks2
WORKDIR /
3 changes: 3 additions & 0 deletions pykilosort/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ flags:
-v: mounted volumes (directories)
--gpus: enables GPU use within container

Check pykilosort version:
docker run --rm -it spikeinterface/pykilosort-base:latest bash -c "python -c 'import pykilosort; print(pykilosort.__version__)'"

### Test
Download Neuropixel 1.0 data to your data directory: https://catalystneuro.github.io/spike-sorting-hackathon/datasets/datasets.html#allen-institute-example
(see also https://github.com/int-brain-lab/pykilosort/tree/ibl_prod/examples, although apparently not up to date)
Expand Down
6 changes: 5 additions & 1 deletion pykilosort/build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#!/bin/bash

docker build -t spikeinterface/pykilosort-base:latest -t spikeinterface/pykilosort-base:1.4.3 .
docker build -t spikeinterface/pykilosort-base:latest -t spikeinterface/pykilosort-base:ibl-1.4.7_cuda-11.5.2 .

# version info
# 01/21/2024 - IBL 1.4.7 CUDA 11.3.1 Ubuntu 20.04
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this internal?

# 02/01/2024 - IBL 1.4.7 CUDA 11.5.2 Ubuntu 20.04
2 changes: 1 addition & 1 deletion pykilosort/push.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

docker push --all-tags spikeinterface/pykilosort-base
docker push --all-tags spikeinterface/pykilosort-base
Loading