UNPKG

mountainlab

Version:
38 lines (27 loc) 1.78 kB
--- layout: page title: The MountainLab Philosophy/Glossary tagline: What we're trying to do and why. permalink: docs/docs_editable/philosophy-glossary/ --- ## High-Level Overview ** Here we try to descibe the philosophy ** MountainLab aims to be a flexible, robust tool for executing a series of steps forming a pipeline. MountainLab itself manages queing processes, running pipelines, and making sure the processors have access to the files they need. ## Processor A processor is simply a program, but in this context *all* of the side-effects (outputs) of the program must be made via reading from (if any) `inputs` files and writing to any `outputs` files. These inputs and outputs are defined in the `processor spec`. ### Processor Spec A string describing which (if any) input files, output files, and paramaeters a particular processor supports/requires. See [creating your own processor](./creating_custom_processor_libraries.md) for more details. ## Package A package is a collection of processors. It is defined by a (or many) `.mp` files which are unix-executables that return the spec of one or more processors when called with the argument `--spec`. ## Pipeline A pipeline is just a series of processors being run on a dataset. You can create your own pipelines in any language, but to take full advantage of MountainLab's features they should be specified in javascript. ### `.ml` pipeline `.ml` is the extension used for pipelines written in javascript and that can be run using MLStudy, a server/web-based framework for mountain lab. ## Study (`.mls`) A study is an associated collection of: - Datasets - Pipelines - Results - +some metadata/abtritary extra info **A study is thus a fully defined mapping of a dataset (or set of datasets) to results.**