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
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.ipynbThe 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.
You can also try out the analysis pipeline without installing anything using the following online tools.
Try burst visualization (10s loading time)! This is used to visualize all recordings and for adjusting burst detection hyperparameters.
Try embedding visualization (10s loading time)! This is used for visualizing the spectral embedding (of individual burst shapes) and exploring this burst shape space.
- Blocked inhibition --- Bicuculline (data: Vinogradov et al., 2024)
- Kleefstra syndrom (hPSC) (data: Mossink et al., 2021)
- CACNA1A mutation (data: Hommersom et al., 2024)
- Burst visualization (data not public yet)
- Embedding visualization (data not public yet)
- Developing cultures (data: Wagenaar et al., 2006)
- Burst visualization (dataset too large)
- Embedding visualization (dataset too large)
The project uses uv for dependency management. Install uv with
curl -LsSf https://astral.sh/uv/install.sh | shor via Homebrew (brew install uv).
Then, from the repo root, run
uv syncThis 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/...).
To enable the ruff format/lint hooks, run once after uv sync:
uv run pre-commit installSee DEPLOY.md for how to build the Docker images and push the online tools to Google Cloud Run.

