Skip to content

All information of the Neural Data Science with Python course of the Neuroscience Master program at Université Paris Cité.

License

Notifications You must be signed in to change notification settings

mgraupe/NeuralDataSciPy2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2024 Course : Neural Data Science with Python

Logo

This course provides a general introduction in the high-level, general-purpose porgramming lanuage Python. It will furthermore cover basic analysis concepts used in the field of Neuroscience.

Objective of the Course

The field of neuroscience is becoming more and more quantitative and this development is accompanied by an ever-increasing stream of data derived from the brain. It is essential that this development is performed by neuroscientists who are ready and able to process this data. Data science is an emerging field dedicated to understanding principles in data sets. This teaching unit aims to introduce the principles of data science applied to neural data.

Concretely, Neural Data Science with Python teaches how to handle, analyze, visualize neural data, to create models and to run simulations of neural systems using the Python programming language. The students will acquire to use different general and specific Python modules such as numpy, scipy, matplotlib, pandas, brian and the use of the Jupyter Notebook environment. The course will be supplemented with interactive courses on DataCamp aimed at helping students build programming skills at their own pace.

Prerequisites

Bases in neuroanatomy and physiology of the central nervous system are useful. All data science- and programming concepts are introduced, explained and applied in the course. No prior knowledge in programming is required as this course is for beginners.

The below resources can be used for optional preparation of the course. In particular, the Python Tutorial (Online Resources) is useful for a first contact or a refresher with the programming language.

Literature Resources The course is loosely based on the book “Neural Data Science : A primer with Matlab and Python”. As in the course, the book introduces basic concepts of data analysis applied to neuroscience examples and discusses their implementation with Python (and Matlab).

Online Resources To get familiar or to recall programming concepts in Python, I recommend to use the W3Schools interactive tutorial with explanations and clarifying examples. The tutorial consists of short chapters introducing all essential basics which will be used in the course. Notably, the interactive web-programming interface allows to write and test python code.

W3Schools - Python Tutorial : https://www.w3schools.com/python/default.asp

