跳转到主要内容

PYthon PipelinEs for 9ML (Pype9) 是一个用于使用各种仿真后端模拟描述在9ML中的神经元模型网络的Python管道集合。

项目描述

https://travis-ci.org/NeuralEnsemble/pype9.svg?branch=master https://coveralls.io/repos/github/NeuralEnsemble/pype9/badge.svg?branch=master Supported Python versions Latest Version Documentation Status

PYthon PipelinEs for 9ML (Pype9) 是一个用于使用各种仿真后端模拟描述在NineML中的神经元模型网络的Python管道集合。

支持的仿真器

Pype9可以与以下仿真后端之一或两个一起使用

有关如何在不同平台上安装这些仿真器的详细说明,请参阅安装文档

不支持的NineML

NineML 的目标是成为神经模拟的综合性描述语言。这意味着它允许表达一些在 NeuronNEST 中难以实现的非常见配置。计划使 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。

项目详情


下载文件

下载您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分布

pype9-0.2.tar.gz (116.1 kB 查看哈希值)

上传时间

构建分布

pype9-0.2-py2.py3-none-any.whl (245.2 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者