PipeWork
From Wiki
Line 1: | Line 1: | ||
- | PipeWork is a web tool allowing the user to create his own flowcharts | + | PipeWork is a web tool allowing the user to create and evaluate his own flowcharts to process, query, filter and display the data provided by the web server. A user friendly web interface allows the creation and evaluation of the PipeWorks with no need of any programming language. |
==How it works== | ==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. | ||
- | ===The web server provides a set of PipeWorkElements.=== | + | ===The web server provides a set of PipeWorkElements (PWEs).=== |
* 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 to the output''' of an other PWE. | * 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. | + | * The '''output of only one PWE''' is considered as the 'ouptut' of the PipeWork. |
+ | |||
+ | * The PWEs can be classified as : (see full list [http://www-genoret.u-strasbg.fr/genoret/Execute.php?PiWo::PW here]) | ||
+ | ** user's interactive input elements : ''Enter, Select, MultipleSelect, Text, Browse'' | ||
+ | ** mathematical functions : ''Add, Multiply, Divide, Compare, Sinus, SquareRoot'', etc. | ||
+ | ** list (or array) processing : ''Union, Intersection, SubList, ListElement, ListToText, TextToList, ListLength'', etc. | ||
+ | ** conditional evaluation : ''SwitchBetween, UseOnlyParam'', etc. | ||
+ | ** display : ''ToHtml, ToHtmltable, AddHtmlLink'' | ||
+ | ** thematic specific functions | ||
+ | *** GX | ||
+ | *** ImAnno | ||
===Evaluation of a PipeWork=== | ===Evaluation of a PipeWork=== |
Revision as of 13:38, 26 February 2009
PipeWork is a web tool allowing the user to create and evaluate his own flowcharts to process, query, filter and display the data provided by the web server. A user friendly web interface allows the creation and evaluation of the PipeWorks 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 (PWEs).
- 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.
- The PWEs can be classified as : (see full list here)
- user's interactive input elements : Enter, Select, MultipleSelect, Text, Browse
- mathematical functions : Add, Multiply, Divide, Compare, Sinus, SquareRoot, etc.
- list (or array) processing : Union, Intersection, SubList, ListElement, ListToText, TextToList, ListLength, etc.
- conditional evaluation : SwitchBetween, UseOnlyParam, etc.
- display : ToHtml, ToHtmltable, AddHtmlLink
- thematic specific functions
- GX
- ImAnno
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.