Workflow DesignerWorkflow Designer allows molecular biologists not familiar with any programming language to effectively create and run complex computational workflows. The workflows comprise reproducible, reusable and self-documenting research routines, with a simple and unambigouos visual representation suitable for publications.The Workflow Designer drives better utilization of available computing resources and helps automation of daily activities in UGENE. OverviewDataflow modelManaging Parameters and IterationsValidation and executionExamples of usageUpcoming featuresOverview Using intuitive drag&drop interface of Workflow Designer, you can visually construct computational diagrams from a set of algorithmic blocks, or processes.
Processes can be connected to each other with data-flow channels if they have input and output ports of the same data types.
Further, each process in a diagram has a set of configurable parameters, specific to the logic of the algorithm it represents.
You can tune the parameters while designing the diagram, or specify them prior to execution of the workflow. To launch the Workflow Designer, open "Tools" submenu in the main menu of UGENE, and select "Workflow Designer" item. The tool provides multi-window user interface, so you can open as many Designer windows as you want, and build and run several workflows in parallel. Each window consists of a palette of building blocks, main drawing scene and a Property Editor. Menu "Actions" in the main menu bar provides all the standard actions for manipulating the workflow, using the clipboard, etc. Most common actions are available on the main toolbar. Some features are also available through context menus over corresponding areas. On most platforms, the right mouse click is used to open context menus. ![]() The scene is initially empty, so you start with adding necessary blocks to your diagram. You can select an interesting item by a mouse click on the palette and then click at an intended place of the scene, or just drag the item from palette and drop it onto the scene. So the new process object appears. Objects can be moved around on the scene by dragging them, all objects on the scene can be freely positioned. Having several processes in the diagram, you can define data flows betweem them.
Each process on the diagram has prominent knobs, these are input and output ports.
It is easy to distinguish which port is input and which is output by it's form (open or close bubble, correspondingly).
More information about a port can be seen in the Property Editor, when you select the port by clicking on it.
In particular, data produced or consumed by the port, etc ![]() A connection colored in red means the dataflow is void in the current context. Possibly you can validate it by completing the schema or rearranging preceding connections, or it is incorrect indeed. See the next section to understand better the underlying model of data propagation. Once created, a connection will follow movements of linked objects; you cannot redirect or reshape the connection arrow but only remove it. Still, orientation of a port can be changed relative to the parent process if you hold Alt button while dragging the port. This is helpful to fine-tune visual layout of a workflow. Dataflow model In the library of computational algorithms provided with UGENE we try to minimize the role of loops,
conditional merge/synchronization points and other complex data flow elements.
The idea of the solution is that we can safely replace any single region that contain pairs of split and merge points with a single linear region.
In this case to meet input requirements for a process, we must allow it to access results produced by any other process located before it in a workflow,
and for every result need to maintain the data context it was created with. We call this model the Data Context Propagation Model or DCPM. This way, any process in a linear workflow region has a set of incoming data slots with part of them used as input parameters for the process.
The outgoing set is made up of all incoming data slots plus the slots associated with the results of the process.
Every time the process emits results, a copy of the data from incoming data slots is made and propagated further in the workflow
combined with the results of the process. So coupled data values are delivered via a single data flow (aka data bus). Mapping of incoming data slots to required input slots is configurable individually per each connection. Just select a destination port of a connection or the connection arrow itself, so the mapping can be inspected and modified in the Property Editor. ![]() Managing Parameters and IterationsThe Property Editor displays complete information about the currently selected object on the scene: short documentation for the object, its' configurable properties, designation names for processes. ![]() Another important feature of UGENE workflows, is a facility for iterative executions of the same schema with varied parameters.
You can see a single iteration always defined by default, in a corresponding frame of the Property Editor.
In fact, the Property Editor always shows properties of a process respectively to the active (selected) iteration. The list and selection of current iteration are global to the workflow. Usually it is reasonable to build the workflow topology first then start configuring iterations. There is a dedicated interface to overview and configure all parameters of the workflow and watch variance between iterations side by side. It is invoked by selecting a "Configure iterations" item in the "Actions" menu or by clicking on the same button on the main toolbar. ![]() Upon tuning the overall configuration, you can immediately launch execution of the workflow or return to editing the diagram. Validation and execution Before a workflow can be actually executed, it should be verified by the Workflow Designer.
During the process of verification Workflow Designer checks if there are errors in data-flow logic or unspecified parameters
and can provide a user with optimization or layout hints. If no errors were found, the workflow is valid to be run. ![]() Once you are satisfied with the designed workflow diagram and have it configured, click a
"RUN" button on the main toolbar (or select "Run schema" item in the menu "Actions").
The schema gets verified and scheduled for background execution.
If you continue editing the workflow, this will not affect the launched execution.
You can control the workflow execution via common Task Manager of UGENE : watch progress, cancel it, etc. ![]() Examples of usageUpcoming featuresThese are planned to be implemented in next releases:
|