Supported Formats#
To manage project analysis, spikewrap must make some assumptions on how the data is organised.
Currently, only data from Neuropixels probes acquired in SpikeGLX or OpenEphys are supported.
Contact Us
If you would like to see more formats supported, please don’t hesitate to get in contact.
Key data organisation levels#
We briefly define the three folder levels that spikewrap
expects to find:
- subject:
The experimental subject from which the data is recorded.
- session:
The experimental session in which the data was collected.
- run:
Multiple runs within an experimental session are supported.
Runs are inferred based on the acquisition software (see below).
Supported data organisation schemes#
NeuroBlueprint is the recommended way to organise the project folder for spikewrap.
Briefly, a NeuroBlueprint project is organised like:
└── rawdata/
└── sub-001_.../
└── ses-001_.../
└── ephys /
└── <spikeglx or openephys output>
See the full NeuroBlueprint specification for details.
Otherwise, it is expected that the folder format of the data will have the levels:
subject -> session -> recording
For example:
└── my_subject_name/
└── my_session_name/
└── <spikeglx or openephys output>
NeuroBlueprint
Upcoming features in spikewrap
will make accessing data structures in
NeuroBlueprint
format very convenient. This functionality will not be available for other organisation schemes.
All examples below are in NeuroBlueprint format.
Acquisition-software specific organisation#
We are keen to extend support to more SpikeGLX and OpenEphys use cases. Please get in contact with unsupported datasets.
SpikeGLX
recordings (in this example output to ses-001/ephys
) are typically formatted like:
└── ses-001/
└── ephys/
└── run-name_g0_imec0/
├── run-name_g0_t0.imec0.ap.bin
└── run-name_g0_t0.imec0.ap.meta
Experiments that do no use multiple gates, triggers or imec
probes are immediately supported.
An experimental folder with SpikeGLX-acquired data might look like:
└── rawdata/
└── sub-001 /
└── ses-001/
└── ephys/
├── run-001_g0_imec0/
│ ├── run-001_g0_t0.imec0.ap.bin
│ └── run-001_g0_t0.imec0.ap.meta
└── run-002_g0_imec0/
├── run-002_g0_t0.imec0.ap.bin
└── run-002_g0_t0.imec0.ap.meta
Recordings with multiple gates, trigers or imec
probes
spikewrap
assumes that all folders within the session level
are separate runs. Multi-gate recordings will be treated
as separate runs.
Therefore, you can distinguish runs either with the run-name
, or
keep the same run-name
and acquire separate gates. However, if multiple
run names and multiple gates are mixed, all will be treated as separate runs.
Currently multiple imec
probes are not supported.
For each run, only one recording is expected. Therefore, multi-trigger recordings are not supported.
Note runs are simply concatenated in spikewrap
/ SpikeInterface
by direct concatenation of the data.
Use catGT for proper concatenation of multi-gate and trigger recordings.
Currently, the flat binary format (the OpenEphys default) is supported.
OpenEphys flat binary recordings
(in this example output to ses-001/ephys
)
are organised like:
└── ses-001/
└── ephys/
└── Recording Node 304/
└── experiment1/
├── recording1
└── recording2
└── recording3
At this level, OpenEphys has three concepts (Recording Node
, experiment
and recording
)
but spikewrap expects only a single a set of runs.
Therefore, spikewrap will treat the recording
folders as separate runs.
This means that datasets with multiple Recording Node
and experiment
folders are not currently supported.
In the above, example, the ses-001
will be associated with three runs (recording1
, recording2
and recording3
).