flatironinstitute / ironclust

Spike sorting software being developed at Flatiron Institute, based on JRCLUST (Janelia Rocket Cluster)
Apache License 2.0
28 stars 7 forks source link

Running Ironclust on SpikeInterface #61

Open nasnass opened 2 years ago

nasnass commented 2 years ago

I am trying to run Ironclust using spike interface and have used this tutorial to get everything set up: https://www.youtube.com/watch?v=fvKG_-xQ4D8&t=1988s

This is how I am running it: sorting_IC = ss.run_ironclust(recording, output_folder='results_IC', filter=False, detect_threshold=15, verbose=True)

With recording being set like this:

recording_f = st.bandpass_filter(recording, freq_min=100, freq_max=3000) recording = recording_f.save(format='binary')

This is the error that I am receiving:

RUNNING SHELL SCRIPT: C:\Users\nasya\AppData\Local\Temp\tmp_shellscripto19b3tl2\script.bat write_binary_recording with n_jobs 1 chunk_size 62500000 channels = 1, timepoints = 150000000, duration = 125.0 minutes Creating argfile.txt... RUNNING SHELL SCRIPT: C:\Users\nasya\AppData\Local\Temp\tmp_shellscriptoiu7ptui\script.bat Running ironclust in C:\Users\nasya\Desktop\BA\ironclust\results_IC\tmp... RUNNING SHELL SCRIPT: C:\Users\nasya\AppData\Local\Temp\tmp_shellscript6f744rfc\script.bat RUNNING SHELL SCRIPT: results_IC\run_ironclust.bat

(ironclust) C:\Users\nasya\Desktop\BA\ironclust>C: (ironclust) C:\Users\nasya\Desktop\BA\ironclust>cd C:\Users\nasya\Desktop\BA\ironclust\results_IC\tmp (ironclust) C:\Users\nasya\Desktop\BA\ironclust\results_IC\tmp>matlab -nosplash -wait -log -r run_ironclust

===================================================

IronClust Version: 2

===================================================

Removed 0 lock(s).

Running irc2.m (5.9.8)

----------------------------------------Undefined function 'pdist' for input arguments of type 'double'.ERROR: MATLAB error Exit Status: 0x00000001

Error running ironclust Traceback (most recent call last): File "C:\Users\nasya\anaconda3\envs\ironclust\lib\site-packages\spikeinterface\sorters\basesorter.py", line 200, in run_from_folder SorterClass._run_from_folder(output_folder, sorter_params, verbose) File "C:\Users\nasya\anaconda3\envs\ironclust\lib\site-packages\spikeinterface\sorters\ironclust\ironclust.py", line 270, in _run_from_folder raise Exception('ironclust returned a non-zero exit code') Exception: ironclust returned a non-zero exit code

Would be grateful for any help!

SomeUserName1 commented 1 year ago

Not sure if helpful, but here is a tutorial by the group for version 0.95 (Sep 2022): Link

hpay commented 1 year ago

Do other (e.g. python based) spike sorters work with this recording in spikeinterface? Do you expect to have channels = 1?

You could also try running ironclust directly in matlab to make sure everything is installed first, it took me a few tries

nasnass commented 1 year ago

Yes spyking circus and tridesclous work, and yes only one channel @hpay

nasnass commented 1 year ago

@hpay what was the problem when you were trying to run it?