Graphical User Interface of NemaSys
The core mathematical code of NemaSys is all written in C. Each of the following proptype GUIs shown here were developed in Tcl/Tk for this document, to give the reader a clearer idea of the proposed NemaSys simulator.
Figure 5 shows the Body Mechanics GUI. The Theory button provides a summary of the relevant anatomy and physics, including references and links to related articles and computer resources. The Equations button specifies precisely how body movements are computed. The Parameters button provides access to all biomechanical parameters, such as cuticle elasticity, hydrostatic pressure, number of body segments, etc. NemaSys will have default equations and parameters according to Neibur and Erdos (1991, 1993), but each will be modifiable by the user. The Demo button shows the worm moving along a simple sinusoidal trajectory, and allows the user to study the effects of parameter choices, etc.
Figure 5. The NemaSys Body Mechanics GUI.
Figure 6 shows the Neuron Anatomy GUI. It allows the user to scroll through the 302 neurons and visualize their morphology, default cable parameters, etc. Theory, Equations and Parameter buttons play similar roles to those in the Body Mechanics GUI. All parameters will have defaults chosen according to Wood (1988) and White et al., (1986). Selecting the neuron type on the left restricts the cells appearing under the scroll bar, so individual cells may be found more quickly.
Figure 6. The NemaSys Neuron Anatomy GUI.
Figure 7 shows the Neural Network GUI. The user can select neurons to add or delete from network simulations. When neurons are selected, the neuroanatomy data base will be queried to determine the correct number of electrical and chemical connections. Several default networks will be provided, but the user will be able to Edit and Save networks as well. The Theory, Equations and Parameters buttons play analogous roles to those in the Body Mechanics GUI. Optimized neural networks will indicate connection strengths using shaded boxes. When a simulation is running, the voltage of each neuron in the displayed network will be indicated with color. This is the NemaSys equivalent of using voltage sensitive dyes to determine neuron voltages in vivo, and will improve intuition on the roles of particular neurons in controlling behavior. In Figure 7, for example, a network optimized for chemotaxis exhibits reciprocal connections between motor neurons.
Figure 7. The NemaSys Neural Networks GUI.
Figure 8 shows the Petri Dish GUI. This is a virtual laboratory environment for the nematode, used to track its movement on mm and cm scales, primarily during chemotaxis and thermotaxis behaviors. The Theory button provides the user with information about behaviors and experimental configurations in current research. The Equations button allows the user to define sensory environments, fitness functions, etc. The Parameters button applies to these equations, but also allows the user to set default parameters for simulation: total run time, the number of initial conditions to be averaged over in computing fitness, etc.
Figure 8. The NemaSys Petri Dish GUI.
Additional GUIs will be developed to control numerical integration and worm evolution via simulated annealing and genetic algorithms. We will use the Tcl scripting language to invoke these GUIs written in Tk, and to call the corresponding C functions as appropriate. The use of Tcl/Tk together with C ensures that the simulator will be platform independent. The goals of this proposal are only to develop the first release of NemaSys, to run locally on any single machine. Using Tcl/Tk will also make it relatively easy to develop NemaSys in a future proposal for remote computation and access via any web browser.