Skip to main content

Convert NEURON simulator .HOC files to .SWC morphology format

Project description

Build Status Coverage Status PyPI version

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hoc2swc-0.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distributions

hoc2swc-0.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

hoc2swc-0.1-py2-none-any.whl (7.0 kB view details)

Uploaded Python 2

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

Hashes for hoc2swc-0.1.tar.gz
Algorithm Hash digest
SHA256 3873a7a2b5ed0258574fbcddaf2475e8cf4f510f890269453819e0f078130686
MD5 2186b813ba020f7a2012f81389c474a4
BLAKE2b-256 d322b9501b35708fd20718e2014a138a5d27a8f173f908d9170a93167eeb0773

See more details on using hashes here.

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

Hashes for hoc2swc-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c8af4e3fb34b3d8e330f3b5641bd72446da37c1417c996930a1aa8f84a6a4997
MD5 d9e959d4728b0790df7216bfa6b70f96
BLAKE2b-256 441be52dd3e0ebfdd58fc6875d48711777b81adb8de2ef287c2baefd6b549c89

See more details on using hashes here.

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

Hashes for hoc2swc-0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 6dee88d23f4df052f862385c2fd027fdbc19285556eac13b86c64b96d85d007c
MD5 722a52ee400b3563cd617aae87842a09
BLAKE2b-256 4f844410f4732d123acaaca079ab058ab79d61e6e397df7826c964682492df3d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page