OPS-Knime is a project devoted to ease the process of including OpenPHACTS services into the Knime workflow engine.
where:
- OpenPHACTS reduces the barriers to drug discovery in industry, academia and for small businesses.
- Knime offers a workflow system by implementing a low-barrier visual programming environment for researchers dependent on data and statistical data-crunching methods/algorithms.
The OpenPHACTS services are accessible via HTTP-GET . These services are described in SWAGGER, and rendered by 3scale into convenient, human-readable html documentation. The latest swagger file for the OpenPHACTS version 1.3 can be found here , and the visualisation is here SWAGGER is an easy way to describe REST services. It contains all the necessary information needed to be able to understand the purpose and how to technically invoke services that are provided. For example the address of the server, the path to the services and the parameters that the services require or which are optional to fine-tune the desired functionality of the service.
The OPS-Knime project is mainly concerned to give the Knime community easy access to the OpenPHACTS services.
- JSON_to_Knime
This node parses the JSON from a given url to a KNIME table by a recursive traversal through the JSON objects and JSON arrays. The column names are a concatenation of the keys found when walking through the hierarchical path. The resulting tables looks quite similar to an online JSON-to-CSV tool found here .
- SWAGGER_to_ServiceTemplates
The combination of these two KNIME nodes provides access to REST services accessible via HTTP-GET described by a SWAGGER file.
#Installation
To run the Open PHACTS nodes you need to install both the JSON+SWAGGER nodes and the metanodes.
- Download "org.openphacts.utils.json_1.0.0.jar" and put it in the plugins folder of your KNIME installation
KNIME allows workflows to be wrapped as "meta nodes". In the "metanodes.zip" the functionality of the Open PHACTS platform is exposed by wrapping SWAGGER+JSON nodes (described below) The more skilled user can 'zoom in' into the meta-node and change the settings according to his/her preferences.
The following metanodes are implemented and have an example workflow:
- OPS_activity_types
- OPS_ChEBI_class_pharmacology_count
- OPS_ChEBI_ontology_class_pharmacology_paginated
- OPS_chemical_structure_exact_search
- OPS_chemical_structure_similarity_search
- OPS_chemical_structure_substructure_search
- OPS_compound_information
- OPS_compound_pharmacology_paginated
- OPS_data_sources
- OPS_enzyme_pharmacology_count
- OPS_enzyme_pharmacology_paginated
- OPS_get_ChEBI_ontology_class
- OPS_get_ChEBI_ontology_class_members
- OPS_get_ChEBI_ontology_root_classes
- OPS_get_concept_description
- OPS_get_enzyme_classification_class
- OPS_get_enzyme_classification_class_members
- OPS_get_enzyme_classification_root_classes
- OPS_InChI_key_to_URL
- OPS_InChI_to_URL
- OPS_map_free_text_to_concept_URL_by_semantic_tag
- OPS_map_URL
- OPS_pathway_information
- OPS_search_freetext
- OPS_SMILES_to_URL
- OPS_target_information
- OPS_target_pharmacology_count
- OPS_target_pharmacology_paginated
- OPS_units_for_activity_type
Perform the previous step and do the following:
- Download "metanodes.zip" and unpack it
- Open your KNIME environment
- Goto "file>>import workflow..."
- select from the unpacked zip the workflow you need
The source code of the plugins are in the folder "OPS-Knime" folder which can be checked out as a java project in Knime-Eclipse.
The source of the metanodes is in the 'metanodes' directory
- more nodes
- better nodes
for any questions or feedback, please send a mail to rm.siebes'''''AT'''''few.vu.nl