Code & Data
Our lab codebase is almost entirely in Python
. Below we break out our software into three domains: Scientific
, and Teaching & Educational
While we host our code primarily on the lab's Github repo
, several of our projects have expended to full-fledged packages hosted on their, independent project repos (listed below). This is done in the spirit of open source development and not having any one research group "own" a project.
As you can see, we strongly believe in open science, open data, and collaboration over competition. Voytek has published a few Reviews/Perspectives on this topic:
We've got a number of Jupyter notebook Tutorials on the lab repo on there for basic field potential analysis methods.
We also have done the initial development for three independent packages:
- NeuroDSP: neural digital signal processing
- fooof: fitting oscillations and one-over-f (parameterization of neural power spectra)
- Citation: Haller M*, Donoghue T*, Peterson E*, Varma P, Sebastian P, Gao R, Noto R, Knight RT, Shestyuk A¶, Voytek B¶. Parameterizing neural power spectra. bioRxiv, 2018.
- matlab wrapper
- Sphinx documentation
- bycycle: cycle-by-cycle analysis of neural oscillations
We also include code and data (where possible and permitted) for our manuscripts. The list of papers for which these are available are below:
- Gao R, Peterson EJ, Voytek B. Inferring synaptic excitation/inhibition balance from field potentials (PDF). NeuroImage, 2017.
- Cole SR, van der Meij R, Peterson EJ, de Hemptinne C, Starr PA, Voytek B. Nonsinusoidal beta oscillations reflect cortical pathophysiology in Parkinson's disease (PDF). J Neurosci, 2017.
Teaching & Educational Software
Lab members also teach a number of data science, programming, and neural analytics classes.
- COGS 18 - Introduction to Python: Developed by lab PhD student, Tom Donoghue
- COGS 108 - Data Science in Practice: Developed by Voytek and lab PhD student, Tom Donoghue
- COGS 280 - Neural Oscillations: Developed by Voytek and lab
- Citation: forthcoming