Aitor Morales-Gregorio a.morales-gregorio@fz-juelich.de 51445b6649 Welcome to the V1-V4 resting state data repository | 2 years ago | |
---|---|---|
.. | ||
metadata_handling | 2 years ago | |
plotting | 2 years ago | |
signal_processing | 2 years ago | |
synchrofacts | 2 years ago | |
README.md | 2 years ago | |
Snakefile | 2 years ago | |
cluster.json | 2 years ago | |
configfile.yaml | 2 years ago | |
environment.yaml | 2 years ago | |
rulegraph.png | 2 years ago | |
run_snakemake.sh | 2 years ago |
This directory contains all python code used to preprocess the data. In particular related to the metadata handling and cross talk removal (exclusively in python).
Code dependencies are provided in the environment.yaml
file, including all packages and versions used. This file can be used to create a conda environment in your terminal:
conda env create -f environment.yaml
Which should create an environment named rs_data
, which can be activate with conda:
conda activate rs_data
Snakemake was used to create an executing workflow. Snakemake allows the creation of input-output dependencies. The rules contain specifications on the scripts that should be used and the environment where they should be executed, ensuring reproducible results. Snakemake also resolves the order of execution, based on the user specified dependencies. Also the different rule executions can be individually submitted as jobs into to a high performance computing (HPC) system. The following diagram shows the inter-dependencies of the rules used to process the data. An arrow shows an output to input dependency between different rules:
The code uses the data structures from python-neo and the files were saved to the NIX data format using the IO available in neo (NixIO). We provide an example on how to load a data file in a python script. Once the block
object has been loaded the data will be available in the neo format. See the neo core for an overview.
import neo
from neo import NixIO
# Load the data
with NixIO('path_to_the_file.nix', mode='ro') as io:
block = io.read_block()
# Finding the analog signals
anasig = block.segments[0].analogsignals
# Finding the task (or behaviour) epochs
epoch = block.segments[0].epochs[0]
The analogsignals
contain the data signal, the epochs
contain the event codes and times (useful to find the task trials or behavioural epochs). The analogsignals
are annotated (notice that there are both annotations
and array_annotations
) with some of the metadata, such as the electrode ID, position or the signal to noise ratio (SNR). Note that anasig
is a list:
# Print the annotations
print(anasig[0].annotations)
print(anasig[0].array_annotations)
The annotations
and array_annotations
are python dictionaries containing single values and arrays respectively.
All the metadata from the experiments is compiled into a single file in the open metadata markup language (odML). This is a hierarchical structure (based on XML) and can easily be loaded in python:
import odml
metadata = odml.load('path_to_metadata.odml')
The metadata file has several sections which can easily be accessed:
# List sections
print(metadata.sections)
All sections have their own properties, which is where the actual metadata is located:
# Access the properties of one of the sections
print(metadata['Arrays'].properties)
Navigate the metadata tree in a similar manner to nested dictionary objects:
# Get some metadata subsection
trials = metadata['Recording']['Trials']
# Get a property directly from the subsection
SNR_thresh = metadata['Recording'].properties['SNR_threshold'].values[0]
The metadata can also be viewed using the odml-ui graphical interface.
See the odML site for more information about handling the metadata files.
datacite.yml | |
---|---|
Title | 1024-channel electrophysiological recordings in macaque V1 and V4 during resting state |
Authors |
Chen,Xing;Department of Vision & Cognition, Netherlands Institute for Neuroscience, Meibergdreef 47, 1105 BA, Amsterdam, Netherlands;ORCID:0000-0002-3589-1750
Morales-Gregorio,Aitor;Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; and Institute of Zoology, University of Cologne, Cologne, Germany;ORCID:0000-0002-2403-928X Sprenger,Julia;Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; and Theoretical Systems Neurobiology, RWTH Aachen University, Aachen, Germany; and Institut de Neurosciences de La Timone, CNRS & Aix-Marseille University, Marseille, France;ORCID:0000-0002-9986-7477 Kleinjohann,Alexander;Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; and Theoretical Systems Neurobiology, RWTH Aachen University, Aachen, Germany;ORCID:0000-0003-3776-4226 Sridhar,Shashwat;Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; and Theoretical Systems Neurobiology, RWTH Aachen University, Aachen, Germany;ORCID:0000-0002-8837-8555 van Albada,Sacha;Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; and Institute of Zoology, University of Cologne, Cologne, Germany;ORCID:0000-0003-0682-4855 Grün,Sonja;Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; and Theoretical Systems Neurobiology, RWTH Aachen University, Aachen, Germany;ORCID:0000-0003-2829-2220 Roelfsema,Pieter;Department of Vision & Cognition, Netherlands Institute for Neuroscience, Meibergdreef 47, 1105 BA, Amsterdam, Netherlands; Department of Integrative Neurophysiology, VU University, De Boelelaan 1085, 1081 HV, Amsterdam, Netherlands; and Department of Psychiatry, Academic Medical Center, Postbus 22660, 1100 DD, Amsterdam, Netherlands;ORCID:0000-0002-1625-0034 |
Description | We provide electrophysiological recordings in Macaque V1 and V4 cortex with 16 Utah arrays in two subjects. |
License | CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) |
References |
Chen, X., Morales-Gregorio, A., Sprenger, J., Kleinjohann, A., Sridhar, S., van Albada, S. J., Grün, S., Roelfsema, P. R. (2022). 1024-channel electrophysiological recordings in macaque V1 and V4 during resting state. Scientific Data Vol. 9, Article 77. [doi::10.1038/s41597-022-01180-1] (IsDescribedBy)
Chen, X., Wang, F., Fernandez, E., Roelfsema, P. R. (2020). Shape perception via a high-channel-count neuroprosthesis in monkey visual cortex. Science Vol. 370, Issue 6521, pp. 1191-1196. [doi:10.1126/science.abd7435] (IsReferencedBy) |
Funding |
NWO, STW, P15-42
HBP, FPA (650003) EU, ERC, 339490 EU H2020 Framework Programme for Research and Innovation, HBP SGA2, 785907 EU H2020 Framework Programme for Research and Innovation, HBP SGA3, 945539 DFG, 368482240/RTG 2416 |
Keywords |
Electrophysiology
Local Field Potential Macaque Multiunit activity Neuroscience Resting state Synchrofact removal Utah Array Visual area 1 (V1) Visual area 4 (V4) Visual Cortex |
Resource Type |
Dataset |