k-dense-ai/scientific-agent-skills/neuropixels-analysis
- community
Checking that the SKILL.md file is still in the repository.
Analyzes Neuropixels extracellular recordings end-to-end with SpikeInterface. Covers loading SpikeGLX/Open Ephys/NWB data, preprocessing, drift/motion correction, Kilosort4 (and CPU) spike sorting, quality metrics, and unit curation (threshold-based, model-based UnitRefine, and AI-assisted visual review). Use when working with Neuropixels 1.0/2.0 recordings, spike sorting, or extracellular electrophysiology analysis.
Install
npx vskill@latest install k-dense-ai/scientific-agent-skills/neuropixels-analysisSKILL.md
Neuropixels Data Analysis
Overview
Toolkit for analyzing Neuropixels high-density neural recordings using current best practices from SpikeInterface, the Allen Institute, and the International Brain Laboratory (IBL). It covers the full workflow from raw data to reviewed, curated units. Targets SpikeInterface 0.105.0, ProbeInterface 0.4.0 and Neo 0.14.5 (reviewed 2026-10-01). Synthetic tests cover recording contracts, preprocessing, analyzers, metrics and exports; real acquisition files, native sorters, GPU execution and pretrained models remain illustrative.
All examples use the real SpikeInterface API (spikeinterface.full as si) plus the companion curation module (spikeinterface.curation as sc). The skill ships runnable scripts in scripts/ and a copy-and-edit template in assets/ that implement this workflow directly on top of SpikeInterface — there is no separate package to install beyond the dependencies listed under Installation.
When to Use This Skill
This skill should be used when:
- Working with Neuropixels recordings (
.ap.bin,.lf.bin,.metafiles) - Loading data from SpikeGLX, Open Ephys, or NWB formats
- Preprocessing neural recordings (filtering, common reference, bad-channel detection)
- Detecting and correcting motion/drift
- Running spike sorting (Kilosort4, SpykingCircus2, Mountainsort5, Tridesclous2)
- Computing quality metrics (SNR, ISI violations, presence ratio, amplitude cutoff)
- Curating units (threshold-based, model-based, or AI-assisted)
- Creating visualizations and exporting to Phy or NWB
Supported Hardware & Formats
| Probe | Electrodes | Channels | Notes | |
|---|---|---|---|---|
| Neuropixels 1.0 | 960 | 384 | Use acquisition ADC timing metadata | |
| Neuropixels 2.0 (single) | 1280 | 384 | Verify part number and timing metadata | |
| Neuropixels 2.0 (4-shank) | 5120 | 384 | Multi-region recording |
| Format | Extension | Reader | |
|---|---|---|---|
| SpikeGLX | .ap.bin, .lf.bin, .meta | si.read_spikeglx() | |
| Open Ephys | .continuous, .oebin | si.read_openephys() | |
| NWB | .nwb | si.read_nwb() |
Quick Start
Import and configure parallel processing
Loading data
Full pipeline (bundled script)
The repository ships an end-to-end pipeline built on SpikeInterface:
It performs load → preprocess → drift check → optional motion correction → sorting → postprocessing → quality metrics → curation → export. Phy and the report retain all units for review with curation labels; sorting_curated/ contains selected good units. Read the steps below to run them interactively or customize the pipeline.
Standard Analysis Workflow
1. Preprocessing
Validate AP stream, calibration, channel order, probe geometry and segment boundaries first. This filter/reference chain is not full IBL destriping. Apply ADC timing correction only from valid acquisition metadata and reference each shank separately:
For multiple shanks, use the bundled reference_by_shank helper described in PREPROCESSING.md. Trace arrays are samples × channels; get_traces(return_in_uV=True) needs calibrated gain/offset. The bundled commands reject uncalibrated, empty or multisegment input instead of guessing.
Cache preprocessed data when storage and repeated use justify it:
2. Check and correct drift
Always inspect drift before sorting:
Apply correction if needed (presets: rigid_fast, kilosort_like, nonrigid_accurate, nonrigid_fast_and_accurate, dredge, dredge_fast, medicine):
3. Spike sorting
The calls below are illustrative until tested on the target recording and sorter. Choose one drift-correction stage: externally corrected input uses do_correction=False for Kilosort 2.5/3/4, or apply_motion_correction=False for Spykingcircus2. These flags match SpikeInterface 0.105.0; inspect sorter parameters when using another release. Uncorrected input can use sorter defaults. A spread of peak depths across neurons is not a temporal drift estimate. The bundled pipeline estimates/corrects motion when requested; inspect its saved motion output.
Note:run_sorteruses thefolder=argument. The olderoutput_folder=is deprecated.
4. Postprocessing
5. Curation by metric thresholds
For reusable local screening with allen / legacy ibl / strict presets, use the bundled scripts/compute_metrics.py. See references/AUTOMATED_CURATION.md for details and the Bombcell / UnitMatch tools. The legacy ibl preset is not the IBL classifier. Missing/nonfinite metrics remain unsorted, and boundary values fail the strict thresholds. All bundled entry points now use the same screening criteria.
6. Model-based curation (UnitRefine)
SpikeInterface can apply pretrained machine-learning classifiers from Hugging Face via the spikeinterface.curation module. The UnitRefine models were trained on real Neuropixels data (V1, SC, ALM). The public model metadata currently requests SI 0.102.0 and scikit-learn 1.4.2, with empty metric-parameter metadata; compatibility with this 0.105.0 environment is untested. Inspect model requirements/features first:
Each call returns a DataFrame with prediction and probability (confidence) per unit. trust_model=True (or an explicit trusted=[...] list) is required to load the .skops model — only load models from sources you trust. Parameter enforcement cannot validate training settings absent from model metadata. Models trained on other brain areas/datasets may not transfer; validate against a manually labelled subset.
7. AI-assisted curation (for uncertain units)
When running inside an agent such as Cursor or Claude Code, the agent can directly inspect waveform/correlogram plots and suggest review questions — no API setup required. Generate plots and ask the agent to assess isolation quality.
For programmatic vision-model access, read API keys from the environment — never hardcode credentials in analysis scripts (they leak into version control and logs):
See references/AI_CURATION.md for the full pattern (rendering a unit summary image, building the prompt, and retaining the response as advisory evidence).
8. Export results
SpikeInterface 0.105.0 has no export_to_nwb exporter. Use the source-specific NeuroConv NWBConverter workflow, with session metadata, electrodes, calibration and aligned unit times; validate the resulting NWB file. This optional conversion was not executed here.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/neuropixels-analysis/SKILL.md
Popularity
- Repository stars
- 32,312
- Repository forks
- 3,203
- 7-day trend score
- 52
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 Aug 2026, 2 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/k-dense-ai/scientific-agent-skills/neuropixels-analysis)