public
Description: The Chemistry Development Kit
Homepage: http://cdk.sf.net/
Clone URL: git://github.com/egonw/cdk.git
egonw (author)
Mon Nov 23 05:08:48 -0800 2009
commit  5c0b0c9b20db90d276f2edadb3a05f5bb40c3a3c
tree    3198b87e6b1bd0436394bec8b125559fa2ee012c
parent  c34109572d2d885d79609cd3847ad1704173d036
cdk /
name age message
file .classpath Fri Feb 06 05:31:08 -0800 2009 Updated Eclipse config files git-svn-id: https... [egonw]
file .cvsignore Thu Aug 25 04:34:40 -0700 2005 added undo/redo functionality to JChempaint imp... [tohel]
directory .externalToolBuilders/ Tue Jan 29 09:44:59 -0800 2008 Applied the mf/ branch to trunk/ git-svn-id: h... [egonw]
file .gitignore Fri Apr 24 06:37:28 -0700 2009 Added set up for creating module HTML pages Si... [egonw]
file .project Thu Aug 28 00:37:54 -0700 2008 No, commiting a local git branch does not resul... [egonw]
file AUTHORS Wed Dec 17 11:32:21 -0800 2008 Added three names that I remembered git-svn-id... [egonw]
file BUGS Thu Jan 03 08:00:00 -0800 2002 These bugs are fixed some time ago. The doc now... [egonw]
directory META-INF/ Fri Feb 06 05:31:08 -0800 2009 Updated Eclipse config files git-svn-id: https... [egonw]
file README Fri Mar 13 12:28:21 -0700 2009 Added note on Ant 1.7.1 required [egonw]
file build-eclipse.xml Wed Sep 20 12:16:09 -0700 2006 Added runDoclet, to get JUnit test working git... [egonw]
file build.properties Fri Sep 19 08:01:41 -0700 2008 Changed to build of jumbo with a fix by me. Hop... [jonalv]
file build.props Mon Nov 23 05:08:48 -0800 2009 Branch open for patches after 1.3.1 ... [egonw]
file build.xml Wed Nov 18 07:41:18 -0800 2009 Merged changes from the CDK 1.2.4 release [egonw]
file changelog.txt Fri Jul 31 05:07:44 -0700 2009 Preparing for the first release in the 1.3 deve... [egonw]
file createModulePages.groovy Fri Apr 24 06:37:56 -0700 2009 Added links to PMD pages Signed-off-by: Rajars... [egonw]
directory develjar/ Sun Nov 01 05:16:47 -0800 2009 Merge branch 'cdk-1.2.x' [egonw]
file doc.xml Tue Jan 27 03:45:26 -0800 2004 Added Ant doc.xml build file for converting doc... [egonw]
directory doc/ Sat Oct 31 01:20:01 -0700 2009 Added the Mannhold LogP descriptor [egonw]
directory jar/ Wed Aug 05 12:41:47 -0700 2009 Unsealed the XOM jar to allow having the Custom... [egonw]
file javadoc.xml Tue Nov 03 19:59:57 -0800 2009 Moved the log4j.jar depending LoggingTool into ... [egonw]
directory perf/ Thu Dec 28 05:32:46 -0800 2006 Also output the number of structures generated ... [egonw]
file plugin.xml Mon May 19 13:56:14 -0700 2008 Reworked Eclipse settings, to define a org.open... [egonw]
file pmd-migrating.xml Fri Oct 16 06:28:15 -0700 2009 Upgraded to PMD 2.4.5 with many bug fixes, givi... [egonw]
file pmd-unused.xml Fri Oct 16 06:28:15 -0700 2009 Upgraded to PMD 2.4.5 with many bug fixes, givi... [egonw]
file pmd.xml Tue Nov 03 19:59:57 -0800 2009 Moved the log4j.jar depending LoggingTool into ... [egonw]
directory pmd/ Sat Nov 01 11:27:34 -0700 2008 Line 10 'the' -> 'they' git-svn-id: https://cd... [eoc21]
directory src/ Wed Nov 18 07:41:18 -0800 2009 Merged changes from the CDK 1.2.4 release [egonw]
file test.bat Wed Sep 10 00:57:23 -0700 2003 Removed all last bits of JSX stuff (except for ... [egonw]
file test.sh Wed Sep 10 00:57:23 -0700 2003 Removed all last bits of JSX stuff (except for ... [egonw]
directory tools/ Wed Dec 17 08:32:36 -0800 2008 Applied branch eoc21-jj1802589 Author: eoc21@u... [egonw]
README
CDK - The Chemical Development Kit
 
Copyright 1997-2009 The CDK Development Team
License: LGPL v2, see doc/lgpl.license

1. Introduction

You are currently reading the README file for the Chemistry Development Project (CDK).
This project is hosted under http://cdk.sourceforge.net/
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 v2. 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 manipulate 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 (http://jchempaint.sourceforge.net)
or the Jmol project (http://www.jmol.org/) for programs that actually take advantage of the 
CDK library.

2. Compiling

Compiling and jar-ing the software is done with Jakarta's 
Ant (http://jakarta.apache.org/ant/) 1.7.1 or better and Java 1.5.0 or better:

cdk/$ ls build.xml
build.xml
cdk/$ ant

"ant -p" gives a list of possible compilation targets. The default target is 'dist-all', which
creates a number of .jar files in the 'dist' directory corresponding to subsets of the CDK
functionality. For convenience, one large .jar file containing everything can be created using the
target 'dist-large' (using the command "ant dist-large"). This is also created in dist/jar and is
typically named something like 'cdk-cvs-20060303.jar'.

2.1 Creating the JavaDoc documentation for the API

The JavaDoc documentation for the API describes all of the CDK classes in detail. It functions as
the user manual for the CDK, although you should also look at the list of examples and tutorials
below. This documentation is created by 'ant' from the Java source code for the CDK as follows:

cdk/$ ls javadoc.xml
javadoc.xml
cdk/$ ant -buildfile javadoc.xml html

The documenation is created as a series of .html pages in doc/api. If you use firefox, you can read
the documentation using the following command:

cdk/$ firefox doc/api/index.html

3. Running tests

IMPORTANT: this requires the SVN or Git version of the sources.

After you compiled the code, you can do "ant test-all" to run the test suite of non-interactive, automated
tests. You might need to copy an appropriate junit.jar into your $ANT_HOME/lib
directory or somewhere else in your classpath.
Upon "ant dist-all test-dist-all test-all", you should see something like:

test:
Running org.openscience.cdk.test.CDKTests
Tests run: 1065, Failures: 7, Errors: 1, Time elapsed: 27,55 sec

As you can see, the vast majority of tests ran successfully, but that there
are failures and errors. The $CDK_HOME/reports/results.txt file contains
information about the outcome of the tests. Some tests might fail intentionally
to mark know issues in CDK.

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=""/>
      <classpath>
        <pathelement location="${dist}/jar/cdk.jar"/>
        <pathelement path="${java.class.path}"/>
        <pathelement location="."/>
        <fileset dir="jar">
        <include name="*.jar"/>
        </fileset>
      </classpath>
    </java>  
  </target>

Then, a "ant run" should give you a window where you can add bonds to a given structure.
Currently, there are more than 2500 test, of which a large part tests the data, datadebug and 
nonotify classes.

4. Using CDK

CDK is a class library intended to be used by other programs. It will not run 
as a stand-alone program, although it contains some GUI- and command
line applications. In order to use the CDK in your program, you need to build
the distribution jars by running "ant dist-all". They will end up in
$CDK_HOME/dist/jar. Copy all cdk-*.jars as well as all jars from $CDK_HOME/jar
to the lib directory of the project for which you intend to have CDK support and
use them as you would use any other third party jar.

Alternatively, run "ant dist-large" to create a jar cdk-svn-YYYYMMDD.jar in
$CDK_HOME/dist/jar. This large jar contains all the CDK code and all third
party libraries that code depends on. 

5. Examples and tutorials

To get started using the CDK, you may be interested in the following websites which contain
examples and tutorials:
* http://www.chemistry-development-kit.org
* http://blue.chem.psu.edu/~rajarshi/code/java
* http://www.redbrick.dcu.ie/~noel/CDKJython.html

Further examples can also be found in issues of the CDK News:
* http://cdknews.org/