SNNAP was designed as a tool for the rapid development and simulation of realistic models of single neurons and small neural networks. The electrical properties of individual neurons are described with Hodgkin-Huxley type voltage- and time- dependent ionic currents. The connections among neurons can be made by either electrical or chemical synapses. The chemical synaptic connections are capable of expressing several forms of plasticity, such as homo- and heterosynaptic depression and facilitation.
SNNAP also includes mathematical descriptions of intracellular second messengers and ions. The synthesis of second messengers can be driven by either synaptic inputs or by externally applied transmitters. The accumulation of an ion can be driven by any specified voltage- and time- dependent ionic current(s). The intracellular concentrations of ions and/or second messengers, in turn, can be linked to one or more ionic conductances and/or mechanisms contributing to chemical synaptic transmission. Thus, SNNAP can simulate the modulation, either enhancement or inhibition, of membrane currents and synaptic transmission.
SNNAP also can simulate current flow in multicompartment models of neurons by using the equations describing electrical coupling. [For specific details of the mathematical components of SNNAP, see Ziv, Baxter and Byrne (1994) Simulator for Neural Networks and Action Potentials: Description and Application. J. Neurophysiol. 71: 294-308.]
Some of the advantages of SNNAP include:
- A graphical user interface (GUI).
All aspects of specifying the intrinsic properties of a neuron, the structure of a network, and properties of running a simulation, such as visual displays and saving the data to files, can be controlled via editors incorporated into SNNAP that use graphical interfaces. Thus, little or no programming skills are necessary to use the simulator.
- The ability to simulate common experimental manipulations.
For example, SNNAP can simulate injection of external currents into multiple cells, removal of individual conductances to simulate pharmacological agents, modulation of membrane currents via application of modulatory transmitters and voltage-clamping cells.
- The modular organization of input files.
All equations and associated parameters and constants are passed to SNNAP through a number of files generated by the graphical editors. The hierarchical organization of these input files allows for the creation of a library of modules describing different aspects of neural networks (such as descriptions of various voltage-dependent conductances, neurons, synaptic connections or modulatory actions), thereby facilitating the creation of new neurons or networks from preexisting elements and the exchange of files among collaborators.
SNNAP may be useful to experimentalist, theoreticians and instructors who wish to integrate electrophysiological information into real-time dynamic simulations of neurons and networks. Two versions of SNNAP are currently available. The most comprehensive version of SNNAP was developed for minicomputers operating under the UNIX environment. This UNIX version of SNNAP was developed using ANSI compliant C programming language and Xlib. A simplified version of SNNAP also was developed for PC-type microcomputers equipped with math coprocessors and operating under the DOS/Windows environment. The simpler DOS version includes a graphical user interface and can complete up to 10,000 single-compartment cells and does incorporate ions, second messengers, and transmitters.