annotate license/README - CDK @ 2:24364e0f3b2c draft default tip

Uploaded
author deepakjadmin
date Fri, 30 Dec 2016 03:12:08 -0500
parents 662b81ac6217
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
1 CDK The Chemical Development Kit
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
2
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
3 Copyright 1997-2007 The CDK Development Team
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
4 License: LGPL, see doc/lgpl.license
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
5
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
6 1. Introduction
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
7
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
8 You are currently reading the README file for the Chemistry Development Project (CDK).
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
9 This project is hosted under http://cdk.sourceforge.net
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
10 Please refer to these pages for updated information and the latest version of the CDK.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
11
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
12 The CDK is an open-source library of algorithms for structural chemo- and bioinformatics, implemented in
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
13 the programming language Java(tm). The library is published under terms of the the
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
14 GNU Lesser General Public License. This has implications on what you can do with sources and
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
15 binaries of the CDK library. For details, please refer to the file LICENSE, which should have been
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
16 provided with this distribution.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
17
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
18 PLEASE NOTE: This is a library of useful data structures and algorithms to manipulated them
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
19 from the area of structural chemo- and bioinformatics. As such, it is intended for the use by
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
20 programmers, who wish to save some effort by reusing code. It is not intended for the enduser.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
21 If you consider yourself to be more like user, you might not find what you wanted.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
22 Please refer to other projects like the JChemPaint project (http://jchempaint.sourceforge.net)
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
23 or the Jmol project (http://jmol.sourceforge.net) for programs that actually take advantage of the
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
24 CDK library.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
25
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
26 2. Compiling
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
27
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
28 Compiling and jar-ing the software is done with Jakarta's
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
29 Ant (http://jakarta.apache.org/ant/) and requires Java 1.5.0 or better:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
30
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
31 cdk/$ ls build.xml
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
32 build.xml
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
33 cdk/$ ant
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
34
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
35 "ant -p" gives a list of possible compilation targets. The default target is 'dist-all', which
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
36 creates a number of .jar files in the 'dist' directory corresponding to subsets of the CDK
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
37 functionality. For convenience, one large .jar file containing everything can be created using the
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
38 target 'dist-large' (using the command "ant dist-large"). This is also created in dist/jar and is
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
39 typically named something like 'cdk-cvs-20060303.jar'.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
40
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
41 2.1 Creating the JavaDoc documentation for the API
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
42
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
43 The JavaDoc documentation for the API describes all of the CDK classes in detail. It functions as
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
44 the user manual for the CDK, although you should also look at the list of examples and tutorials
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
45 below. This documentation is created by 'ant' from the Java source code for the CDK as follows:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
46
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
47 cdk/$ ls javadoc.xml
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
48 javadoc.xml
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
49 cdk/$ ant -buildfile javadoc.xml
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
50
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
51 The documenation is created as a series of .html pages in doc/api. If you use firefox, you can read
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
52 the documentation using the following command:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
53
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
54 cdk/$ firefox doc/api/index.html
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
55
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
56 3. Running tests
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
57
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
58 After you compiled the code, you can do "ant test-all" to run the test suite of non-interactive, automated
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
59 tests. You might need to copy an appropriate junit.jar into your $ANT_HOME/lib
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
60 directory or somewhere else in your classpath.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
61 Upon "ant dist-all test-dist-all test-all", you should see something like:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
62
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
63 test:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
64 Running org.openscience.cdk.test.CDKTests
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
65 Tests run: 1065, Failures: 7, Errors: 1, Time elapsed: 27,55 sec
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
66
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
67 As you can see, the vast majority of tests ran successfully, but that there
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
68 are failures and errors. The $CDK_HOME/reports/results.txt file contains
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
69 information about the outcome of the tests. Some tests might fail intentionally
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
70 to mark know issues in CDK.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
71
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
72 There are also run interactive tests, like the Controller2DTest. In order to try them, you can edit the "run"
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
73 target in the build.xml file to look like this:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
74
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
75 <target name="run" depends="dist">
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
76 <java classname="org.openscience.cdk.test.ControllerTest" fork="yes">
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
77 <arg value=""/>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
78 <classpath>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
79 <pathelement location="${dist}/jar/cdk.jar"/>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
80 <pathelement path="${java.class.path}"/>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
81 <pathelement location="."/>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
82 <fileset dir="jar">
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
83 <include name="*.jar"/>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
84 </fileset>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
85 </classpath>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
86 </java>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
87 </target>
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
88
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
89 Then, a "ant run" should give you a window where you can add bonds to a given structure.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
90 Currently, there are more than 2500 test, of which a large part tests the data, datadebug and
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
91 nonotify classes.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
92
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
93 4. Using CDK
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
94
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
95 CDK is a class library intended to be used by other programs. It will not run
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
96 as a stand-alone program, although it contains some GUI- and command
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
97 line applications. In order to use the CDK in your program, you need to build
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
98 the distribution jars by running "ant dist-all". They will end up in
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
99 $CDK_HOME/dist/jar. Copy all cdk-*.jars as well as all jars from $CDK_HOME/jar
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
100 to the lib directory of the project for which you intend to have CDK support and
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
101 use them as you would use any other third party jar.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
102
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
103 Alternatively, run "ant dist-large" to create a jar cdk-svn-YYYYMMDD.jar in
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
104 $CDK_HOME/dist/jar. This large jar contains all the CDK code and all third
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
105 party libraries that code depends on.
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
106
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
107 5. Examples and tutorials
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
108
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
109 To get started using the CDK, you may be interested in the following websites which contain
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
110 examples and tutorials:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
111 * http://www.chemistry-development-kit.org
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
112 * http://blue.chem.psu.edu/~rajarshi/code/java
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
113 * http://www.redbrick.dcu.ie/~noel/CDKJython.html
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
114
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
115 Further examples can also be found in issues of the CDK News:
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
116 * http://cdknews.org/
662b81ac6217 Uploaded
deepakjadmin
parents:
diff changeset
117