Code & Data
Our lab codebase is almost entirely in Python. Below we break out our software into three domains: Scientific, Paper-specific, 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:
- Voytek B, PLOS Computational Biology, The Virtuous Cycle of a Data Ecosystem
- Voytek B, Neuron, Social Media, Open Science, and Data Science Are Inextricably Linked
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)
- 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