Skip to content

LevinaLab/burst-shape

Repository files navigation

Data-driven burst shape analysis for functional phenotyping of neuronal cultures

DOI

corresponding to Schäfer et al., 2025, bioRxiv: Data-driven burst shape analysis for functional phenotyping of neuronal cultures

@article{schaefer2025data-driven,
	author = {Sch{\"a}fer, Tim J. and Giannakakis, Emmanouil and Schmidt-Barbo, Paul and Levina, Anna and Vinogradov, Oleg},
	title = {Data-driven burst shape analysis for functional phenotyping of neuronal cultures},
	year = {2025},
	doi = {10.1101/2025.09.29.679256},
	journal = {bioRxiv},
}

Code archived on Zenodo: 10.5281/zenodo.21035071

Quickstart

To try the analysis locally, install uv (see Setup), then from the repo root run:

uv sync --group notebook
uv run jupyter lab notebooks/tutorial.ipynb

The tutorial notebook automatically downloads the blocked-inhibition dataset (Vinogradov et al., 2024) and walks you through the full pipeline step-by-step: burst detection, average burst shapes, spectral embedding, and XGBoost classification.

Prefer not to install anything? Try the online tools below.

Online tools

You can also try out the analysis pipeline without installing anything using the following online tools.

Burst visualization

Try burst visualization (10s loading time)! This is used to visualize all recordings and for adjusting burst detection hyperparameters.

Embedding visualization

Try embedding visualization (10s loading time)! This is used for visualizing the spectral embedding (of individual burst shapes) and exploring this burst shape space.

Links for other datasets

Setup

Installation

The project uses uv for dependency management. Install uv with

curl -LsSf https://astral.sh/uv/install.sh | sh

or via Homebrew (brew install uv).

Then, from the repo root, run

uv sync

This creates a .venv/ with Python 3.13, installs burst_shape editable, and pulls in every PEP 735 dependency group declared in pyproject.toml (web, analysis, dev). Activate the venv with source .venv/bin/activate, or prepend uv run to any command (e.g. uv run pytest, uv run python scripts/...).

Pre-commit hooks

To enable the ruff format/lint hooks, run once after uv sync:

uv run pre-commit install

Deployment

See DEPLOY.md for how to build the Docker images and push the online tools to Google Cloud Run.

About

Data-driven burst shape analysis for functional phenotyping of neuronal cultures

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors