NeuronC News
RECENT NEWS
Many improvements have been made since the NeuronC simulator was
first described in J. Neuroscience Methods in 1992.
Highlights
The retsim retinal simulator script generates a model
of a ganglion cell and its presynaptic circuit. Both interpreted and
compiled versions are provided.
Completely compiled version of NeuronC is now available.
Construction mode runs ~2-3 fold faster, and all the power of C++,
and widely used math and matrix libraries is available.
Save and restore a simulation's state. This allows you to
equilibrate a model, then save it for a later restore operation.
This saves time when running repetitive models.
Calcium T- and L-type channels, Ca diffusion, dynamic
buffering, membrane transporters, and realistic Ca currents from
GHK equations.
The simulator runs several channel types including Markov
sequential-state versions of Hodgkin-Huxley Na, Nav1.1, Nav1.6, K, KA,
Kca and Ih channels. AMPA, NMDA, cGMP, and GABA ligand-gated Markov
channels. Channel types contain individual data structures for
unitary conductance, rate functions, temperature dependence of
conductance and rates, relative permeabilities to major ions,
and sensitivities to receptor ligands.
Synaptic and voltage-gated channel functions can implement
Markov channel descriptions. Noise kinetics derived from Markov
description. Synaptic, channel, and photoreceptor noise can originate in
independent noise generators to maintain the same noise
waveshape when you change the neural circuit. Synapses can be
controlled calcium concentration, allowing a presynaptic terminal's
release to be defined by any calcium channel type.
Photoreceptors have adaptation through feedback from
calcium. The photoreceptor spectral sensitivity functions have
second-order interpolation from sensitivity tables and turtle
cone functions (default=primate). Photoreceptor kinetics can be
varied, and their state can be stored and recalled to save on
equilibration time. Stimuli and optical blur can be generated at
any scale (default=1 um) to allow very fine resolution.
The stimulus generator can create spot, bar, grating, gabor,
or concentric stimuli. Transparency and masking allow
combinations of stationary objects and motion. Stimuli can be in
any wavelength and with any blur or scatter function.
Point-spread functions for the human eye at 2 and 5.8 mm pupils
are included.
The simulator generates realistic images of neural
circuits using the "povray" ray tracer, and movies of the spread of
voltage or calcium in neural circuits, and can display them
at a variable rate for careful study.
Feb, 2008 additions:
Levenberg-Marquardt least-squares fitting added, allowing
either interpreted or compiled version to quickly fit a
user-defined function to a set of data points. Constraints
on the values of the points can be set.
July, 2007 additions:
Retsim extended by M. Schachter with C++ classes to provide
flexible interface for defining channel properties.
Oct, 2006 additions:
Completely compiled version of NeuronC, runs exactly the
same as interpreted version, with slightly different syntax.
Construction mode runs ~2-3 fold faster, and all the power of C++,
and widely used math and matrix libraries is available.
"Retsim" retinal simulator generates a model of ganglion cell and its
presynaptic circuit. Both interpreted and compiled versions are
provided.
Feb, 2006 additions:
simulator state save, restore
August, 2005 additions:
synaptic release can be controlled by calcium
input and output streams defined for C++ standard
library, allowing simulator to be run without command line.
Precursor to multi-platform graphics.
April, 2005 additions:
Nav1.8, Markov channel type added.
Vid can create movies with variable interval.
Jan, 2005 additions:
Line editor added to allow interactive editing.
Oct, 2004 additions:
Nav1.1, Nav1.5 and Nav1.6 Markov channel types added.
May, 2003 additions:
Sine-wave, gabor, concentric sine-wave stimuli added.
Masking and transparency added to stimuli.
Nov, 2002 additions:
Arrays can be passed (by reference) into procedures and returned
from functions. Many operators work with arrays of numbers and
strings. Arrays can be initialized in several ways.
Pre-processing of scripts with CPP to allow macros to modify the
basic simulator script language.
Scatter and blur functions for stimuli improved. Several
point-spread functions added for the cat and human eye, including
human for 2 mm and best-refracted 5.8 mm pupil.
Jan, 2001 additions:
Synaptic transfer function can include dynamic
auto-regulation by the "readily releasible pool".
Multiple traces can be assigned to each separate plot. Each
plot can have its size assigned. Plots can be labeled.
Multiple presynaptic and postsynaptic mechanisms can be assigned to each
synapse.
Any function may be directly plotted.
Stochastic search simulated annealing curve fitter to find
the best-fitting model to a template function.
June, 2000 additions:
All channels are defined at 22 deg C to allow standard
application of temperature coefficients.
Function that returns the minimum distance between two neural elements.
Tapered cables.
December, 1998 additions:
Dynamic calcium buffering.
Default unitary conductance for each channel type.
Temperature dependence of unitary conductance, Ca pump, Ca
exchanger, Ca buffering.
Markov channel types for postsynaptic mechanism.
Multiple neurotransmitter types, affinity for postsynaptic
receptors.
Permeabilities of channels to major ions.
Use of GHK current equation to define Ca currents.
Use of GHK voltage equation to define reversal potential for
Na, K, and Ca channels.
Membrane voltage offset generated optionally by external
Ca concentration (surface charge effects).
Johnson noise with independent random noise generator for
each compartment.
October, 1998 additions:
Membrane channel definition code improved to simplify adding
new channel types.
Na type 2 channel from Vandenberg and Bezanilla, 1991.
AMPA, NMDA, cGMP, and GABA Markov channels.
Integrate-and-fire Markov channel.
Number of shells in Ca diffusion model can be varied.
Weighted neurotransmitter action for multiple ligands.
July, 1998 additions:
Set Q10 for Na channels = 2 (instead of 3 for K chans).
Corrected ion current in Ca-Na exchanger.
Modified KA kinetics to be more like Fohlmeister & Miller (1997)
Tapered cables.
Function to return 3D distance between 2 neural elements.
April, 1998 additions:
Sequential-state versions of Hodgkin-Huxley Na and K channels,
KA, Kca, Ih channels.
Sequential-state channels can produce Markov state noise
with noise kinetics set by rate functions.
Synaptic vesicle fluctuation noise is set by Poisson function with optional refractory period.
Synaptic vesicle noise can be set by Gamma function for more regularity.
Synaptic and Hodgkin-Huxley channels can produce 2-state
Markov noise with Lorenzian rolloff frequency.
Synaptic temporal filters can be low-pass or high-pass with arbitrary
order and time constants.
Postsynaptic binding of neurotransmitter can be cooperative
(Hill coeff can be > 1)
Postsynaptic second-messenger cascade can include sign inversion and threshold nonlinearity.
Photoreceptor sensitivity functions include turtle cone spectral sensitivities.
Photoreceptor spectral sensitivity functions include second-order interpolation.
Simulation language contains array operators +, -, *, /, print
July, 1997 additions:
Voltage-gated gap junctions with optional rectification.
Photoreceptor impulse response duration can be set faster or slower.
State of photoreceptors can be saved and restored for fast equilibration.
Drag'n drop NeuronC files and commands with 'xfm' and 'tkdesk'
Stim file can be compressed with gzip.
Simulation language includes local dynamically allocated arrays.
Simulator includes DOS version.
Simulator can be run as subroutine from standard C program
with access to simulator variables and arrays.
Jan, 1995 additions:
Calcium channels, compartments, and diffusion.
Ca-sensitive K channels.
Independent noise generators for individual photoreceptors and synapses.
Stimuli and optical blur can be set to any scale for finer resolution.
3D surfaces rendered by ray-tracing with "povray".
Windowed trimming of neural elements.