Convert NEURON simulator .HOC files to .SWC morphology format
Project description
hoc2swc: A Python package to convert NEURON cell HOC files to SWC morphology files
hoc2swc is a Python library that converts the morphology of neuron models defined using NEURON simulator HOC files to the popular SWC morphology format. The library can also be used to convert cell morphologies instantiated in NEURON simulator (e.g. models that were build using NEURON+Python).
Once converted to SWC, tools that can consume SWC files can be used to compute SWC morphology metrics, create professional 3D neuron morphology visualizations, etc...
Requirements
hoc2swc requires a working version of NEURON either installed from a package/installer (easier) or compiled (more challenging). Linux, Mac, and Windows versions are supported.
You must be able to run at least one of these commands in a terminal window without errors:
nrniv -python
- Or
python -c 'from neuron import h'
If you cannot run any of these commands, it indicates that there is something amiss with your NEURON installation. Search the error messages on the NEURON forum for help.
Installation and Usage
Installation and usage depends on how you installed NEURON simulator (installed vs. compiled). More customizable functionality is available for those who compiled.
If you installed a downloaded NEURON package
Download and extract this hoc2swc ZIP file to a known folder. This folder will have a script named hoc2swc.py
. Note its location.
Then, to convert a HOC file, run the following command in terminal (note the '-'s before the hoc and swc paths):
nrniv -python path/to/hoc2swc.py -path/to/cell.hoc -path/to/converted.swc
If you compiled NEURON+Python
To install the library, simply type in pip install hoc2swc
in your terminal.
Then in a Python session, run the following to convert a HOC file to SWC.
from hoc2swc import hoc2swc
hoc2swc("path/to/cell.hoc", "out.swc")
Exporting non-HOC cells
If a cell is not defined in a HOC file (e.g. defined using a custom script or using Python), you can instantiate the cell in NEURON and when it is ready for export to SWC, use the following Python script lines:
# Load your cell
from neuron import h
run_scripts_build_cell_etc()
# Export loaded cell to SWC
from hoc2swc import neuron2swc
neuron2swc("out.swc")
Note to packaged NEURON users, if you start nrniv -python
from the directory where the hoc2swc.py file is located OR append the location to the PYTHONPATH environment variable, the above lines will work for you as well.
Issues
If you encounter an issues, first make sure it's not due to NEURON itself -- this library simply interacts with the NEURON executables. If it is, please contact the NEURON team. If the issue is with this library, please create an issue on Github.
Contributing
To contribute, please open an issue first and discuss your plan for contributing. Then fork this repository and commit a pull-request with your changes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file hoc2swc-0.1.tar.gz
.
File metadata
- Download URL: hoc2swc-0.1.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3873a7a2b5ed0258574fbcddaf2475e8cf4f510f890269453819e0f078130686 |
|
MD5 | 2186b813ba020f7a2012f81389c474a4 |
|
BLAKE2b-256 | d322b9501b35708fd20718e2014a138a5d27a8f173f908d9170a93167eeb0773 |
File details
Details for the file hoc2swc-0.1-py3-none-any.whl
.
File metadata
- Download URL: hoc2swc-0.1-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8af4e3fb34b3d8e330f3b5641bd72446da37c1417c996930a1aa8f84a6a4997 |
|
MD5 | d9e959d4728b0790df7216bfa6b70f96 |
|
BLAKE2b-256 | 441be52dd3e0ebfdd58fc6875d48711777b81adb8de2ef287c2baefd6b549c89 |
File details
Details for the file hoc2swc-0.1-py2-none-any.whl
.
File metadata
- Download URL: hoc2swc-0.1-py2-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dee88d23f4df052f862385c2fd027fdbc19285556eac13b86c64b96d85d007c |
|
MD5 | 722a52ee400b3563cd617aae87842a09 |
|
BLAKE2b-256 | 4f844410f4732d123acaaca079ab058ab79d61e6e397df7826c964682492df3d |