Spotfire Web Application for KNIME: SWAK

Mon, 01/27/2020 - 10:00 admin

Authors: Lionel Colliandre & Eric Le Roux, Discngine

Introduction

The authors of this article, Lionel Colliandre and Eric Le Roux are both from Discngine, a company that operates in the life science field. The company serves the needs of chemists and biologists in research, helping organize their data, provide informatics services, screening, data acquisition, and enable better decision making.

Topic. Spotfire Web Application for KNIME: encompassing KNIME capabilities in Spotfire

So far, they have focused on technologies such as Pipeline Pilot® and TIBCO Spotfire®. However, in response to seeing a lot of traction among customers towards using KNIME Analytics Platform, they wanted to find out more! One focus of Lionel and Eric’s work with KNIME is building connectors. In this article, they explain how their new connector bridges Spotfire and KNIME and what kind of benefits this offers.

Their Spotfire Web Application for KNIME – SWAK – uses the Discngine Connector API to combine the two software platforms by way of a web interface. The purpose of SWAK is to give users an interface to control KNIME workflows that will design instructions to create and/or update Spotfire documents. These instructions, defined by the scientist and parameterized by the end user, are mediated through the Discngine Connector API.

Here, Lionel and Eric describe their SWAK and what kind of communication takes place between KNIME Server and Spotfire through the web application and the Discngine Connector.

What would data science be without visualization? Nothing!

TIBCO Spotfire® is widely used for visualizing massive amounts of data in a fast and interactive way. By encompassing KNIME capabilities inside Spotfire we can construct a dynamic platform that makes managing and visualizing data much easier for end users with little or no coding knowledge.

Spotfire Web Application for KNIME - SWAK
Fig. 1. Screenshot of the SWAK mashup with the left panel allowing control of the execution of KNIME workflows. The right-hand section shows the Spotfire document

In our experience, a common use of TIBCO Spotfire® begins with users loading their raw data files directly. Raw data files can, however, be difficult to fully exploit. Using KNIME Analytics Platform to pre-process the data is possible, but this means having to go through two steps, each one independent of the other. More interactivity would speed up the process particularly with regard to the type of analyses that are carried out again and again. Our Spotfire Web Application for KNIME addresses precisely the topic of interactivity.

KNIME capabilities inside Spotfire

The central piece of our SWAK solution is the Discngine Client Automation API, which is part of the Discngine Connector. This Javascript API allows you to programmatically interact and control Spotfire in both Analyst and Web Player clients.

The SWAK is a mashup application including web content written in React and the Spotfire client. The Javascript API allows KNIME developers to:

  • manage authentication, workflow registration, workflow execution, and input/output data management
  • dynamically create content within the Spotfire document: import data, create and update visuals inside the Spotfire client, etc.

In the backend, KNIME workflows are stored on KNIME Server. The Javascript API controls execution of the workflows using REST API. Data output is saved in the Spotfire format through the Spotfire nodes included in KNIME. (The KNIME Spotfire Integration can be downloaded and installed from the KNIME Hub). A second output consist of the generated Javascript instructions for the Discngine Client Automation API. These instructions are finally executed to create content within the Spotfire document based on the preprocessed data in KNIME.

Spotfire Web Application for KNIME - SWAK
Fig. 2. Use of the Discngine Client Automation API to add an interactive web panel inside Spotfire, allowing KNIME workflows to be called in the backend.

A way for KNIME developers to share their work

SWAK has been designed to serve as a central repository for Spotfire-enabled KNIME workflows. On the one side, KNIME developers create workflows based on the needs of their end users. They are shared in SWAK with preconfigured options. At the other end of the process, Spotfire users can execute recurrent data analyses with their own data based on the registered workflows in the central repository. The main advantage is that users can create and/or update Spotfire visuals and data on the fly according to the rules implemented in the workflows.

The graphic below shows how easy it is to share KNIME workflows in SWAK, leading to the creation of a catalog of KNIME workflows dedicated to Spotfire.

Spotfire Web Application for KNIME - SWAK
Fig. 3. Share your KNIME workflows and make them accessible from within the Spotfire platform in a few steps.

Main features

SWAK improves the interactivity you can have in KNIME and/or Spotfire alone. It opens up a lot of possibilities, including being able to:

  • Use standardized preprocesses to load data dynamically into Spotfire from a KNIME execution
  • Create and show predefined pages and visuals in Spotfire
  • Use Spotfire as a data source for KNIME workflows: marked rows, selected columns, or full data tables
  • Display advanced forms in the SWAK Web Panel: File upload, molecular sketchers
  • Write back data based on users’ actions

Conclusion

The SWAK (Spotfire Web Application for KNIME) is a platform KNIME developers can use to share their workflows with their colleagues and make them accessible from within the Spotfire platform. In turn, Spotfire users can benefit from KNIME Analytics Platform’s capabilities without the need to go through export/import processes.

To discover all possibilities around the SWAK, you can request a demo via this form

References:

  • Try out the KNIME Spotfire Integration here on the KNIME Hub.