Structure Manipulation Service¶
Structure Manipulation Service provides endpoints for the following:
- standardizing structures with Chemaxon's toolkit Standardizer,
- extracting textbox content from the structures,
- cutting structures into their fragment structures,
- two-dimensional and three-dimensional cleaning of chemical structures,
- exporting multistep reactions.
This documentation describes installation, administration and usage of Structure Manipulation Service. As all JChem Microservices modules, it is available in two modes:
- As part of a microservices system
- As a standalone web application
Microservices system mode¶
In microservices system mode, the Structure Manipulation Service runs together with the Config, Discovery and Gateway Services. These three services are mandatory, and optionally other services can also be part of the system. All configuration must be done in the Config Service.
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 Service runs alone, without the Config, Discovery and Gateway Services (however, the installer installs them as well).
The default configuration must be changed according to the standalone web application mode. Set the following in the application.properties file
eureka.client.enabled=falsespring.cloud.config.enabled=false- If you are using a version earlier than 25.3.0 remove the line that starts with
spring.config.import=
All configuration must be done in the Structure-Manipulation module.
The web application runs on host
System requirements¶
See here.
Download and installation¶
See here.
Service 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=optional:configserver:${CONFIG_SERVER_URI:http://localhost:8888} | |
| eureka.client.enabled=true | set eureka.client.enabled=false to switch to standalone mode |
For more configuration options, see the 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)
run-jws structure (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>/structure-manipulation/API/ | localhost:8080/structure-manipulation/API/ |
| Standalone web application mode | <serverhost>:<server-port>/API/ | localhost:8063/API/ |
Demo site¶
For a detailed description, check out the 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 service.
Extractor¶
This controller makes extraction of textbox content from chemical structures - represented as text - possible.
Fragmenter¶
This controller provides endpoints for cutting chemical structures - represented as text - to their fragments. It can cut:
- any molecules into components,
- Markush molecules into scaffold and R-groups,
- Markush reaction molecules into components,
- simple molecules into fragments,
- reaction molecules into components.
For input, plain text chemical file formats are supported.
The output format can be set as a parameter.
Molecule Cleaner¶
Endpoints for 2D and 3D cleaning of chemical structures.
For input, 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¶
Standardizes the input list of molecules according to the specified standardizer actions.
Multistep Reaction Exporter¶
Creates a multistep reaction from the input single step reactions.
JSON Converter¶
Converts different molecular string representations into JSON format and molecular JSON representations to string.