SENB was developed using hoc, which is an interpreted programming language used to write scripts in NEURON. The software is composed of the following seven functional unit blocks:
Block 1: Builds the geometry of a cylindrical axon so that the geometric parameters, such as L and diam, can be set.
Block 2: Allows for the placement, in the axon model, of the active (HH properties) and passive (cable properties) parameters. This includes a numerical calculation of the sodium (ENa, Eq. 6) and potassium (EK, Eq. 7) equilibrium potentials using a computational implementation. Leak equilibrium potential (EL) is calculated by default in NEURON. The locations of the stimulus and recording electrodes cannot be changed, as shown in the top right of Figure 1.
Block 3: Simulates the stimulation electrode (path electrode in current clamp mode) and generates a graph of the current stimulus.
Block 4: Determines the default values for all parameters of the simulation, including time step (dt), total time (ts), T in °C, and the initial value of Vm (Vinitial).
Block 5: Generates graphs of the temporal evolution of the membrane potential, current densities, and gating variables. This block also generates an image of the axon model.
Block 6: Includes the numerical calculation of specific membrane resistance (Rm, Eq. 2), propagation velocity of the action potentials (v, Eq. 5), time constant (Tau, Eq. 3), space constant (Lambda, Eq. 4), and frequency of stimuli (fe, Eq. 8) using a computational implementation. It also contains a procedure for storing the images of the principal window as evidence.
Block 7: Designs the graphical user interface (GUI) of the main window as well as the security button called “REDO SENB” (depicted in the lower left of Figure 1), which allows the main window to be recovered in the event that it is accidentally closed. Furthermore, this block includes a numerical calculation of the area of the axonal membrane (Ac, Eq. 9) and axonal volume (Vc, Eq. 10).
(3)
(4)
(5)
(6)
(7)
(8)
(10)
In the above equations, [Na]int and [Na]ext are the intra- and extracellular sodium concentrations, respectively, and [K]int and [K]ext are the intra- and extracellular potassium concentrations, respectively. NoStim is the number of square pulses or current stimuli and tintp is the time interval between these.
The sections of SENB’s graphical interface shown in Figure 1 are described below.
The graphs on the left side of the main window show the temporal evolution of certain variables. The upper graph, labeled “MEMBRANE POTENTIAL”, shows the membrane potential, Vm, while the graph in the center, labeled “CURRENTS ACROSS CELL MEMBRANE”, shows the sodium (INa), potassium (IK), leak (Ileak), capacitive, and membrane (Im) current densities. The lower graph, labeled “GATING VARIABLES”, depicts the probabilities of a voltage-sensor sodium channel being in an active state (m), a voltage-sensor potassium channel being in an active state (n), and the sodium channel inactivation gate being in a non-inactivated state (h), as well as the probabilities that the three voltage sensors in the sodium channel are in an active state (m3), and the sodium and potassium channels are open (m3h and n4).
On the right side of the main window, there are six data panels labeled “PASSIVE PARAMETERS”, “ACTIVE PARAMETERS”, “GEOMETRIC PARAMETERS”, “GENERAL PARAMETERS”, “STIMULUS PARAMETERS”, and “START SIMULATION”. Each of these is described below.
PASSIVE PARAMETERS: This panel allows the user to set the values of GL, Cm, and Ra and also shows the calculated values of Rm, Lambda, Tau, and EL. Furthermore, it has two buttons; one to assign a set of default values to the passive parameters and the other to reset the values (Reset).
ACTIVE PARAMETERS: The values of GNa, GK, [Na]ext, [K]ext, [Na]int, and [K]int can be set in this panel, which also shows the calculated values of ENa and EK. The panel also has two buttons, “Reset” and “Default values”, which are similar to those in the Passive Parameter panel.
GEOMETRIC PARAMETERS: This panel allows the geometrical parameters, L and diam, of an axon with a shape defined by a right circular cylinder (Figure 1) to be set. There is also a box that allows the assignation of a discretization parameter called “Nseg”, for greater accuracy in the calculation. Higher values should be assigned in this box (e.g., 2,..,100,..,400,...), although higher accuracy increases the simulation time. The calculated values of Ac and Vc are also shown in this panel.
GENERAL PARAMETERS: The following parameters can be set: time step (dt), simulation time or tstop (ts), T in °C, and the initial value of Vm (Vinitial).
STIMULUS PARAMETERS: Here the user can set the characteristics of the current stimuli (current clamp). This panel has been designed to facilitate the changing of the following parameters: NoStim, amplitude (Amp), and duration (Dur) of each current pulse, the time instant at which the current stimuli is initiated (Delay), and the time between square pulses of the current stimuli (tintp), which together with Dur determine fe (Eq. 8).
START SIMULATION: This panel contains the buttons “SAVE IMAGE”, “RUN”, and “DEFAULT VALUES”. The “SAVE IMAGE” button allows for screen capture of the main window as evidence, assigning sequential names to each capture as it is generated. The “RUN” button initiates the simulation, while the “DEFAULT VALUES” button assigns a set of default values for all sections in the main window.