/lancet

Launch jobs, organize the output, and dissect the results

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

BuildStatus

Lancet

Launch jobs, organize the output, and dissect the results.

More information about Lancet may be found on Lancet's website. Here you may find a quickstart example, user documentation, tutorials as well as more information about publications involving Lancet.

To obtain Lancet from GitHub:

git clone git://github.com/ioam/lancet.git

In common with many projects on IOAM, Lancet uses param, so make sure to install it with pip install param.

Introduction

Lancet is designed to help you organize the output of your research tools, store it, and dissect the data you have collected. The output of a single simulation or analysis rarely contains all the data you need; Lancet helps you generate data from many runs and analyse it using your own Python code.

Parameter spaces often need to be explored for the purpose of plotting, tuning, or analysis. Lancet helps you extract the information you care about from potentially enormous volumes of data generated by such parameter exploration.

Features

  • A simple, useful core with advanced functionality strictly optional. Use what you need without learning all components.
  • All components use a declarative style, helping to ensure reproduciblity.
  • Succinctly express the high dimensional parameter spaces, without nested loops.
  • Easily interface with external tools using ShellCommand or quickly build a flexible, reusable interfaces to advanced simulators or analysis tools. Currently, the Topographica neural simulator is actively supported.
  • Seamlessly switch from running jobs locally to launching jobs on a compute cluster.
  • Keep your output organized together with key metadata for reproducibility.
  • Quickly load your data and view the parameters from previous runs.
  • Integrates well with other popular tools such as IPython Notebook and the pandas data analysis library.
  • Actively used in scientific research and publication.

Contributors

The following people have contributed to Lancet's design and implementation:

Jean-Luc Stevens: Original coding and design

Marco Elver : Python 3 fork, cleaned up many aspects of the design.

James A. Bednar: For supporting the development of a solution that works with any tool and not just Topographica .

Philipp Rudiger: Testing, feedback and suggestions.