|
1 | 1 | # DataJoint Workflow - Array Electrophysiology |
2 | 2 |
|
3 | | -Workflow for extracellular array electrophysiology data acquired with a polytrode probe |
| 3 | +DataJoint Workflow for extracellular array electrophysiology combines multiple DataJoint Elements to process data acquired with a polytrode probe |
4 | 4 | (e.g. [Neuropixels](https://www.neuropixels.org), Neuralynx) using the |
5 | 5 | [SpikeGLX](https://github.com/billkarsh/SpikeGLX) or |
6 | 6 | [OpenEphys](https://open-ephys.org/gui) acquisition software and processed with |
7 | 7 | [MATLAB-based Kilosort](https://github.com/MouseLand/Kilosort) or [python-based |
8 | | -Kilosort](https://github.com/MouseLand/pykilosort) spike sorting software. |
| 8 | +Kilosort](https://github.com/MouseLand/pykilosort) spike sorting software. DataJoint Elements collectively standardize and automate data collection and analysis for neuroscience experiments. Each Element is a modular pipeline for data storage and processing with corresponding database tables that can be combined with other Elements to assemble a fully functional pipeline. |
9 | 9 |
|
10 | | -A complete electrophysiology workflow can be built using the DataJoint Elements. |
| 10 | +To get started, see below for an [interactive tutorial](#interactive-tutorial) on GitHub Codespaces. More information can be found at the |
| 11 | +[Element documentation page](https://datajoint.com/docs/elements/element-array-ephys). |
11 | 12 |
|
12 | | -+ [element-lab](https://github.com/datajoint/element-lab) |
13 | | -+ [element-animal](https://github.com/datajoint/element-animal) |
14 | | -+ [element-session](https://github.com/datajoint/element-session) |
15 | | -+ [element-array-ephys](https://github.com/datajoint/element-array-ephys) |
| 13 | +## Experiment flowchart |
16 | 14 |
|
17 | | -This repository provides demonstrations for: |
| 15 | + |
18 | 16 |
|
19 | | -1. Set up a workflow using DataJoint Elements (see |
20 | | - [workflow_array_ephys/pipeline.py](workflow_array_ephys/pipeline.py)) |
| 17 | +## Data pipeline for acute experiment |
21 | 18 |
|
22 | | -2. Ingestion of data/metadata based on a predefined file structure, file naming |
23 | | - convention, and directory lookup methods (see |
24 | | - [workflow_array_ephys/paths.py](workflow_array_ephys/paths.py)). |
| 19 | + |
25 | 20 |
|
26 | | -3. Ingestion of clustering results. |
| 21 | +## Interactive tutorial |
27 | 22 |
|
28 | | -4. Export of `no_curation` schema to NWB and DANDI (see |
29 | | - [notebooks/09-NWB-export.ipynb](notebooks/09-NWB-export.ipynb)). |
| 23 | +The easiest way to learn about DataJoint Elements is to use the tutorial notebook within a [GitHub Codespace](https://docs.github.com/en/codespaces/overview). Please follow the steps below for the best experience: |
30 | 24 |
|
31 | | -See the [Element Array Electrophysiology documentation](https://elements.datajoint.org/description/array_ephys/) |
32 | | -for the background information and development timeline. |
| 25 | +1. Fork this repository to your GitHub account. |
33 | 26 |
|
34 | | -For more information on the DataJoint Elements project, please visit |
35 | | -<https://elements.datajoint.org>. This work is supported by the National Institutes of |
36 | | -Health. |
| 27 | +2. Select the green `Code` button. |
37 | 28 |
|
38 | | -## Workflow architecture |
| 29 | +3. Within the dropdown menu, select the `Codespaces` tab. |
39 | 30 |
|
40 | | -The electrophysiology workflow presented here uses components from 4 DataJoint Elements |
41 | | -([element-lab](https://github.com/datajoint/element-lab), |
42 | | -[element-animal](https://github.com/datajoint/element-animal), |
43 | | -[element-session](https://github.com/datajoint/element-session), |
44 | | -[element-array-ephys](https://github.com/datajoint/element-array-ephys)) assembled |
45 | | -together to form a fully functional workflow. Note that element-array-ephys offers three |
46 | | -schema options, selected via the DataJoint config file, with |
47 | | -`dj.config['custom']['ephys_mode']` |
| 31 | +4. Select the green `Create codespace on main` button. |
48 | 32 |
|
49 | | -+ `acute` probe insertion, with curated clustering |
50 | | -+ `chronic` probe insertion, with curated clustering |
51 | | -+ `no-curation`, acute probe insertion with kilosort triggered clustering and supported |
52 | | - NWB export |
53 | | -+ `precluster`, acute probe insertion with pre-processing steps prior to clustering and |
54 | | - curated clustering |
| 33 | +5. The environment is ready when a Visual Studio Code window is rendered within your browser. This takes ~5 minutes the first time being launched, and ~1 minute if you revisit this Codespace. |
55 | 34 |
|
56 | | - |
| 35 | +6. Navigate to the `notebooks` directory on the left panel and open the `tutorial.ipynb` Jupyter notebook. Execute the cells in this notebook to begin your walk through the tutorial. |
57 | 36 |
|
58 | | -Optionally, this can be used in conjunction with |
59 | | -[element-event](https://github.com/datajoint/element-event) |
60 | | -and [element-electrode-localization](https://github.com/datajoint/element-electrode-localization/). |
| 37 | +7. Once you are done, GitHub will automatically stop the Codespace after 30 minutes of inactivity or you can manually stop the Codespace. |
61 | 38 |
|
62 | | - |
| 39 | +8. After stopping the Codespace, we recommend deleting the Codespace to save on storage costs, which are free for the first 15 GB-month. |
63 | 40 |
|
64 | | - |
| 41 | ++ If you are new to GitHub and run into any errors, please contact us via email at support@datajoint.com. If you are experienced with GitHub, please create an issue on the upstream repository or issue a pull request with a thorough explanantion of the error and proposed solution. |
65 | 42 |
|
66 | | -## Installation instructions |
| 43 | +**Please Note:** |
67 | 44 |
|
68 | | -The installation instructions can be found at the |
69 | | -[DataJoint Elements documentation](https://elements.datajoint.org/usage/install/). |
70 | | - |
71 | | -## Interacting with the DataJoint workflow |
72 | | - |
73 | | -Please refer to the workflow-specific |
74 | | -[Jupyter notebooks](/notebooks) |
75 | | -for an in-depth explanation of how to ... |
76 | | - |
77 | | -1. Run the workflow ([03-process.ipynb](notebooks/03-process.ipynb)). |
78 | | - |
79 | | -2. Explore the data ([05-explore.ipynb](notebooks/05-explore.ipynb)). |
80 | | - |
81 | | -3. Examine trialized analyses, and establish downstream analyses |
82 | | - ([07-downstream-analysis.ipynb](notebooks/07-downstream-analysis.ipynb)) |
83 | | - |
84 | | -4. Locate probes within the |
85 | | - [Common Coordinate Framework](https://www.sciencedirect.com/science/article/pii/S0092867420304025) |
86 | | - ([08-electrode-localization.ipynb](notebooks/08-electrode-localization.ipynb)) |
87 | | - |
88 | | -5. Export to NWB and DANDI ([09-NWB-export.ipynb](notebooks/09-NWB-export.ipynb)) |
89 | | - |
90 | | -See our YouTube tutorial for a walkthrough of the schemas and functions: |
91 | | - [](https://www.youtube.com/watch?v=KQlGYOBq7ow) |
92 | | - |
93 | | -## Citation |
94 | | - |
95 | | -If your work uses DataJoint and DataJoint Elements, please cite the respective Research |
96 | | -Resource Identifiers (RRIDs) and manuscripts. |
97 | | - |
98 | | -+ DataJoint for Python or MATLAB |
99 | | - + Yatsenko D, Reimer J, Ecker AS, Walker EY, Sinz F, Berens P, Hoenselaar A, Cotton |
100 | | - RJ, Siapas AS, Tolias AS. DataJoint: managing big scientific data using MATLAB or |
101 | | - Python. bioRxiv. 2015 Jan 1:031658. doi: <https://doi.org/10.1101/031658> |
102 | | - |
103 | | - + DataJoint ([RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543)) - DataJoint |
104 | | - for `<Select Python or MATLAB>` (version `<Enter version number>`) |
105 | | - |
106 | | -+ DataJoint Elements |
107 | | - + Yatsenko D, Nguyen T, Shen S, Gunalan K, Turner CA, Guzman R, Sasaki M, Sitonic D, |
108 | | - Reimer J, Walker EY, Tolias AS. DataJoint Elements: Data Workflows for |
109 | | - Neurophysiology. bioRxiv. 2021 Jan 1. doi: |
110 | | - <https://doi.org/10.1101/2021.03.30.437358> |
111 | | - |
112 | | - + DataJoint Elements ([RRID:SCR_021894](https://scicrunch.org/resolver/SCR_021894)) - |
113 | | - Element Array Electrophysiology (version `<Enter version number>`) |
| 45 | ++ GitHub Codespaces are limited to 120 core-hours per month and 15 GB-month for free users. Once you exceed this limit, you will have to wait for the hours to reset or pay to use Codespaces. |
0 commit comments