Loading...

Spike Analysis

How do we extract, measure, and model spike trains from neuronal recordings? In this hands-on workshop, participants will explore electrophysiological data—both real and simulated—to investigate the firing patterns of single neurons and neural populations. Participants will study descriptive techniques like raster plots, PSTHs, and cross-correlograms, alongside statistical modeling approaches such as poisson-based generative models and advanced coherence-based analyses. Practical work is grounded both in Python’s core scientific stack (NumPy, SciPy, Pandas, Scikit-learn) and neuroscience-specific Python libraries (Neo, Elephant), with small-group exercises linking methods to real-world experiments in mice. Participants will also gain experience with the full spike analysis pipeline, including filtering, peak detection, PCA-based clustering, and spike sorting, both from first principles using Scikit-Learn and with the powerful pipelines provided per Python's SpikeInterface.

Online
English

Offerings:

Ole Bialas
Spike Analysis - June 2025
June 11, 2025
09:30 - 17:00
Registration Closed

Topics

  • Electrophysiology-based Spike Extraction: Filtering, peak detection, and PCA-based clustering, with Scipy-Signal, Scikt-Learn and SpikeInterface
  • Spike Train Metrics: Raster plots, PSTH, CV, cross-correlograms, and receptive field mapping, using Numpy, Matplotlib, and Pandas
  • Poisson-Based Statistical Modeling: Generative models and coherence analysis (UEA & SPADE), using Scipy-Stats and Elephant

Intended Participants

  • Researchers and students from all universities are welcome.
  • Participants of all educational backgrounds are welcome.

Certification Requirements

Students who attend at least 75% of the course will receive a participation certificate by email at the end of the course.

Software Requirements

All students must attend the course with a Windows, Mac, or Linux Computer they can use to do the course exercises.

Register: https://www.zoom.com/

Zoom is a video conferencing software that allows for virtual meetings and webinars. It is essential for attending our online workshop sessions and provides the interactive features needed for effective learning.

Why Zoom?

  • Breakout Rooms: Essential for our small-group exercises
  • Screen Sharing: Share your screen to get help or demonstrate solutions
  • Stable & Reliable: Handles large groups with consistent quality
  • Recording: Sessions can be recorded for later review (where permitted)

Installation

Download and install the Zoom Desktop Client from the official website. We require the desktop client rather than the web version for full feature support.

Before Your First Session

  1. Test Your Setup: Join a test meeting to check audio/video
  2. Update Zoom: Make sure you have the latest version
  3. Check Your Internet: Ensure you have a stable connection
  4. Find a Quiet Space: Minimize background noise during sessions

Workshop Etiquette

  • Keep your microphone muted when not speaking
  • Use video when possible to help build community
  • Use reactions (👍, ✋) to provide feedback
  • Ask questions in chat or unmute to speak
  • Be ready to join breakout rooms for exercises

Tips

  • Familiarize yourself with screen sharing features before the workshop
  • Keep your Zoom name consistent with your registration
  • Use virtual backgrounds if needed for privacy
  • Enable “dual monitor mode” if you have two screens
Learn more about Zoom

Register: https://code.visualstudio.com/download

Visual Studio Code is a powerful, lightweight code editor used for developing software. It supports various programming languages through extensions and provides an excellent environment for Python development and data science work.

Why VS Code?

  • Free & Open Source: Completely free with active community development
  • Extensible: Thousands of extensions for any language or tool
  • Integrated Tools: Built-in terminal, debugger, and Git integration
  • Jupyter Support: Work with notebooks directly in the editor
  • Remote Development: Edit files on remote servers or in containers

Installation

Download and install Visual Studio Code from the official website. Choose the appropriate version for your operating system (Windows, macOS, or Linux).

Essential Extensions for Research

Python Development

  • Python - IntelliSense, debugging, code navigation
  • Jupyter - Run and edit Jupyter notebooks
  • Pylance - Fast, feature-rich Python language support

Collaboration & Version Control

  • GitLens - Supercharge Git integration
  • Live Share - Real-time collaborative editing

Data & Visualization

  • Data Wrangler - Explore and clean data visually
  • Rainbow CSV - Colorize CSV files for easier reading

Tips

  • Learn keyboard shortcuts to improve efficiency (Ctrl+Shift+P / Cmd+Shift+P for command palette)
  • Customize your theme and settings
  • Use the integrated terminal for running commands
  • Enable autosave to never lose work
  • Use Zen Mode (Ctrl+K Z) for distraction-free coding

Getting Started with Python

  1. Install the Python extension
  2. Select your Python interpreter (Ctrl+Shift+P → “Python: Select Interpreter”)
  3. Open a .py file or create a new one
  4. Run code using the play button or Ctrl+Alt+N
Learn more about Visual Studio Code

Register: https://conda-forge.org/download

Conda is a package manager that simplifies the installation of scientific software. It helps in creating isolated environments for different projects, ensuring reproducibility and preventing dependency conflicts.

