SuperAPI AI 工具集

neuropixels-analysis

数据与分析

查看项目

更新于 10-21 16:24

技能介绍

用途

该技能用于使用 SpikeInterface、Allen Institute 与 International Brain Laboratory(IBL)的当前最佳实践,分析 Neuropixels 高密度神经记录。它覆盖从原始数据到可发表级筛选单元(curated units)的完整工作流。所有示例使用真实的 SpikeInterface API(spikeinterface.full 作为 si)以及配套的筛选模块(spikeinterface.curation 作为 sc)。技能附带 scripts/ 中的可运行脚本和 assets/ 中的复制即用模板,直接构建在 SpikeInterface 之上——除安装部分列出的依赖外,无需安装单独的包。

适用场景

  • 处理 Neuropixels 记录(.ap.bin、.lf.bin、.meta 文件)
  • 从 SpikeGLX、Open Ephys 或 NWB 格式加载数据
  • 预处理神经记录(滤波、共参考、坏通道检测)
  • 检测与校正运动/漂移
  • 运行尖峰分选(Kilosort4、SpykingCircus2、Mountainsort5、Tridesclous2)
  • 计算质量指标(SNR、ISI 违规、存在比、幅度截断)
  • 筛选单元(基于阈值、基于模型或 AI 辅助)
  • 创建可视化并导出到 Phy 或 NWB

支持的硬件与格式

探针:Neuropixels 1.0(960 电极,384 通道,使用 phase_shift 进行 ADC 校正);Neuropixels 2.0 单探针(1280 电极,384 通道,更密集几何);Neuropixels 2.0 四探针(5120 电极,384 通道,多区域记录)。

格式:SpikeGLX(.ap.bin、.lf.bin、.meta,读取器 si.read_spikeglx());Open Ephys(.continuous、.oebin,读取器 si.read_openephys());NWB(.nwb,读取器 si.read_nwb())。

使用方式

快速开始:导入并配置并行处理(si.set_global_job_kwargs),加载数据(先用 si.get_neo_streams 检查可用流,再按名称选择 AP 流),可对前 60 秒切片以便快速迭代。

完整流水线(附带脚本):python scripts/neuropixels_pipeline.py /path/to/spikeglx/data output/ --sorter kilosort4 --curation allen,执行加载 → 预处理 → 漂移检查 → 可选运动校正 → 分选 → 后处理 → 质量指标 → 筛选 → 导出。

标准分析工作流:

  1. 预处理:高通滤波(freq_min=400.0)、检测坏通道并移除、phase_shift(Neuropixels 1.0 的 ADC 相位校正)、共参考(median、global),并用 rec.save(folder=...) 保存为二进制。
  2. 检查与校正漂移:检测峰值、定位峰值、绘制漂移栅格图,必要时用 correct_motion 校正(预设:rigid_fast、kilosort_like、nonrigid_accurate、nonrigid_fast_and_accurate、dredge、dredge_fast)。
  3. 尖峰分选:Kilosort4(推荐,需 CUDA GPU),CPU 替代方案 SpykingCircus2、Tridesclous2、Mountainsort5;外部分选器可用 docker_image=True 在容器中运行。注意 run_sorter 使用 folder= 参数,旧的 output_folder= 已弃用。
  4. 后处理:创建 SortingAnalyzer,计算 random_spikes、waveforms、templates、noise_levels、spike_amplitudes、correlograms、unit_locations、template_similarity 及质量指标(firing_rate、presence_ratio、snr、isi_violation、amplitude_cutoff)。
  5. 基于指标阈值的筛选:使用 Allen 风格查询(注意列名为 isi_violations_ratio),或使用附带脚本 compute_metrics.py 的 allen/ibl/strict 预设。
  6. 基于模型的筛选(UnitRefine):通过 spikeinterface.curation 应用 Hugging Face 上的预训练分类器(噪声 vs 神经、单单元 vs 多单元),需 trust_model=True,返回含 prediction 与 probability 的 DataFrame。
  7. AI 辅助筛选:在 Cursor 或 Claude Code 等智能体内运行时,智能体可直接检查波形/相关图并给出专家判断;程序化视觉模型访问需从环境变量读取 API 密钥,切勿硬编码凭据。
  8. 导出结果:保留好单元后导出到 Phy(手动审查)、生成图表报告、导出 NWB、保存质量指标 CSV。

