Validator Motivation and Goal#
The following description outlines the concept of a standard web service API for validating chemical structures. Machine readability of chemical structure information is a critical part of modern chemical publications, but there is sometimes a disconnect between how a chemist conceives and draws chemical structure versus how that structure is stored electronically and interpreted by other various chemical information systems. Imagined here is a system by which a chemist’s application – like ChemDraw or some ELN software – could be connected to validation services provided by major databases/institutions. The chemist could then ask, with the push of a button in their application, “How will PubChem interpret my structure?” or “What will EPA CompTox make of this?” and finally “Do their representations match what I know of this chemical?”
Every major chemical information system has its own rules on how to process and validate chemical structures. The goal here is not to create a standard for those rules, but rather to provide a common way for each institution to provide their own validation feedback from a chemical structure as input in an industry standard format (like SMILES or MOL/SDF). If each institution uses the same web service API for this validation, then an application like ChemDraw could easily let the user chose from a number of institutions, then provide a “validate” button that would send their structure to that institution over the internet and get back a standard response with feedback on that chemical, that the application can interpret and present back to the user.
These validators would presumably answer basic chemical informatics questions like “Are all the atoms in this structure valid chemical elements and isotopes?” or “Are there proper valences for each element?” or “Are all the stereocenters present in this molecule fully recognized and defined?” If the validator can produce an image, then the chemist could check whether the automatically produced image matches what they have drawn.
The following section further describes a conceptual approach the API, but is not intended as a detailed technical specification. The implementation examples provided below are demonstrations only, not exemplars of a final product.