将neuron simulator.hoc文件转换为.swc形态格式
hoc2swc的Python项目详细描述
hoc2swc:将神经元细胞hoc文件转换为swc形态文件的python包
hoc2swc是一个python库,它将使用NEURON simulatorHOC files定义的神经元模型的形态学转换为流行的SWC morphology format。该库还可用于转换神经元模拟器中实例化的细胞形态(例如,使用neuron+python构建的模型)。
一旦转换成swc,可以使用swc文件的工具可以用来compute SWC morphology metrics,创建professional 3D neuron morphology visualizations,等等……
要求
hoc2swc需要从package/installer(更简单)或compiled(更具挑战性)安装neuron的工作版本。支持Linux、Mac和Windows版本。
您必须能够在终端窗口中至少运行这些命令中的one而不会出错:
nrniv -python
- 或
python -c 'from neuron import h'
如果您不能运行这些命令中的任何一个,则表明您的神经元安装有问题。搜索NEURON forum上的错误消息以获取帮助。
安装和使用
安装和使用取决于你如何安装神经元模拟器(安装和编译)。更可定制的功能是为那些谁编译。
如果您安装了下载的Neuron软件包
下载并将this hoc2swc ZIP file解压缩到已知文件夹。此文件夹将有一个名为hoc2swc.py
的脚本。注意它的位置。
然后,要转换hoc文件,请在终端中运行以下命令(注意hoc和swc路径前面的“-):
nrniv -python path/to/hoc2swc.py -path/to/cell.hoc -path/to/converted.swc
如果编译neuron+python
要安装库,只需在终端中键入pip install hoc2swc
。
然后在python会话中,运行以下命令将hoc文件转换为swc。
from hoc2swc import hoc2swc
hoc2swc("path/to/cell.hoc", "out.swc")
导出非特定单元格
如果一个单元没有在hoc文件中定义(例如,使用自定义脚本或python定义),您可以在neuron中实例化该单元,当它准备好导出到swc时,使用以下python脚本行:
# Load your cell
from neuron import h
run_scripts_build_cell_etc()
# Export loaded cell to SWC
from hoc2swc import neuron2swc
neuron2swc("out.swc")
请注意,对于打包的neuron用户,如果从hoc2swc.py文件所在的目录启动nrniv -python
,或者将该位置附加到pythonpath环境变量,则上述行也适用于您。
问题
如果遇到问题,首先要确保这不是由于neuron本身——这个库只是与neuron可执行文件交互。如果是,请联系NEURON team。如果这个库有问题,请创建一个issue on Github。
贡献
要投稿,请先打开一个问题,讨论你的投稿计划。然后派生这个存储库并提交一个包含更改的请求。