KNIME nodes and example workflows for software made by Silicos-it like shape-it to align molecules based on shape and align-it to align molecules based on their pharmacophore. Nodes can only be run on either Linux or OSX. The Silicos-it Windows binaries do not exist so the Silicos-it KNIME nodes are not available for WIndows aswell.
This project uses Eclipse Tycho to perform build steps.
Requirements:
- KNIME, https://www.knime.org, version 5.1 or higher
Steps to get the Silicos-it KNIME node inside KNIME:
- Goto Help > Install new software ... menu
- Press add button
- Fill text fields with
https://3d-e-chem.github.io/updates/5.1
- Select --all sites-- in
work with
pulldown - Select the node
- Install software
- Restart KNIME
- Create a new KNIME workflow.
- Find node in Node navigator panel.
- Drag node to workflow canvas.
The examples/
folder contains example KNIME workflows.
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.
Configuration files to run Continuous Integration builds on GitHub actions are present in .github/workflows
.
Steps to get development environment setup based on https://github.com/knime/knime-sdk-setup#sdk-setup:
- Install Java 17
- Install Eclipse for RCP and RAP developers
- Configure Java 17 inside Eclipse Window > Preferences > Java > Installed JREs
- Import this repo as an Existing Maven project
- Activate target platform by going to Window > Preferences > Plug-in Development > Target Platform and check the
KNIME Analytics Platform (5.1) - nl.esciencecenter.e3dchem.knime.silicosit.targetplatform/KNIME-AP-5.1.target
target definition.
During import the Tycho Eclipse providers must be installed.
This plugin uses metanodes as it's public nodes. They are created in the following way:
- The meta nodes are first created and tested inside the example workflows in the
examples/
directory. - The
name
andcustomDescription
field insideexamples/**/workflow.knime
is filled. - The examples are fully run and committed
- The meta nodes are internally completely reset, so we don't ship public nodes with example data in them.
- The meta nodes from the example workflows are then copied to the
plugin/src/knime/
directory. - The meta nodes are added to the
plugin/plugin.xml
as PersistedMetaNode in theorg.knime.workbench.repository.metanode
extension. - The examples are checked-out to their fully run state.
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.
There are no tests for the meta nodes as they are copied from the plugin to a workflow each time, which would make the test test itself.
Unit tests written in Junit4 format can be put in tests/src/java
.
See https://github.com/3D-e-Chem/knime-testflow#3-add-test-workflow
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
.
- 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
- Update CITATION.cff with new DOI