Skip to content

Kilosort v4.0.34 added shank_idx to set_files(), which breaks support with spikeinterface #3896

@JarrodDowdall

Description

@JarrodDowdall

Kilosort has added shank_idx to allow sorting shanks separately, but this does not appear to be supported in spikeinterface yet.

MouseLand/Kilosort@339fb66

Because set_files() now expects shank_idx, running kilosort4 with spikeinterface returns the error:

spikeinterface/sorters/external/kilosort4.py", line 255, in _run_from_folder
    filename, data_dir, results_dir, probe = set_files(
                                             ^^^^^^^^^^
TypeError: set_files() missing 1 required positional argument: 'shank_idx'

filename, data_dir, results_dir, probe = set_files(
settings=settings,
filename=filename,
probe=probe,
probe_name=probe_name,
data_dir=data_dir,
results_dir=results_dir,
bad_channels=bad_channels,
)

In Kilosort v4.0.33 the inputs to set_files() are:

def set_files(settings, filename, probe, probe_name,
              data_dir, results_dir, bad_channels):

So kilosort v4.0.33 works with spikeinterface.

But from Kilosort v4.0.34 forward they are:

def set_files(settings, filename, probe, probe_name, data_dir, results_dir,
              bad_channels, shank_idx):

https://github.com/MouseLand/Kilosort/blob/2586930f0098acb0829a5e73f2f25bcc6ce792ed/kilosort/run_kilosort.py#L349

Metadata

Metadata

Assignees

No one assigned

    Labels

    sortersRelated to sorters module

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions