From ca1d69bdd1357e5bb6a14bf1515e7fc1b4b569fa Mon Sep 17 00:00:00 2001 From: Horea Christian Date: Mon, 11 Mar 2024 22:34:03 -0400 Subject: [PATCH 1/2] Added BEP032 example dataset Co-authored-by: Julia Sprenger --- ephys_BEP032/README.md | 3 +++ ephys_BEP032/dataset_description.json | 10 ++++++++++ ephys_BEP032/participants.tsv | 3 +++ ephys_BEP032/samples.json | 8 ++++++++ ephys_BEP032/samples.tsv | 6 ++++++ .../ephys/sub-20220101A_channels.tsv | 3 +++ .../ephys/sub-20220101A_contacts.tsv | 3 +++ .../ephys/sub-20220101A_ephys.json | 19 +++++++++++++++++++ .../ephys/sub-20220101A_ephys.nwb | 0 .../ephys/sub-20220101A_events.json | 11 +++++++++++ .../ephys/sub-20220101A_events.tsv | 5 +++++ .../ephys/sub-20220101A_probes.tsv | 3 +++ .../sub-20220101A/sub-20220101A_scans.tsv | 2 ++ .../ephys/sub-20220101B_channels.tsv | 4 ++++ .../ephys/sub-20220101B_contacts.tsv | 4 ++++ .../ephys/sub-20220101B_ephys.json | 19 +++++++++++++++++++ .../ephys/sub-20220101B_ephys.nwb | 0 .../ephys/sub-20220101B_events.json | 11 +++++++++++ .../ephys/sub-20220101B_events.tsv | 5 +++++ .../ephys/sub-20220101B_probes.tsv | 3 +++ .../sub-20220101B/sub-20220101B_scans.tsv | 2 ++ 21 files changed, 124 insertions(+) create mode 100644 ephys_BEP032/README.md create mode 100644 ephys_BEP032/dataset_description.json create mode 100644 ephys_BEP032/participants.tsv create mode 100644 ephys_BEP032/samples.json create mode 100644 ephys_BEP032/samples.tsv create mode 100644 ephys_BEP032/sub-20220101A/ephys/sub-20220101A_channels.tsv create mode 100644 ephys_BEP032/sub-20220101A/ephys/sub-20220101A_contacts.tsv create mode 100644 ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json create mode 100644 ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.nwb create mode 100644 ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.json create mode 100644 ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.tsv create mode 100644 ephys_BEP032/sub-20220101A/ephys/sub-20220101A_probes.tsv create mode 100644 ephys_BEP032/sub-20220101A/sub-20220101A_scans.tsv create mode 100644 ephys_BEP032/sub-20220101B/ephys/sub-20220101B_channels.tsv create mode 100644 ephys_BEP032/sub-20220101B/ephys/sub-20220101B_contacts.tsv create mode 100644 ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json create mode 100644 ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.nwb create mode 100644 ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.json create mode 100644 ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.tsv create mode 100644 ephys_BEP032/sub-20220101B/ephys/sub-20220101B_probes.tsv create mode 100644 ephys_BEP032/sub-20220101B/sub-20220101B_scans.tsv diff --git a/ephys_BEP032/README.md b/ephys_BEP032/README.md new file mode 100644 index 000000000..ac03d175f --- /dev/null +++ b/ephys_BEP032/README.md @@ -0,0 +1,3 @@ +# Dataset Description + +Example dataset for BEP032 ( https://gin.g-node.org/NeuralEnsemble/BEP032-examples ) diff --git a/ephys_BEP032/dataset_description.json b/ephys_BEP032/dataset_description.json new file mode 100644 index 000000000..010da1885 --- /dev/null +++ b/ephys_BEP032/dataset_description.json @@ -0,0 +1,10 @@ +{ + "LICENCE": "CC-by 4.0", + "Name": "Toy example dataset for patchclamp recordings in BIDS", + "BIDSVersion": "1.0.X", + "License": "CC BY 4.0", + "Authors": [ + "Sprenger, Julia", + "Takerkart, Sylvain" + ] +} diff --git a/ephys_BEP032/participants.tsv b/ephys_BEP032/participants.tsv new file mode 100644 index 000000000..b0739d627 --- /dev/null +++ b/ephys_BEP032/participants.tsv @@ -0,0 +1,3 @@ +subject_id species strain sex age +sub-20220101A rattus norvegicus C57BL/6J male 30 +sub-20220101B rattus norvegicus C57BL/6J female 30 diff --git a/ephys_BEP032/samples.json b/ephys_BEP032/samples.json new file mode 100644 index 000000000..901fdbc56 --- /dev/null +++ b/ephys_BEP032/samples.json @@ -0,0 +1,8 @@ +{ + "sample_type": { + "Description": "type of sample from ENCODE Biosample Type (https://www.encodeproject.org/profiles/biosample_type)", + }, + "derived_from": { + "Description": "sample_id from which the sample is derived" + } +} diff --git a/ephys_BEP032/samples.tsv b/ephys_BEP032/samples.tsv new file mode 100644 index 000000000..0c0f4d825 --- /dev/null +++ b/ephys_BEP032/samples.tsv @@ -0,0 +1,6 @@ +sample_id sample_type participant_id derived_from +sample-tissue01 tissue sub-20220101A n/a +sample-cell001 in vitro differentiated cells sub-20220101A sample-tissue01 +sample-tissue02 tissue sub-20220101B n/a +sample-cell002 in vitro differentiated cells sub-20220101B sample-tissue02 +sample-cell003 in vitro differentiated cells sub-20220101B sample-tissue02 diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_channels.tsv b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_channels.tsv new file mode 100644 index 000000000..63d033204 --- /dev/null +++ b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_channels.tsv @@ -0,0 +1,3 @@ +channel_id contact_id gain type unit samping_frequency sampling_frequency_unit channel_name hardware_filters recording_mode +chan-01 con-01 20 CAT mV 30000 Hz attached patch LP_filter_1 current clamp +chan-02 con-02 50 PP mV 50000 Hz perforated patch LP_filter_2 current clamp diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_contacts.tsv b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_contacts.tsv new file mode 100644 index 000000000..390134491 --- /dev/null +++ b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_contacts.tsv @@ -0,0 +1,3 @@ +contact_id probe_id x y z physical_unit impedance impedance_unit contact_size contact_shape material location pipette_solution internal_pipette_diameter external_pipette_diameter +con-01 probe-0234 0 0 0 um 5 GOhm 3 circular glass cortical layer 3 5% NaCl 2 4 +con-02 probe-0235 0 0 0 um 6.9 GOhm 4 circular glass cortical layer 3 5% NaCl 2 4 diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json new file mode 100644 index 000000000..47b97d756 --- /dev/null +++ b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json @@ -0,0 +1,19 @@ +{ + "InstitutionName": "Institute XY", + "Location": "Somewhere on the globe", + "PowerLineFrequency": 50, + "SamplingFrequency": 30000, + "SamplingFrequencyUnit": "Hz", + "Maintainer": "Charly C", + "SoftwareFilters": { + "LP_filter_1":{ + "Half amplitude cutoff(Hz)": 0.0159, + "Roll-off":"6dB/Octave" + }, + "LP_filter_2":{ + "Half amplitude cutoff(Hz)": 0.1159, + "Roll-off":"9 dB/Octave" + } + } + } +} diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.nwb b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.nwb new file mode 100644 index 000000000..e69de29bb diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.json b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.json new file mode 100644 index 000000000..fae130d43 --- /dev/null +++ b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.json @@ -0,0 +1,11 @@ +{ + "stim_type": { + "Description": "type of the stimulation (square pulse, sinusoid, ...)", + }, + "stim_unit": { + "Description": "physical unit of the stimulation" + }, + "stim_amplitude": { + "Description": "physical amplitude of the stimulation" + } +} diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.tsv b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.tsv new file mode 100644 index 000000000..79acd5d26 --- /dev/null +++ b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_events.tsv @@ -0,0 +1,5 @@ +onset duration trial_type data_entity_id channel_id sample_id response_time stim_type stim_unit stim_amplitude +1.23 0.65 start 62342cc5-fe7d-4eca-b702-404f9e7f2ccd chan-01 sample-cell001 1.435 square pulse 1 mV +5.65 0.65 stop 3aca136f-0851-4eb4-bb37-2070b9745537 chan-02 sample-cell001 1.739 square pulse 5 mV +6.21 0.65 start cd16b031-5288-42f5-9a7f-17de24eb1004 chan-01 sample-cell001 2.43 square pulse 10 uA +15.65 0.65 stop b35b9e87-d232-4cb3-9d6a-f8797c859c83 chan-02 sample-cell001 5.68 square pulse 45 uA diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_probes.tsv b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_probes.tsv new file mode 100644 index 000000000..eb65974f2 --- /dev/null +++ b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_probes.tsv @@ -0,0 +1,3 @@ +probe_id type x y z xyz_position_unit coordinate_space coordinate_reference_point contact_count height dimension_unit +probe-0234 pipette 4 3 2 um sample cortical surface 1 5 cm +probe-0235 pipette 4 3 1 um sample cortical surface 1 5 cm diff --git a/ephys_BEP032/sub-20220101A/sub-20220101A_scans.tsv b/ephys_BEP032/sub-20220101A/sub-20220101A_scans.tsv new file mode 100644 index 000000000..9592ba248 --- /dev/null +++ b/ephys_BEP032/sub-20220101A/sub-20220101A_scans.tsv @@ -0,0 +1,2 @@ +filename acq_time +ephys/sub-20220101A_ephys.nwb 2022-01-01T10:00:00 diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_channels.tsv b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_channels.tsv new file mode 100644 index 000000000..6131d8760 --- /dev/null +++ b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_channels.tsv @@ -0,0 +1,4 @@ +channel_id contact_id gain type unit samping_frequency sampling_frequency_unit channel_name hardware_filters recording_mode +chan-01 con-01 20 WCP mV 30000 Hz whole cell patch LP_filter_1 current clamp +chan-02 con-02 15 CAT mV 30000 Hz cell attached patch LP_filter_2 current clamp + diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_contacts.tsv b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_contacts.tsv new file mode 100644 index 000000000..358f10765 --- /dev/null +++ b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_contacts.tsv @@ -0,0 +1,4 @@ +contact_id probe_id x y z physical_unit impedance impedance_unit contact_size contact_shape material location pipette_solution internal_pipette_diameter external_pipette_diameter +con-01 probe-0236 0 0 0 um 5 GOhm 3 circular glass cortical layer 3 7% NaCl 2.5 4 +con-02 probe-0237 0 0 0 um 4.5 GOhm 2.8 circular glass cortical layer 3 8% NaCl 2.2 3.5 + diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json new file mode 100644 index 000000000..47b97d756 --- /dev/null +++ b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json @@ -0,0 +1,19 @@ +{ + "InstitutionName": "Institute XY", + "Location": "Somewhere on the globe", + "PowerLineFrequency": 50, + "SamplingFrequency": 30000, + "SamplingFrequencyUnit": "Hz", + "Maintainer": "Charly C", + "SoftwareFilters": { + "LP_filter_1":{ + "Half amplitude cutoff(Hz)": 0.0159, + "Roll-off":"6dB/Octave" + }, + "LP_filter_2":{ + "Half amplitude cutoff(Hz)": 0.1159, + "Roll-off":"9 dB/Octave" + } + } + } +} diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.nwb b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.nwb new file mode 100644 index 000000000..e69de29bb diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.json b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.json new file mode 100644 index 000000000..fae130d43 --- /dev/null +++ b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.json @@ -0,0 +1,11 @@ +{ + "stim_type": { + "Description": "type of the stimulation (square pulse, sinusoid, ...)", + }, + "stim_unit": { + "Description": "physical unit of the stimulation" + }, + "stim_amplitude": { + "Description": "physical amplitude of the stimulation" + } +} diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.tsv b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.tsv new file mode 100644 index 000000000..130f9bd8a --- /dev/null +++ b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_events.tsv @@ -0,0 +1,5 @@ +onset duration trial_id trial_type data_entity_id channel_id sample_id response_time stim_type stim_unit stim_amplitude +5 4 start d7614bcb-8f7d-43e6-879e-877bf227687c chan-01 sample-cell002 2.5 square pulse 3 mV +10 4 stop 0d6df00b-70c9-4785-bf0c-71a7acf39974 chan-01 sample-cell002 2.5 square pulse 3 mV +15 4 start 025c20fc-05e6-401a-9620-95b5e9c9b4bc chan-02 sample-cell003 3 square pulse 3.3 mV +20 4 stop 1fad915b-c2c6-46aa-9755-a7454805f6fc chan-02 sample-cell003 3 square pulse 3.3 mV diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_probes.tsv b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_probes.tsv new file mode 100644 index 000000000..a24179115 --- /dev/null +++ b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_probes.tsv @@ -0,0 +1,3 @@ +probe_id type x y z xyz_position_unit coordinate_space coordinate_reference_point contact_count height dimension_unit +probe-0236 pipette 2 4 1 um sample cortical surface 1 5 cm +probe-0237 pipette 2 4 0 um sample cortical surface 1 5 cm diff --git a/ephys_BEP032/sub-20220101B/sub-20220101B_scans.tsv b/ephys_BEP032/sub-20220101B/sub-20220101B_scans.tsv new file mode 100644 index 000000000..4f7226e85 --- /dev/null +++ b/ephys_BEP032/sub-20220101B/sub-20220101B_scans.tsv @@ -0,0 +1,2 @@ +filename acq_time +ephys/sub-20220101B_ephys.nwb 2022-01-01T15:00:00 From 669ff8b848c53afaaac65f3b6dbf4de6e807a005 Mon Sep 17 00:00:00 2001 From: Horea Christian Date: Fri, 15 Mar 2024 16:39:13 -0400 Subject: [PATCH 2/2] Fixed JSON, better indentation Co-authored-by: Yaroslav Halchenko --- .../ephys/sub-20220101A_ephys.json | 29 +++++++++---------- .../ephys/sub-20220101B_ephys.json | 29 +++++++++---------- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json index 47b97d756..ba20ea112 100644 --- a/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json +++ b/ephys_BEP032/sub-20220101A/ephys/sub-20220101A_ephys.json @@ -1,19 +1,18 @@ { - "InstitutionName": "Institute XY", - "Location": "Somewhere on the globe", - "PowerLineFrequency": 50, - "SamplingFrequency": 30000, - "SamplingFrequencyUnit": "Hz", - "Maintainer": "Charly C", - "SoftwareFilters": { - "LP_filter_1":{ - "Half amplitude cutoff(Hz)": 0.0159, - "Roll-off":"6dB/Octave" - }, - "LP_filter_2":{ - "Half amplitude cutoff(Hz)": 0.1159, - "Roll-off":"9 dB/Octave" - } + "InstitutionName": "Institute XY", + "Location": "Somewhere on the globe", + "PowerLineFrequency": 50, + "SamplingFrequency": 30000, + "SamplingFrequencyUnit": "Hz", + "Maintainer": "Charly C", + "SoftwareFilters": { + "LP_filter_1":{ + "Half amplitude cutoff(Hz)": 0.0159, + "Roll-off":"6dB/Octave" + }, + "LP_filter_2":{ + "Half amplitude cutoff(Hz)": 0.1159, + "Roll-off":"9 dB/Octave" } } } diff --git a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json index 47b97d756..ba20ea112 100644 --- a/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json +++ b/ephys_BEP032/sub-20220101B/ephys/sub-20220101B_ephys.json @@ -1,19 +1,18 @@ { - "InstitutionName": "Institute XY", - "Location": "Somewhere on the globe", - "PowerLineFrequency": 50, - "SamplingFrequency": 30000, - "SamplingFrequencyUnit": "Hz", - "Maintainer": "Charly C", - "SoftwareFilters": { - "LP_filter_1":{ - "Half amplitude cutoff(Hz)": 0.0159, - "Roll-off":"6dB/Octave" - }, - "LP_filter_2":{ - "Half amplitude cutoff(Hz)": 0.1159, - "Roll-off":"9 dB/Octave" - } + "InstitutionName": "Institute XY", + "Location": "Somewhere on the globe", + "PowerLineFrequency": 50, + "SamplingFrequency": 30000, + "SamplingFrequencyUnit": "Hz", + "Maintainer": "Charly C", + "SoftwareFilters": { + "LP_filter_1":{ + "Half amplitude cutoff(Hz)": 0.0159, + "Roll-off":"6dB/Octave" + }, + "LP_filter_2":{ + "Half amplitude cutoff(Hz)": 0.1159, + "Roll-off":"9 dB/Octave" } } }