KNIME-CDK: Workflow-driven cheminformatics

Background Cheminformaticians have to routinely process and analyse libraries of small molecules. Among other things, that includes the standardization of molecules, calculation of various descriptors, visualisation of molecular structures, and downstream analysis. For this purpose, scientific workflow platforms such as the Konstanz Information Miner can be used if provided with the right plug-in. A workflow-based cheminformatics tool provides the advantage of ease-of-use and interoperability between complementary cheminformatics packages within the same framework, hence facilitating the analysis process. Results KNIME-CDK comprises functions for molecule conversion to/from common formats, generation of signatures, fingerprints, and molecular properties. It is based on the Chemistry Development Toolkit and uses the Chemical Markup Language for persistence. A comparison with the cheminformatics plug-in RDKit shows that KNIME-CDK supports a similar range of chemical classes and adds new functionality to the framework. We describe the design and integration of the plug-in, and demonstrate the usage of the nodes on ChEBI, a library of small molecules of biological interest. Conclusions KNIME-CDK is an open-source plug-in for the Konstanz Information Miner, a free workflow platform. KNIME-CDK is build on top of the open-source Chemistry Development Toolkit and allows for efficient cross-vendor structural cheminformatics. Its ease-of-use and modularity enables researchers to automate routine tasks and data analysis, bringing complimentary cheminformatics functionality to the workflow environment.


Background
The routine work of a cheminformatician involves the processing of libraries of small molecules. Standardising molecules, e.g., adding hydrogens or removing unconnected structures, calculation of molecular descriptors, and visualisation of chemical structures in two-or threedimensional space are just a few examples of recurrent tasks that are carried out upstream of cheminformatic pipelines. Several free cheminformatics libraries and tools have been developed to deal with these tasks, such as the CDK [1], RDKit [2], and OpenBabel [3] to mention only a few.
Typically, building a comprehensive pipeline for small molecules requires a basic understanding of a scripting language to concatenate input and output from different *Correspondence: beisken@ebi.ac.uk 1 European Molecular Biology Laboratory -European Bioinformatics Institute (EMBL-EBI), Wellcome Trust Genome Campus, Hinxton, Cambridge, UK Full list of author information is available at the end of the article tools or call functions from a cheminformatics library. For experimental scientists, usage of APIs (application programming interfaces) or programming languages adds a constraint to more in-depth analysis. On the other hand, standalone tools suffer from their limited scope. Even simple tasks like the visual characterisation of a chemical library [4] requires importing and exporting data in various formats using different tools.
Workflow environments circumvent the above mentioned challenges to various degrees by providing a common platform for different tools and have become increasingly popular with the scientific community [5,6]. The Konstanz Information Miner (KNIME) [7] is an open-source workflow platform that supports a wide range of functionality and has an active cheminformatics/bioinformatics community, e.g., with plug-ins for next generation sequencing or image analysis [8][9][10]. For a detailed description of the KNIME data analysis platform see [11]. http://www.biomedcentral.com/1471-2105/14/257 The cheminformatics plug-in KNIME-CDK is based on the Chemistry Development Kit (CDK), an open-source cheminformatics library. It wraps elements of the library's core functionality and exposes it to the user. In contrast to other cheminformatics plug-ins available in KNIME, the project and its core library are fully open and communitydriven. Implementation KNIME-CDK has been developed in Java 1.6 and is available via the KNIME update mechanism. The plugin including its sources is available as release (stable) build and nightly (pre-release) build under GNU LGPL v3. It has been tested on KNIME Desktop version 2.6 and 2.7, the latter uses Java 1.7, with 2 GB memory and default settings otherwise, using the ChEBI compound library [12]. Over the last year, the plug-in and its underlying core library have been updated, reducing memory requirements and improving overall performance. The KNIME-CDK community site and forum [13] provide an overview of the implemented functionality and support respectively.
Following KNIME's data model, the individual CDK molecule representations are stored in their own data cell type, the atomic unit for tabular data transfer from one node to another. A node can be considered as single worker carrying out a single function. Here node names are written in italic. Data persistence is guaranteed via the Chemical Markup Language (CML) [14] serializing the molecule when necessary. The underlying CDK molecules are handled and stored within data cells in standardized form, i.e., with implicit hydrogen atoms added, atom types perceived, and aromaticity detected. This guarantees consistency across all nodes and simplifies usability of the plug-in by hiding technical details from the user, hence allowing the scientist to focus on the task at hand.
The plug-in accepts molecules in CML, SDFile, MDL Mol, InChI, and SMILES formats [15] via the Molecule to CDK node and writes SDFiles via the CDK to Molecule node, hence converting the CDK molecule back to the default SDFile cell, that can be used with other cheminformatics plug-ins. In addition, the implemented SDFile interface ensures that all SDFile cell accepting nodes can directly be connected to KNIME-CDK nodes.
All subsequent operations are carried out on the internal CDK molecule representation and include, inter alia, generation of coordinates, atom signatures of various heights, common fingerprints, e.g., MACCS and Pubchem, two-and three-dimensional molecular descriptor values including XLogP and Lipinski's Rule of Five, chemical name lookup via OPSIN [16], and substructure search (Figure 1a). Different routes in a workflow can run in parallel and nodes run always multi-threaded. In Figure 1b a chemical library is filtered for molecules containing a phenol group before successive hydrogen acceptor / donor count while being used for MACCS fingerprint and atom signature generation. The out-port view, i.e., the resulting data table, is shown for the Atom Signatures node. Further use cases of workflows using the KNIME-CDK plug-in include the management and analysis of chemical libraries through molecular descriptors, conformer analysis via RMSD, and NMR spectra prediction. Example workflows for these tasks can be found in the repository [17] of the myExperiment virtual research environment [18].
Complementing the signature node, the KNIME preference page contains a CDK tab to set global visualisation preferences. Given two-or three-dimensional coordinates, a renderer is provided to draw the molecules using the JChemPaint library [19]. By default the element symbol is drawn. The preference page allows to draw either canonical or sequential atom numbers instead of either all atoms or carbon / hydrogen atoms only.

