MEA-NAP for Python¶
MEA-NAP’s analysis pipeline — spike detection, neuronal activity, functional
connectivity, and network topology — is being ported from MATLAB to Python,
living alongside the original MATLAB codebase in the same repository. It ships
as an installable package (meanap) with a desktop GUI, a Python API you can
script against directly, and a self-contained HTML report viewer for browsing
results.
Tip
New here? Start with Installation, then Quickstart — from a fresh clone to a rendered network plot in about five minutes, using the bundled example dataset.
Install with uv and launch the meanap-gui desktop app.
Run the bundled example dataset end-to-end and open the HTML report.
Every tab in the desktop app — Paths, Recording, Spike detection, Connectivity, Pipeline — field by field.
Analyze suite2p calcium-imaging recordings: denoising, peak detection, trace preview.
Interactively explore functional connectivity from a completed run, with cell-type overlays.
Load a real MEA-NAP output file and drive the plotting API directly from Python — runnable, with real output baked in.
The self-contained, deep-linkable report.html viewer generated
after every run.
What’s ported with exact parity, what’s approximate, and what’s not there yet — read this before relying on the Python port for real analysis.
Auto-generated reference for the meanap package: pipeline steps,
network plotting, CAT-NAP.
How the Python port relates to MATLAB¶
The Python port (src/meanap/) mirrors MATLAB’s four core analysis steps —
Spike detection
Neuronal activity (firing rates, burst detection)
Functional connectivity (spike time tiling coefficient)
Network metrics (graph theory, node cartography, small-worldness, …)
— and writes the same output folder structure the MATLAB pipeline produces, so a Python run and a MATLAB run of the same data land in a comparable shape. It is a genuine reimplementation, not a wrapper around MATLAB: no MATLAB license or installation is required to use it.
The Python port is younger than the MATLAB pipeline and does not yet cover every feature (statistical group comparisons across ages/genotypes, for example, are not implemented yet). See MATLAB vs. Python: what’s ported, what’s approximate, what’s missing for the current, honest state of parity before you rely on it for a publication figure.