This is the repository for the course Data Science and Analysis in Neuroscience which is offered to Master's students in the Neuroscience Major program at the Faculty of Biosciences, University of Heidelberg.
The course is aimed at students interested in improving their ability to perform data analysis in the field of neuroscience.
Most lectures have an important hands-on component, where the students learn to run codes on their own computers. There are exercises associated with most of the topics covered in class.
The students will complete a small data science project toward the end of the course. The students will present these projects during the last lecture of the course.
- What is data science?
- Introduction to Python, NumPy, Matplotlib, and Pandas.
- Load electrophysiological data recorded from the hippocampus of a mouse into a NumPy array.
- Inspect NumPy arrays, perform calculations on NumPy arrays, and plot NumPy arrays with Matplotlib.
- Introduction to machine learning
- Speed cell: a simple example of machine learning with a linear regression
-
Why and how are in-vivo recordings performed?
-
Introduction to the SciPy library
- Detecting action potentials and spike clustering
- Filtering
- Detecting spikes
- Extracting spike waveforms
Introduction to the scikit-learn library
-
Dimensionality reduction
-
Clustering spike waveforms
- Introduction to neural networks
- Training models with pytorch
- Using a convolutional network to classify images
- Tracking objects in images using a U-Net
- Analysis on spike trains (mean firing rate and instantaneous firing rate)
- Firing rate map of a spatially selective neuron








