UniChem’s current API and web application is implemented with a framework version that’s not maintained and the cost of updating it surpasses the cost of rebuilding it. In order to improve stability, security, and support the implementation and fast delivery of new features, we have decided to revamp our user-facing systems using the latest version of widely used and maintained frameworks, infrastructure, and the best practices in our software engineering processes.
We have separated the API (backend) to the Web Application systems, which contributes to the system’s overall availability and stability, as well as facilitating features delivery. Both built using popular programming languages and frameworks
Our web services are now implementing current REST standards such as JSON payloads for the request and response, allowing a more intuitive experience for the users. The way the services are called and its response has been greatly simplified but retaining the same functionality.
To improve usability we provide a live and interactive documentation where users can explore the functionalities by reading and directly trying them.
Built using the latest version of a very popular frontend framework and widely used libraries which allow us to provide enhanced user experience and a more pleasant user interface, while at the same time providing better accessibility features.
Sources for an specific compound can be found using the traditional InChI, InChI Key, or its ID on an specific source database, additional to that users can now search by drawing their molecule on the sketcher
Drawing compound to be searched
In addition to the InChI Key, users can search using InChI, an UniChEM ID or drawing their molecule on the sketcher.
As part of the web services simplification we change the way the endpoint is used, by moving the information requested to a JSON payload.
Here is an example of how it works on the current version:
curl --request GET \
Connectivity search current UniChEM
And this is an example for the same search on the new UniChEM
curl --request POST \
--url https://www.ebi.ac.uk/unichem/api/v1/connectivity \
--header 'Content-Type: application/json' \
Connectivity search new UniChEM
We have identified which services are used the most and have re implemented them in order to offer backwards compatibility and ease the transition between the current and new system.
Legacy endpoints documentation
We do encourage users to switch to the new endpoints as they are implemented using the latest standards and best practices.