PipeWork

From Wiki

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
PipeWork is a web tool allowing the user to create his own flowcharts for the manipulation of lists of any entities accessible by the web server through a user friendly web interface with no need of any programming language.
PipeWork is a web tool allowing the user to create his own flowcharts for the manipulation of lists of any entities accessible by the web server through a user friendly web interface with no need of any programming language.
 +
==How it works==
A PipeWork is a net'''work''' of [[PipeWorkElement]]s connected together by '''pipe'''s carrying any kind of data. A PipeWorkElement (PWE) accepts 0, 1 or more arguments as input data, processes these values to create an output value which is sent to an other PipeWorkElement.
A PipeWork is a net'''work''' of [[PipeWorkElement]]s connected together by '''pipe'''s carrying any kind of data. A PipeWorkElement (PWE) accepts 0, 1 or more arguments as input data, processes these values to create an output value which is sent to an other PipeWorkElement.
Line 14: Line 15:
When, during an evaluation of a PipeWork, the same PWE is asked to be evaluated a second time the memorized ouptut value is used.
When, during an evaluation of a PipeWork, the same PWE is asked to be evaluated a second time the memorized ouptut value is used.
 +
 +
==Why a PipeWork==

Revision as of 13:13, 26 February 2009

PipeWork is a web tool allowing the user to create his own flowcharts for the manipulation of lists of any entities accessible by the web server through a user friendly web interface with no need of any programming language.

Contents

How it works

A PipeWork is a network of PipeWorkElements connected together by pipes carrying any kind of data. A PipeWorkElement (PWE) accepts 0, 1 or more arguments as input data, processes these values to create an output value which is sent to an other PipeWorkElement.

The web server provides a set of PipeWorkElements.

  • Some of them have no input arguments and create an output value when they are launched. For example the PWE ImannoAnnotateGeneList outputs the list of genes already annotated. The PWE GenoretWpList outputs the list of WorkPackages.
  • Others need an input value to be entered by the user. PWE Enter asks the user to enter a line of text, Text a text with newlines, SelectFromListOfGenoretWpList expects the user to select one WP within a list.
  • All other PWEs need their inputs to be connected to the output of an other PWE.
  • The output of only one PWE is considered as the ouptut of the PipeWork.

Evaluation of a PipeWork

The PipeWork is evaluated recursively starting with the output PWE : When the user asks the PipeWork to be evaluate, a server side program evaluates the 'output' PWE. For that it evaluates recursively all PWEs connected to the inputs of that PWE in the same order as the argument list. Recursively all input of all input PWEs are evaluated.

When, during an evaluation of a PipeWork, the same PWE is asked to be evaluated a second time the memorized ouptut value is used.

Why a PipeWork