The ChemDoodle desktop application is used by thousands of institutions in over 70 countries. It has become a very popular choice for chemical graphics. The graphical user interface is incredibly powerful and easy to use, but underneath the toolbars, windows and menus lies an incredibly powerful and intelligent chemical graphics and informatics system.
While our end user interfaces have become widely used, it is not possible to create new chemical applications with them. This is why the ChemDoodle API is important. Utilizing this API will allow developers to create custom chemical solutions and entire chemical applications based on a mature and high quality cheminformatics and graphics system; this is how we create ChemDoodle desktop. This is a Java API with a simple activation system, and wrappers to other languages will be added if there is demand.
The API contains several divisions of tools: data, data structures and algorithms. Data includes extensive elemental and molecular databases generated from references that can be viewed in ChemDoodle’s Help menu. Data structures includes the programming constructs that allow you to easily represent and communicate chemical information. The key algorithms are incredibly vast and cover a majority of the advanced algorithms in the cheminformatics field (all fully referenced). And of course this library is continuously developed and extended.
Key algorithms include (list is not all inclusive):
- Graph Isomorphism â Compare two separate molecules based on rules you can define. Intelligent and customizable chemical searches. SMARTS matching and querying.
- Chemical Comparators â A customized system for comparing molecules, atoms and bonds.
- Ring Perception â Find ring sets from chemical structures. Smallest set of smallest rings, Hanser exhaustive ring perception, Euler facets (proprietary algorithm for finding the faces of 3D projections of molecules).
- Aromaticity â Rules for determining whether rings are aromatic. Kekulization and Delocalization objects are provided for converting between Kekulé and delocalized structures. This can be used with the Graph Isomorphism feature to compare aromatic structures with ease.
- Canonicalization â Currently supports the Morgan algorithm for ordering atoms in a molecule by a unique order.
- Structure Depiction â Clean molecules in 2D and 3D. Clean reactions.
- Bond Deduction â Calculate bonds between atoms without bond information.
- Molecule Deduction â Separate a list of atoms and bonds into a list of discrete molecules.
- Hydrogen Perception â Add/Remove hydrogens.
- IUPAC Naming â Generate IUPAC names for structures. Our algorithms are some of the best in the industry, not just producing a valid name, but a name that a chemist would consider the best name.
- NMR Simulation â Simulate 1H and 13C NMR spectra.
- Descriptors â Dozens of chemical descriptors, mass, formula, Weiner index, Hosoya index, melting point, boiling point, matrices, TPSA, logP, etc.
- Condensed Labels â Expand and handle condensed labels, like âCOOHâ.
- Stereochemistry – Both R/S and E/Z as well as cis/trans and a system for implementing more advanced stereochemistry configurations (like square planar and octahedral).
- Graphics â The ChemDoodle API is the only publication quality graphical API in the chemistry industry.
- Chemical File Formats â Chemical file format input and output. 26 formats, with options.
- Image File Formats â Create graphical output for dozens of image file types. Many options available. Both raster and vector formats are available.
- Round-trip Editing â Embed data into other applications that can later be reinput into ChemDoodle or handled by the ChemDoodle API. OLE on Windows, PDF embedding on Mac OS X, OpenOffice plugins.
- Database Integration â Connect to and query PubChem, ChemSpider and ChemExper.
- Clipboard â Handle and transfer chemical data on the system clipboard.
To sum it up, developers now have programmatic access to all of the features available in ChemDoodle desktop and more. You can use this to build your chemical applications, chemical scripts and servlets (which is very useful for working with the ChemDoodle Web Components). Contact us today to discuss options.