Changes for page SGA2 SP3 UC002 KR3.2 - Slow Wave Analysis Pipeline
Last modified by robing on 2022/03/25 09:55
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -9,11 +9,11 @@ 9 9 10 10 Robin Gutzen^^1^^, Giulia De Bonis^^2^^, Elena Pastorelli^^2,3^^, Cristiano Capone^^2^^, 11 11 12 -Chiara De Luca^^2,3^^, Michael Denker^^1^^, Sonja Grün^^1^^, 12 +Chiara De Luca^^2,3^^, Michael Denker^^1^^, Sonja Grün^^1,4^^, 13 13 14 -Pier Stanislao Paolucci^^2^^, Andrew Davison^^ 4^^14 +Pier Stanislao Paolucci^^2^^, Andrew Davison^^5^^ 15 15 16 -Experiments: Anna Letizia Allegra Mascaro^^ 5,6^^, Francesco Resta^^5^^, Francesco Saverio Pavone^^5^^, Maria-Victoria Sanchez-Vives^^7,8^^16 +Experiments: Anna Letizia Allegra Mascaro^^6,7^^, Francesco Resta^^6^^, Francesco Saverio Pavone^^6^^, Maria-Victoria Sanchez-Vives^^8,9^^ 17 17 18 18 ,,1) 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,, 19 19 ... ... @@ -21,15 +21,17 @@ 21 21 22 22 ,,3) Ph.D. Program in Behavioural Neuroscience, “Sapienza” University of Rome, Rome, Italy,, 23 23 24 -,,4) Unité de Neurosciences, InformationetComplexité,Neuroinformatics Group,CNRSFRE3693, Gif-sur-Yvette,France,,24 +,,4) Theoretical Systems Neurobiology, RWTH Aachen University, Aachen, Germany,, 25 25 26 -,,5) EuropeanLaboratoryforNon-linearSpectroscopy (LENS), (% style="--darkreader-inline-color:inherit;color:inherit"%)UniversityofFlorence, Florence,Italy(%%),,26 +,,5) Unité de Neurosciences, Information et Complexité, Neuroinformatics Group, CNRS FRE 3693, Gif-sur-Yvette, France,, 27 27 28 -,,6) IstitutodiNeuroscienze,CNR,Pisa, Italy,,28 +,,6) European Laboratory for Non-linear Spectroscopy (LENS), (% style="--darkreader-inline-color:inherit; color:inherit" %)University of Florence, Florence, Italy(%%),, 29 29 30 -,,7) nstitut d’InvestigacionsBiomèdiquesAugust Pii Sunyer(IDIBAPS),Barcelona,Spain,,30 +,,7) Istituto di Neuroscienze, CNR, Pisa, Italy,, 31 31 32 -,,8) Institució Catalana de Recerca i Estudis Avanc ̨ats (ICREA), Barcelona, Spain,, 32 +,,8) Institut d’Investigacions Biomèdiques August Pi i Sunyer (IDIBAPS), Barcelona, Spain,, 33 + 34 +,,9) Institució Catalana de Recerca i Estudis Avanc ̨ats (ICREA), Barcelona, Spain,, 33 33 ))) 34 34 ))) 35 35 ... ... @@ -39,11 +39,8 @@ 39 39 ((( 40 40 == Flexible workflows to generate multi-scale analysis scenarios == 41 41 42 -This Collab is aimed at experimental and computational neuroscientists interested in the usage of the [[Neo>>https://neo.readthedocs.io/en/stable/]] and [[Elephant>>https://elephant.readthedocs.io/en/latest/]] tools in performing data analysis of spiking data. 43 -Here, the collab illustrates the tool usage with regards to the SGA2-SP3-UC002 KR3.2, investigating sleep, anesthesia, and the transition to wakefulness: see Chapter 1 and Figure 2 of SGA2[[ Deliverable D3.2.1.>>https://drive.ebrains.eu/smart-link/17ac0d6e-e050-4a49-8ca2-e223b70a3121/]], for an overview of the scientific motivations and a description of the UseCase workflow; Chapter 2 (same document) for an introduction to KR3.2; Chapter 3, for a description of the mice ECoG data sets; Chapter 5, about the Slow Wave Analysis Pipeline and Chapter 6 for the mice wide-field GECI data) 44 +This collab illustrates the usage of the [[Neo>>https://neo.readthedocs.io/en/stable/]] and [[Elephant>>https://elephant.readthedocs.io/en/latest/]] tools in performing data analysis with regards to the SGA2-SP3-UC002 KR3.2, investigating sleep, anesthesia, and the transition to wakefulness: see Chapter 1 and Figure 2 of SGA2[[ Deliverable D3.2.1.>>https://drive.ebrains.eu/smart-link/17ac0d6e-e050-4a49-8ca2-e223b70a3121/]], for an overview of the scientific motivations and a description of the UseCase workflow; Chapter 2 (same document) for an introduction to KR3.2; Chapter 3, for a description of the mice ECoG data sets; Chapter 5, about the Slow Wave Analysis Pipeline and Chapter 6 for the mice wide-field GECI data). For details on the datasets used in this collab, please see the References below. 44 44 45 -[[image:https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png||height="35" width="35"]][[INM-6/wavescalephant>>https://github.com/INM-6/wavescalephant]] 46 - 47 47 == How the pipeline works == 48 48 49 49 The design of the pipeline aims at interfacing a variety of general and specific analysis and processing steps in a flexible modular manner. Hence, it enables the pipeline to adapt to diverse types of data (e.g., electrical ECoG, or optical Calcium Imaging recordings) and to different analysis questions. This makes the analyses a) more reproducible and b) comparable amongst each other since they rely on the same stack of algorithms and any differences in the analysis are fully transparent. ... ... @@ -71,26 +71,24 @@ 71 71 In another browser tab, open [[https:~~/~~/lab.ebrains.eu>>https://lab.ebrains.eu]] 72 72 73 73 * **Edit the config files** 74 -Each stage has aconfig file (//pipeline/<stage_name>/config.yaml//) to specify which analysis/processing blocks to execute and which parameters to use. General and specific information about the blocks and parameters can be found in the README and config files of each stage. Thedefaultvaluesareanexampledataset (ECoG, anesthetized mouse, [[IDIBAPS>>https://kg.ebrains.eu/search/?facet_type[0]=Dataset&q=sanchez-vives#Dataset/2ead029b-bba5-4611-b957-bb6feb631396]]]).73 +Each stage has config files (//pipeline/<stage_name>/configs/config_<profile>.yaml//) to specify which analysis/processing blocks to execute and which parameters to use. General and specific information about the blocks and parameters can be found in the README and config files of each stage. There are preset configuration profiles for the benchmark datasets IDIBAPS ([[ECoG, anesthetized mouse>>https://kg.ebrains.eu/search/?facet_type[0]=Dataset&q=sanchez-vives#Dataset/2ead029b-bba5-4611-b957-bb6feb631396]]) and LENS ([[Calcium Imaging, anesthetized mouse>>https://kg.ebrains.eu/search/instances/Dataset/71285966-8381-48f7-bd4d-f7a66afa9d79]]). 75 75 76 76 * **Run the notebook** 77 77 In the jupyter hub, navigate to //drive/My Libraries/My Library/pipeline/showcase_notebooks/run_snakemake_in_collab.ipynb//, or where you copied the //pipeline// folder to. 78 -Follow the notebook to install the required packages into your Python kernel, set the output path, and execute the pipeline with snakemake. 79 - 80 -* **Coming soon** 81 -** Use of KnowledgeGraph API 82 -** Provenance Tracking 83 -** HPC support 77 +Follow the notebook to install the required packages into your Python kernel, set the output path, and execute the pipeline with snakemake 84 84 85 85 === ii) Local execution === 86 86 81 +//tested only with Linux!// 82 + 87 87 * **Get the code** 88 -The source code of the pipeline is available via Github: [[INM-6/wavescalephant>>https://github.com/INM-6/wavescalephant]] and can be cloned to your machine ([[how to 84 +The source code of the pipeline is available via Github: [[INM-6/wavescalephant>>https://github.com/INM-6/wavescalephant]] and can be cloned to your machine ([[how to get started with Github>>https://guides.github.com/activities/hello-world/]]). 89 89 90 90 * ((( 91 91 **Build the Python environment** 92 -In the wavescalephant git repository, there is an environment file ([[pipeline/envs/wavescalephant_env.yml>>https://drive.ebrains.eu/lib/905d7321-a16b-4147-8cca-31d710d1f946/file/pipeline/envs/wavescalephant_env.yml]]) specifying the required packages and versions. To build the environment, we recommend using conda ([[how to get started with conda>>https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html]]). 93 -##conda env create ~-~-file /envs/wavescalephant_env.yml## 88 +In the wavescalephant git repository, there is an environment file ([[pipeline/environment.yaml>>https://drive.ebrains.eu/smart-link/1a0b15bb-be87-46ee-b838-4734bc320d20/]]) specifying the required packages and versions. To build the environment, we recommend using conda ([[how to get started with conda>>https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html]]). 89 +##conda env create ~-~-file environment.yaml 90 +conda activate wavescalephant_env## 94 94 95 95 ))) 96 96 * **Edit the settings** ... ... @@ -97,14 +97,14 @@ 97 97 The settings file specifies the path to the output folder, where results are saved to. Open the template file //[[pipeline/settings_template.py>>https://drive.ebrains.eu/lib/905d7321-a16b-4147-8cca-31d710d1f946/file/pipeline/settings_template.py]]//, set the ##output_path## to the desired path, and save it as //pipeline/settings.py//. 98 98 99 99 * **Edit the config files** 100 -Each stage has97 +Each stage uses a config file to specify which analysis/processing blocks to execute and which parameters to use. Edit the config template files //pipeline/stageXX_<stage_name>/configs/config_template.yaml// according to your dataset and analysis goal, and save them as //pipeline/stageXX_<stage_name>/configs/config_<profile>.yaml//. A detailed description of the available parameter settings and their meaning is commented in the template files, and a more general description of the working mechanism of each stage can be found in the respective README file //pipeline/stageXX_<stage_name>/README.md//. 101 101 //Links are view-only// 102 102 ** full pipeline: [[README.md>>https://drive.ebrains.eu/smart-link/d2e93a2a-09f6-4dce-982d-0370953a4da8/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/7948fbb3-bf8a-4785-9b28-d5c15a1aafa7/]] 103 -** stage01_data_entry: [[README.md>>https://drive.ebrains.eu/smart-link/896f8880-a7d1-4a30-adbf-98759860fed5/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/ d429639d-b76e-4093-8fad-a25463d41edc/]]104 -** stage02_processing: [[README.md>>https://drive.ebrains.eu/smart-link/01f21fa5-94f7-4883-8388-cc50957f9c81/]], [[config.yaml>>https://drive.ebrains.eu/ f/b1607671f6f2468ahttps://drive.ebrains.eu/smart-link/02a3f92c-dc7d-4b33-94f5-91b00db060d5/a43c/]]105 -** stage03_trigger_detection: [[README.md>>https://drive.ebrains.eu/smart-link/18d276cd-a691-4ee1-81c6-7978cef9c1b4/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/ 76adbb12-7cb4-42df-9fd5-735927ea3ba8/]]106 -** stage04_wavefront_detection: [[README.md>>https://drive.ebrains.eu/smart-link/a8e80096-06a0-4ff4-b645-90e134e46ac5/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/ 6b0b233f-30b7-4bbd-8564-1abebd27ea6d/]]107 -** stage05_wave_characterization: [[README.md>>https://drive.ebrains.eu/smart-link/3009a214-a11f-424c-8a6e-13e7506545eb/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/ 471001d5-33f5-488e-a9a4-f03b190e3da7/]]100 +** stage01_data_entry: [[README.md>>https://drive.ebrains.eu/smart-link/896f8880-a7d1-4a30-adbf-98759860fed5/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/9bef8f59-1007-48c4-b5ba-30de4ff18f34/]] 101 +** stage02_processing: [[README.md>>https://drive.ebrains.eu/smart-link/01f21fa5-94f7-4883-8388-cc50957f9c81/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/7e75caf6-e2d6-4393-a97c-4f481c908cf8/]] 102 +** stage03_trigger_detection: [[README.md>>https://drive.ebrains.eu/smart-link/18d276cd-a691-4ee1-81c6-7978cef9c1b4/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/dfa375c0-cc80-4f95-b3ed-40140acbd96b/]] 103 +** stage04_wavefront_detection: [[README.md>>https://drive.ebrains.eu/smart-link/a8e80096-06a0-4ff4-b645-90e134e46ac5/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/3a54be8c-b9f4-4698-a85d-6ad97990b40a/]] 104 +** stage05_wave_characterization: [[README.md>>https://drive.ebrains.eu/smart-link/3009a214-a11f-424c-8a6e-13e7506545eb/]], [[config.yaml>>https://drive.ebrains.eu/smart-link/83f68955-0ca8-4123-9734-6e93349ca3e3/]] 108 108 109 109 * **Enter a dataset** 110 110 There are two test datasets in the collab drive (IDIBAPS and LENS) for which there are also corresponding config files and scripts in the data_entry stage. So, these datasets are ready to be used and analyzed. ... ... @@ -111,13 +111,33 @@ 111 111 For adding new datasets see //[[pipeline/stage01_data_entry/README.md>>https://drive.ebrains.eu/smart-link/d2e93a2a-09f6-4dce-982d-0370953a4da8/]]// 112 112 113 113 * **Run the pipeline (-stages)** 114 -To run the pipeline with [[snakemake>>https://snakemake.readthedocs.io/en/stable/]]), activate the Python environment ##conda activate wavescalephant_env,## make sure you are in the working directory (pipeline/), and call ##snakemake## to run the entire pipeline. 115 - To(re-)executeanindividualstage,you can navigateto theorrespondingstage folderandcallthe##snakemake##commandthere.For running an individual stage,you mayneedtomanuallysetthe path forinput filefor thestage(i.e. the outputfileof theprevious stage)intheconfig file ##INPUT:/path/to/file##.111 +To run the pipeline with [[snakemake>>https://snakemake.readthedocs.io/en/stable/]]), activate the Python environment ##conda activate wavescalephant_env,## make sure you are in the working directory (//pipeline/)//, and call ##snakemake## to run the entire pipeline. 112 +For a more detailed executed guide and how to execute individual stages and blocks see the pipeline [[Readme>>https://drive.ebrains.eu/smart-link/3009a214-a11f-424c-8a6e-13e7506545eb/]]. 116 116 117 117 == Accessing and using the results == 118 118 119 119 All results are stored in the path specified in the //settings.py// file. The folder structure reflects the structuring of the pipeline into stages and blocks. All intermediate results are stored as //.nix// files using the [[Neo data format>>https://neo.readthedocs.io/en/stable/]] and can be loaded with ##neo.NixIO('/path/to/file.nix').read_block()##. Additionally, most blocks produce a figure, and each stage a report file, to give an overview of the execution log, parameters, intermediate results, and to help with debugging. The final stage (//stage05_wave_characterization//) stores the results as[[ //pandas.DataFrames//>>https://pandas.pydata.org/]] in //.csv// files, separately for each measure as well as in a combined dataframe for all measures. 120 120 118 +**Examples of the output figures (for IDIBAPS dataset)** 119 + 120 +* Stage 01 - [[example signal traces and metadata>>https://drive.ebrains.eu/smart-link/cf2fa914-260d-4d61-a2da-03ea07b7f9be/]] 121 +* Stage 02 - [[background substraction>>https://drive.ebrains.eu/smart-link/586d2f3c-591b-4dfb-94ee-8c0e28050dc4/]] 122 +* Stage 02 - [[logMUA estimation>>https://drive.ebrains.eu/smart-link/c92e4b0c-0938-44e8-9f8d-00522796b2fd/]] 123 +* Stage 02 - [[processed signal trace>>https://drive.ebrains.eu/smart-link/26ed27c6-de56-4b48-a57b-f70aab629197/]] 124 +* Stage 03 - [[amplitude distribution>>https://drive.ebrains.eu/smart-link/8ba80293-ba75-4a37-8a8f-05d44cf6f65c/]] 125 +* Stage 03 - [[UP state detection>>https://drive.ebrains.eu/smart-link/ab172be0-178e-4153-a3e6-b4bace32dd50/]] 126 +* Stage 04 - [[trigger clustering>>https://drive.ebrains.eu/smart-link/4a1f0169-8b43-49ce-80c8-f2fa0f4d50d3/]] 127 +* Stage 05 - [[planar velocities>>https://drive.ebrains.eu/smart-link/f4de8073-cb40-47a7-bc82-f97d36dbae25/]] 128 +* Stage 05 - [[directionality>>https://drive.ebrains.eu/smart-link/5485032d-0121-4cde-9ea2-3e0af3f12178/]] 129 + 130 +=== Outlook === 131 + 132 +* Using the **KnowledgeGraph API **to insert data directly from the Knowledge Graph into the pipeline and also register and store the corresponding results as Analysis Objects. Such Analysis Objects are to incorporate **Provenance Tracking, **using [[fairgraph>>https://github.com/HumanBrainProject/fairgraph]],** **to record the details of the processing and analysis steps. 133 +* Adding support for the pipeline to make use of **HPC** resources when running on the collab. 134 +* Further extending the available **methods** to address a wider variety of analysis objectives and support the processing of other datatypes. Additional documentation and guides should also make it easier for non-developers to contribute new method blocks. 135 +* Extending the **application** of the pipeline to the analysis of other types of activity waves and oscillations. 136 +* Integrating and co-developing new features of the underlying **software tools **[[Elephant>>https://elephant.readthedocs.io/en/latest/]], [[Neo>>https://neo.readthedocs.io/en/stable/]], [[Nix>>https://github.com/G-Node/nix]], [[Snakemake>>https://snakemake.readthedocs.io/en/stable/]]. 137 + 121 121 == References == 122 122 123 123 * [[Celotto, Marco, et al. "Analysis and Model of Cortical Slow Waves Acquired with Optical Techniques." //Methods and Protocols// 3.1 (2020): 14.>>https://doi.org/10.3390/mps3010014]] ... ... @@ -126,14 +126,21 @@ 126 126 * [[Sanchez-Vives, M. (2020). "Propagation modes of slow waves in mouse cortex". //EBRAINS//>>https://doi.org/10.25493/WKA8-Q4T]] 127 127 * [[Sanchez-Vives, M. (2019). "Cortical activity features in transgenic mouse models of cognitive deficits (Fragile X Syndrome).//" EBRAINS//>>https://doi.org/10.25493/ANF9-EG3]] 128 128 129 - ==License(toiscuss)==146 +Code developed at: 130 130 131 - All text and example datainthisllabis licensednder Creative CommonsCC-BY 4.0 license.Softwarecode islicensedunder a modified BSD license.148 +[[image:https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png||height="35" width="35"]][[INM-6/wavescalephant>>https://github.com/INM-6/wavescalephant]] 132 132 150 +== License == 151 + 152 +Text is licensed under the Creative Commons CC-BY 4.0 license. LENS data is licensed under the Creative Commons CC-BY-NC-ND 4.0 license. IDIBAPS data is licensed under the Creative Commons CC-BY-NC-SA 4.0 license. Software code is licensed under GNU General Public License v3.0. 153 + 133 133 [[image:https://i.creativecommons.org/l/by/4.0/88x31.png||style="float:left"]] 134 134 135 -= ==156 +[[image:https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png||alt="https://i.creativecommons.org/l/by/4.0/88x31.png" style="float:left"]] 136 136 158 +[[image:https://licensebuttons.net/l/by-nc-nd/4.0/88x31.png||alt="https://i.creativecommons.org/l/by/4.0/88x31.png" style="float:left"]] 159 + 160 + 137 137 == Acknowledgments == 138 138 139 139 This open source software code was developed in part or in whole in the Human Brain Project, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 785907 (Human Brain Project SGA2). ... ... @@ -143,12 +143,12 @@ 143 143 ))) 144 144 145 145 146 -== Executingthepipeline==170 +== == 147 147 148 148 (% class="col-xs-12 col-sm-4" %) 149 149 ((( 150 150 {{box title="**Contents**"}} 151 -{{toc/}} 175 +{{toc depth="3"/}} 152 152 {{/box}} 153 153 154 154
- Collaboratory.Apps.Collab.Code.CollabClass[0]
-
- Description
-
... ... @@ -1,1 +1,1 @@ 1 - Spacefordevelopingnd hostingashowcasepipelineforperformingreproducible and adaptableanalysis with thefocus of slow cortical waves.1 +Use Case SGA2-SP3-002 KR3.2: Integrating multi-scale data and the output of simulations in a reproducible and adaptable pipeline