In particular, the following chapters are relevant for the course : 

  1. Python Tutorial (https://www.w3schools.com/python/default.asp)
    Python Intro
    ...
    Python Arrays

  2. Numpy Tutorial (https://www.w3schools.com/python/numpy/default.asp)
    NumPy Intro
    ...
    NumPy Array Filter

  3. Python Matplotlib (https://www.w3schools.com/python/matplotlib_intro.asp)
    Matplotlib Intro
    ...
    Matplotlib Pie Charts

Competences Acquired

  • Learning to program in Python.
  • The basic principles of simple and advanced data analysis applied to neural data.
  • The construction and implementation of single neuron and neural network simulations.

What is Expected from You

  • Curiosity and desire to learn.
  • Active participation and contribution in particular during the tutorials.
  • Feedback during the course and contributions to an open dialog to achieve on optimal learning experience.

Basic Reference for Beginner - Cheat Sheet

This cheat sheet includes the python code we routinely use in the course. It provides a basic reference for beginner.

Logo

It can be downloaded as pdf here.

Lecture Organization and Material

Each course lasts for 2 hours. It consists of approximately 45 min lecture introducing the general motivation, scientific background and analysis principles. The lecture is followed by an 1h 10 min long guided tutorial during which the programming/analysis is performed by the students based on a pre-prepared Jupyter Notebook. Students can follow the teachers tutorial progress in real-time on Deepnote. Lecture and tutorial are separated by a short 5 min break.

All lectures and guided tutorials take place at 9h-11h on Fridays's in room GRIGNARD F, 4th floor, 45 rue des Saints-Pères between September 13th and Dec 6th, 2024.

Lecture Overview

# Date Title Lecturer Material
1 Fri Sep 13 Introduction to Python : first steps Michael Graupner Lecture L1, Tutorial T01, See Moodle for homework, Deepnote Link
2 Fri Sep 20 Time series : basic operations Michael Graupner Lecture L2, Tutorial T02, Homework E02, Solutions E02, Deepnote Link
3 Fri Sep 27 Wrangling Data : loading, understanding and visualizing Michael Graupner Lecture L3, Tutorial T03, See Moodle for homework, Deepnote Link
4 Fri Oct 4 Wrangling spike trains : basic analysis, raster plot, PSTH, Poisson spike trains Michael Graupner Lecture L4, Tutorial T04, Homework E04, Solutions E04, Deepnote Link
5 Fri Oct 11 Bioinformatics and Systems biology I Karine Audouze see Moodle
6 Fri Oct 18 Bioinformatics and Systems biology II Karine Audouze see Moodle
7 Fri Oct 25 Single neuron simulations with Brian Marcel Stimberg Lecture L7, Tutorial T07, Homework E07, Solutions E07, Deepnote Link
Fri Nov 1 no course
8 Fri Nov 8 Spiking neural network simulations with Brian Marcel Stimberg Lecture L8, Tutorial T08, Homework E08, Solutions E08, Deepnote Link
9 Fri Nov 15 Regression analysis : correlation analysis, logisitic regression, nonlinear regression Michael Graupner Lecture L9, Tutorial T09, Homework 09, Solutions E09, Deepnote Link
10 Fri Nov 22 Classification and clustering : SVM, KMeans estimate Michael Graupner Lecture 10, Tutorial T10, Homework E10, Solutions E10, Deepnote Link, Slido Link
11 Fri Nov 29 End-of-Course projects presentation; Open Tutorial Michael Graupner Lecture L11, Tutorial T11, Deepnote Link
12 Fri Dec 6 Spectral analysis of analog signals : Fourier transform, Spectrogram, Signal Filtering Michael Graupner Lecture L12, Tutorial T12, Homework E12, Deepnote Link

Course Evaluation

Continuous control (50 % of the final mark) : The students receive small homework assignments which are an extension of the in-course tutorial. The subject is related to the last course. The homeworks assignments with the respective Notebook file are posted in the moodle of the course. The results have to be submitted through the moodle by Friday 9am before the next course (e.g., the assignments of the course on Friday Sep 29th have to be submitted by Friday Oct 6th 9am). Practically, use the provided Jupyter Notebook (see table above or the moodle), add your edits to this file, and submit the modified Jupyter Notebook through the moodle.

Some homework assignments will consist in completing interactive, online assignments on DataCamp.

Final exam (50 % of the final mark) : Students will receive a list of projects they will work on for an extended period of time (about 1.5 months). Projects are small programming projects aimed at independently applying analysis methods acquired during the course. The project can be worked on individually or in teams of two students. More information on the End-of-Course projects and a concrete list of available projects are available here.

All student work - the weekly homework assignments and the End-of-Course project report - can be prepared in English or French, up to the choice of the student.

Accessible Computer Rooms and Account

There are three computer rooms available outside the hours of the course. The machines in these rooms feature the same Python installation as in the course and the same home directories (files stored during the course can be accessed from these machine) :

  • Room Durkheim : left staircase from the main entrance hall to access lecture halls Delmas or balcon Binet, second floor (access code C2164). There are courses in that room during which it is not accessible.
  • Room T209 bis : 2nd floor, in front of Avogadro D, free access
  • Room T117 : 1st floor, free access

You connect to your account on those machines - as well as on the classroom machines - with your university UID as login. The password is your full student number. It is highly recommended to change the default password, which can be done with the command passwd in a command line terminal. Please contact Benoit Greff or Luc Tamisier in case of problems with the machines or your account.

Identification

M1 S1 Neuro

Code UE : NS0AM020

Acronym : DataSciPython

ECTS : 3

Time volume : 24 hours

Language of the Course

The dominant teaching language of the course with be English, while the lecturers provided by Karine Audouze will be in French with slides and material in English.

Course Organizers and Teachers

The course is organized by Michael Graupner. Lectures will furthermore be taught by Karine Audouze, and Marcel Stimberg. All questions regarding access to your university account can be addressed to Luc Tamisier or Benoit Greff.

Please direct all basic inquiries to Michael Graupner by email or pass by his office :

Saints-Pères Paris Institute for the Neurosciences
CNRS UMR 8003, Université de Paris
bureau : H 358
45 rue des Saints Pères
75270 Paris Cedex 06
France

Overview of all Lecturers

Picture Name Email Address
Karine Audouze [email protected] Université Paris Cité, Systems Toxicology Group, 45 rue des Saints-Pères, 75006 Paris
Marcel Stimberg [email protected] Institut de la Vision, Computational Neuroscience of Sensory Systems, 17 rue Moreau, 75012 Paris
Michael Graupner [email protected] Université Paris Cité, SPPIN, 45 rue des Saints-Pères, 75006 Paris

Python Requirements

All course material will run smoothly on the classroom machines, which will have all the required modules installed.

In case you want to run the course material on your private computer, the following packages are required :

  • Python 3.8 (or the common versions 3.7, 3.8, 3.9)
  • numpy
  • scipy
  • jupyter
  • matplotlib
  • pandas
  • xlrd
  • biopython
  • scikit-learn
  • Brian2

We will set up a Python programming party in the beginning of the academic year for all students who are interested in installing the Python environment required for the class on their laptops.

Find here the slides with details of the Python installation.

External Resources

This class is supported by , an intuitive learning platform for data science and analytics. For education, Datacamp provides courses for free. We have arranged for you to have access to these courses while you are enrolled in the Neuroscience Master of the Université de Paris.

This class is also supported by , a new kind of data science notebook : Jupyter-compatible with real-time coding and running in the cloud. The Neural Data Science with Python class profits from the free education plan of Deepnote.

Licence

See the LICENSE file for license rights and limitations (Attribution 4.0 International).

About

All information of the Neural Data Science with Python course of the Neuroscience Master program at Université Paris Cité.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published