首页
/ 使用NeMoS进行电流注入实验的神经元放电率建模分析

使用NeMoS进行电流注入实验的神经元放电率建模分析

2025-06-18 01:51:29作者:劳婵绚Shirley

引言

本文将通过一个实际案例,展示如何使用NeMoS工具包对神经元在电流注入实验中的响应进行建模。我们将分析来自小鼠初级视觉皮层第4层单个神经元的膜片钳记录数据,这些数据来自著名的Allen Brain Atlas数据库。

实验数据概述

实验采用"噪声1"刺激模式,向神经元注入三个电流脉冲。每个脉冲是一个带有固定频率正弦波和随机噪声的方波电流。我们主要关注以下两个数据维度:

  • 输入电流:实验者注入的电流信号
  • 神经元放电:记录到的动作电位时间点

数据预处理

数据加载与初步处理

我们使用Pynapple工具包加载NWB格式的实验数据:

import pynapple as nap
import numpy as np

# 加载数据文件
data = nap.load_file("allen_478498617.nwb")

# 提取关键数据
trial_interval_set = data["epochs"]  # 实验时间区间
current = data["stimulus"]           # 输入电流
spikes = data["units"]               # 神经元放电时间

数据筛选与转换

我们专注于"噪声1"刺激的第一个脉冲:

# 筛选特定刺激区间
noise_interval = trial_interval_set[trial_interval_set.tags == "Noise 1"][0]

# 限制数据范围并转换单位
current = current.restrict(noise_interval) * 1e12  # 转换为pA
spikes = spikes.restrict(noise_interval)           # 限制放电时间范围

数据分析

放电率估计

通过高斯平滑处理获得近似放电率:

bin_size = 0.001  # 1ms的bin大小
count = spikes[0].count(bin_size)  # 分bin计数
firing_rate = count.smooth(std=0.05, size_factor=20) / bin_size  # 平滑并转换为Hz

电流-放电率关系分析

计算神经元的调谐曲线:

tuning_curve = nap.compute_1d_tuning_curves(spikes, current, nb_bins=15)

分析结果显示放电率与注入电流呈非线性关系,随着电流增大,放电率并非线性增加,而是在高电流时可能出现下降趋势。

使用NeMoS构建GLM模型

数据准备

将数据转换为适合GLM建模的格式:

import jax.numpy as jnp
import nemos as nmo

# 电流信号降采样
binned_current = current.bin_average(bin_size)

# 准备模型输入
predictor = np.expand_dims(binned_current, 1)  # 转换为(n_time_bins, 1)
count = spikes[0].count(bin_size)               # 放电计数

模型构建与拟合

建立并训练广义线性模型:

# 初始化GLM模型
model = nmo.glm.GLM(regularizer=nmo.regularizer.UnRegularized())

# 模型拟合
model.fit(predictor, count)

模型评估

提取模型参数并分析:

# 获取模型权重
weights = model.coef_

# 生成预测放电率
predicted_rate = model.predict(predictor)

关键发现与讨论

  1. 非线性输入-输出关系:模型成功捕捉到神经元放电率与注入电流之间的非线性关系,这与调谐曲线分析结果一致。

  2. 适应性现象:模型能够反映神经元在持续刺激下放电率逐渐降低的现象,表明神经元存在适应性机制。

  3. 周期性响应:模型预测的放电模式显示出与输入电流相似的周期性,说明神经元对输入信号的时序特征具有选择性响应。

结论

通过NeMoS构建的GLM模型能够有效描述神经元在电流注入实验中的响应特性。该方法不仅适用于此类控制实验,也可扩展应用于更复杂的神经编码研究。模型揭示了神经元输入-输出转换的非线性特性,为理解神经信息处理机制提供了量化工具。

进一步研究方向

  1. 考虑更复杂的刺激模式下的神经元响应建模
  2. 引入突触后电位等生物物理机制扩展模型
  3. 探索群体神经元活动的耦合效应
  4. 将模型应用于在体记录数据分析

本教程展示了NeMoS在计算神经科学研究中的实用价值,为神经编码与解码问题提供了有力的分析工具。

登录后查看全文
热门项目推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
866
513
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
261
302
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
598
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K