Structure Checker Web Services

Structure Checker Web Services provide methods for

  • structure checking

  • structure fixing

This documentation describes installation, administration and usage of Structure Checker Web Services.

Structure Checker Web Services make possible to reach the chemical functionality provided by ChemAxon's product Structure Checker.

Structure Checker Web Services application is available in two modes:

  1. As part of a microservices system

  2. As a standalone web application

Microservices system mode

In microservices system mode the Structure Checker Web Service runs together with Config service, Discovery service and Gateway service. These three services are mandatory and optionally other services can also be part of the system. All configuration must be done in the Config module.

The default configuration applies to the microservices system mode.

The web application runs on host <server-host> and listens on port <gateway-server-port>.

Standalone web application mode

In standalone web application mode the Structure Checker Web Service runs alone, without the Config service, Discovery service and Gateway service (however the installer installs them, as well).

The default configuration must be changed according to the standalone web application mode; set

eureka.client.enabled=false in application.properties file, and

spring.cloud.config.failFast=false and spring.cloud.config.enabled=false in bootstrap.properties file.

All configuration must be done in the Structure Checker module.

The web application runs on host <server-host> and listens on port <server-port>.

Download

See here.

Software requirements

See here

Installation

See here.

Module is installed into folder: jws/jws-structurechecker

Licenses

See here.

Additionally, IUPAC naming plugin license is required for the usage of Name file format.

Logging

See here.

Configuration

Default configuration:

application.properties

server.port=8066

logging.file=../logs/jws-io.log

eureka.client.enabled=true

set eureka.client.enabled=false to switch to standalone Structure Checker Web Services application mode

bootstrap.properties

spring.cloud.config.failFast=true
spring.cloud.config.uri=${CONFIG_SERVER_URI:http\://localhost\:8888/}
spring.cloud.config.retry.initialInterval=3000
spring.cloud.config.retry.multiplier=1.2
spring.cloud.config.retry.maxInterval=60000
spring.cloud.config.retry.maxAttempts=100

For more settings possibilities see spring documentation page.

Running the server

Prerequisites in case of microservices system mode:

  1. Config service is running

  2. Discovery service is running

  3. Gateway service is running


Run the service in command line in folder jws/jws-structurechecker:

jws-structurechecker-service start (on Windows)

jws-structurechecker-service start (on Linux)

or

run-jws-structurechecker.exe (on Windows)

run-jws-structurechecker (on Linux)

API documentation

Find and try out the API on the Swagger UI.

Mode

URL of Swagger UI

Default URL of Swagger UI

microservices system

<serverhost>:<gateway-port>jwsio/API/

localhost:8080/jwsio/API/

standalone web application mode

<serverhost>:<server-port>/API/

localhost:8066/API/

Demo site

For detailed description check out the JWS Structure Checker demo site:

https://jchem-microservices.chemaxon.com/jws-checker-fixer/api/index.html

How to write custom structure checker / structure fixer

Here you find an example.

Usage

The guidelines, examples on the Demo site or on the Swagger UI API documentation of your installed module display the methods and syntax implemented for reaching the functionalities of Structure Checker product.

Checker descriptor

Lists the available checkers, fixers, the checkers with their corresponding fixers and the stored checker-fixer configurations.

Checker-fixer

Provides endpoints for structure checking and fixing together.

Here is an endpoint provided for executing previously stored checker-fixer actions: /rest-v1/checker-fixer/stored/{presetName}

The checker-fixer configurations can be stored in xml or in json format in the application.properties file of the jws-srtucturechecker module and also in the application.properties file of the jws-config module.

Examples:

com.chemaxon.structurechecker.presets.exampleXML=<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<checkers>\n <AbbreviatedGroupChecker contracted=\"true\" excluded=\"\" expanded=\"true\" fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.ContractGroupFixer\"/>\n</checkers>
com.chemaxon.structurechecker.presets.exampleJSON=[{"checkerSettings": {"checkerClass": "MissingAtomMapChecker","displayName": "MyStructureChecker"},"fixerSettings": {"displayName": "MyStructureFixer","exportFormat": "mrv","fixerClass": "MapMoleculeFixer"}},{"checkerSettings": {"checkerClass": "AtomMapChecker","displayName": "MyStructureChecker"}}]

General checker

Provides endpoint for executing multiple structure checkers simultaneously.

Single checker

Provides endpoints for detecting errors by structure checkers one-by-one.