catalystneuro / neuroconv

Create NWB files by converting and combining neural data in proprietary formats and adding essential metadata.
https://neuroconv.readthedocs.io
BSD 3-Clause "New" or "Revised" License
51 stars 23 forks source link

[New Format]: mclust output #306

Open yarikoptic opened 1 year ago

yarikoptic commented 1 year ago

What format would you like to see added to NeuroConv?

mclust (https://github.com/adredish/MClust-Spike-Sorting-Toolbox) output, I was told out files have .t extension.

Does the format have any documentation?

No response

Existing APIs for format

https://github.com/vandermeerlab/data-formats/blob/master/loader_mclust.py is an example of a loader from @vandermeerlab

Do you have any example files you are willing to share?

http://datasets.datalad.org/labs/mvdm/BiconditionalOdor/M040-2020-04-28-CDOD11/M040-2020-04-28-TT03_1.t and you could find more in http://datasets.datalad.org/?dir=/labs/mvdm/BiconditionalOdor/M040-2020-04-28-CDOD11 dataset.

Do you have any interest in helping implement the feature?

No.

Code of Conduct

yarikoptic commented 1 year ago

attn @TheChymera @manimoh

CodyCBakerPhD commented 1 year ago

@yarikoptic @thechymera

SpikeInterface has an extractor for this: https://github.com/SpikeInterface/spikeinterface/blob/master/spikeinterface/extractors/mclustextractors.py

and we have tools for SpikeInterface

from neuroconv.tools import spikeinterface
from spikeinterface.extractors import MClustSortingExtractor

sorting = MClustSortingExtractor(folder_path="path/to/mclust")

spikeinterface.write_sorting(sorting, nwbfile_path="path/to/nwbfile.nwb")

can you give that a try first, let me know how it goes, and I can add this to the queue for integrating as a higher-level MClustSortingDataInterface?