PYthon PipelinEs for 9ML (Pype9) 是一个用于使用各种仿真后端模拟描述在9ML中的神经元模型网络的Python管道集合。
项目描述
PYthon PipelinEs for 9ML (Pype9) 是一个用于使用各种仿真后端模拟描述在NineML中的神经元模型网络的Python管道集合。
链接
支持的仿真器
Pype9可以与以下仿真后端之一或两个一起使用
有关如何在不同平台上安装这些仿真器的详细说明,请参阅安装文档。
不支持的NineML
NineML 的目标是成为神经模拟的综合性描述语言。这意味着它允许表达一些在 Neuron 和 NEST 中难以实现的非常见配置。计划使 Pype9 中的 NEURON 和 NEST 管道完全支持 NineML,但在那之前,以下限制适用于可以与 Pype9 一起使用的模型。
突触必须是线性的
突触只能有一个变量在投射中变化(例如权重)
在种群之间没有循环的模拟连接(例如缝隙连接)
每个细胞只能有一个事件发送端口
分配给 NineML 元素的名字不会被转义,因此可能与内置关键词和一些 PyPe9 方法名称冲突(例如,'lambda' 是 Python 中的一个保留关键词)。请避免使用与 C++ 或 Python 关键词冲突的名称(注意:这将在未来的版本中得到解决)。
示例
给定一个保存在 my_hodgkin_huxley.xml 中的 NineML 描述的细胞模型,模拟管道可以从命令行运行
$ 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 脚本中
from pype9.simulator.neuron import cell, Simulation
from nineml import units as un
HodgkinHuxley = cell.MetaClass('my_hodgkin_huxley.xml#hh_class')
with Simulation(dt=0.01 * un.ms, seed=1234) as sim:
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
或
from pype9.simulator.neuron import Network, Simulation
from nineml import units as un
with Simulation(dt=0.01 * un.ms, seed=1234) as sim:
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 文档中的 在 Python 中创建模拟 获取更多示例和管道。
除了 simulate 命令之外,还有一个 plot 命令,可以方便地使用 Matplotlib 绘制模拟结果,以及一个 convert 命令,可以将 NineML 文件在不同序列化格式(XML、YAML、JSON 和 HDF5)和 NineML 版本(1.0 和 2.0dev)之间进行转换。请参阅文档以获取详细信息。
- 版权信息:
版权所有 20012-2016,由 Pype9 团队所有,见 AUTHORS。
- 许可证:
MIT,详情请参阅 LICENSE。
项目详情
下载文件
下载您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。