Standard Run Tools
All standard tools are available from the NEURONMainMenu. The fastest way to load these tools is to execute:
from neuron import gui
Brief summaries of the menu options are provided below, for more information on select functions see also:
Implementations of the standard tools are in $NEURONHOME/lib/hoc/*.hoc
NEURON Main Menu
Main menu for standard control, graphing, menu generation.
To pop up the panel execute:
from neuron import gui
Warning
In HOC code, you may see load_file('nrngui.hoc')
instead, but that does not work for Python code
as it does not start the thread that monitors for GUI events.
Serious users should peruse the init and run procedures.
The run chain that eventually calls fadvance()
is
h.run --> h.continuerun --> h.step --> h.advance --> h.fadvance
There is often reason to substitute a new step or advance procedure to do intermediate calculations on the fly. Sometimes it is useful to replace the init() procedure. If so make sure you don’t take away functionality which is already there. See $NEURONHOME/lib/hoc/stdrun.hoc for the implementations of these procedures.
A simple example of overriding init:
h('proc init() {finitialize(v_init) nrnpython("myinit()")}')
def myinit():
# new code to happen after initialization here
print('initializing...')
# only need the following if states have been changed
if h.cvode.active():
h.cvode.re_init()
else:
h.fcurrent()
h.frecord_init()
File
LoadSession
Pop up a File chooser for loading a previously save graphical interface session (default extension .ses) Session files may be loaded several times.
LoadHoc
Pop up a File chooser for loading and executing a hoc file. Selected Hoc files are loaded only once.
LoadDLL
Pop up a File chooser for dynamically loading a dll containing compiled and linked model descriptions. This is available only under mac os and mswin.
savesession
Save all the windows, mapped and hidden, in a session file. Greater control over exactly which windows are saved is given by the GroupManager and the Print & File Window Manager.
workingdir
Pops up a Directory chooser for
changing to a specified working directory.
If a dll file has not already been loaded
and if a nrnmech.dll
(under mswin) or a nrnmac.dll
(under macos) exists in the “changed to”
directory then the dll file is loaded.
recentdir
A list of the last 10 directories chosen from the workingdir menu item. On the mac and mswin, if a dll file has not been previously loaded and such a file exists in the directory, then it will be loaded.
Quit
Exits NEURON.
Edit
Build
singlecompartment
CellBuilder
Pops up a new instance of a CellBuilder for specifying the topology, shape, and biophysical properties of a neuron.
NetworkCell
FromCellBuilder
Pops up two tools used to specify
synapse types and the locations of instances of these synapse types
on a cell type defined by the CellBuilder
This makes a network ready cell type that can be used by the
Note that the only Point Processes used to construct synapse types are those
whose model description contains a NET_RECEIVE block. e.g. see
ExpSyn
and NetworkBuilder.
ArtificialCell
Pops up a tool for constructing artificial network ready cells from
PointProcess types containing a NetReceive block
that can also act as a NetCon
source.
e.g. see IntFire1
.
NetworkBuilder
Pops up a new instance of a NetBuild class
for specifying cells and their NetCon
connections.
Only network ready cells defined by the NetworkCell tools can be
used with this class.
Tools
Fitting
Parameterized Function
Starts a FunctionFitter tool for plotting a parameterized function and easily exploring its behaviour while varying the parameters. Also can fit the function to data using either the simplex or principal axis methods. The more powerful MulRunFitter is now recommended.
Run Fitter
Starts a RunFitter tool for optimizing simulation parameters to best fit data. The more powerful MulRunFitter is now recommended.
Multiple Run Fitter
Starts a MulRunFitter tool for general optimization problems. This combines and extends dramatically the features of the FunctionFitter and
Run Control
Pops up a RunControl panel for controlling simulation runs.
Variable Step Control
Pops up a VariableTimeStep panel for controlling the CVode
variable time step, variable order method.
Usevariabledt
CVode is the integration method. See CVode.active()
.
Localvariabledt
CVode is the integration method and there is a separate dt for every cell.
AbsoluteTolerance
The absolute tolerance used by CVode when it is
active is given by this value times the specific state scale factor.
This latter is normally 1, eg, for voltage,
but if the state is normally found in a range <<1 or >>1 the scale
factor may be explicitly specified in a model description or in
the interpreter.
See CVode.atol()
and CVode.atolscale()
PointProcesses
Several useful tools for managing PointProcesses
See Point Processes and Artificial Cells for details about built-in point
processes. The corresponding .mod
file must in general be
examined in order to understand the particulars about a given
point process type.
Distributed Mechanisms
Several useful tools for managing density mechanisms such
as distributed channels.
See Mechanisms for details about built-in density
mechanisms. The corresponding .mod
file must in general be
examined in order to understand the particulars about a given
mechanism type.
Managers
Inserter
Starts an Inserter for the currently accessed section that allows one to insert and uninsert density membrane mechanisms. Currently this is most useful for single compartment simulations.
Homogeneous Spec
Starts a ShowMechanism tool that is useful for specifying constant parameters for membrane mechanisms in all sections of a simulation.
Viewers
ShapeName
Starts a MenuExplore tool that allows one to figure out the correspondence between the physical location of a section and a section name. Also allows one to get a parameter menu for the selected section.
NameValues
Pops up a panel for displaying values associated with Sections.
Almost completely superseded by the more complete ShapeName except that this tool can make a panel of a single mechanism type.
Mechanisms Globals
Menu of possible membrane Mechanism’s. Selecting an item pops up a panel showing the global parameters for this type of Mechanism.
celsius
Pops up a panel for viewing/setting the global temperature
variable celsius
.
globalRa
Pops up a panel for assigning a
uniform value of Ra
(ohm-cm) to all sections.
Ra used to be a global variable but is now a Section variable that
can be different in different sections. This sets Ra forall sections
equal to the value displayed in the fieldeditor. It used to
be displayed in the NEURONMainMenu but that location is now
administratively incorrect and error prone for models which manage
Ra through the CellBuilder.
Impedance
Menu of tools which use the Impedance
class to calculate
voltage attenuation as a function of position and frequency
Frequency
Pops up an ImpedanceRatio template tool for plotting the log of voltage attenuation (and other functions of impedance) between a selected injection and measurement site as a function of frequency.
Path
Pops up a Impx template tool for plotting the log of voltage attenuation (and other functions of impedance) at a specific measurement/injection site as a function of a selected path along the neuron in which current is injected/measured.
LogAvsX
Pops up a LogAvsX template tool for plotting the log of voltage attenuation (and other functions of impedance) between a specific measurement/injection site as a function of distance to every point on the cell.
Shape
Pops up an ImpShape template tool for displaying the morphoelectronic transform of neuron shape in which distance is represented as the negative log of attenuation.
Archive And Hardcopy
Checkin this simulation to RCS and print all windows on the printer.
See project
Saves all (saveable) windows in this session to the file start.ses
(save_session()
).
Prints the entire session to the filter prjnrnpr (print_session()
).
This menu item exists only when nrnmainmenu is executed after the file RCS/nrnversion exists. Ie when the files in the current working directory have been placed under NEURON project control.
Miscellaneous
Family
Family1
Starts a Family tool for controlling a family of simulations. One defines a variable and set of values for looping over an action.
Command
Starts an ExecCommand tool for specifying and executing a hoc command.
Builders
Kinetic Scheme Builder
Starts a KineticBuild tool for simulating a single channel kinetic scheme
Graph
For creating common kinds of graphs of functions of time. These graphs are connected to the standard run procedure such that at every step (see Run Control) the value of the functions are plotted.
Currentaxis
Plots values vs t-.5dt
Suitable for plotting ionic currents (when calculations are secondorder
correct).
Stateaxis
Plots values vs t+.5dt
Suitable for plotting states such as m_hh, n_hh, etc. These
plots may be very accurate when secondorder
= 2.
Shapeplot
Starts a PlotShape
. A picture of a neuron suitable for specifying
time, space, and shape plots.
VectorMovie
Starts a Graph
that is flushed when above plots are flushed.
This is suitable for selecting vectors from the PlotWhat menu
and seeing them change every time step.
PhasePlane
Starts a Graph
for plotting f(t) vs g(t). When started a dialog
box pops up requesting the expression for g(t). As in the PlotWhat
browser for graphs you may enter any variable or function, but it
should change when the RunControl’s InitRun button is pressed.
Grapher
Starts a Grapher tool for plotting any expression vs a specified independent variable. Lines are not drawn on this graph in response to a run. However it can be made to control a family of runs.
Voltageaxis
Plots values vs t. Suitable for plotting voltage and concentrations, especially when calculations are secondorder correct. v(.5) of currently selected section is always plotted but can be explicitly removed with the Delete command in the Graph menu.
Vector
Save to File
Menu for saving/retrieving the last Vector selection to a file. eg. from a PickVector as well as other Vector tools.
The format of the file is:
optional first line with the format
label:anystring
optional line with one number which is the count of points.
a tab separated pair of x, y coordinates each line. If there is no “count” line, there must be no empty lines at the end of the file and the last character must be a newline.
When the file is saved with this menu item, the label and count are always present in the file. For long files retrieval is much more efficient if the count is present.
The implementation of these operations is in $NEURONHOME/lib/hoc/stdlib.hoc vectors and performing simple manipulations on them.
See also
hoc_obj_
RetrievefromFile
See Save to File
GatherValues
Starts a GatherVec tool collecting x,y values where x and y come from variables.
Play
Starts an VectorPlay tool for playing a vector into a variable.
Display
Starts an VecWrap tool for displaying several vectors and performing simple manipulations on them.
Draw
Starts a tool for drawing a curve.
Window
A list of all the ungrouped windows (except the NEURONMainMenu) and window groups. Windows mapped to the screen are indicated by a checkmark; others are hidden. Windows may be hidden by selecting the Hide item on the menubar under the window title. Windows may be hidden or mapped by selecting the item in the ungrouped window list. Selecting a window group will hide or map all the windows in that group.
Ungrouped
A window appears in this list if it is not a member of a window group. All ungrouped windows may be mapped or hidden by selection of the show or hide menu item.
GroupManager
Window group names appear in this list. Selecting this item pops up a window group manager used for creating, renaming, inserting/deleting windows into the group, and saving a selected group to a session file.
The window group manager is a dialog box so it must be closed after use.
When a window group name is defined it may be selected in the WindowGroups list. The windows of the group are indicated in the middle list. Selecting items in this list and the ungrouped windows list removes or inserts the window into the group.