python pipelines for 9ml(pype9)是一个python管道的集合,用于模拟9ml中描述的具有各种模拟器后端的神经元模型网络。
pype9的Python项目详细描述
python pipelines for 9ml(pype9)是python管道的集合 用于模拟NineML中描述的神经元模型网络 模拟器后端。
链接
不支持nineml
NineML旨在成为神经模拟的综合描述语言。这个 意味着它允许表达一些不常见的配置 很难在Neuron和NEST中实现。计划让神经元 在pype9中嵌套管道完全支持NineML,但是在此之前 以下限制适用于可与PYPE9一起使用的模型。
- 突触必须是线性的
- 突触只能有一个变量在投影上变化(例如 重量)
- 种群之间没有重复的模拟连接(例如间隙连接)
- 每个单元格只有一个事件发送端口
- 给NineML元素的名称没有转义,因此可能与 内置关键字和一些pype9方法名(例如,“lambda”是保留的 python中的关键字)。请避免使用与C++或Python冲突的名称。 关键字(注意:这将在以后的版本中修复)。
示例
给定保存在NineML中描述的单元格模型 my_hodgkin_huxley.xml,模拟器管道可以从命令行运行:
$ pype9 simulate my_hodgkin_huxley.xml#hh_props neuron 100.0 0.01 \ --play isyn isyn.neo.pkl --record v v.neo.pkl --init_value v -65.0 mV
或者在python脚本中
frompype9.simulator.neuronimportcell,SimulationfromninemlimportunitsasunHodgkinHuxley=cell.MetaClass('my_hodgkin_huxley.xml#hh_class')withSimulation(dt=0.01*un.ms,seed=1234)assim:hh=HodgkinHuxley('my_hodgkin_huxley.xml#hh_props',v=-65.0*un.mV)hh.record('v')sim.run(100.0*un.ms)v=hh.recording('v')
pype9还支持通过与PyNN集成在NineML中描述的网络模型
$ pype9 simulate brunel.xml nest 1000.0 0.01 \ --record Exc.spike_output Exc-nest.neo.pkl \ --record Inh.spike_output Inh-nest.neo.pkl \ --seed 12345
或
frompype9.simulator.neuronimportNetwork,SimulationfromninemlimportunitsasunwithSimulation(dt=0.01*un.ms,seed=1234)assim:brunel_ai=Network('brunel.xml#AI')brunel_ai.component_array('Exc').record('spike_output')brunel_ai.component_array('Inh').record('spike_output')sim.run(1000.0*un.ms)exc_spikes=brunel_ai.component_array('Exc').recording('spike_output')inh_spikes=brunel_ai.component_array('Inh').recording('spike_output')
有关更多示例和管道,请参见pype9文档中的Creating Simulations in Python。
除了simulate命令之外,还有一个plot命令用于 用Matplotlib方便地绘制模拟结果, 以及convert命令,用于在不同序列化之间转换NineML文件 格式(xml、yaml、json和hdf5)和NineML版本(1.0和2.0dev)。见 有关详细信息的文档。
copyright: | Copyright 20012-2016 by the Pype9 team, see AUTHORS. |
---|---|
license: | MIT, see LICENSE for details. |