KNIME node which launches a web browser with a molecule viewer powered by NGL.
If you are using KNIME workflows with large molecules and you want to view them in 3D then the molviewer nodes are able to handle this.
- Provides cheminformatics trying to model proteins within KNIME a way to view them
- Adds nodes to KNIME to visualize proteins, small molecules and pharmacophores
- Adds support to KNIME to handle viewing big molecules
- Used to compare pharmacophore generation tools
- Used to check ligand repurposing
This project uses a web user interface based on https://github.com/3D-e-Chem/molviewer-tsx .
- KNIME, https://www.knime.org, version 3.1 or higher
Steps to get the MolViewer KNIME node inside KNIME:
- Goto Help > Install new software ... menu
- Press add button
- Fill text fields with
- Select --all sites-- in
- Select the node called
MolViewer nodes for KNIME
- Install software
- Restart KNIME
Create a new KNIME workflow.
Find node in Node navigator panel under Community Nodes > 3D-e-Chem > Molviewer.
Drag node to workflow canvas.
Give molviewer nodes Proteins, Ligands and/or Pharmacophores as input.
Open the view of the molviewer node, this will launch a web browser with the molecules visualized.
In web browser you can
- Rotate/translate/zoom molecules with mouse
- Toggle which molecules are visible
- Transmit visible molecules as HiLite selection back to KNIME or do the reverse from KNIME to molviewer
- and more
See example workflow in
An Eclipse update site will be made in
The update site can be used to perform a local installation.
Steps to get development environment setup:
Download KNIME SDK from https://www.knime.org/downloads/overview
Install/Extract/start KNIME SDK
Install m2e (Maven integration for Eclipse) + KNIME Testing framework
Goto Help > Install new software ...
Make sure the following Update sites are in the pull down list otherwise add them
Select --all sites-- in work with pulldown
Select m2e (Maven integration for Eclipse)
KNIME Testing framework
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.
Update plugin libs directory
server/libs/ directory are filled with dependencies specified in the
Update libs directory with
mvn -f server/pom.libs.xml dependency:copy-dependencies -DoutputDirectory=libs
The jars in the libs directory should be listed in the Bundle-ClassPath property of the
TODO incorporate fill libs/ command in mvn package
The web interface in the
server/src/main/resources/webapp directory. Is a distribution from the https://github.com/3D-e-Chem/molviewer-tsx repository.
Tests for the node are in
Tests can be executed with
mvn verify, they will be run in a separate KNIME environment.
Test results will be written to
Unit tests written in Junit4 format can be put in
- Update versions in pom files with
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version>-SNAPSHOTcommand.
- Commit and push changes
- Create package with
mvn package, will create update site in
- Test node by installing it from 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>
- Add files, commit and push changes of update site repo.
- Create a Github release
- Update Zenodo entry, fix authors and license
- Make nodes available to 3D-e-Chem KNIME feature by following steps at https://github.com/3D-e-Chem/knime-node-collection#new-release
In the background a web server is started when the view of the node is opened. The webserver has
on /api, a rest interface
- to retrieve data from KNIME node input ports, /api/ligands
- to propogate selections in web page to KNIME node using the hilite mechanism of KNIME, /api/ligands/hilite
- server sent events, /api/broadcast
on /, ui based on https://github.com/3D-e-Chem/molviewer-tsx
on /swagger.json and /swagger.yaml, swagger endpoints
on /swagger-ui, swagger ui
Server sent events are used to inform the web page that:
- view closed
- input changed
- hilite changed
This project uses Eclipse Tycho to perform build steps.