Composing program flow
Piecing together a program.
- WILDFIRE consists on several types of components to enable
the user to piece together lonely and disparate programs, and have them
work together to perform a workflow.
- This beta version comes with the whole suite of EMBOSS modules for
users to piece together their EMBOSS workflow. Each program is represented
as an object similar to the one shown here.
- To piece together several of these objects, you can do this:
- A simple pipeline.
Note: a program object can only be link to one other object.
- A split.
- A join.
- To allow for greater expression of workflow, WILDFIRE has several other
modules to aid in composing more complex workflow.
- pfor
Its function is as a multi-split where program objects within its bound
is duplicated. pfor takes in parameters similar to the for loop
we see in C/C++ and java. The difference is that it takes in only integer
values and it increment in unit 1 from the starting value to the ending value.
- pforeach
pforeach takes in two parameters, one is the variable name
and the other is a regular expression.
It is also a multi-split object but the difference between pforeach
and pfor is that pforeach searches for files with patterns
matching the regular expression in the working directory during execution
and it expands parallelly the workflow within its body by the number
of matches that it finds.
- if-else
This module execute a test job (object), and then executes either one
of its branches depending on whether the test job prints to the standard
output. A true state is recognise if nothing is printed to the
standard out and false if standard out is not empty.
- while
This module has two branches: a true state path and state path.
Like the if-else, it requires a test job to determine the state.
If the test job evaluates to true, it continues the loop; it breaks out
if the test job evaluates to false.
What is illegal and how you will be warned.
- Objects' ports cannot be link with more than one edge. This is handled
automatically by the editor.
- A link cannot go across object bodies, this is rather complicated to
discuss here but pictures might be easier.
However, if a mistake is made, an error will occur if the user attempts
to build the project. Every affected object will be highlighted with
this symbol
.
- Arbitrary loops and additionally cycles are not allowed,so the while
module does not have a closing edge. A build error, symbol
, will also appear on each affected object
if a user attempts to build the project with such cycles.
The icons you see here are licensed with GPL License,
LGPL License.
Copyright © 2004 CHUA Ching Lian, Bioinformatics Institute, A*Star, Singapore.