Event Abstract Back to Event Using the SpineML toolchain to simulate an integrated brain and biomechanical model of the oculomotor system Sebastian S. James1*, Alexander Cope2, Alexander Blenkinsop1, Chris Papapaulou3, Konstantinos Moustakas3, Sean Anderson4 and Kevin Gurney1 1 The University of Sheffield, Psychology, United Kingdom 2 The University of Sheffield, Computer Science, United Kingdom 3 The University of Patras, Electrical and Computer Engineering, Greece 4 The University of Sheffield, Automatic Control Systems Engineering, United Kingdom SpineML is a declarative XML-based format for the description of neural network models. It is based on the INCF NineML format[1]. SpineCreator[2] is an editor for the SpineML format which allows a researcher to define and lay out a model graphically, rather than using coded instructions. In addition to defining the model components and network, SpineCreator allows the definition of “experiments”, which declare how the model should be executed; inputs, outputs to log, model lesions and model property changes are all defined in the SpineML experiment. SpineML_2_BRAHMS[3] is one of several simulation backends for a SpineML model (others are SpineML_2_GeNN[4] & Damson[5]). SpineML_2_BRAHMS makes use of the BRAHMS[6,7] middleware to simulate the model on conventional CPUs and high performance computer systems. SpineML_2_BRAHMS is a set of scripts which first converts the SpineML declaration of a model's neuron components into C++, and the model's network into a BRAHMS system definition. SpineML_2_BRAHMS then compiles the C++ representation of the components and executes the system using BRAHMS. Collectively, this set of software is referred to as the SpineML toolchain. We will demonstrate several ways to work with a pure SpineML model, including the use of the SpineCreator editor, direct modification of the SpineML XML code and programmatic modification of the model using Jupyter[8] notebooks. We will discuss the use of revision control systems, such as git[9], to manage changes to a model. A common workflow is to modify the model using SpineCreator, push changes (with comments) to a git repository, then pull the updated SpineML model description onto an HPC system for execution using SpineML_2_BRAHMS. Existing rate-coded and spiking models of basal ganglia from our research group will be used as examples. One challenge, which we have been working on within the EU-funded NoTremor project, is how to integrate brain and neuro-muscular models to enable the combined model to demonstrate physical behaviour. Here, we make use of features in BRAHMS which permit the integration of a biomechanical eye within the SpineML toolchain. This allows brain and brainstem SpineML models to drive the motoneuron activations which control the eye's movement. The eye's rotational state is fed back into the brain model making a closed-loop system. This large model, which contains retina, cortex, superior colliculus, basal ganglia and brainstem oculomotor populations, forms an good example of the utility of using a graphical model editor. It also provides a platform to discuss multi-scale modelling in which a portion of the model may be replaced with a more detailed implementation to compare behaviours.
Read full abstract