GPCRDB nodes for Knime
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status Build status Codacy Badge Codacy Badge DOI

KNIME plugin for retrieving data from, GPCRdb website contains data, web tools and diagrams for G protein-coupled receptors (GPCRs).



Steps to get GPCRDB nodes inside KNIME:

  1. Goto Help > Install new software ... menu
  2. Press add button
  3. Fill text fields with
  4. Select --all sites-- in work with pulldown
  5. Open KNIME 3D-e-Chem Contributions folder
  6. Select GPCRDB
  7. Install software & restart


See example workflow in examples folder.


mvn verify

Jar has been made in plugin/target folder. An Eclipse update site will be made in p2/target/repository repository.


Steps to get development environment setup:

  1. Download KNIME SDK from

  2. Install/Extract/start KNIME SDK

  3. Start SDK

  4. Install m2e (Maven integration for Eclipse) + KNIME JSON-Processing + 3D-e-Chem node category

    1. Goto Help > Install new software ...

    2. Make sure the following Update sites are in the pull down list otherwise add them

    3. Select --all sites-- in work with pulldown

    4. Select m2e - Maven integration for Eclipse

    5. Select KNIME JSON-Processing

    6. Select Splash & node category for 3D-e-Chem KNIME nodes

    7. Install software & restart

  5. Import this repo as an Existing Maven project

  6. Import client/ directory in repo as an Existing Maven project.

During import the Tycho Eclipse providers must be installed.

New release

  1. Update versions in pom files with mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version>-SNAPSHOT command.
  2. Commit and push changes
  3. Create package with mvn package, will create update site in p2/target/repository
  4. Test node by installing it from local update site
  5. Append new release to 3D-e-Chem update site
  6. Make clone of repo
  7. Append release to 3D-e-Chem update site with mvn install<3D-e-Chem repo/updates>
  8. Commit and push changes in this repo and repo
  9. Create a Github release
  10. Update Zenodo entry
  11. Fix authors
  12. Fix license
  13. Make nodes available to 3D-e-Chem KNIME feature by following steps at

Create GPCRDB client

  1. Download swagger code generator
  1. Download and unpack the swagger rewriter

  2. Generate a Swagger spec for the client

Install the swagger rewriter from

swagger-rewriter/bin/swagger-rewriter \ \
client-config/swagger-rewriter.config.yml \

3.1 Optionally, make manual changes to client-config/gpcrdb.swagger-spec.json

  1. Generate a client for GPCRDB web service using the rewritten spec
java -jar swagger-codegen-cli-2.3.0.jar generate \
--input-spec client-config/gpcrdb.swagger-spec.json \
--output client \
--lang java \
--config client-config/swagger-codegen.config.json
  1. Compile client
cd client
mvn package
  1. Make client jar and it's dependencies available in plugin
cp -r target/lib/* target/*jar ../plugin/lib/

7. Remove test dependencies

rm plugin/lib/-tests.jar plugin/lib/junit plugin/lib/hamcrest*

8. Update `plugin/META-INF/MANIFEST.MF`, `plugin/` files to reflect contents of lib/

# Create stub recordings for integration tests

The test workflow are tested against a mocked web server and not the actual site.
The mock server is called [WireMock]( and normally gives empty responses.
To have WireMock server return filled responses, stubs stored in `tests/src/test/resources/` directory must be provided.
The stubs can be recorded by starting a WireMock server in recording mode by:

java -jar tests/lib/wiremock-standalone-2.5.0.jar --proxy-all=""
--port=8089 --record-mappings --verbose --root-dir=tests/src/test/resources/

Then in a KNIME workflow in the GPCRDB nodes set the base path to http://localhost:8089.
Executing the workflow will fetch data from via the WireMock server and cause new stubs to be recorded in the `tests/src/test/resources/` directory.

To run the test workflows from inside KNIME desktop environment start the WireMock server in mock mode by:

java -jar tests/lib/wiremock-standalone-2.5.0.jar --port=8089 --verbose --root-dir=tests/src/test/resources/

Then import the test workflows in `tests/src/knime/` directory, select the workflow in the KNIME explorer and in the context menu (right-click) select `Run as workflow test`.

# References

* V Isberg, S Mordalski, C Munk, K Rataj, K Harpsøe, AS Hauser, B Vroling, AJ Bojarski, G Vriend, DE Gloriam. “GPCRdb: an information system for G protein-coupled receptors”, 2016, Nucleic Acids Res., 44, D356-D364. [10.1093/nar/gkv1178](
* V Isberg, B Vroling, R van der Kant, K Li, G Vriend* and DE Gloriam*, “GPCRDB: an information system for G protein-coupled receptors”, 2014, Nucleic Acids Res., 42 (D1), D422-D425. [10.1093/nar/gkv1178](