External applications

Command-line applications on the server machine can easily be made available via the graphical menu system of the Workbench. Such third-party applications can then be launched via the graphical menu system of CLC Workbenches that are connected to the CLC Genomics Server. These tools can access data on the machine the CLC Workbench is installed on, data stored on the CLC Genomics Server or data stored in areas of the server accessible to the CLC Genomics Server, depending on choices made by the server administrator.

The integration of third party external applications is configured in the CLC Genomics Server administrative web interface. Third party programs configured as External Applications are executed on the machine that the CLC Genomics Server is installed on. Thus, the server administrator has full control over the execution environment.

A special plug-in needs to be installed in the client Workbench to give the end-user access to the configured third-party tools. Please contact support@clcbio.com to get this Workbench plug-in.

An important note about the execution of External Applications:

It is important to consider that, like other tasks executed via the CLC Genomics Server, any tool configured as an External Application, will be run as the same logical user that runs the CLC Genomics Server process itself. If you plan to configured External Applications, we highly recommend that you run the CLC Server software as an un-privileged user. Or, in other words, if your system's root user is running the CLC Genomics Server process, then tasks run via the External Applications functionality will also be executed by the root system user. This would be considered undesirable in most contexts.

Figure 7.1 shows an overview of the actions and data flow that occur when an integrated external applications is executed via the CLC Workbench.

Image commandlinedetails
Figure 7.1: An overview of the external applications integration.

In general terms the basic work flow is:

  1. The user selects input data and parameters and starts the job from the Workbench
  2. The server exports the input data to a temporary file
  3. The server starts the command line application, using the parameters specified from the user and the temporary file as input
  4. When the command line application is done, the server imports output data back into the CLC environment, saving it in the data location on the server
  5. The user is notified that the job is done, and the results are available for viewing and further analysis in the Workbench

Note that all files used and files created and saved are within the CLC environment. Temporary files are created outside the CLC environment during the execution of a third party tool, but are deleted after the process runs under normal circumstances.

The best way to describe the integration of third party command lines tools is through a series of examples. We start with a very basic example and work towards more complex setups.



Subsections