The increasing amount of computational resources becoming available is causing a shift in computational neuroscience towards increasingly heterogeneous models of neural circuits and brain regions, and more importantly, employment of increasingly complex stimulation and experimental protocols in an effort to bridge the gap between simulations and biological experiments. This growth in complexity of virtual experiments poses a challenge for the existing tool-chains, as the set of tools that are involved in typical modeller's workflow is expanding, with a growing amount and complexity of metadata, describing the experimental context, flowing between them. A plethora of tools is currently available covering different parts of the workflow; however, numerous areas lack dedicated tools, while integration and interoperability of existing tools is limited. This forces modellers to either handle the workflow manually, leading to errors, or to write substantial amounts of code to automate parts of the workflow, in both cases hindering their productivity.

To address these issues, we have developed Mozaik: an integrated workflow system for spiking neuronal network simulations written in Python. Mozaik integrates the model, experiment and stimulation specification, simulation execution, data storage, data analysis and visualization into a single automated workflow, ensuring that all relevant metadata are available to each of the workflow components. It is based on several widely used Python tools, including PyNN [1], Neo [2] and Matplotlib [3]. It offers scientists a declarative way of specifying models and recording configurations, using hierarchically organized configuration files. The models are constructed using topologically organized sheets of neurons and projections between such sheets of neurons. After specifying the model, a user can define the list of experimental protocols to be executed with the model. Each experiment defines a list of stimuli that will be presented to the model, and optionally can also involve direct stimulation of neurons in the model. Using a single command, a user can instruct Mozaik to create an instance of the model and execute the specified experiments. Mozaik will automatically record all data into a datastore and, importantly, also save all the relevant metadata describing the experimental context. The datastore can be accessed via a query interface, allowing for easy and efficient data manipulation. This query system is extensible and already offers a number of operations that are commonly used in analysis or visualization. The analysis and visualization modules operate over the datastore, using the query system. They are written in a modular and extensible way, utilizing the saved metadata to automate numerous processes. This ensures an efficient way to add new analysis and visualization methods.

Mozaik is written in a modular way, making it easy to replace any of its components, while the existing modules are designed to be extensible with minimal programming effort. Mozaik increases the productivity of running virtual experiments on highly structured neural networks, by significantly automating the whole experimental cycle, while increasing the reliability of modeling studies by relieving the user from manually handling the flow of metadata between the individual stages of the workflow.

Acknowledgements

Supported by the European Union through project number FP7-269921 (BrainScaleS).