Structure Manipulation¶
Structure Manipulation Web Services provide methods for the next manipulations on chemical structures:
-
1extracting textbox content from the structures,
-
1cutting structures into their fragment structures,
-
1two-dimensional and three-dimensional cleaning of chemical structures,
-
1converting to JSON format
-
1standardizing structures
-
1exporting multistep reactions
Structure Manipulation Web Services make possible to reach the functionality provided by Chemaxon's toolkit Standardizer.
Structure Manipulation Web Services application is available in two modes:
Microservices system mode¶
In microservices system mode the Structure Manipulation 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
Standalone web application mode¶
In standalone web application mode the Structure Manipulation 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
up to version 22.2.0
spring.cloud.config.failFast=false and spring.cloud.config.enabled=false in bootstrap.properties file
from version 22.9.0
set spring.cloud.config.enabled=false and comment out line spring.config.import= in application.properties file.
All configuration must be done in the Structure-Manipulation module.
The web application runs on host
Download¶
See here.
Software requirements¶
See here
Installation¶
See here.
Module is installed into folder: jws/jws-structure
Licenses¶
See here.
Logging¶
See here.
Configuration¶
**Default configuration: **
| application.properties | |
|---|---|
| server.port=8063 | |
| logging.file.name=../logs/jws-structure.log | |
| spring.config.import=configserver:${CONFIG_SERVER_URI:http://localhost:8888}?fail-fast=true&max-attempts=100&max-interval=60000&multiplier=1.2&initial-interval=3000 | Added in version 22.6.0. |
| eureka.client.enabled=true | set eureka.client.enabled=false to switch to standalone Structure Manipulation application mode |
| bootstrap.properties |
|---|
| spring.cloud.config.failFast=true #Removed in version 22.6.0. spring.cloud.config.uri=${CONFIG_SERVER_URI:http://localhost:8888/} #Removed in version 22.6.0. spring.cloud.config.retry.initialInterval=3000 #Removed in version 22.6.0. spring.cloud.config.retry.multiplier=1.2 #Removed in version 22.6.0. spring.cloud.config.retry.maxInterval=60000 #Removed in version 22.6.0. spring.cloud.config.retry.maxAttempts=100 #Removed in version 22.6.0. |
For more settings possibilities see spring documentation page.
Running the server¶
Prerequisites in case of microservices system mode:
-
Config service is running
-
Discovery service is running
-
Gateway service is running
Run the service in command line in folder jws/jws-structure:
jws-structure-service.exe --install
jws-structure-service.exe --start (on Windows in administrator's terminal)
jws-structure-service start (on Linux)
or
run-jws-structure.exe (on Windows)
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>/structure-manipulation/API/ | localhost:8080/structure-manipulation/API/ |
| Standalone web application mode | <serverhost>:<server-port>/API/ | localhost:8063/API/ |
Demo site¶
For detailed description check out the JWS Structure Manipulation demo site:
https://jchem-microservices.chemaxon.com/structure-manipulation/api/index.html
Usage¶
Follow the guidelines, examples on the Demo site or on the Swagger UI API documentation of your installed module.
Extractor¶
This controller makes extraction of textbox content from chemical structures - represented in string - possible.
Fragmenter¶
This controller provides endpoints for cutting chemical structures - represented in string - to their fragments. It can cut:
- any molecules into components,
- markush molecules into scaffold and rgroups,
- markush reaction molecules into components,
- simple molecules into fragments,
- reaction molecules into components.
For input structures plain text chemical file formats are supported.
The output format can be set as a parameter.
JSON Converter¶
Converts different molecular string representations into JSON format.
Molecule Cleaner¶
Methods for 2D and 3D cleaning of chemical structures.
For input structures plain text chemical file formats are supported.
The format of the output structure is MRV.
Different cleaning options can be set for the 2D and 3D cleaning procedures.
Molecule Standardizer¶
Available from version 19.26.0
Standardizes the input list of molecules according to the specified standardizer actions.
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 Standardizer Actions product.
Multistep Reaction Exporter¶
Available from version 19.24.0
Creates a multistep reaction from the input single step reactions.