User Tools

Site Tools


Welcome! This is the home page for the data management and analysis tutorials for the NS&B 2016 hippocampus cycle.


Reference: read this first, and then again later
Fundamentals: do these in Week 1
Time series data data basics: do as needed
Spike data basics: do as needed
Intermediate topics: do as needed
Advanced topics: do as needed
Other topics
  • Git: conflict resolution, undo's, writing good commit messages, issue tracking, branching (on request)
  • Top-level analysis workflows for handling multiple subjects and sessions (on request)
  • Exporting MATLAB data to R (on request)
  • MATLAB tools: GUI design tool, debugger, profiler (on request)


Basic familiarity with MATLAB. Depending on your background and programming experience you might find the following resources helpful:

If you are unsure, take a look at the table of contents of the Primer. If there are things you don't recognize, use the Primer itself, or Chapter 2 of the MATLAB for Neuroscientists book to get up to speed.

Regardless of your MATLAB abilities, some great ways to keep learning are:

If you have no formal training in computer programming (i.e. you have never taken a “Intro to Computer Science” or “Introductory Programming” type course) you will almost certainly find what follows in this course less frustrating if you do the pen-and-paper exercises in this short chapter by Daniel Dennett (“The Secrets of Computer Power Revealed”) before you embark on the MATLAB primer linked to above.


This course is “standalone”, but the following textbooks provide more in-depth treatment of some of the topics.

What this tutorial provides

Overall, this tutorial is designed to provide hands-on experience with management, visualization, and analysis of neural data. Becoming skilled at these things is a rate-limiting step for many graduate projects requiring analysis. Even if your work only requires rudimentary analysis, awareness of what else can be done and how to do it well is valuable, for instance when evaluating the work of others in the literature!

To do so, the focus is on introducing some commonly used tools, such as GitHub and relevant functionality within MATLAB – and then to actually use these on real data sets you collect yourself.

We will make contact with a few concepts from computer science, signal processing, and statistics. However, the focus is on making initial steps that work and getting pointers to more complete treatment, rather than a thorough theoretical grounding. Nevertheless, to make sure that what you learn is not tied to specific data sets only, a number of principles of data analysis – applicable to any project of sufficient complexity – will be referenced throughout the material. You are invited to think of these and others, not only as you progress through the modules, but especially as you organize your own data analyses!

What this tutorial is not

This material will provide a brief introduction to a number of concepts which are themselves the subject of multiple courses and voluminous textbooks. These include signal processing topics such as Fourier analysis and filter design, computer science concepts such as object-oriented programming and binary data formats, and a number of statistical ideas and tools. Be aware that if any of these are particularly important to your research, you should consider taking more in-depth coursework and/or working through relevant textbooks on your own: this short tutorial cannot replace such courses!


The architecture of the code used here was inspired by a similar set of code by my post-doctoral mentor, A. David Redish; several of the data types and functions are re-implementations of Redish lab functions of the same name. Major contributions to the codebase were made by Alyssa Carey (a MSc student in the lab) and Youki Tanaka (current PhD student).

analysis/nsb2016.txt · Last modified: 2018/07/07 10:19 (external edit)