NEURON图形界面操作
图形界面概述
NEURON 是一个强大的细胞电生理仿真软件,不仅支持通过命令行和脚本进行复杂的建模和仿真,还提供了直观的图形用户界面(GUI)来简化一些常见的操作。NEURON 的图形界面可以帮助用户快速构建和可视化神经元模型,调整参数,运行仿真,并分析结果。本节将详细介绍如何使用 NEURON 的图形界面进行操作。
启动图形界面
要启动 NEURON 的图形界面,首先需要确保您的系统已经安装了 NEURON 软件。NEURON 可以在多种操作系统上运行,包括 Windows、Linux 和 macOS。启动图形界面的方法如下:
Windows
打开 NEURON 的安装目录。
双击
nrniv.exe文件。
Linux
打开终端。
输入
nrngui并按回车键。
macOS
打开终端。
输入
nrngui并按回车键。
启动后,您将看到 NEURON 的主界面,包括菜单栏、工具栏和多个窗口。
基本操作
创建模型
在 NEURON 的图形界面中,创建模型的基本步骤如下:
打开模型构建器:
从菜单栏中选择
Model->ModelBuilder。这将打开一个模型构建器窗口,您可以在其中定义神经元的形态和属性。
定义神经元段:
在模型构建器窗口中,选择
Add a section。输入段的名称,例如
soma、dendrite等。设置段的长度、直径和类型(例如
soma通常是一个球形段,而dendrite是一个圆柱形段)。
连接段:
选择
Connect sections。选择要连接的两个段,并设置连接点。
例子:创建一个简单的双段神经元模型
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 创建一个圆柱形段(dendrite)dendrite=h.Section(name='dendrite')dendrite.L=200# 长度设为200微米dendrite.diam=5# 直径设为5微米# 连接soma和dendritedendrite.connect(soma(0.5),0)# 将dendrite的0端连接到soma的0.5端# 打开图形界面h.psection()插入机制
在 NEURON 中,机制是指细胞膜上的离子通道、泵和其他生物物理学特性。通过图形界面,您可以轻松地为模型中的段插入机制。
打开机制对话框:
右键点击模型中的某个段,选择
Insert a mechanism...。这将打开一个对话框,列出可用的机制。
选择机制:
从列表中选择一个机制,例如
hh(Hodgkin-Huxley 模型)。单击
Insert按钮。
设置机制参数:
- 在段的属性窗口中,调整机制的参数,例如
gnabar、gkbar等。
- 在段的属性窗口中,调整机制的参数,例如
例子:为 soma 段插入 Hodgkin-Huxley 机制
# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')# 设置Hodgkin-Huxley机制的参数soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 打开图形界面查看设置h.psection()模型可视化
NEURON 的图形界面提供了多种工具来可视化神经元模型,包括三维视图和拓扑结构图。
三维视图
打开三维视图:
从菜单栏中选择
Tools->3D View。这将打开一个三维视图窗口,显示您创建的神经元模型。
调整视图:
使用鼠标滚轮缩放视图。
按住鼠标左键旋转视图。
按住鼠标右键平移视图。
拓扑结构图
打开拓扑结构图:
从菜单栏中选择
Tools->Topology。这将打开一个拓扑结构图窗口,显示模型中各段的连接关系。
调整显示属性:
在拓扑结构图窗口中,右键点击某段,选择
Edit properties。调整段的显示颜色、线宽等属性。
例子:创建并可视化一个简单的神经元模型
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 创建一个圆柱形段(dendrite)dendrite=h.Section(name='dendrite')dendrite.L=200# 长度设为200微米dendrite.diam=5# 直径设为5微米# 连接soma和dendritedendrite.connect(soma(0.5),0)# 将dendrite的0端连接到soma的0.5端# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 打开三维视图h.PlotShape(True).show(0)# 打开拓扑结构图h.topology()运行仿真
设置仿真参数
在运行仿真之前,您需要设置一些基本的仿真参数,例如仿真时间、时间步长等。
打开仿真参数设置窗口:
从菜单栏中选择
Tools->Simulation Control Panel。这将打开一个仿真控制面板窗口。
设置仿真时间:
- 在
Stop Time选项中输入仿真结束的时间,例如100 ms。
- 在
设置时间步长:
- 在
Step Size选项中输入时间步长,例如0.025 ms。
- 在
选择求解器:
- 在
Solver选项中选择合适的求解器,例如Fixed Step。
- 在
例子:设置仿真参数
# 导入NEURON模块fromneuronimporth,gui# 设置仿真时间h.tstop=100# 仿真结束时间为100毫秒# 设置时间步长h.dt=0.025# 时间步长为0.025毫秒# 选择求解器h.CVode().active(0)# 使用固定步长求解器# 打开仿真控制面板h.nrncontrolpanel()运行仿真
在设置好仿真参数后,您可以运行仿真并查看结果。
运行仿真:
在仿真控制面板窗口中,点击
Initialize & Run按钮。仿真将开始运行,并在完成后显示结果。
查看结果:
从菜单栏中选择
Graph->Time。在时间图窗口中,选择要记录的变量,例如
soma.v。点击
Run按钮,查看仿真结果。
例子:运行仿真并记录膜电位
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 设置仿真时间h.tstop=100# 仿真结束时间为100毫秒# 设置时间步长h.dt=0.025# 时间步长为0.025毫秒# 选择求解器h.CVode().active(0)# 使用固定步长求解器# 创建记录器v=h.Vector()t=h.Vector()v.record(soma(0.5)._ref_v)# 记录soma段0.5位置的膜电位t.record(h._ref_t)# 记录时间# 打开时间图h.graphList[0].append(h.Graph())graph=h.graphList[0][-1]graph.addvar('soma.v(0.5)',v,t)# 打开仿真控制面板h.nrncontrolpanel()# 运行仿真h.run()# 显示仿真结果graph.exec_menu('View = plot')参数调整
在 NEURON 的图形界面中,您可以方便地调整模型中的各种参数,包括膜电导、逆向电位等。
调整段参数
打开段属性窗口:
右键点击模型中的某个段,选择
Edit properties。这将打开一个属性窗口,列出该段的所有参数。
修改参数值:
在属性窗口中,直接输入新的参数值。
点击
Apply按钮保存修改。
调整机制参数
打开机制参数窗口:
右键点击模型中的某个段,选择
Edit properties。在属性窗口中,选择
Mechanisms标签页。选择要调整的机制,例如
hh。
修改参数值:
在机制参数窗口中,直接输入新的参数值。
点击
Apply按钮保存修改。
例子:调整 Hodgkin-Huxley 机制参数
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 打开段属性窗口h.psection(soma)# 调整Hodgkin-Huxley机制参数soma.gnabar_hh=0.15# 将钠离子通道的最大电导调整为0.15soma.gkbar_hh=0.04# 将钾离子通道的最大电导调整为0.04# 打开图形界面查看设置h.psection()结果分析
NEURON 的图形界面提供了多种工具来分析仿真结果,包括时间图、相图、三维视图等。这些工具可以帮助您更好地理解和解释仿真数据。
时间图
时间图是分析仿真结果的常用工具,可以显示变量随时间变化的曲线。以下是使用时间图的步骤:
打开时间图:
从菜单栏中选择
Graph->Time。这将打开一个时间图窗口。
记录变量:
在时间图窗口中,点击
Add var按钮。选择要记录的变量,例如
soma.v。
运行仿真:
- 点击
Run按钮,仿真将开始运行,并在完成后显示结果。
- 点击
例子:记录和显示 soma 膜电位
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 设置仿真时间h.tstop=100# 仿真结束时间为100毫秒# 设置时间步长h.dt=0.025# 时间步长为0.025毫秒# 选择求解器h.CVode().active(0)# 使用固定步长求解器# 创建记录器v=h.Vector()t=h.Vector()v.record(soma(0.5)._ref_v)# 记录soma段0.5位置的膜电位t.record(h._ref_t)# 记录时间# 打开时间图h.graphList[0].append(h.Graph())graph=h.graphList[0][-1]graph.addvar('soma.v(0.5)',v,t)# 打开仿真控制面板h.nrncontrolpanel()# 运行仿真h.run()# 显示仿真结果graph.exec_menu('View = plot')相图
相图可以显示两个变量之间的关系,常用于分析膜电位和门控变量的动态变化。以下是使用相图的步骤:
打开相图:
从菜单栏中选择
Graph->Phase。这将打开一个相图窗口。
记录变量:
在相图窗口中,点击
Add var按钮。选择要记录的两个变量,例如
soma.v和soma.m。
运行仿真:
- 点击
Run按钮,仿真将开始运行,并在完成后显示结果。
- 点击
例子:记录和显示 soma 膜电位和钠离子通道激活门控变量
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 设置仿真时间h.tstop=100# 仿真结束时间为100毫秒# 设置时间步长h.dt=0.025# 时间步长为0.025毫秒# 选择求解器h.CVode().active(0)# 使用固定步长求解器# 创建记录器v=h.Vector()m=h.Vector()t=h.Vector()v.record(soma(0.5)._ref_v)# 记录soma段0.5位置的膜电位m.record(soma(0.5)._ref_m_hh)# 记录soma段0.5位置的钠离子通道激活门控变量t.record(h._ref_t)# 记录时间# 打开相图h.graphList[0].append(h.Graph())graph=h.graphList[0][-1]graph.addvar('soma.v(0.5)',v,t)graph.addvar('soma.m(0.5)',m,t)# 打开仿真控制面板h.nrncontrolpanel()# 运行仿真h.run()# 显示仿真结果graph.exec_menu('View = plot')三维视图
三维视图可以帮助您直观地查看神经元模型的形态和结构。以下是使用三维视图的步骤:
打开三维视图:
从菜单栏中选择
Tools->3D View。这将打开一个三维视图窗口,显示您创建的神经元模型。
调整视图:
使用鼠标滚轮缩放视图。
按住鼠标左键旋转视图。
按住鼠标右键平移视图。
例子:创建并可视化一个简单的神经元模型
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 创建一个圆柱形段(dendrite)dendrite=h.Section(name='dendrite')dendrite.L=200# 长度设为200微米dendrite.diam=5# 直径设为5微米# 连接soma和dendritedendrite.connect(soma(0.5),0)# 将dendrite的0端连接到soma的0.5端# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 打开三维视图h.PlotShape(True).show(0)# 打开拓扑结构图h.topology()拓扑结构图
拓扑结构图可以显示模型中各段的连接关系,帮助您理解和验证模型的结构。以下是使用拓扑结构图的步骤:
打开拓扑结构图:
从菜单栏中选择
Tools->Topology。这将打开一个拓扑结构图窗口,显示模型中各段的连接关系。
调整显示属性:
在拓扑结构图窗口中,右键点击某段,选择
Edit properties。调整段的显示颜色、线宽等属性。
例子:创建并显示一个简单的神经元模型的拓扑结构图
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 创建一个圆柱形段(dendrite)dendrite=h.Section(name='dendrite')dendrite.L=200# 长度设为200微米dendrite.diam=5# 直径设为5微米# 连接soma和dendritedendrite.connect(soma(0.5),0)# 将dendrite的0端连接到soma的0.5端# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 打开拓扑结构图h.topology()其他分析工具
NEURON 还提供了其他一些分析工具,例如:
电压图:显示特定位置的膜电位。
电流图:显示特定机制的电流。
离子浓度图:显示特定离子的浓度变化。
例子:创建并显示 soma 膜电位和钠离子电流
# 导入NEURON模块fromneuronimporth,gui# 创建一个球形段(soma)soma=h.Section(name='soma')soma.L=20# 长度设为20微米soma.diam=20# 直径设为20微米# 为soma段插入Hodgkin-Huxley机制soma.insert('hh')soma.gnabar_hh=0.12# 钠离子通道的最大电导soma.gkbar_hh=0.036# 钾离子通道的最大电导soma.gl_hh=0.0003# 泄漏通道的电导soma.el_hh=-54.3# 泄漏通道的逆向电位# 设置仿真时间h.tstop=100# 仿真结束时间为100毫秒# 设置时间步长h.dt=0.025# 时间步长为0.025毫秒# 选择求解器h.CVode().active(0)# 使用固定步长求解器# 创建记录器v=h.Vector()ina=h.Vector()t=h.Vector()v.record(soma(0.5)._ref_v)# 记录soma段0.5位置的膜电位ina.record(soma(0.5)._ref_ina_hh)# 记录soma段0.5位置的钠离子电流t.record(h._ref_t)# 记录时间# 打开时间图h.graphList[0].append(h.Graph())graph_v=h.graphList[0][-1]graph_v.addvar('soma.v(0.5)',v,t)# 打开钠离子电流图h.graphList[0].append(h.Graph())graph_ina=h.graphList[0][-1]graph_ina.addvar('soma.ina(0.5)',ina,t)# 打开仿真控制面板h.nrncontrolpanel()# 运行仿真h.run()# 显示膜电位结果graph_v.exec_menu('View = plot')# 显示钠离子电流结果graph_ina.exec_menu('View = plot')总结
NEURON 的图形界面提供了丰富的工具和直观的操作方式,使您能够轻松地构建、调整和分析神经元模型。通过上述步骤,您可以快速上手并进行高效的仿真工作。希望这些内容对您有所帮助,祝您在神经元建模和仿真中取得成功!