Skip to content
davestockton edited this page Aug 29, 2017 · 15 revisions

NeuroManager

A workflow-analysis-based simulation management engine for computational neuroscience.

Introduction

Welcome to NeuroManager!

NeuroManager is an object-oriented software suite written in MATLAB. NeuroManager automates the workflow of neuroscience simulation job submissions when using heterogeneous computational resources, simulators, and simulation tasks.

The object-oriented approach (1) provides flexibility to adapt to a variety of neuroscience simulators, (2) simplifies the use of various computational resources, from desktops to super computer clusters to public and private clouds, and (3) improves tracking of simulator/simulation evolution.

NeuroManager works with servers running UNIX variants and clusters using the SGE or SLURM cluster managers, and can be easily adapted to work with other cluster managers. Version 0.981 adds support for cloud servers -- both persistent and ephemeral! The software creates a pool of Simulators that allows the user to run multiple simulations simultaneously without having to deal with machine, cluster, or cloud differences, without having to move files, and without having to write a job file. The user configures the Simulator by inheriting from Simulator classes. We give numerous examples of how to do this in the User Guide. Version (0.985) simplifies setup, operation, and need for licenses by using only one MATLAB compilation. The latest version (0.990) adds support for a MySQL "investigation database" which holds all input parameter vectors, results, feature extractions, and comparisons in a searchable, exploitable database.

Installation and operation

All installation and operation instructions are located in the "User and Programmer's Guide" in the UserGuide folder. Changes leading to v0.981 are discussed in the Addendum. Changes leading to v0.985 are discussed in the OneCompile Addendum. Changes leading to v0.990 are discussed in the Investigation Database Addendum.

Versions

See the Versions Page for release descriptions.

Published work using NeuroManager

We combined use of electrophysiology data and feature extraction code from the Allen Brain Institute Cell Types Database with scripts that use NeuroManager as the simulation engine:

Stockton, David B. and Santamaria, Fidel. Integrating the Allen Brain Institute Cell Types Database into Automated Neuroscience Workflow. NeuroInformatics, 2017. Access the article here.

We investigated the use of cloud technology to run NEURON simulations using NeuroManager:

Stockton, David B. and Santamaria, Fidel. Automating NEURON Simulation Deployment in Cloud Resources. NeuroInformatics, 2016. Access the article here.

In two published works using NeuroManager, Drs. Wondimu Teka and Fidel Santamaria investigated the effects of adding a fractional nature to the Leaky Integrate and Fire simulator and to the Hodgkin-Huxley simulator:

Teka, W.; Stockton, D. B. & Santamaria, F. Power-Law Dynamics of Membrane Conductances Increase Spiking Diversity in a Hodgkin--Huxley Model. PLoS Comput Biol, 2016, 12. Access the article here.

Teka, W.; Marinov, T. M. & Santamaria, F. Neuronal spike timing adaptation described with a fractional leaky integrate-and-fire model. PLoS Comput Biol, UTSA Neurosciences Institute, The University of Texas at San Antonio, San Antonio, Texas, United States of America., 2014, 10, e1003526. Access the paper here.

Paper

We have published a paper which introduces the NeuroManager software:

Stockton, D. B. & Santamaria, F. NeuroManager: A workflow analysis based simulation management engine for computational neuroscience. Frontiers in Neuroinformatics, 2015, 9

The final Frontiers in Neuroinformatics article and Supplemental Material can be seen here.

Citation

BibTex format:

@ARTICLE{10.3389/fninf.2015.00024, AUTHOR={Stockton, David Bruce and Santamaria, Fidel},
TITLE={NeuroManager: A workflow analysis based simulation management engine for computational neuroscience},
JOURNAL={Frontiers in Neuroinformatics},
VOLUME={9},
YEAR={2015},
NUMBER={24},
URL={http://www.frontiersin.org/neuroinformatics/10.3389/fninf.2015.00024/abstract},
DOI={10.3389/fninf.2015.00024},
ISSN={1662-5196} ,
ABSTRACT={We developed NeuroManager, an object-oriented simulation management software engine for computational neuroscience. NeuroManager automates the workflow of simulation job submissions when using heterogeneous computational resources, simulators, and simulation tasks. The object-oriented approach (1) provides flexibility to adapt to a variety of neuroscience simulators, (2) simplifies the use of heterogeneous computational resources, from desktops to super computer clusters, and (3) improves tracking of simulator/simulation evolution. We implemented NeuroManager in MATLAB, a widely used engineering and scientific language, for its signal and image processing tools, prevalence in electrophysiology analysis, and increasing use in college Biology education. To design and develop NeuroManager we analyzed the workflow of simulation submission for a variety of simulators, operating systems, and computational resources, including the handling of input parameters, data, models, results, and analyses. This resulted in 22 stages of simulation submission workflow. The software incorporates progress notification, automatic organization, labeling, and time-stamping of data and results, and integrated access to MATLAB's analysis and visualization tools. NeuroManager provides users with the tools to automate daily tasks, and assists principal investigators in tracking and recreating the evolution of research projects performed by multiple people. Overall, NeuroManager provides the infrastructure needed to improve workflow, manage multiple simultaneous simulations, and maintain provenance of the potentially large amounts of data produced during the course of a research project.}}