Integration of tools

Is essential to learn how openVRE passes on user’s data from the web interface to the tool virtual machine in order to understand the four different pieces of information that tools developers need to provide when integrating a new tool at openVRE.

The following schema summarizes the tool execution cycle, and remarks in purple tool developer contributions.


The flow starts when the end user selects the desired input files from its personal workspace, chooses a tool, and sets its parameters for the new project/execution. On clicking the “Compute” button, the two C – job configuration files are transparently created (while integrating a tool, it is highly recommended to manually build these files for testing purposes). Afterwards, according to the A – tool specification file, one of the two process managers supported by openVRE (PMES, SGE-oneflow) is triggered as described at Components. Both launchers end up calling the tool’s executable at the B- Tool virtual machine.

Once the execution is finished, the output files of the pipeline are written, but openVRE is not aware of them unless they are registered in the file’s metadata database, making them eligible at the user workspace for subsequent executions. So now it time to gather this metadata. openVRE extract the output files metadata from two sources. The first is the initial tool specification file, and the second is the output metadata file produced by the tool at the end of each execution.

To really start coding, more detailed information is given in each section:

A Tool specification file (more details)

Main tool definition. It includes input files requirements, arguments, expected output files, execution details, etc.
Occasionally, if output files are variable and cannot be predefined at the 'tool specification file', the output metadata file is also required.

B Tool virtual machine (more details)

Image containing your tool or pipeline. The machine provides a virtual environment to your code that ensures its portability to any of our clouds.

C Test job configuration files (more details)

Configuration files associated to a particular job execution. In the natural openVRE flow, they are automatically created from user's web forms and submitted to the tool VM. However, during the integration procedure, it is good to manually create them in order to emulate an openVRE call.

Configuration files are 1) Input metadata file, and 2) Tool configuration file

D Web interface data (more details)

Tool related information appearing at the web portal. This metadata includes short descriptions, logos, documentation, customized 'View Results' pages, etc.