Skip to content

Chemistry Development Kit

The CDK Development Team

Chemistry Development Kit (CDK) is a Java library for chemical representations, file conversion, structure searching, fingerprints, QSAR descriptors and molecular rendering within other programs.

Catalog updated ·

Overview

Chemistry Development Kit (CDK) is an open-source Java library for cheminformatics and bioinformatics. It supplies chemical data structures and processing functions for integration into other programs, rather than a stand-alone application. Its documented scope includes valence-bond representations of molecules and reactions, making it relevant to software that needs to read, manipulate, search or display chemical structures.

Supported input and output formats include SMILES, SDF, InChI, Mol2 and CML. Beyond reading and writing chemical data, CDK provides ring finding, Kekulisation and aromaticity algorithms, along with coordinate generation and rendering. Search-related functionality includes canonical identifiers for exact matching, substructure searches and SMARTS pattern matching. ECFP, Daylight and MACCS fingerprints support similarity-search workflows, while QSAR descriptor calculations provide numerical features for downstream analysis. These are toolkit capabilities; the supplied source does not describe a trained predictive model or report predictive accuracy.

Integration is through Java library dependencies or a pre-built JAR. The README describes Apache Maven builds, a bundled artifact containing dependencies, and the option to include only the modules an application needs. It also points Python users toward Cinfony and ScyJava access routes. The supplied build instructions state a Java 1.7-or-later requirement, but do not establish tested compatibility across environments. For a particular workflow, developers should consult the linked API documentation and examples, then evaluate format handling and algorithm outputs on representative structures; no performance benchmarks are supplied.

Key Features

  • Represents molecules and reactions using valence-bond data structures, with readers and writers for SMILES, SDF, InChI, Mol2 and CML.
  • Provides ring-finding, Kekulisation and aromaticity algorithms for molecular processing.
  • Generates molecular coordinates and renders chemical structures.
  • Supports canonical identifiers for exact searching, plus substructure and SMARTS pattern searches.
  • Offers ECFP, Daylight, MACCS and other fingerprint methods for similarity searching.
  • Calculates QSAR descriptors for use in downstream chemical analysis.

Use Cases

  • Suggested evaluation: integrate chemical file conversion into a Java application and check whether representative structures retain the information required by the workflow.
  • Suggested evaluation: implement exact, substructure or SMARTS-based searches over an application's molecular collection.
  • Suggested evaluation: generate fingerprints and QSAR descriptors for downstream similarity analysis or model development, assessing their suitability separately from predictive performance.
  • Suggested evaluation: add coordinate generation and chemical structure rendering to software that displays molecules.

How to Use

  1. Read the project README to identify the required capabilities and integration route. CDK must be used within another program; it is not a stand-alone application.
  2. Choose a pre-built JAR from releases, or follow the Building the CDK guide for a source build. The project README describes Maven and a Java 1.7-or-later requirement.
  3. Configure your application's Java dependencies or classpath using the README guidance. Decide whether to use cdk-bundle or only the modules needed for your task.
  4. Consult the JavaDoc and Toolkit-Rosetta examples to select readers, writers, search functions or descriptor calculations.
  5. Evaluate a small representative input set before wider integration. Check conversion results, search matches and calculated outputs against your requirements. For usage questions, use the user mailing list; subscription is required before posting.

Related resources

ChemCP is an MCP App that turns SMILES strings into interactive 2D molecular diagrams and computed descriptors using RDKit.js, with an in-chat viewer for hosts that support MCP Apps.

TypeScriptJavaScript

Cheminformatics

ChemCrow is a Python chemistry agent package built with Langchain that connects language-model reasoning to RDKit, paper-qa, chemical databases, and reaction-planning tools.

Open sourcePython

Cheminformatics · Literature & Research

Datamol

Open Source

Datamol is a Python molecular-processing library built on RDKit, with tools for structure conversion, standardization, fingerprints, conformers, visualization and local or remote file I/O.

Open sourcePython

Cheminformatics

A K-Dense Scientific Agent Skill that guides Datamol-based molecular preparation, similarity analysis, scaffold workflows and conformer handling, with input-validation and reproducibility guidance.

Python

Cheminformatics · Drug Discovery

Molfeat

Open Source

Molfeat is a Python toolkit for small-molecule featurization, combining molecular fingerprints, descriptors and pretrained embeddings with parallel transformation, caching and extensible plugins.

Open sourcePython

Molecular Property Prediction · Cheminformatics

Mordred

Open Source

Mordred is a Python molecular descriptor calculator with command-line and RDKit-based library workflows, producing descriptor tables for cheminformatics analysis and downstream model evaluation.

Open sourcePython

Molecular Property Prediction · Cheminformatics

Related guides

Skills

AI Skills for Chemistry: What They Are and How They Work

Understand chemistry AI Skills as reusable procedure modules: what SKILL.md contains, how hosts load instructions, how Skills differ from MCP and agents, and how to select, combine, and evaluate them without confusing guidance with scientific validation.

Overview

MCP vs Skills vs Agents vs APIs: What's the Difference?

Understand how APIs, MCP servers, Skills, and agents divide interface, procedural guidance, execution, and planning responsibilities in chemistry workflows—and how to choose or combine them without confusing access with scientific validity.