Why Conda?

  • Solves Dependencies: Automatically resolves and installs all package dependencies
  • Environment Isolation: Keep different projects separate with their own package versions
  • Cross-Platform: Works consistently across Windows, macOS, and Linux
  • Scientific Focus: Optimized for data science and research computing packages

Installation

We recommend installing Miniforge, which includes conda and uses conda-forge as the default channel.

  1. Download Miniforge from the official website
  2. Run the installer for your operating system
  3. Follow the installation prompts
  4. Restart your terminal/command prompt

Getting Started

Create a new environment:

conda create -n myenv python=3.11
conda activate myenv

Install packages:

conda install numpy pandas matplotlib

Best Practices

  • Use separate environments for different projects
  • Keep your base environment minimal
  • Export environment specifications for reproducibility: conda env export > environment.yml
  • Use conda-forge channel for the latest packages

Tips

  • List environments: conda env list
  • Remove environment: conda env remove -n myenv
  • Update packages: conda update --all
Learn more about Conda / Miniforge

Register: https://git-scm.com/downloads

Git is a version control system that tracks changes in source code. It allows multiple people to work on a project simultaneously and maintains a complete history of all changes.

Why Git?

  • Distributed: Every developer has a complete copy of the project history
  • Branching: Experiment with new features without affecting the main codebase
  • Collaboration: Work with others seamlessly through platforms like GitHub
  • Reproducibility: Track exactly which version of code produced which results

Installation

Download and install Git from the official website. Choose the appropriate installer for your operating system.

Windows

Use Git for Windows installer with recommended defaults.

macOS

Git comes pre-installed on most macOS systems. Update with Homebrew: brew install git

Linux

Install using your package manager: sudo apt-get install git (Ubuntu/Debian)

Configuration

After installation, configure your identity:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Essential Commands

  • git clone - Copy a repository to your local machine
  • git add - Stage changes for commit
  • git commit - Save changes with a message
  • git push - Upload changes to remote repository
  • git pull - Download changes from remote repository

Tips

  • Use meaningful commit messages that explain why you made changes
  • Commit frequently to create detailed checkpoints
  • Create branches for new features or experiments
  • Use .gitignore to exclude data files and generated content
Learn more about Git

Register: https://github.com/

GitHub is a web-based platform built around Git that provides hosting for software development and version control. It’s the world’s largest code hosting platform and essential for modern collaborative research.

Why GitHub?

  • Collaboration: Work with researchers worldwide on shared projects
  • Visibility: Make your research code discoverable and citable
  • Integration: Connect with CI/CD, documentation, and project management tools
  • Community: Access to millions of open-source projects and libraries
  • Free for Research: Unlimited public and private repositories

Getting Started

  1. Create a free account at github.com
  2. Set up Git on your local machine
  3. Configure Git with your GitHub credentials
  4. Create your first repository or clone an existing one

Essential Features

Repositories

  • Host your code with full version history
  • README files for documentation
  • Issues for tracking bugs and features
  • Pull requests for code review

Collaboration

  • Fork projects to contribute
  • Star repositories to bookmark them
  • Follow researchers working in your field
  • Use GitHub Pages for project websites

Tips for Researchers

  • Include a LICENSE file to clarify how others can use your code
  • Write a clear README explaining what your code does
  • Create a CITATION.cff file for proper attribution
  • Use releases to mark versions associated with publications
  • Add topics to make your repository discoverable

Best Practices

  • Commit often with meaningful messages
  • Use branches for new features
  • Write clear documentation
  • Add a DOI through Zenodo integration for permanent archiving
Learn more about GitHub

Register: https://www.sciebo.de/

Sciebo is a cloud storage service for universities in North Rhine-Westphalia, Germany. It provides secure, GDPR-compliant storage for research data with large storage quotas.

Why Sciebo?

  • Secure: Hosted in Germany with GDPR compliance
  • Generous Storage: Large quotas for academic users
  • University Integration: Uses your university credentials
  • Collaboration: Share files and folders with colleagues
  • Sync Across Devices: Desktop and mobile apps available

Features

  • File synchronization across devices
  • Sharing via links with password protection
  • Collaborative document editing
  • Version history for files
  • Integration with university authentication

Getting Started

  1. Access Sciebo through your university’s login
  2. Install the desktop sync client (optional)
  3. Create folders for organizing your research data
  4. Use sharing features to collaborate with colleagues

Best Practices

  • Organize files in clear folder structures
  • Use descriptive file names with dates
  • Set appropriate sharing permissions (read vs. edit)
  • Regularly backup important data to multiple locations
  • Be mindful of data sensitivity and compliance requirements

Tips

  • Use selective sync to save local disk space
  • Share folders instead of individual files for projects
  • Use public links for sharing with external collaborators
  • Check your storage quota regularly
Learn more about Sciebo

Course Materials

Top