PipeWork
From Wiki
Line 3: | Line 3: | ||
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. | ||
- | The web server provides a set of PipeWorkElements. | + | ===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. | * 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. | + | * 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 as | + | * 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. |
Revision as of 12:17, 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.
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.