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. Calcium-induced calcium release and IP3 internal stores.
GHK current equation can be utilized for any channel type.
The simulator runs several channel types including Markov
sequential-state versions of Hodgkin-Huxley Na, Nav1.1, Nav1.6, Nav1.8,
Kdr, Kv3.1b, KA, Kca, Ih, L-type Ca and T-type Ca channels. AMPA, NMDA,
nicotinic ACh, cGMP, GABA, and Glycine 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 by by by by by by by by calcium concentration, allowing a
presynaptic terminal's release to be defined by any calcium channel type.
Synapses can include second-messenger post-synaptic mechanisms (mGluR2, mGluR6,
muscarinic ACh, etc)
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.
Mar, 2024 additions:
Functions to generate randomly placed L,M,S cone pigments with specified fractions.
Mouse M and S cone pigments.
Feb, 2024 additions:
Functions for narrow-band LED stimuli.
Feb, 2023 additions:
Functions for independent and paired t-tests, along with
a function to generate the p-value from the t-score.
Nov, 2021 additions:
A new random number sequence generator, Taus 258. Its
sequence is 10^77, much longer than taus113, and it runs only 10% slower.
Jan, 2020 additions:
The model of Kv3.1 (a resurgent Kv3 channel) from Labro et al (2015),
along with several Ih HCN channels from Kusch et al (2011)
and Altomare et al (2001).
Sept, 2019 additions:
Model of a second-messenger mGluR2 receptor.
This mechanism senses the level of glutamate at a synapse and
desensitizes local Ca++ channels. The gain, radius of action, and temporal
kinetics can be set. Other metabotropic receptors have also been added,
including a muscarinic ACh mechanism that can down-regulate Ca++ channels
or up-regulate K+ channels.
Feb, 2018 addition:
The model of channel-rhodopsin-2 from Williams et al (2013).
This model is one of the most complete models of
channel-rhodopsin. It can be run with or without noise properties.
It shows adaptation from bright photopic (daylight) light levels,
and qualitatively matches channel-rhodopsin in transgenic mice.
Dec, 2017 addition:
The model of mouse rod phototransduction from Invergo et al (2014).
This model is one of the most complete models of rod
phototransduction and contains 96 differential equations. It shows
adaptation well into photopic (daylight) light levels, and qualitatively
matches transgenic knockouts of the transduction cascade.
Dec, 2016 additions:
Several new random number sequence generators,
a) Mersenne Twister, b) Tiny MT, c) Taus113. Each of the random
sequence generators has its advantage. They can all be started at
different points in their sequences with a seed, which can be set
constant or can change automatically with each job. The original Taus
sequence (from GSL) is the fastest, with a sequence length of
2^88 (10^26), Taus113 is almost as fast with a sequence length of
2^113 (10^34), the Mersenne Twister has a very long sequence
(2^19937) and is almost as fast as Taus113, and TinyMT is a
little slower, but can generate many different sequences.
A model of CICR, which is important for some synapses
because it can produce extra gain.
Several new channel types have (NMDA, GABA, CYCG).
A new method for fitting models to data. The "modelfit" script
allows multi-stage Levenberg-Marquardt fitting (Stincic et al.,
2016).
2014 additions:
Previously only Ca channels used the GHK current equation. Now any channel
type, both voltage-gated and ligand-gated, can utilize the nonlinear GHK
equation, based on ionic gradients set from the overall defaults, or gradients
specifically defined for the channel type, or gradients defined for the
specific channel.
An expanded least-squares model fitting program. It is called
"modelfit", and uses the Levenberg-Marquardt algorithm for fitting. It runs the
simulator, either "nc" or "retsim" and provides a command line with parameters
selected by the LM fitting algorithm. Up to 12 parameters can be fitted, each
limited (if wanted) to a specific range. The output of the simultor is
correlated with a template that selects which part of the output to compare to
the original data. A simple program is included to create templates that can be
edited with a text editor. To increase fitting speed, the modelfit program can
run in parallel on several processors or computers in a network (using Mosix job tasking).
Mar, 2013 additions:
Cooperative calcium control of synaptic release,
allowing Ca flux to control release through a power function.
June, 2009 additions:
2D Levenberg-Marquardt least-squares fitting further
developed, allowing 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. An example
difference-of-Gaussians fitting procedure is included.
Feb, 2008 additions:
Levenberg-Marquardt least-squares fitting, 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.
Vid can create movies with variable interval.
Jan, 2005 additions:
Line editor to allow interactive editing.
Oct, 2004 additions:
Nav1.1, Nav1.5 and Nav1.6 Markov channel types.
May, 2003 additions:
Sine-wave, gabor, concentric sine-wave stimuli.
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.