Figure 1.
The chemical graph representation of cyclohexane.
The chemical graph illustrates the atoms and bonds within a chemical entity, with the exception of hydrogen atoms and their accompanying bonds, which are commonly left implicit since their presence can be deduced from the remainder of the skeleton of the molecule. The graph is illustrated both in 2D and in 3D with the accompanying connection table and coordinates.
Figure 2.
An overview of the content of the CHEMINF ontology.
The diagram gives a schematic illustration of the ontology content, which can be divided into named descriptors, named algorithms which calculate descriptors, and software libraries which contain software modules that implement algorithms.
Table 1.
Key entities in CHEMINF ontology and their immediate superclasses.
Figure 3.
Textual and numeric data format specifications.
An example of format specifications are those which constrain the format of a data item to be textual or numeric. In the case of a numeric format specification, only numeric digits are allowed in the data item. Format specifications are essential when designing robust software for complex research pipelines.
Figure 4.
A chemical descriptor conforms to a data format specification. It is about a chemical entity (an example of which might be ‘caffeine’), and is a descriptor of a property of that chemical entity (such as its charge). The descriptor value is linked to the chemical entity in the ontology with the has attribute relation.
Figure 5.
Algorithms and software implementations.
Algorithms are differentiated in the ontology from the software which implements them. The same algorithm may, for example, be implemented in several different programming languages. The smallest unit of software which we identify is the software method. Methods have parameter data items as input and generate resulting data items as output. Software methods also may generate warning or error messages. Multiple software methods are grouped together into a software module. A software module may conform to an algorithm which has specified output a particular descriptor.
Figure 6.
A data transformation is an example of a parameterized software execution. A software execution is differentiated from a software method or module in that the software execution is a single process which has concrete parameter values as input. On the other hand, a software method or module may be executed over and over with many different parameters.
Figure 7.
Automatic classification based on logical definitions.
The diagram illustrates the use of logical definitions in terms of necessary and sufficient conditions (equivalent classes), which are then used by a reasoner (in this case Fact++) to derive the subsumption hierarchy for member classes based on their properties.
Figure 8.
The diagram illustrates the Protégé query tab and the results of executing a Lipinski drug-likeness query on the generated CHEMINF knowledge base.