question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

combinato failed with `AssertionError: combinato is a single-channel recording`

See original GitHub issue

Hello,

I am trying to run the combinato on my recording object of 48 channels but am running into this AssertionError

joblib.externals.loky.process_executor._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/externals/loky/process_executor.py", line 431, in _process_worker
    r = call_item()
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/externals/loky/process_executor.py", line 285, in __call__
    return self.fn(*self.args, **self.kwargs)
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 595, in __call__
    return self.func(*args, **kwargs)
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/parallel.py", line 263, in __call__
    for func, args, kwargs in self.items]
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/parallel.py", line 263, in <listcomp>
    for func, args, kwargs in self.items]
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/spikeinterface/sorters/launcher.py", line 35, in _run_one
    delete_output_folder, verbose, raise_error, with_output)
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/spikeinterface/sorters/runsorter.py", line 82, in run_sorter_local
    SorterClass.setup_recording(recording, output_folder, verbose=verbose)
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/spikeinterface/sorters/basesorter.py", line 169, in setup_recording
    cls._setup_recording(recording, output_folder, sorter_params, verbose)
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/spikeinterface/sorters/combinato/combinato.py", line 133, in _setup_recording
    assert len(chan_ids) == 1, 'combinato is a single-channel recording'
AssertionError: combinato is a single-channel recording
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3441, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-e1d2775a5ab8>", line 49, in <module>
    engine_kwargs={'n_jobs': 8})
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/spikeinterface/sorters/launcher.py", line 298, in run_sorters
    delayed(_run_one)(task_args) for task_args in task_args_list)
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/parallel.py", line 1054, in __call__
    self.retrieve()
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/parallel.py", line 933, in retrieve
    self._output.extend(job.get(timeout=self.timeout))
  File "/home/marco/anaconda/envs/visification/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 542, in wrap_future_result
    return future.result(timeout=timeout)
  File "/home/marco/anaconda/envs/visification/lib/python3.7/concurrent/futures/_base.py", line 435, in result
    return self.__get_result()
  File "/home/marco/anaconda/envs/visification/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
AssertionError: combinato is a single-channel recording

I understand what is says, however, as per the combinato documentation, it states being able to sort data from up to 100 channels. Is this is a bug from spike_interface or a functionality that has not yet been implemented?

Thank you!

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:8 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
alejoe91commented, Oct 22, 2021

sorting.save(folder='yout-folder') 😉

1reaction
alejoe91commented, Oct 19, 2021

Yes! There is a function called aggregate_units (in master). The easiest way to do it would be the following (using the new feature run_sorter_by_property):

# set a group property (different group for each channel
recording.set_property(np.arange(recording.get_num_channels()))

# spike sort by group
sorting = si.run_sorter_by_property("combinato", recording, grouping_property="group")

Read more comments on GitHub >

github_iconTop Results From Across the Web

Assertion Error when opening spike sorted file #1051 - GitHub
Hi, I recently ran a recording through Kilosort2.5, where it reported to find spikes and good units (if few), but when I try...
Read more >
Compatible Technology — spikeinterface documentation
Given the standardized, modular design of our recording and sorting extractors, ... Combinato - CombinatoSortingExtractor ... throws the error,. ----> 1 se.
Read more >
mix throws assertion error when many channels are added to ...
When a large number of channels is added to a mix simultaneously, this error is thrown: {{java.lang.AssertionError: Assert failed: No more than 1024...
Read more >
A novel and fully automatic spike-sorting implementation with ...
from single-channel recordings, in ~95% of the cases the new algo- ... tested Combinato with the same simulated data set we used here,....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found