| Literature DB >> 35277528 |
Xing Chen1, Aitor Morales-Gregorio2,3, Julia Sprenger2,4,5, Alexander Kleinjohann2,4, Shashwat Sridhar2,4, Sacha J van Albada2,3, Sonja Grün2,4, Pieter R Roelfsema6,7,8.
Abstract
Co-variations in resting state activity are thought to arise from a variety of correlated inputs to neurons, such as bottom-up activity from lower areas, feedback from higher areas, recurrent processing in local circuits, and fluctuations in neuromodulatory systems. Most studies have examined resting state activity throughout the brain using MRI scans, or observed local co-variations in activity by recording from a small number of electrodes. We carried out electrophysiological recordings from over a thousand chronically implanted electrodes in the visual cortex of non-human primates, yielding a resting state dataset with unprecedentedly high channel counts and spatiotemporal resolution. Such signals could be used to observe brain waves across larger regions of cortex, offering a temporally detailed picture of brain activity. In this paper, we provide the dataset, describe the raw and processed data formats and data acquisition methods, and indicate how the data can be used to yield new insights into the 'background' activity that influences the processing of visual information in our brain.Entities:
Mesh:
Year: 2022 PMID: 35277528 PMCID: PMC8917124 DOI: 10.1038/s41597-022-01180-1
Source DB: PubMed Journal: Sci Data ISSN: 2052-4463 Impact factor: 6.444
Fig. 1(a) Photograph of the implant, consisting of a 1024-channel cranial pedestal connected to 16 Utah arrays. The base of the titanium pedestal was customized to fit precisely on the surface of the skull, as measured with a CT scan. (b) The references wires were located on alternating arrays (array numbers 1, 3, 5, 7, 9, 11, 13, and 15) and ran alongside the wire bundle before emerging several millimetres before the point of connection between the wire bundle and the array. (c) Location of implantation of every array in the visual cortex in monkey L. Two arrays were implanted in V4, and 14 arrays were implanted in V1, in each monkey.
Fig. 2(a) Numbering of the 16 arrays that were implanted in the visual cortex. LS: lunate sulcus. STS: superior temporal sulcus. The yellow dot on each array indicates the side on which the wire bundle exits the array. Right: Numbering of channels on each array, as viewed from the top of the array after implantation, rotated 90 degrees CCW relative to the left panel. (b–e) RF map, showing the coordinates of the V1 (b,c) and V4 (d,e) RF centres for channels with an SNR of more than 2 for each condition (N = 893 and 679 in monkeys L and A, respectively). Channels are colour-coded by array number, using the same colour code as in a. The receptive fields are located in the lower-right quadrant of the visual field.
Fig. 3(a) Illustration of the task used to measure visually evoked responses and calculate SNRs. 1: The monkey initiates the trial by fixating on a red spot at the centre of the screen. 2: After 400 ms, a checkerboard stimulus is presented. The monkey is required to maintain fixation throughout stimulus presentation, which lasts for 400 ms. 3: The monkey receives a reward upon stimulus offset. Event codes (as recorded in the.nev files) are shown between brackets; e.g. stimulus onset is encoded by the value ‘2.’ (b) Illustration of the RF mapping task. 1: The monkey initiates the trial by fixating on a red spot at the centre of the screen. 2: After 200 ms, a bar stimulus is presented, which moves in one of the four cardinal directions (yellow arrow). The monkey is required to maintain fixation throughout stimulus presentation, which lasts for 1000 ms. 3: The monkey receives a reward upon stimulus offset.
Overview of datasets and sessions.
| Monkey | Task type | Recording day (dd/mm/yyyy) | Duration | Good channels (SNR > = 2) | |
|---|---|---|---|---|---|
| A | Resting state | 14/08/2019 | 32 min 34 s | — | |
| 15/08/2019 | 38 min 17 s | — | |||
| 16/08/2019 | 42 min 0 s | — | |||
| SNR | 04/10/2018(*) | 2 min 37 s | 899 | ||
| 14/08/2019 | 4 min 54 s | 359 | |||
| 15/08/2019 | 3 min 54 s | 416 | |||
| 16/08/2019 | 4 min 12 s | 379 | |||
| RF | Large bars | 28/08/2018 | 18 min 35 s | 769(**) | |
| Small bars | 29/08/2018 | 10 min 42 s | 931(**) | ||
| L | Resting state | 25/07/2017 | 22 min 42 s | — | |
| 9/08/2017 | 22 min 0 s | — | |||
| 10/08/2017 | 21 min 37 s | — | |||
| SNR | 25/07/2017 | 1 min 36 s | 981 | ||
| 9/08/2017 | 1 min 35 s | 977 | |||
| 10/08/2017 | 1 min 58 s | 992 | |||
| RF | Large bars | 26/06/2017 | 33 min 43 s | 957(**) | |
| Small bars | 28/06/2017 | 31 min 47 s | 821(**) | ||
Channel quality is based on the SNR. For each resting state session, an SNR session was collected on the same day to provide a measure of signal quality. *Extra SNR session, which was collected at an earlier period in time than the other SNR sessions, and which does not have a matching resting state session. **Channel quality in the RF datasets is considered to be good if the channel showed an SNR > = 2 for any sweeping bar direction.
List of Matlab scripts used for experimental control and stimulus presentation, with script names and descriptions.
| Task | Script name | Description |
|---|---|---|
| Resting state | sync_pulse_resting_state.m | Sending of sync pulses to eight NSPs for post-hoc alignment of raw data. |
| SNR | runstim_CheckSNR.m | Presentation of full-screen checkerboard stimuli to elicit visually evoked responses. |
| RF | runstim_RF_barsweep_stimcondition1.m | Presentation of small sweeping bar stimuli to carry out RF mapping on channels where RFs were close to fixation. |
| runstim_RF_barsweep_stimcondition2.m | Presentation of large sweeping bar stimuli to carry out RF mapping on channels where RFs were further from fixation. | |
The experimental control scripts are highly specific to the hardware and are not designed to run without the equipment. We provide the scripts for completeness.
Fig. 4Overview of devices and the total number of units (shown in parentheses) used to obtain, process and store data. Boxes represent individual devices/systems and arrows show the direction of signal transmission between the devices. Note that pairs of Utah arrays ultimately connect to a single neural signal processor (NSP), giving rise to a total of 8 parallel connection pathways. The apparatus and connections for the first connection pathway (i.e. for the first pair of Utah arrays) are shown in detail, while those for the other 7 pathways (for arrays 3 to 16) are depicted in condensed form. Pupil size and position are only recorded on NSP #1, and are not sent to the other 7 NSPs.
Relation between bit identity that is sent by the stimulus control computer, the event that is encoded in the events file (.nev) by the NSPs, and the trial-related event that occurred at the moment that the bit was set to ‘high’.
| Bit | NEV encoding | Interpretation | |||
|---|---|---|---|---|---|
| Resting state | SNR | RF | |||
| Cond | Description | ||||
| 0 | 1 | Sync pulse | — | — | — |
| 1 | 2 | Stimulus onset | — | Stimulus onset | |
| 2 | 4 | Stimulus offset | — | Reward delivery | |
| 3 | 8 | Reward delivery | 1 | Rightward sweeping bar | |
| 4 | 16 | — | 2 | Upward sweeping bar | |
| 5 | 32 | 3 | Leftward sweeping bar | ||
| 6 | 64 | 4 | Downward sweeping bar | ||
| 7 | 128 | — | — | ||
Note that only a single bit is activated at each point in time. The resulting decimal code is 2^N, where N is the identity of the active bit/pin.
List of Matlab, Snakemake and Python scripts used for data processing and technical validation, with script names and descriptions.
|
| ||
|---|---|---|
| Task | Script name | Description |
| All except impedance data | align_ns6_nev.m | Temporal alignment of raw neuronal data across the NS6 files that are generated by the eight NSPs. |
| Resting state | generate_processed_resting_state.m | Extraction of MUAe and LFP data from the aligned NS6 files. |
| SNR | analyse_CheckSNR2.m | Extraction of MUAe data from raw NS6 files, and calculation of signal-to-noise ratio of visually evoked responses. |
| RF | analyse_RF_barsweep.m | Extraction of MUAe data from raw NS6 files, to identify the peak responses to sweeping bar stimuli. |
| analyse_RF_barsweep_coordinates.m | Calculation of RF properties using MUAe data. | |
| combine_best_RF_sessions.m | Combination of RF data across two sessions, in which different types of bar stimuli were presented. | |
| plot_all_RFs_resting_state.m | Generates figures showing the RF centres across all the channels. | |
| - | impedance_plotter.m | Compile impedance measurements across all NSPs. |
|
| ||
|
|
| |
| Snakefile | Main workflow file, executes all other scripts to generate the processed data and figures. | |
| environment.yaml | Conda environment file. Contains full list of all Snakemake and Python dependencies. Can be used to recreate the Conda environment that was used to run the workflow. | |
|
| ||
|
|
|
|
| All | calculate_LFP.py | Calculates the LFP signal from a given array, annotates it with the corresponding metadata and saves it as one .nix file per array. |
| calculate_MUA.py | Calculates the MUAe signal from a given array, annotates it with the corresponding metadata and saves it as a .nix file per array. | |
| utils.py | Several utility functions for the handling of metadata and annotation that are used by the other scripts. | |
| initialize_odml_from_xls.py | Creates a template .odml metadata file that contains the information of the experimental setup and specific subject. | |
| enrich_odml_IDs.py | Incorporates subject specific electrode IDs to the template .odml metadata file. | |
| enrich_odml_epochs.py | Includes subject and trial specific epoch/trial metadata such as the recording length, number of epochs (open or closed eyes in resting state sessions) or number of successful/failed trials (in SNR and RF tasks), as well as their timing and duration. | |
| SNR & RF | generate_trial_csv.py | Generates a .csv file containing the trial start times, durations, conditions and whether they were successful. This .csv file is used by the enrichment scripts to incorporate this metadata into the .odml format. |
| merge_csv.py | Utility function that merges a list of .csv files. Used to merge metadata.csv files from RF and SNR values from all different arrays into one. | |
| SNR | calculate_SNR.py | Calculates the signal-to-noise ratio (SNR) from the MUAe.nix data of a checkerboard stimulus session and saves it as a .csv file, along the response amplitude, response onset and baseline specifications. |
| arrayplot_SNR.py | Creates the plots in Figure | |
| arrayplot_response_timing.py | Creates the plots in Figure | |
| finalize_odml_SNR.py | Aggregates all metadata for a given SNR session and creates the final.odml. | |
| RF | calculate_RF.py | Calculates the receptive field (RF) responses from the MUA.nix files of a corresponding session and generates a .csv file with RF centers, edges, signal-to-noise ratios and the goodness of the Gaussian fit. |
| combine_RF.py | Combines the large and small bar receptive field (RF) responses into a single metadata file by selecting the best arrays from each session. | |
| finalize_odml_RF.py | Aggregates all metadata for a given RF session and creates the final .odml. The combined RF metadata are used for both large and small bar RF sessions. | |
| Resting state | eyesig_conversion_and_epochs.py | Converts the eye signals from .mat to .nix and estimates when the eyes were open or closed from the pupil diameter. The estimated epochs are save as.csv files. |
| eye_epochs_plot.py | Creates the plots in Fig. | |
| finalize_odml_RS.py | Aggregates the corresponding SNR and RF values to the metadata of a resting state session and creates the final .odml. SNR values from the same day and combined RF values are used. | |
| Cross-talk removal | highpass_ns6.py | Filters the raw data for extraction of threshold crossings. This file is found in the signal processing folder, but only used for cross-talk removal. |
| get_thr_crossings_mpi.py | Extracts threshold crossings from filtered raw signal. | |
| count_synchrofacts.py | Estimates the presence of synchrofacts by creating complexity histograms from the threshold crossings and surrogates. | |
| systematic_removal_of_electrodes.py | Removal of electrodes with highest above-chance synchronous events and plotting of the synchrofact process. | |
| utils.py | Utility functions for cross-talk removal. | |
Fig. 5Data pre-processing diagram. Top: Processing steps for the three datasets, leading to the output data and metadata files. Snippets of the full data are depicted for illustrative purposes. Data alignment precedes the processing steps shown here. Bottom: Integration of metadata into a hierarchical odML file. Metadata were both externally collected (recording apparatus, subject-specific metadata, etc.) and calculated from the recordings (eye signal epochs, RF, SNR). All metadata are integrated into a single odML file per session.
Fig. 6Overview of pupil diameter during an example resting state session, for each monkey. (a,d) Traces showing the pupil diameter, the state of the eye (‘open’ or ‘closed’) and the mean MUAe from the highest-SNR electrode array. The Pearson correlation between the eye state and MUAe is also shown. (b,e) Percentage of time spent with eyes open and closed. (c,f) Bar plot of the duration of time segments that were spent in each state, ordered by duration (segments shorter than 100 ms are likely to be eye blinks and are not shown). Colour coding is identical for all panels.
Fig. 7(a,c,e) Channel signal-to-noise ratio (SNR) from an example session for each monkey, shown on a stylized schematic of the arrays on the cortex. Channels with SNR values < 2 are marked with an ‘X’. Top: histogram showing the distribution of SNR values and pie plot showing the proportion of electrodes with SNR > 2. (b,d,f) Stimulus-evoked response timing of two sample SNR sessions, measured as the time at which the trial-averaged MUAe signal exceeds 2 SDs of the baseline (300 ms prior to stimulus onset) for at least 5 consecutive time steps (5 ms in the 1-kHz sampling of MUAe signals). Channels that exhibited a response too early (<20 ms) or too late (>150 ms), or had no response at all, are shown in gray (these channels often had SNR <2). Panels (a,b) show data from session L_SNR_090817 in monkey L; (c,d) from session A_SNR_150817 in monkey A; and (e,f) from session A_SNR_041018 in monkey A. Note that the resting state data in monkey A were recorded several months after surgical implantation of the electrodes, by which time the data quality had decreased (c,d). Hence, we provide an additional, stand-alone checkerboard stimulation dataset, session A_SNR_041018 (e,f) which was obtained at an earlier date (when the SNR was high on the majority of channels) and does not have a matching resting state session.
Metadata and their file formats.
|
| |||
|---|---|---|---|
| Format | File naming convention | Number of files | Description |
| .xls | equipment_specifications.xls | 1 | List of all hardware used in the recording of the neuronal data. |
| subject_ | 1 per subject | Subject specifications, such as species, age, initial, surgical procedures and training status. | |
| .csv | channel_area_mapping_ | 1 per subject | Mapping of channels across array based (1 to 64), NSP based (1 to 128) and global indexing (1 to 1024). |
| approximate_array_positions_ | 1 per subject | Approximate relative position of arrays with respect to array 1, and their rotation. Used for plotting. | |
| elec_position_in_array.csv | 1 | Position of electrodes within an array relative to the centre of the array. Used for plotting. | |
|
| |||
|
|
|
|
|
| .txt | impedance_NSP | 8 per impedance session | Electrode impedance values, measured at 1 kHz. |
| .mat | impedanceAllChannels_ | 1 per impedance session | Impedance data files containing the impedance values for each of the channels. |
| .csv | 1 per resting state session | List of electrodes to be removed due to crosstalk. | |
|
| |||
|
|
|
|
|
| .ccf | NSP | 8 per session | Blackrock configuration files for the NSPs. |
| .csv | epochs_ | 1 per session | Metadata on the different epochs during the recording session. For SNR and RF the trial onset, duration and success is registered. In resting state sessions whether the eyes were open or closed is indicated. |
|
| |||
|
|
|
|
|
| .csv | NSP | 16 per SNR session | SNR values, along with baseline mean and SD, peak response and neuronal response latency. The global electrode ID (1 to 1024) is provided to identify the electrodes. |
| full_SNR.csv | 1 per SNR session | A merged version of all NSP | |
|
| |||
|
|
|
|
|
| .csv | NSP | 16 per RF session | SNR values, RF edges, and RF centre coordinates. |
| fullRF.csv | 1 per RF session | A merged version of all NSP | |
|
| |||
|
|
|
|
|
| .odml | metadata_ | 1 per session | A compiled file of all the metadata for a given session. |
In the naming conventions, ‘X’ represents the NSP number (1 to 8), ‘Y’ represents the array number (1 to 16), ‘SUBJ’ represents the subject name (L or A), ‘TASK’ refers to the task codename (resting state, SNR or RF), and ‘DDMMYY’ is the date of the corresponding session.
Available neuronal and eye signal data files.
| Format | File naming convention | Number of files | Description |
|---|---|---|---|
| .ns6 | NSP | 8 per session | Temporally aligned raw neuronal data files. The length of the data segments is the same across NSPs. |
| .nev | NSP | 8 per session | Temporally aligned event data files. The duration is the same as in the NS6 files. |
| NSP | 8 per session | Raw event data files. The duration is the same as in the NS6 files. | |
| .mat | aligned_eye_data.mat | 1 per resting state session | Eye position in horizontal (X) and vertical (Y) coordinates, and pupil diameter in horizontal (X) and vertical (Y) coordinates. Recorded with a sampling rate of 30 kHz, aligned with the neuronal data. |
| .nix | aligned_eye_data.nix | 1 per resting state session | Eye position in horizontal (X) and vertical (Y) coordinates, and pupil diameter in horizontal (X) and vertical (Y) coordinates. Recorded with a sampling rate of 30 kHz, aligned with the neuronal data. The file includes all relevant metadata in the form of annotation dictionaries. |
| .mat | NSP | 16 per session | Temporally aligned MUAe neuronal data files, with a sampling rate of 1 kHz. |
| .nix | NSP | 16 per session | Temporally aligned MUAe neuronal data files, with a sampling rate of 1 kHz. The file includes all relevant metadata in the form of annotation dictionaries and event epochs. |
| .mat | NSP | 16 per session | Temporally aligned LFP neuronal data files, with a sampling rate of 500 Hz. |
| .nix | NSP | 16 per session | Temporally aligned LFP neuronal data files, with a sampling rate of 500 Hz. The file includes all relevant metadata in the form of annotation dictionaries and event epochs. |
In the naming conventions, ‘X’ represents the NSP number (1 to 8) and ‘Y’ represents the array number (1 to 16).
Fig. 8Detection and removal of high-frequency synchronous events. All plots display data from a single resting state session (L_RS_250717), which was the session with the most cross talk. (a) Raw signal of a sample synchrofact (complexity = 30). (b) Above-chance part of the complexity histogram for the original data (black) and after removing 150 electrodes with the highest synchrofact participation (SP, green). (c) Scatterplot of SP of each electrode versus firing rate (FR, calculated as threshold crossings per second). Each point represents a single electrode. As shown by the absence of a positive correlation, the SP was not biased by the FR, due to our method of normalising the SP by the total number of synchronous events. (d) Synchrofact participation of each electrode in the original data (prior to removal of 150 electrodes with high SP). Crosses (X) indicate electrodes with SNR < 2 and hyphens (−) indicate electrodes with FR < 0.1; these electrodes were excluded from the cross-talk analysis. (e) For the remaining electrodes, those with a high SP were systematically removed, accompanied by a decrease in the largest SP that was observed across the remaining electrodes. (f) SP of each electrode after the removal of 150 electrodes with high SP; removed electrodes are indicated by a circle (O). (c) (d) and (f) use the same colour map.
| Measurement(s) | brain activity measurement • eye movement |
| Technology Type(s) | extracellular electrophysiology recording • multi-electrode array system • infrared camera |
| Factor Type(s) | visual stimulation |
| Sample Characteristic - Organism | Macaca mulatta |