Connectionists: NEURON v. 6.2 available
Ted Carnevale
carnevalet at sbcglobal.net
Tue Aug 12 13:36:00 EDT 2008
The newest standard distribution of NEURON is version 6.2, which is
available from http://www.neuron.yale.edu/neuron/install/install.html
This is principally a "bug fix" release, but there have also been
some improvements of features and functionality. Of the latter, the
most noteworthy have to do with Python.
--------------------------
Changes that affect Python
--------------------------
All communication with hoc from Python is now accomplished uniformly
via the neuron.h object. In other words, do this first
import neuron
h = neuron.h
Then, for example,
h.Section() returns new section
h.cas() returns currently accessed section
h.allsec() is an iterator over all sections
Python allows use of a nrn.Segment object as the argument to a
PointProcess constructor or loc function. That is, IClamp(section(x))
is an alternative to IClamp(x, sec = section).
Also, section(0.5).sec is the section, and section(0.5).x is the arc
location value 0.5.
The following new Vector functions are much (> 50 times !) faster than
a Python loop over the elements:
--Vector.from_python(source) fills the Vector with doubles from a
Python list or NumPy 1-d array. The Vector is resized and returned.
--Vector.to_python() returns a Python list of doubles.
--Vector.to_python(target) fills the target with doubles from the
hoc Vector and returns the target object. Note that if the target
is a NumPy 1-d array, it must already be sized the same as the Vector.
----------------------------------
Other changes that deserve mention
----------------------------------
CellBuild.cexport() is public and can be used from hoc with an argument
of 1 (or 0) to force (or prevent) writing the cell info to the
simulation instance.
Vector.play in continuous mode uses linear extrapolation of the last
two time points when a value is requested outside the time domain of
the vector. This allows more efficient variable time step approach
to a discontinuity as it keeps the first derivative continuous when
cvode asks for a value past the next discontinuity (the discontinuity
event will cause a retreat to the proper time).
More information about the Connectionists
mailing list