/ca1

ca1 repository from 2017, linked to Open Source Brain

Primary LanguageJupyter Notebook

ca1: a NEURON network model

ca1 is a large-scale, detailed, biologically constrained NEURON network model of the rodent hippocampal CA1 area.

1   Main features

  • Linux, Mac OS X and Windows support
  • Documentation

2   Documentation

Full documentation is available here.

3   Installation

3.1   macOS

On macOS, ca1 code can be installed via Homebrew (recommended):

$ brew install ...

A MacPorts port is also available:

$ port install ...

3.2   Linux

# Debian, Ubuntu, etc. using Docker
$ apt-get install ....
# FDebian, Ubuntu, etc.  manual install
$ yum install ...

3.3   Windows, etc.

A universal installation method (that works on Windows, Mac OS X, Linux, …, and always provides the latest version) is to use `pip`_:

# Make sure we have an up-to-date version of pip and setuptools:
$ pip install --upgrade pip setuptools

$ pip install --upgrade ...

(If pip installation fails for some reason, you can try easy_install ... as a fallback.)

4   Usage

Scaled-down model:

$ nrngui main.hoc # Runs a network at scale 1:10000 for 100 ms to ensure all works

# OR

$ nrngui -c "SimDuration=600" main.hoc -c "quit()" # Runs a network at scale 1:10000 for 600 ms, long enough to see theta emerge

# OR

$ nrngui -nopython ... # if there is no python installed

# OR

$ nrniv ... # if using without a GUI popup (depends on your NEURON installation; sometimes nrngui must be invoked to ensure all necessary libraries are loaded when NEURON launches)

Synopsis:

$ nrngui [-c parameters] [main.hoc file]  -c "quit()"  # adding the quit() command after ensures the code stops immediately after an error

See also nrngui help.

4.1   Examples

Scaled down model to run directly on a personal computer:

$ nrngui main.hoc # Runs a network at scale 1:10000 for 100 ms to ensure all works

# OR

$ nrngui -c "Scale=1000" -c "SimDuration=600" main.hoc -c "quit()" # Runs a network at scale 1:1000 (will take a long time) for 600 ms, long enough to see theta emerge

# OR

$ nrngui -nopython -c "SimDuration=1000"  -c "ConnData=446" main.hoc -c "quit()" # try a different connectivity configuration and a longer simulation with the default Scale of 1:10000, use the nopython flag if NEURON has errors due to not finding the site module, etc.

# OR

$ nrngui -c "Scale=1" main.hoc -c "quit()" # run a full scale network - this is not feasible for the ca1 network on a personal computer, but could be used for tiny networks such as ringdemo.

On a supercomputer, after creating a submission jobscript and moving to the model repository directory, enter:

$ sbatch ./jobscripts/MyTestRun.sh

# OR

$ qsub ./jobscripts/MyTestRun.sh

According to the batch queueing software used by the computer. Or, use SimTracker to create the jobscript, export the script, code, and parameter sets to the supercomputer, and submit the job request to the queue.

5   Environment variables

You may wish to set...

In your ~/.bash_profile:

export N=samplesample
export NEURONHOME=samplesample
export PYTHONPATH=samplesample

6   Outputs

The result files output from each run include certain files that are always written as well as optional results files:

7   Customizing

To run this code with different parameters:

#!/bin/bash

nrngui [-c "Parameter=Value"]  [-c "strdef StringParam" "StringParam=\"StringValue\""]   ...

To run a network clamp simulation:

#!/bin/bash

nrngui -nopython -c gidOI=21310 -c cellindOI=6 -c stimflag=0 -c "strdef runname" -c runname="\"ca1_1x_exc_08\""  -c "strdef origRunName" -c origRunName="\"ca1_1x_exc_08\""  -c "strdef celltype2use" -c celltype2use="\"poolosyncell\""     -c "strdef resultsfolder" -c resultsfolder="\"00001\"" ./networkclamp_results/ca1_1x_exc_08/00001/run.hoc -c "quit()"

To customize this code...

7.1   Best practices

The blah blah blah.

8   Meta

8.1   Interface design

Blah blah.

8.2   User support

Please use the following support channels:

8.3   Related projects

8.3.1   Dependencies

ca1 uses NEURON with HOC:

  • Requests — Python HTTP library for humans
  • Pygments — Python syntax highlighter

8.3.2   ca1 friends

ca1 can be used with:

8.3.3   Alternatives

  • ModelDB — ModelDB contains many NEURON models and other neuroscience simulator models for various networks and cell types.

8.4   Citation

Please cite this code if you use it or derive a model from it, using the most appropriate citation below:

8.5   License

CC0 1.0 Universal (CC0 1.0): Public Domain Dedication

For more information, see the CC0 Description.

CC0 License

8.6   Authors

Marianne Bezaire created the ca1 model with help from:

  • Ivan Raikov
  • Padraig Gleeson
  • Andras Ecker
  • Kelly Burk
  • Michael Hines
  • Ted Carnevale
  • Ivan Soltesz