Skip to main content

Table 1 Some features of toolkits which are not shared by all three toolkits.

From: Cinfony – combining Open Source cheminformatics toolkits behind a common interface

CDK

A large number of descriptors (some overlap with RDKit)

Pharmacophore searching (like RDKit*)

Calculation of maximum common substructure

2D structure layout (like RDKit) and depiction

MACCS keys (also RDKit) and E-State fingerprints

Integration with the R statistical programming environment

Support for mass-spectrometry analysis (representations for cleavage reactions, structure generation from formulae)

Fragmentation schemes (ring fragments, Murcko)

3D structure generation using a template and heuristics (like OpenBabel)

3D similarity using ultrafast shape descriptors

Gasteiger π charge calculation

OpenBabel

Not just focused on cheminformatics

Supports a very large number of chemical file formats including quantum mechanics file formats, molecular mechanics trajectories, 2D sketchers

3D structure generation using a template method (like CDK)

Included in all major Linux distributions

Bindings available from several scripting languages apart from Python, as well as the Java and .NET platforms

Conformation generation and searching

InChI (also CDK) and InChIKey generation

Support for crystallographic space groups

Several forcefield implementations: UFF (also RDKit), MMFF94, MMFF94s, Ghemical

Ability to add custom data types to atoms, bonds, residues, molecules

RDKit

A large number of descriptors (some overlap with CDK)

Fragmentation using RECAP rules

2D coordinate generation (like CDK) and depiction

3D coordinate generation using geometry embedding

Calculation of Cahn-Ingold-Prelog stereochemistry codes (R/S)

Pharmacophore searching (like CDK)

Calculation of shape similarity (based on volume overlap)

Chemical reaction handling and transforms

Atom pairs and topological torsions fingerprints

Feature maps and feature-map vectors

Machine-learning algorithms

  1. * Where the term "like" is used, it indicates that the implementation details differ.