SpineML The Spiking Neural Mark-up Language

This article is one of a series of tutorials designed to provide the new user with insight into how to create models using the GUI. Advanced users may find the Reference section more helpful.

Introduction to the Experiment Editor

The experiment editor tab is selected using the tab bar on the left side of the GUI window. The image below shows the tab bar (green) with the experiment editor tab selected. You should now select this tab.

Once the tab is selected click the button to ‘Add Experiment’, then click the ‘Done’ button. The experiment editor is now laid out as shown below. The colours highlight the following sections:

Tab selector: This panel is used to change between the different tabs of the GUI. Each tab focuses on a different aspect of model creation.

Experiment list: This section of the experiment editor tab allows experiments to be added, deleted, selected, and given a name and description. The up and down (^ and v) buttons allow experiments to be re-ordered, the edit button allows the name and description to be changed, and the x button deletes the selected experiment. The RUN button at the top of the panel runs the current experiment using the selected simulator.


Fig 1: Overview of the experiment editor

Simulator setup: This panel allows the settings for the simulator used to run the model to be configured.

Add model inputs: This panel is used to add inputs into the model.

Add model outputs: This panel is used to log output from the model.

Add model changes: This panel is used to lesion the model by removing Projections, and can also be used to override the values of Parameters and State Variables initial values in the model.

Loading up an example

The following example model will be used to illustrate configuring an experiment.


Setting up the simulator

This panel contains the following settings:

Adding an input

add_input1 add_input2 add_input3

Figs 2-4: Initial input editing

Inputs are added to a model using the ‘Add input’ panel of the experiment editor tab.

A new drop-down will appear, giving a choice of input types:

input_ac Fig 5: Constant input

input_ac Fig 6: Array of constant inputs

input_ac Fig 7: Time varying input

input_ac Fig 8: Array of time varying inputs

input_ac Fig 9: External input

Figs 5-9: Input type configuration panels


Fig 10: Completed input

The ‘tick’ button confirms the settings for the input, and the ‘cross’ button removes the input.

Choose Constant input, set the value to 2.0, and click the ‘tick’ button to complete the input.

Note that there is now a box with a description of the input and a button to change the input’s settings, as shown in Fig XX.

Adding an output


Fig 11: Editing an output


Fig 12: Completed output

The ‘tick’ button confirms the settings for the output, and the ‘cross’ button removes the output.

Click the ‘tick’ button to complete the output.

Note that there is now a box with a description of the output and a button to change the output’s settings, as shown in Fig XX.

Adding a Lesion

Adding a Property Change

Running the experiment

The experiment can be run using the ‘Run experiment’ button at the top of the experiment list.

Visualising the results

We will now look at the methods of visualising the results. First using graphs.

Plot the membrane potential and spikes

Add a new output to the experiment logging the spikes of the Inhibitory population.

Now run the experiment.

If you select the ‘Graphs’ tab you will see that the logs have been added to the ‘Loaded logs’ section.

To add a plot of a log:

You can scale the plot using the mousewheel, drag the plot around, and toggle zooming and dragging on each axis by right clicking on the axis and selecting the menu item.

Deleting graphs is done by selecting them and right clicking to being up the context menu. Select ‘Remove selected graph’ or ‘Remove all graphs’.

The axes can be reset by selecting ‘Scale axes to fit’ from the context menu.

You can add new plots, save plots as PDF or PNG,tile the plots, open data for plotting manually and manually refresh the loaded data using the toolbar items.


Fig 13: The membrane potentials of the first few neurons of each Population in the COBA example