Abstract

Lancet is a new, simulator-independent Python utility for succinctly specifying, launching, and collating results from large batches of interrelated computationally demanding program runs. This paper demonstrates how to combine Lancet with IPython Notebook to provide a flexible, lightweight, and agile workflow for fully reproducible scientific research. This informal and pragmatic approach uses IPython Notebook to capture the steps in a scientific computation as it is gradually automated and made ready for publication, without mandating the use of any separate application that can constrain scientific exploration and innovation. The resulting notebook concisely records each step involved in even very complex computational processes that led to a particular figure or numerical result, allowing the complete chain of events to be replicated automatically. Lancet was originally designed to help solve problems in computational neuroscience, such as analyzing the sensitivity of a complex simulation to various parameters, or collecting the results from multiple runs with different random starting points. However, because it is never possible to know in advance what tools might be required in future tasks, Lancet has been designed to be completely general, supporting any type of program as long as it can be launched as a process and can return output in the form of files. For instance, Lancet is also heavily used by one of the authors in a separate research group for launching batches of microprocessor simulations. This general design will allow Lancet to continue supporting a given research project even as the underlying approaches and tools change.

Highlights

  • Computational neuroscience is a rapidly developing scientific field that relies on a large ecosystem of software tools that is continually evolving as high-performance computing infrastructure is updated

  • Computational models abstract away most of the complexity of nervous systems by necessity, it is still a formidable challenge to communicate this type of work to other scientists while capturing the key properties of the biological system under study

  • A REALISTIC, AGILE, AND EVOLVABLE WORKFLOW Having introduced the general facilities offered by Lancet, we examine how it can enable an agile and reproducible workflow using IPython Notebook

Read more

Summary

INTRODUCTION

Computational neuroscience is a rapidly developing scientific field that relies on a large ecosystem of software tools that is continually evolving as high-performance computing infrastructure is updated. These properties should help ensure that code written using this utility will remain viable for the foreseeable future The goal of this new package is to allow reproducible, agile workflows to develop organically when used together with other tools, namely a suitable version control system and IPython Notebook. To demonstrate that this workflow is both practical and relevant to a real research project, we briefly describe how it was used to generate all the results in Stevens et al (2013), recently published in the Journal of Neuroscience

BASIC LANCET EXAMPLE
USING LANCET TO RAPIDLY SPECIFY A TASK
24 Items: 200
SPECIFYING HOW LANCET SUPPORTS YOUR EXTERNAL TOOLS
SPECIFYING YOUR CHOSEN COMPUTATIONAL PLATFORM
DISCUSSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call