NEURON简介

一、NEURON简介
NEURON软件由杜克大学和耶鲁大学的研究人员合作开发,是用于为单个神经元和神经元网络建模的仿真环境。NEURON为在神经元和神经元网络中实现电信号和化学信号的生物学模型提供了强大而灵活的环境,可以用于实验与数据密切相关的问题,尤其是那些具有复杂解剖学和生理学特性的神经元问题。NEURON在神经科学研究中得到广泛的应用,成为国际上最受欢迎的神经建模工具。

二、NEURON与Blue Brain的关系
为了扩展模拟器技术以有效适应大规模的生物模型,Blue Brain参与了NEURON模拟器的开发。以确保了模拟器软件与数千个处理器的有效并行,以及再整个并行化过程中模型的可重复性。
Blue Brain共开发了两个软件程序来模拟大规模网络与形体复杂的神经元。其中之一是新MPI版本的NEURON,已经被Michael Hines改编运行在Blue Gene(Blue Gene为IBM公司设计的一款超级计算机)。

三、构建神经系统的方法
第一种:图形用户界面(graphical user interface,GUI),不需要编写任何程序代码,可用于创建模型,运行初始探索性模型,设置参数,控制常见的电压额电流刺激以及将图形变量作为时间和位置的函数。
第二种:使用HOC语言编写自定义模型参数,以实现更加复杂的功能。使用GUI构建神经系统模型的形态、特性等描述参数较为局限,可能无法满足实际复杂的网络构建,HOC语言实现了面向对象编程的部分特点,并且内置了大量的库函数,允许用户实现对复杂网络模型的自定义。
NEURON最为灵活和强大的用法是将HOC编程和GUI结合起来,以利用两种方法的优势。

四、编程语言
1.高级计算语言(High Order Calculator,HOC)
大多数NEURON编程都是使用HOC完成的,HOC是类似与C形语法的解释语言,HOC通过增加面向对象语法(不包括多态性和继承性)进行扩展,可用于实现抽象数据类型和数据封装。这为设置模型的解剖和生物物理特性,定义图形界面的外观,控制模拟以及绘制结果提供了极大的灵活性。
从2006年开始,Python被添加为替代解释器。现在,此功能已成为标准发行版的一部分,因此可以完全使用Python开发程序,也可以将Python和HOC结合使用,可以从Python访问HOC变量,对象等。使用Python调用NEURON使模型具有兼容性和可移植性,Python还提供了各种各样的数据结构,可用于数据组织和数据通信,以组织、保存和重载模型。
2.模型描述语言(Model Description Language,NMODL)
NMODL语言主要用于描述神经元细胞膜的电生理特性,使模型可以用动力学方案或联立微分方程和代数方程组来表示。为保持效率,NMODL中的用户定义机制被自动转换为C语言,通过HOC解释程序提供的接口,将NMODL定义的生物机制插入到HOC定义的神经模型。NEURON软件内也嵌有现成的离子通道模型和突出连接模型,这些模型可以通过GUI或HOC语言直接调用进行设置,也可以通过NMODL自定义各种电生理特性,例如钙离子通道模型、钾离子通道模型等。NMODL还可以用来编写新类型的人工尖峰细胞的模型描述。
可以通过NMODL代码创建类型机制有:被动漏电流和局部跨膜电流、电极刺激、电压-门控通道、有限空间内的离子积累、缓冲,离子扩散和主动传输、突触传递。
    图 1 NEURON软件结构图图 1 NEURON软件结构图图1 NEURON软件结构图描述
