Skip to content
The Chemistry Development Kit
Java Web Ontology Language
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


CDK The Chemical Development Kit

Copyright 1997-2003 The CDK Development Team
License: LGPL, see doc/lgpl.license

1. Introduction

You are currently reading the README file for the Chemistry Development Project (CDK).
This project is hosted under
Please refer to these pages for updated information and the latest version of the CDK.

The CDK is an open-source library of algorithms for structural chemo- and bioinformatics, implemented in 
the programming language Java(tm). The library is published under terms of the the 
GNU Lesser General Public License. This has implications on what you can do with sources and
binaries of the CDK library. For details, please refer to the file LICENSE, which should have been
provided with this distribution.

PLEASE NOTE: This is a library of useful data structures and algorithms to manipulated them 
from the area of structural chemo- and bioinformatics. As such, it is intended for the use by
programmers, who wish to save some effort by reusing code. It is not intended for the enduser. 
If you consider yourself to be more like user, you might not find what you wanted. 
Please refer to other projects like the JChemPaint project (
or the JMol project ( for programs that actually take advantage of the 
CDK library.

2. Compiling

Compiling and jar-ing the software is done with Jakarta's 
Ant (

cdk/$ ls build.xml
cdk/$ ant

3. Running tests

After you compiled the code, you can do "ant test" to run the test suite of non-interactive, automated
tests. You should see something like:

Running org.openscience.cdk.test.CDKTests
Tests run: 15, Failures: 0, Errors: 0, Time elapsed: 1.192 sec

There are also run interactive tests, like the Controller2DTest. In order to try them, you can edit the "run"
target in the build.xml file to look like this:

	<target name="run" depends="dist">
		<java classname="org.openscience.cdk.test.ControllerTest" fork="yes">
			<arg value=""/>
				<pathelement location="${dist}/jar/cdk.jar"/>
				<pathelement path="${java.class.path}"/>
				<pathelement location="."/>
				<fileset dir="jar">
				<include name="*.jar"/>

Then, a "ant run" should give you a window where you can add bonds to a given structure.

Currently, there are about 250 test, of which a large part tests the core classes.
Something went wrong with that request. Please try again.