KNIME Pharmacophore.
A plugin for the KNIME workflow system that adds a Pharmacophore data type and nodes to read, write, and align them.
KNIME plugin with nodes to convert and align pharmacophores.
A pharmacophore is an abstract description of molecular features that are necessary for molecular recognition of a ligand by a biological macromolecule. Nodes in this plugin allow for converting pharmacophores, from and to molecules, by mapping elements to pharmacophore type and, reading from or writing to the phar file format used by the Silicos IT align-it tool. This plugin adds the Pharmacophore (Phar) data type to KNIME, allowing nodes to read/write/manipulate pharmacophores inside KNIME like the Silicos-it align-it, Kripo pharmacophore retrieval and molviewer pharmacophore viewer nodes.
This project uses Eclipse Tycho to perform build steps.
Installation
Requirements:
- KNIME, https://www.knime.org, version 3.3 or higher
Steps to get the Pharmacophore KNIME nodes inside KNIME:
- Goto Help > Install new software ... menu
- Press add button
- Fill text fields with
https://3d-e-chem.github.io/updates
- Select --all sites-- in
work with
pulldown - Select the
Pharmacophore KNIME nodes
- Install software
- Restart KNIME
Usage
- Create a new KNIME workflow.
- Find node in Node navigator panel.
- Drag node to workflow canvas.
Examples
The examples/
folder contains example KNIME workflows.
Build
mvn verify
An Eclipse update site will be made in p2/target/repository
directory.
The update site can be used to perform a local installation.
Continuous Integration
Configuration files to run Continuous Integration builds on Linux (Travis-CI), OS X (Travis-CI) and Windows (AppVeyor) are present.
See ./.travis.yml
file how to trigger a Travis-CI build for every push or pull request.
Also see ./.travis.yml
file how to upload coverage to https://www.codacy.com .
See ./appveyor.yml
file how to run on https://www.appveyor.com .
Development
Steps to get development environment setup:
- Download KNIME SDK from https://www.knime.org/downloads/overview
- Install/Extract/start KNIME SDK
- Start SDK
Install m2e (Maven integration for Eclipse) + Test workflows in JUnit
- Goto Help > Install new software ...
- Make sure Update site http://update.knime.org/analytics-platform/3.3 and https://3d-e-chem.github.io/updates are in the pull down list otherwise add them
- Select --all sites-- in work with pulldown
- Select m2e (Maven integration for Eclipse)
- Select
Test Knime workflows from a Junit test
- Select
Splash & node category for 3D-e-Chem KNIME nodes
- Install software & restart
Import this repo as an Existing Maven project
During import the Tycho Eclipse providers must be installed.
Tests
Tests for the node are in tests/src
directory.
Tests can be executed with mvn verify
, they will be run in a separate KNIME environment.
Test results will be written to test/target/surefire-reports
directory.
Code coverage reports (html+xml) can be found in the tests/target/jacoco/report/
directory.
Unit tests
Unit tests written in Junit4 format can be put in tests/src/java
.
Workflow tests
See https://github.com/3D-e-Chem/knime-testflow#3-add-test-workflow
Speed up builds
Running mvn commands can take a long time as Tycho fetches indices of all p2 update sites.
This can be skipped by running maven offline using mvn -o
.
New release
- Update versions in pom files with
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version>-SNAPSHOT
command. - Create package with
mvn package
, will create update site inp2/target/repository
- Run tests with
mvn verify
- Optionally, test node by installing it in KNIME from a local update site
- Append new release to an update site
- Make clone of an update site repo
- Append release to the update site with
mvn install -Dtarget.update.site=<path to update site>
- Commit and push changes in this repo and update site repo.
- Create a Github release
- Update Zenodo entry
- Correct authors
- Make nodes available to 3D-e-Chem KNIME feature by following steps at https://github.com/3D-e-Chem/knime-node-collection#new-release