Skip to content

Commit f5ca7e8

Browse files
committed
2 parents 195c61e + ee0e179 commit f5ca7e8

10 files changed

+1871
-28
lines changed

CHANGELOG.md

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,48 @@
11
# Changelog
22

3-
Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention.
3+
Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and
4+
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention.
45

6+
## [0.1.4] - 2022-07-11
7+
8+
+ Bugfix - Handle case where `spike_depths` data is present.
9+
10+
## [0.1.3] - 2022-06-16
11+
12+
+ Update - Allow for the `precluster_output_dir` attribute to be nullable when no pre-clustering is performed.
13+
14+
## [0.1.2] - 2022-06-09
15+
16+
+ Bugfix - Handle case where `pc_features.npy` does not exist.
17+
18+
## [0.1.1] - 2022-06-01
19+
20+
+ Add - Secondary attributes to `PreClusterParamSteps` table
21+
22+
## [0.1.0] - 2022-05-26
23+
24+
+ Update - Rename module for acute probe insertions from `ephys.py` to `ephys_acute.py`.
25+
+ Add - Module for pre-clustering steps (`ephys_precluster.py`), which is built off of `ephys_acute.py`.
26+
+ Add - Module for chronic probe insertions (`ephys_chronic.py`).
27+
+ Bugfix - Missing `fileTimeSecs` key in SpikeGLX meta file.
28+
+ Update - Move common functions to `element-interface` package.
29+
+ Add - NWB export function
530

631
## [0.1.0b0] - 2021-05-07
7-
### Added
8-
+ First beta release
932

33+
+ Update - First beta release
1034

1135
## [0.1.0a5] - 2021-05-05
12-
### Added
13-
+ Added GitHub Action release process
14-
+ `probe` and `ephys` elements
15-
+ Readers for: `SpikeGLX`, `Open Ephys`, `Kilosort`
16-
+ Probe table supporting: Neuropixels probes 1.0 - 3A, 1.0 - 3B, 2.0 - SS, 2.0 - MS
1736

37+
+ Add - GitHub Action release process
38+
+ Add - `probe` and `ephys` elements
39+
+ Add - Readers for: `SpikeGLX`, `Open Ephys`, `Kilosort`
40+
+ Add - Probe table supporting: Neuropixels probes 1.0 - 3A, 1.0 - 3B, 2.0 - SS, 2.0 - MS
1841

19-
[0.1.0b0]: https://github.com/datajoint/element-array-ephys/compare/0.1.0a5...0.1.0b0
42+
[0.1.4]: https://github.com/datajoint/element-array-ephys/releases/tag/0.1.4
43+
[0.1.3]: https://github.com/datajoint/element-array-ephys/releases/tag/0.1.3
44+
[0.1.2]: https://github.com/datajoint/element-array-ephys/releases/tag/0.1.2
45+
[0.1.1]: https://github.com/datajoint/element-array-ephys/releases/tag/0.1.1
46+
[0.1.0]: https://github.com/datajoint/element-array-ephys/compare/0.1.0b0...0.1.0
47+
[0.1.0b0]: https://github.com/datajoint/element-array-ephys/releases/tag/0.1.0b0
2048
[0.1.0a5]: https://github.com/datajoint/element-array-ephys/releases/tag/0.1.0a5

README.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,30 @@ ephys pipeline.
1616

1717
## Element architecture
1818

19-
![element-array-ephys diagram](images/attached_array_ephys_element.svg)
19+
`element-array-ephys` is comprised of two schemas, `probe` and `ephys`. To handle
20+
several use cases of this pipeline, we have designed several `ephys` schemas, including
21+
`ephys_acute`, `ephys_chronic`, and `ephys_precluster`.
22+
23+
+ `ephys_acute` - A probe(s) is inserted into a new location during each session.
24+
25+
+ `ephys_chronic` - A probe(s) is inserted once and used to record across multiple
26+
sessions.
27+
28+
+ `ephys_precluster` - A probe(s) is inserted into a new location during each session.
29+
And pre-clustering steps (e.g. CatGT) are performed on the data from each probe prior
30+
to Kilosort analysis.
31+
32+
### `ephys_acute` module
33+
![element-array-ephys acute diagram](images/attached_array_ephys_element_acute.svg)
34+
35+
36+
### `ephys_chronic` module
37+
![element-array-ephys chronic diagram](images/attached_array_ephys_element_chronic.svg)
38+
39+
### `ephys_precluster` module
40+
![element-array-ephys precluster diagram](
41+
images/attached_array_ephys_element_precluster.svg)
42+
2043

2144
As the diagram depicts, the array ephys element starts immediately downstream from `Session`,
2245
and also requires some notion of `Location` as a dependency for `InsertionLocation`. We

element_array_ephys/ephys_acute.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ class Unit(dj.Part):
503503
spike_count: int # how many spikes in this recording for this unit
504504
spike_times: longblob # (s) spike times of this unit, relative to the start of the EphysRecording
505505
spike_sites : longblob # array of electrode associated with each spike
506-
spike_depths : longblob # (um) array of depths associated with each spike, relative to the (0, 0) of the probe
506+
spike_depths=null : longblob # (um) array of depths associated with each spike, relative to the (0, 0) of the probe
507507
"""
508508

509509
def make(self, key):
@@ -551,7 +551,7 @@ def make(self, key):
551551
'spike_times': unit_spike_times,
552552
'spike_count': spike_count,
553553
'spike_sites': spike_sites[kilosort_dataset.data['spike_clusters'] == unit],
554-
'spike_depths': spike_depths[kilosort_dataset.data['spike_clusters'] == unit]})
554+
'spike_depths': spike_depths[kilosort_dataset.data['spike_clusters'] == unit] if spike_depths is not None else None})
555555

556556
self.insert1(key)
557557
self.Unit.insert([{**key, **u} for u in units])

element_array_ephys/ephys_chronic.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ class Unit(dj.Part):
502502
spike_count: int # how many spikes in this recording for this unit
503503
spike_times: longblob # (s) spike times of this unit, relative to the start of the EphysRecording
504504
spike_sites : longblob # array of electrode associated with each spike
505-
spike_depths : longblob # (um) array of depths associated with each spike, relative to the (0, 0) of the probe
505+
spike_depths=null : longblob # (um) array of depths associated with each spike, relative to the (0, 0) of the probe
506506
"""
507507

508508
def make(self, key):
@@ -550,7 +550,7 @@ def make(self, key):
550550
'spike_times': unit_spike_times,
551551
'spike_count': spike_count,
552552
'spike_sites': spike_sites[kilosort_dataset.data['spike_clusters'] == unit],
553-
'spike_depths': spike_depths[kilosort_dataset.data['spike_clusters'] == unit]})
553+
'spike_depths': spike_depths[kilosort_dataset.data['spike_clusters'] == unit] if spike_depths is not None else None})
554554

555555
self.insert1(key)
556556
self.Unit.insert([{**key, **u} for u in units])

0 commit comments

Comments
 (0)