SpikeInterface / SpikeInterface/spikeinterface

NotImplementedError: This meta file version of spikeglx is not implemented (newer SpikeGLX version)

Open
#3,949 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

NEO
Dominant language
Python
Stars
847
Forks
280
Avg merge
3d 9h
Merged PRs (30d)
29

Description

Hi,
I’m getting the following error when trying to load data recorded with a SpikeGLX version 20240129 using si.read_spikeglx:
NotImplementedError: This meta file version of spikeglx is not implemented
This does not happen when I process the data recorded with a SpikeGLX version 20220101.

Full traceback:
File ".../spikeglx.py", line 65, in SpikeGLXRecordingExtractor.init
...
File ".../spikeglxrawio.py", line 570, in extract_stream_info
raise NotImplementedError("This meta file version of spikeglx is not implemented")
NotImplementedError: This meta file version of spikeglx is not implemented

The error seems to originate from Neo’s spikeglxrawio.py.
Versions I am using are:
-SpikeInterface version 0.102.3
-Neo version 0.14.1.
-Python 3.11.9
-OS: Windows OS 10 pro ver 2009

Here are the headers of functioning and non-functioning metafiles.
Functioning:
acqApLfSy=384,384,1
appVersion=20220101
fileCreateTime=2023-08-23T14:49:43
fileName=D:/SGL_DATA/NPX-S2-22_g3/NPX-S2-22_g3_imec1/NPX-S2-22_g3_t0.imec1.ap.bin
fileSHA1=55E3281D85A73BDB296534515AB6775CF215D398
fileSizeBytes=2457334110
fileTimeSecs=106.39861252469915
firstSample=19929249
gateMode=Immediate
imAiRangeMax=0.6
imAiRangeMin=-0.6
imCalibrated=true
imDatApi=3.51
imDatBs_fw=2.0.168
imDatBsc_fw=3.2.176
imDatBsc_hw=2.2
imDatBsc_pn=NP2_QBSC_00
imDatBsc_sn=22030945
imDatFx_hw=4.13
imDatFx_pn=NP2_FLEX_0

Non-functioning:
acqApLfSy=384,384,1
appVersion=20240129
fileCreateTime=2025-05-05T15:25:07
fileName=D:/SGL_DATA/25M07_ins2_g1/25M07_ins2_g1_imec0/25M07_ins2_g1_t0.imec0.ap.bin
fileSHA1=9F68277AD980A9D0A5373E5C3AAFFF94A9857D8D
fileSizeBytes=4191401830
fileTimeSecs=181.48113535816586
firstSample=39870673
gateMode=Immediate
imAiRangeMax=0.6
imAiRangeMin=-0.6
imAnyChanFullBand=false
imCalibrated=true
imChan0apGain=500
imDatApi=3.62
imDatBs_fw=2.0.169
imDatBsc_fw=3.2.189
imDatBsc_hw=2.2
imDatBsc_pn=NP2_QBSC_00
imDatBsc_sn=22030945

How should I proceed?

Is there a workaround, or can I help by providing a sample .meta file for support of this new format?
If you need the .meta file, I can upload it.
Thank you!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read spikeglx.py at the SpikeGLX extractor entry point and Neo's spikeglxrawio.py around line 570, then compare the functioning and failing .meta headers, especially appVersion and the newer fields. Reproduce the failure with si.read_spikeglx and confirm that data recorded with SpikeGLX 20240129 loads successfully without the NotImplementedError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, data
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.