五、NEURON模型的优点
1.用户不需要将问题转换到另一个领域,而是能够直接处理神经科学层面上熟悉的模型。NEURON嵌有生物物理学基本模型函数库。这些模型中较为常用的有H-H方程和突触连接方程(EXP)。用户只需要调用这些函数来构建模型,并观察模型的整体特性。而无需考虑中间涉及到的复杂的数值求解过程,这也是NEURON软件的设计目标之一。
2.NEURON包含的功能是专门为控制模拟和绘制真实生理学问题结果而量身定制的。
3.计算引擎高效,利用了神经方程的结构以及提供多种数值积分方法。有反向Euler法、Crank-Nicholson法和自适应积分法。反向Euler法是基本的数值积分法,比较简单,稳定性好,尽管精度不够高,仍能够满足大部分的需求。Crank-Nicholson法有着更高的精度和稳定性,但耗时较大。自适应积分法可根据实际情况灵活调整阶数和步长,已达到快速和高精度的目的。

六、NEURON设计和实现的基本原则
1.NEURON是围绕连续电缆“部分”(不分支的连续电缆)的概念制定的,可以将它们连接在一起以形成任何种类的分支电缆。一个部分可以被赋予一些属性,如解剖和生理学特性,这些属性随着其长度上的位置不断变化。其目的是将神经元的物理特性和空间部分大小的数值问题完全分开,从而帮助研究者将注意力集中在生物学而不是计算细节上。
2.用不同的微分方程、动力学方程和模拟方程组描述了膜(如离子通道、泵)和细胞质(如缓冲液和第二信使)生物物理性质。对这些模型描述进行了编译,以便使用针对分支结构优化的隐式积分方法有效地计算膜电位和门控状态。
3.电缆方程式。NEURON建模的理论根据为电缆理论,利用通用电阻连接的方式模型近似电缆方程的方法,求解电压和电流的纵向传播。
4.离散时空策略。神经系统中的信息处理涉及神经元和胶质细胞之间的电信号和化学信号的传播和相互作用。这些信号是时间和空间的连续函数,由扩散方程和密切相关的电缆方程描述。为了模拟生物神经元的运作,NEURON采用离散时间和空间的策略,用一组可以数值求解的代数差分方程逼近这些偏微分方程。
5.范围和范围变量策略。范围变量是沿细胞分支位置的连续函数,例如直径、膜电位、离子通道密度。神经元以弧长(标准化距离)为单位,沿每个截面的质心处理范围变量。此规格化距离(称为范围)是一个连续参数,从一端的0到另一端的1不等。在神经元编程语言hoc中,不管轴突离散参数nseg的值是多少,轴突长度1000μm以下700μm处的膜电位称为axon.v(0.7)。范围和范围变量允许神经元自身处理节点和解剖位置之间的对应关系。
6.NEURON处理突触连接的策略是基于一个非常简单的突触传递概念模型:在突触前端的一个尖峰导致传递素释放,这反过来扰乱了突触后细胞的一些机制(例如膜电导或第二信使),由微分方程或动力学方案描述的。重要的是突触前细胞是否发生了刺激;突触前和突触后细胞的机制细节并不影响递质的释放。这个概念模型将细胞之间连接的规格和连接所激活的突触后机制的规格分开。

七、建模过程
无论使用GUI还是编写HOC代码,创建和使用网络模型都需要一下基本步骤:
第一步:定义细胞类型。
需要创建将在网络中使用的细胞类,我们的细胞类型也包括人工脉冲细胞。根据细胞的解剖和生理学特性对类中的神经部件属性进行设置,包括空间结构、突触、离子通道、外部刺激等的设置。
第二步:创建网络中的每个细胞。
对创建好的细胞类进行实例化,创建网络中的每个细胞,自 动调用执行细胞类中init()方法。
第三步:连接细胞。
连接细胞需要两个密切相关的任务:①创建网络体系结构②制定连接的延迟和权重,所有突出权重的默认初始值为0,表示突触前细胞对其突触后目标没有影响,默认情况下所有延迟都为1毫秒。
第四步:设置记录或显示模拟结果。
需要设置呈现模拟结果的方式,若需要对模拟结果进行记录,需要对数据的采集进行设置。
第五步:设置运行模拟的控制。
可以用RunControl面板或者程序代码对模型的运行模拟进行控制,设置时间步长,模拟运行时间等
第六步:运行模拟
运行模型,得到输出结果。
图 2 建模过程

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫与清晨的光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值