University of Tuebingen Lehrstuhl Kognitive Systeme, Prof Dr. Zell
print version HomeJOELib JOELib Tutorial Contents
 
Home
Introduction
Users/Publications
Screenshots
JOELib Tutorial
Contents
Preface
Installation
Basics
Functionalities
Utilities
Maintenance
Descriptors
Algorithms
Interfaces
Interfaces JNI
Interface ML
Documentation
Examples
Applications
Support
Structures
Bibliography
Glossary
Index
JOELib2 Tutorial
JOELib API
JOELib2 API
Download
Mailing lists
License
Acknowledgements
Links
 
JOELib@FM
JOELib@SF
PMD Online
PMD Offline
CVS Repository
 
Research at WSI-RA
Software at WSI-RA
WSI-RA Department
Faculty
University
 

JOELib Tutorial

A Java based cheminformatics/computational chemistry package

Dipl. Chem. Jörg K. Wegner

Updated

$Date: 2004/12/06 15:30:57 $

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Documents

PS, PDF, RTF versions of this tutorial are available.

Plucker E-Book versions: HiRes-color, HiRes-grayscale (recommended), HiRes-black/white, color, grayscale, black/white


Table of Contents
Preface
1. Installing JOELib
Java Development Kit (JDK)
Ant - XML based makefile mechanism
Installing and starting JOELib
Linux/Unix
Windows 2000/NT
Windows 95/98/XP
Matlab toolbox
Using another JDK
2. JOELib basics
Atoms
Accessing atoms
Chemical properties
Bonds
Accessing bonds
Chemical properties
Molecule
Basics
Chemical properties
3. Molecule operation methods and classes
Molecule
Molecule data entries
Molecule descriptors
SMiles ARbitrary Target Specification (SMARTS)-substructure search
SMARTS basics
SMARTS definition
Programmable Atom Typer (PATTY)
SMARTS based structure modification
Processes and filters
Processes (internal, Java)
Process filters
External processes
Input and output
Supported input and output formats
Writing your own import/export filter
Assigning atom types, aromatic flags, hybridization and hydrogens
Assigning aromaticity flags
Assigning atom hybridizations
Assigning atom types
Assigning implicite hydrogens
Calculate descriptors and/or assign special atomtypes
4. Used utilities
Development
Maintenance
5. Descriptors
Native values
Number of acidic groups
Number of aliphatic hydroxy groups
Number of aromatic bonds
Number of basic groups
Fraction of rotatable bonds
Geometrical diameter
Geometrical radius
Geometrical shape coefficient
Graph shape coefficient
Number of Hydrogen Bond Acceptors (HBA) 1
Number of Hydrogen Bond Acceptors (HBA) 2
Number of Hydrogen Bond Donors (HBD) 1
Number of Hydrogen Bond Donors (HBD) 2
Number of heavy bonds
Number of heterocycles
Number of hydrophobic groups
Kier Shape 1
Kier shape 2
Kier shape 3
Octanol/Water partition coefficient (logP)
Molar refractivity (MR)
Molecular weight (MW)
Number of atoms
Number of boron atoms
Number of bromine atoms
Number of bonds
Number of chlorine atoms
Number of halogen atoms
Number of iodine atoms
Number of fluorine atoms
Number of nitrogen atoms
Number of oxygen atoms
Number of phosphorus atoms
Number of sulfur atoms
Number of -NO2 groups
Number of -OSO atoms
Polar surface area (PSA)
Number of rotatable bonds
Number of -SO groups
Number of -SO2 atoms
Topological diameter
Topological radius
Zagreb index 1
Zagreb index 2
Atom properties
Atom in acceptor
Atom in conjugated environment
Atom in donor or acceptor
Atom in donor
Atom in ring
Atom is terminal carbon
Atom is negative
Atom is positive
Atom masss
Valence
Van der Waals volume
Conjugated electrotopological state
Electrogeometrical state
Electron affinity
Electronegativity after Pauling
Electrotopological state
Gasteiger-Marsili
Graph potentials
Intrinsic topological state
Fingerprints
Pharmacophore fingerprint
Transformations
Moreau-Broto topological autocorrelation
Burden modified eigenvalues
Global topological charge
Radial distribution function (RDF)
6. Algorithms
Breadth First Search (BFS)
Depth First Search (DFS)
Topological distance matrix
Geometrical distance matrix
Morgan: Unique atom numbering
7. Interfaces to other libraries
Interfaces to Java libraries
Chemical Development Kit (CDK)
Weka data mining library
Interfaces to C/C++ libraries using the Java native interface (JNI)
LibGhemical
Matlab interface
8. Documentation
DocBook
DocBook and mathematical equations
DocBook and molecular structures
API documentation
9. JOELib examples and code snippets
Molecule
Molecules
Special atom methods
Descriptors
Get and calculate descriptors
Create own descriptor classes
Processes and filters
Applying processes and filters
Import/Export
Import
Export
Simple Import/Export pipeline
Interfaces
Java interfaces
C/C++ interfaces using JNI
Matlab interface
Database
Database access using the Java Database Connection (JDBC)
Miscellaneous
Point group symmetry calculation
Hash code calculation
Reading JCAMP-DX spectras
Create fragmented molecules
Combinatorial synthesis for generating virtual combinatorial libraries
10. Example applications
Convert
Options
Examples
ConvertSkip
Options
Examples
Comparison
Options
Descriptor calculation
Options
EuklidianComparison
Options
Statistic
Options
Point Group Symmetry
Options
11. Support
A. Summary of molecular structures
Bibliography
Glossary
Index
List of Examples
2-1. Using an iterator for accessing atoms
2-2. Using the atom index for accessing atoms
2-3. Bond iterator
3-1. Getting descriptor data entries
3-2. Setting descriptor data entries
3-3. SMARTS substructure search
3-4. Definition of IO types
9-1. Load molecules from large files sequentially
9-2. Load molecules from smaller files into memory
9-3. Add atoms to a molecule
9-4. Access atoms using a for statement
9-5. Access atoms using an AtomIterator
9-6. Access bonds using a for statement
9-7. Access bonds using an BondIterator
9-8. Access neighbour atoms using a NbrAtomIterator
9-9. Access bonds of an atom using a BondIterator
9-10. Get a list of all available descriptors
9-11. Get a list of all native value descriptors
9-12. Get a list of all atom property descriptors
9-13. Get and calculate descriptors using always a new instance (slow)
9-14. Get and calculate descriptors creating only one descriptor calculation instance (fast)
9-15. Create own native descriptor calculation classes
9-16. Create own atom property descriptor calculation classes
9-17. Get a molecule process by creating an instance
9-18. Get a molecule process by using the process factory
9-19. Use initialization method for a process (depends on the process!)
9-20. Get a molecule process pipe with filter functionalities
9-21. Apply a process to a molecule
9-22. Get molecule import classes
9-23. Get molecule export classes
9-24. Create molecule processing pipe
9-25. Chemical Development Kit (CDK) interface
9-26. Weka data mining interface
9-27. Create 3D coordinates using the Ghemical force field (molecular mechanics)
9-28. Load native descriptors under Matlab
9-29. Database access
9-30. Calculate point group symmetries
9-31. Calculate a molecule hashcode
9-32. Load JCAMP-DX spectras
9-33. Fragment molecules if they are disconnected (non-contiguous)
9-34. Generate molecules using R-Groups
10-1. Show help screen for Convert
10-2. Print molecules to standard output
10-3. Show help screen for ConvertSkip
10-4. Print molecules to standard output
10-5. Write flat file
10-6. Using conversion rule

Last changes: 10.12.2010, 13:05 CET (UTC/GMT +1 hour) wegner.
http://www.ra.cs.uni-tuebingen.de/software/joelib/tutorial/JOELibPrimer.html
© 2003 University of Tübingen, Germany