Skip to content

Commit 6aef807

Browse files
authored
Merge pull request #146 from JaerongA/metrics
Remap `metrics.csv` column names
2 parents 5abecc3 + 6b069e6 commit 6aef807

File tree

6 files changed

+30
-3
lines changed

6 files changed

+30
-3
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and
44
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention.
55

6+
## [0.2.7] - 2023-04-19
7+
8+
+ Bugfix - A name remapping dictionary was added to ensure consistency between the column names of the `metrics.csv` file and the attribute names of the `QualityMetrics` table
9+
610
## [0.2.6] - 2023-04-17
711

812
+ Fix - Update Pandas DataFrame column name to insert `pt_ratio` in `QualityMetrics.Waveform` table
@@ -101,6 +105,7 @@ Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and
101105
+ Add - Probe table supporting: Neuropixels probes 1.0 - 3A, 1.0 - 3B, 2.0 - SS,
102106
2.0 - MS
103107

108+
[0.2.7]: https://github.com/datajoint/element-array-ephys/releases/tag/0.2.7
104109
[0.2.6]: https://github.com/datajoint/element-array-ephys/releases/tag/0.2.6
105110
[0.2.5]: https://github.com/datajoint/element-array-ephys/releases/tag/0.2.5
106111
[0.2.4]: https://github.com/datajoint/element-array-ephys/releases/tag/0.2.4

element_array_ephys/ephys_acute.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,6 +1353,11 @@ def make(self, key):
13531353
kilosort_dir = find_full_path(get_ephys_root_data_dir(), output_dir)
13541354

13551355
metric_fp = kilosort_dir / "metrics.csv"
1356+
rename_dict = {
1357+
"isi_viol": "isi_violation",
1358+
"num_viol": "number_violation",
1359+
"contam_rate": "contamination_rate",
1360+
}
13561361

13571362
if not metric_fp.exists():
13581363
raise FileNotFoundError(f"QC metrics file not found: {metric_fp}")
@@ -1361,6 +1366,7 @@ def make(self, key):
13611366
metrics_df.set_index("cluster_id", inplace=True)
13621367
metrics_df.replace([np.inf, -np.inf], np.nan, inplace=True)
13631368
metrics_df.columns = metrics_df.columns.str.lower()
1369+
metrics_df.rename(columns=rename_dict, inplace=True)
13641370
metrics_list = [
13651371
dict(metrics_df.loc[unit_key["unit"]], **unit_key)
13661372
for unit_key in (CuratedClustering.Unit & key).fetch("KEY")

element_array_ephys/ephys_chronic.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1282,6 +1282,11 @@ def make(self, key):
12821282
kilosort_dir = find_full_path(get_ephys_root_data_dir(), output_dir)
12831283

12841284
metric_fp = kilosort_dir / "metrics.csv"
1285+
rename_dict = {
1286+
"isi_viol": "isi_violation",
1287+
"num_viol": "number_violation",
1288+
"contam_rate": "contamination_rate",
1289+
}
12851290

12861291
if not metric_fp.exists():
12871292
raise FileNotFoundError(f"QC metrics file not found: {metric_fp}")
@@ -1290,6 +1295,7 @@ def make(self, key):
12901295
metrics_df.set_index("cluster_id", inplace=True)
12911296
metrics_df.replace([np.inf, -np.inf], np.nan, inplace=True)
12921297
metrics_df.columns = metrics_df.columns.str.lower()
1298+
metrics_df.rename(columns=rename_dict, inplace=True)
12931299
metrics_list = [
12941300
dict(metrics_df.loc[unit_key["unit"]], **unit_key)
12951301
for unit_key in (CuratedClustering.Unit & key).fetch("KEY")

element_array_ephys/ephys_no_curation.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,6 +1293,11 @@ def make(self, key):
12931293
kilosort_dir = find_full_path(get_ephys_root_data_dir(), output_dir)
12941294

12951295
metric_fp = kilosort_dir / "metrics.csv"
1296+
rename_dict = {
1297+
"isi_viol": "isi_violation",
1298+
"num_viol": "number_violation",
1299+
"contam_rate": "contamination_rate",
1300+
}
12961301

12971302
if not metric_fp.exists():
12981303
raise FileNotFoundError(f"QC metrics file not found: {metric_fp}")
@@ -1301,6 +1306,7 @@ def make(self, key):
13011306
metrics_df.set_index("cluster_id", inplace=True)
13021307
metrics_df.replace([np.inf, -np.inf], np.nan, inplace=True)
13031308
metrics_df.columns = metrics_df.columns.str.lower()
1309+
metrics_df.rename(columns=rename_dict, inplace=True)
13041310
metrics_list = [
13051311
dict(metrics_df.loc[unit_key["unit"]], **unit_key)
13061312
for unit_key in (CuratedClustering.Unit & key).fetch("KEY")

element_array_ephys/ephys_precluster.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,6 @@ def make(self, key):
616616
][recorded_site]
617617
electrode_keys.append(probe_electrodes[(shank, shank_col, shank_row)])
618618
elif acq_software == "Open Ephys":
619-
620619
session_dir = find_full_path(
621620
get_ephys_root_data_dir(), get_session_directory(key)
622621
)
@@ -1270,6 +1269,11 @@ def make(self, key):
12701269
kilosort_dir = find_full_path(get_ephys_root_data_dir(), output_dir)
12711270

12721271
metric_fp = kilosort_dir / "metrics.csv"
1272+
rename_dict = {
1273+
"isi_viol": "isi_violation",
1274+
"num_viol": "number_violation",
1275+
"contam_rate": "contamination_rate",
1276+
}
12731277

12741278
if not metric_fp.exists():
12751279
raise FileNotFoundError(f"QC metrics file not found: {metric_fp}")
@@ -1278,7 +1282,7 @@ def make(self, key):
12781282
metrics_df.set_index("cluster_id", inplace=True)
12791283
metrics_df.replace([np.inf, -np.inf], np.nan, inplace=True)
12801284
metrics_df.columns = metrics_df.columns.str.lower()
1281-
1285+
metrics_df.rename(columns=rename_dict, inplace=True)
12821286
metrics_list = [
12831287
dict(metrics_df.loc[unit_key["unit"]], **unit_key)
12841288
for unit_key in (CuratedClustering.Unit & key).fetch("KEY")

element_array_ephys/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
"""Package metadata."""
2-
__version__ = "0.2.6"
2+
__version__ = "0.2.7"

0 commit comments

Comments
 (0)