Discussion
The KNIME-CDK plug-in was tested using the structurally diverse ChEBI library with a total of 23,240 3-star structures. For testing purposes, the library was used in SDFile format, release 98, because this could arguably be considered the most common use case. For comparison, the well-established RDKit plug-in was used. Using the ChEBI SDFile, consistent input-serialization-output was tested using round tripping to ensure that no information is lost or altered. . The structures were read in 43.0±4.5 seconds compared to 12.0±0.7 seconds (RDKit). Even though the KNIME-CDK plug-in is not as fast as RDKit, which uses a native C++ implementation, its functionality should be seen as complimentary to other plug-ins available and its speed is still adequate.
The ChemAxon Marvin Extensions Feature, 2.6.3.v0135, was used to create canonical SMILES from the structures that were loaded with KNIME-CDK and RDKit. For 2794 (12.6%) structures different SMILES were produced, due to the fact that different internal representations and the nature of the problem, inescapably produces variation. This highlights one of the benefits of employing more than one library for processing and analysis tasks. In http://www.biomedcentral.com/1471-2105/14/257 addition, KNIME-CDK offers some unique functionality including various molecular descriptors, fingerprints, and equivalent class calculation.
With that knowledge, KNIME-CDK can be used for chemical data exploration in synergy with other cheminformatics plug-ins to make proper use of the framework environment. We will continue to update the plug-in continuously to take the newest developments of the CDK project into account. New nodes will be added on a "ondemand" basis.

Conclusions
We presented KNIME-CDK, an open-source cheminformatics plug-in for the KNIME platform. The plug-in brings additional cheminformatics functionality to the platform based on a community-driven open library. Functionality includes molecule conversion to and from common formats, substructure searching, generation of signatures, fingerprints, and molecular properties. It supports the typical range of organic chemical structures similar to RDKit but adds new functionality to the framework. The plug-in is easy to use and enables the community to build further nodes based on the popular CDK library that work in combination with the existing molecule representation. Issues that will be addressed are the overall speed and input capability of the plug-in to make it more usable and better suited for high-throughput analysis.