PipeWork
From Wiki
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 to manage 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).
Input and output of 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 : Experiment, Sample, SignalIntensity, ClusterContex, ClusterFromGene, ...
- ImAnno : GnePaintGeneList, ListOfTissues, FromSieve, CorrelateTissue, ...
- etc.
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.