附带资源:scripts/explore_recording.py(快速检查记录)、scripts/preprocess_recording.py(自动预处理)、scripts/run_sorting.py(运行分选)、scripts/compute_metrics.py(计算指标并筛选)、scripts/export_to_phy.py(导出到 Phy)、scripts/neuropixels_pipeline.py(完整端到端流水线)、assets/analysis_template.py(可编辑分析模板)。

常见陷阱与最佳实践

分选前务必检查漂移(漂移 > ~10 μm 会显著降低质量);Neuropixels 1.0 使用 phase_shift 校正 ADC 采样偏移;保存预处理记录以避免重复计算(Kilosort 也需要二进制文件);Kilosort4 使用 GPU 远快于 CPU 分选器;审查不确定单元(自动/模型筛选只是起点而非结论);结合多种方法(明确案例用阈值,边界单元用模型/AI);记录阈值与模型仓库 ID 以保证可复现;关键实验导出到 Phy 进行人工监督。

关键可调参数

预处理:freq_min(高通截止,典型 300–400 Hz);detect_bad_channels 返回 (bad_channel_ids, channel_labels)。运动校正:preset(nonrigid_fast_and_accurate 均衡、nonrigid_accurate 严重漂移、dredge 最先进)。Kilosort4:batch_size(默认 60000)、nblocks(漂移块,长且漂移的记录需增加)、Th_universal / Th_learned(检测阈值,越低尖峰越多)。质量指标:snr(典型 3–5)、isi_violations_ratio(0.01–0.5)、presence_ratio(0.5–0.95)。

安装

需要 Python ≥ 3.10,推荐使用 uv。核心包:uv pip install "spikeinterface[full]" probeinterface neo。分选器:uv pip install kilosort(Kilosort4,需 CUDA GPU)、uv pip install spykingcircus(旧版;SpykingCircus2 随 SpikeInterface 提供)、uv pip install mountainsort5(CPU)。基于模型的筛选(UnitRefine 从 Hugging Face 下载):uv pip install "huggingface_hub" skops。可选 AI 辅助视觉筛选:uv pip install anthropic。可选 IBL 工具与 Bombcell:uv pip install ibl-neuropixel ibllib bombcell。可复现环境建议固定版本(截至 2026-06:spikeinterface==0.104.3、kilosort==4.1.7、probeinterface==0.3.2、neo==0.14.4)。

项目结构

project/ 下包含 raw_data/(原始记录)、preprocessed/(保存的预处理记录)、motion/(运动估计结果)、sorting_output/(分选器输出)、analyzer/(SortingAnalyzer,含波形与指标)、phy_export/(用于手动筛选)、ai_curation/(AI 分析报告)、results/(quality_metrics.csv、curation_labels.json、output.nwb)。

智能体操作流程与完整性规则

检查环境(确认工具版本、参考基因组/注释构建与输入格式);明确输入(确认格式、标识符与参数,不确定时询问而非猜测);先运行小规模版本(一个样本、一条染色体、几千个细胞);执行完整任务;验证结果(检查 QC 指标、样本身份、基因组构建一致性、批次效应);报告(说明运行内容、检查内容与仍不确定之处)。若基因组构建或标识符不匹配,停止并先协调;若指令中的函数/标志/端点在已安装版本中缺失,查阅该版本文档并告知用户,绝不虚构 API;若必需输入、标识符或参数不明确,询问用户或明确说明假设。绝不捏造结果、参数、标识符、引用或统计;不超出统计支持范围解释生物学意义,报告多重检验校正;将版本相关细节视为可能过时,对照已安装版本的官方文档确认;在涉及花钱、占用共享 GPU 或云配额、触碰个人或患者数据、或不可撤销的操作前先询问。

附加资源

SpikeInterface 文档、Neuropixels 教程、基于模型的筛选教程、UnitRefine 模型(Hugging Face)、Kilosort4 GitHub、IBL Neuropixel 工具、Allen Institute ecephys、Bombcell、Awesome Neuropixels 等链接见原文。

限制

Kilosort4 需要 CUDA GPU;基于模型的筛选模型在其他脑区/数据集上可能无法迁移,需用手动标注子集验证;AI 辅助筛选需在智能体内运行或配置 API 密钥;具体收费、价格与平台信息暂未提供。