⚠️ This repository is no longer maintained. The notebooks, environment, and tests in this repository have been integrated within datajoint/element-array-ephys.
DataJoint Workflow for extracellular array electrophysiology combines multiple DataJoint Elements to process data acquired with a polytrode probe (e.g. Neuropixels, Neuralynx) using the SpikeGLX or OpenEphys acquisition software and processed with MATLAB-based Kilosort or python-based Kilosort 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.
To get started, see below for an interactive tutorial on GitHub Codespaces. More information can be found at the Element documentation page.
The easiest way to learn about DataJoint Elements is to use the tutorial notebooks within the included interactive environment configured using DevContainer.
Here are some options that provide a great experience:
- Cloud-based Development Environment: (recommended)
- Launch using GitHub Codespaces using the
+
option which willCreate codespace on main
in the codebase repository on your fork with default options. For more control, see the...
where you may createNew with options...
. - Build time for a codespace is ~7m. This is done infrequently and cached for convenience.
- Start time for a codespace is ~30s. This will pull the built codespace from cache when you need it.
- Tip: Each month, GitHub renews a free-tier quota of compute and storage. Typically we run into the storage limits before anything else since Codespaces consume storage while stopped. It is best to delete Codespaces when not actively in use and recreate when needed. We'll soon be creating prebuilds to avoid larger build times. Once any portion of your quota is reached, you will need to wait for it to be reset at the end of your cycle or add billing info to your GitHub account to handle overages.
- Tip: GitHub auto names the codespace but you can rename the codespace so that it is easier to identify later.
- Launch using GitHub Codespaces using the
- Local Development Environment:
- Note: On Windows, running the tutorial notebook with the example data in a Dev Container is not currently possible due to a s3fs mounting issue. Please use the
Cloud-based Development Environment
option above. - Install Git
- Install Docker
- Install VSCode
- Install the VSCode Dev Containers extension
git clone
the codebase repository and open it in VSCode- Use the
Dev Containers extension
toReopen in Container
(More info in theGetting started
included with the extension)
- Note: On Windows, running the tutorial notebook with the example data in a Dev Container is not currently possible due to a s3fs mounting issue. Please use the
You will know your environment has finished loading once you either see a terminal open related to Running postStartCommand
with a final message: Done
or the README.md
is opened in Preview
.
-
We recommend you start by navigating to the
notebooks
directory on the left panel and go through thedemo_prepare.ipynb
anddemo_run.ipynb
Jupyter notebooks. Execute the cells in the notebooks to begin your walk through of the tutorial. -
Once you are done, see the options available to you in the menu in the bottom-left corner. For example, in Codespace you will have an option to
Stop Current Codespace
but when running DevContainer on your own machine the equivalent option isReopen folder locally
. By default, GitHub will also automatically stop the Codespace after 30 minutes of inactivity.
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 if you'd like help contribute, feel free to create a pull request. Please include a thorough explanantion of the error and/or proposed solution.