Skip to main content

Code for biophysical simulation of a cortical column using Neuron

Project description

hnn-core

CircleCi Build Status Test coverage

This is a leaner and cleaner version of the code based off the HNN repository. However, a Graphical User Interface is not supported at the moment in this repository.

It is early Work in Progress. Contributors are very welcome.

Dependencies

  • numpy

  • scipy

  • matplotlib

  • Neuron (>=7.7)

Optional dependencies

  • joblib (for simulating trials simultaneously)

  • mpi4py (for simulating the cells in parallel for a single trial). Also depends on:

    • openmpi or other mpi platform installed on system

    • psutil

Installation

We recommend the Anaconda Python distribution. To install hnn-core, simply do:

$ pip install hnn_core

and it will install hnn-core along with the dependencies which are not already installed.

Note that if you installed Neuron using the traditional installer package, it is recommended to remove it first and unset PYTHONPATH and PYTHONHOME if they were set. This is because the pip installer works better with virtual environments such as the ones provided by conda.

If you want to track the latest developments of hnn-core, you can install the current version of the code (nightly) with:

$ pip install --upgrade https://api.github.com/repos/jonescompneurolab/hnn-core/zipball/master

To check if everything worked fine, you can do:

$ python -c 'import hnn_core'

and it should not give any error messages.

Parallel backends

For further instructions on installation and usage of parallel backends for using more than one CPU core, refer to parallel_backends

Note for Windows users

The pip installer for Neuron does not yet work for Windows. In this case, it is better to install hnn_core without the dependencies:

$ pip install hnn_core --no-deps

and then install the dependencies separately:

$ pip install scipy numpy matplotlib

and install Neuron using the traditional package installer available here https://neuron.yale.edu/neuron/.

Documentation and examples

Once you have tested that hnn_core and its dependencies were installed, we recommend downloading and executing the example scripts provided on the documentation pages (as well as in the GitHub repository).

Note that python plots are by default non-interactive (blocking): each plot must thus be closed before the code execution continues. We recommend using and ‘interactive’ python interpreter such as ipython:

$ ipython --matplotlib

and executing the scripts using the %run-magic:

%run plot_simulate_evoked.py

When executed in this manner, the scripts will execute entirely, after which all plots will be shown. For an even more interactive experience, in which you execute code and interrogate plots in sequential blocks, we recommend editors such as VS Code and Spyder.

Bug reports

Use the github issue tracker to report bugs. For user questions and scientific discussions, please join the HNN Google group.

Interested in Contributing?

Read our contributing guide.

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

hnn-core-0.2.tar.gz (305.1 kB view details)

Uploaded Source

File details

Details for the file hnn-core-0.2.tar.gz.

File metadata

  • Download URL: hnn-core-0.2.tar.gz
  • Upload date:
  • Size: 305.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.5.0.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.3

File hashes

Hashes for hnn-core-0.2.tar.gz
Algorithm Hash digest
SHA256 9969e06c258daff1b1a3170aa24c5aab3a47e49c6ddcd71809ab51347654b0b9
MD5 fc91556b133cacb5270b73199101f5f2
BLAKE2b-256 d6f222db1d0b9dafa2e87d47505eb107cbe209a50cb73a2cea6f33e7eb670f05

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