Dingo: Overview

Dingo is an IUPAC-compliant cross-platform open-source library for molecule and reaction 2D structural formula rendering.

Portability

Dingo is written in portable C++ and supports Linux, Windows, and Mac OS X operating systems. The rendering is done via Cairo vector graphics library. zlib and libpng are needed for Cairo. No other third-party components are used.

Dingo exposes the C interface to applications. Java wrapper is available for all supported platforms. For Windows, there is also Dingo.Net C# language wrapper. See .NET Reference for details.

A command-line rendering utility based on Dingo is provided. See Command-line Reference for details.

All operation of Dingo is thread-safe, and so there is no problem to use it in multi-threaded applications. Please note, however, that Dingo.NET wrapper instances cannot be shared across multiple threads. Every instance is bound to a thread where it is created.

Input Formats

Daylight formats with ChemAxon extensions

Dingo supports SMILES and reaction SMILES input formats. The layout procedure (clean structure) is performed internally to obtain a good view of a molecule or reaction.

Almost all features of the original Daylight SMILES format are supported, including:

  • Aromatic rings
  • Tetrahedral stereocenters
  • Cis-trans double bonds
  • Reaction atom-to-atom mapping (AAM)

The only features that are not supported are:

  • Non-tetrahedral stereocenters: allene-like, square-planar, trigonal-bipyramidal, octahedral
  • Reaction agents

The following ChemAxon SMILES extensions are supported:

  • Atom aliases
  • Radical numbers: monovalent, divalent singlet, and divalent triplet
  • Fragment level grouping in reactions

Also, there is basic support of SMARTS (query SMILES) and SMIRKS (reaction SMARTS). Currently, only the 'any' atoms and 'any' bonds are supported.

MDL formats

MDL (Symyx) Molfiles and Rxnfiles are supported. Almost all format features are supported, including:

  • Chiral centers and stereogroups
  • R-Groups (Markush structures)
  • Various query flags on atoms and bonds
  • Reaction atom-to-atom mapping (AAM)
  • Reacting centers and stereo inv/ret flags
  • Highlighted atoms and bonds
  • Pseudo-atoms (atom aliases)

The only features that are not supported are:

  • SGroups and polymers
  • 3D constraints on queries (Dingo is a 2D-only library)

Output Formats

The following output formats are supported on all platforms:

  • Adobe PDF
  • Portable Network Graphics (PNG)
  • Scalable Vector Graphics (SVG)

On Windows platforms, Dingo can also:

  • Render directly to a given device context (HDC)
  • Produce .NET Bitmap objects
  • Produce Enhanced Metafile Format (EMF) files and .NET Metafile objects

Produced PNG-s and Bitmaps are transparent unless the background was set explicitly. Produced SVG-s, PDF-s, and Metafiles contain no raster fragments.

Layout

Dingo is also capable of performing layout without rendering. In order to use it, set output format to “mol” for molecules or “rxn” for reactions and call dingoLayout() instead of dingoRender(). As with rendering, one can store the result either in a file or in an internal buffer. Note that none of the options used for rendering apply in this case, e.g. average bond length parameter does not affect layout, so the average length of the bonds in molecule will always be around 1.0. Dingo is not sensitive to the scale of molecule coordinates, while some other tools are.

Other Features

  • Automatic detection of input formats
  • Customizable colors
  • Possibility to display highlighted bonds and atoms with specified color and/or with thick lines and bold characters.

Quality

Dingo follows the IUPAC recommendations (1, 2) for graphical representation. The features that are not covered by IUPAC (mostly, query features) are drawn in such a way that they do not to overlay the primary structure.

In the Bingo User Manual, you can find examples of rendered molecules and reaction. All the pictures in this manual were rendered to SVG by Dingo.

Download and Install

Look at the Downloads page for the installation package suitable for your system.

See also Java library reference, .NET Library Reference, and Command-line Reference.

License

Copyright © 2009-2010 SciTouch LLC

This program is free software: You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If you did not not, please see http://www.gnu.org/licenses/.

Commercial Availability

If GPL-licensed Dingo does not fit your needs, please contact us at info@scitouch.net to discuss the purchase of a commercial license. You may need the commercial license if you want to:

  • Receive ongoing support and maintenance
  • Include Dingo as component in your proprietary software product

Third-Party Projects

 
Back to top
dingo.txt · Last modified: 2010/03/09 19:29 by root
 
 
This site belongs to SciTouch LLC. Contact us at info@scitouch.net if you have questions or feedback. See also Terms of Use.
This site is driven by Dokuwiki engine.