OEChem - Java Theory Manual
Previous:
Front Matter
Up:
OEChem - Java Theory
Next:
1. Java
Contents
1. Java
1.1 Java versions
1.2 Basic installation instructions
1.2.1 Windows Example
1.2.2 Linux/Mac OS X Example
1.3 Java, Windows and Stack size
1.3.1 Modify the actual java.exe executable
1.3.2 Spawn a second thread for your OEChem code
2. Introduction
2.1 OEChem and Informatics
2.2 How to Read this Manual
2.3 Getting Started with OEChem Molecules
2.4 Atoms and Bonds
3. Manipulating Molecules
3.1 Creating a Molecule from SMILES
3.2 Generating a SMILES from a Molecule
3.2.1 OECreateCanSmiString
4. Reading and Writing Molecules
4.1 Using OEChem oemolstreams
4.2 Molecular File Formats
4.3 Molecule Input and Output with Files
4.4 Compressed Molecule Input and Output
4.5 Format control from the command line
4.6 Flavored Reading and Writing of Molecules
4.7 Writing Const Molecules
4.8 Writing molecules to string streams
5. Iterators in OEChem
5.1 Introduction
5.2 Java-style Iteration
5.3 C++-style Iteration
6. Properties of Molecules
6.1 Stored Properties of Molecules
6.1.1 Dimension
6.1.2 Energy
6.1.3 Rxn
6.1.4 Title
6.2 Derived Properties of Molecules
6.2.1 NumAtoms, NumBonds
6.2.2 GetMaxAtomIdx, GetMaxBondIdx
6.2.3 GetAtom, GetBond
6.2.4 GetAtoms, GetBonds
6.3 Manipulation of Tagged Data
6.3.1 Manipulating SD Tagged Data
6.3.2 Manipulating PDB Tagged Data
6.3.3 Multi-conformer molecules
7. OEMols and OEGraphMols
7.1 Preparation
7.2 Multi-conformer and single-conformer molecules
7.3 Conformers
7.4 Properties of Multi-Conformer Molecules
7.4.1 GetConf and GetConfs
7.4.2 Use of the conformer state
7.4.3 Use of the conformers as first-class objects
7.5 Reading Multi-conformer molecules
7.6 Dude, where's my SD Data?
8. Traversing the Atoms and Bonds of a Molecule
8.1 Looping over the Atoms and Bonds of a Molecule
8.2 Looping over the Bonds of an Atom
8.3 Looping over the Neighbors of an Atom
8.4 Looping over subsets of Atoms or Bonds
9. Properties of Atoms
9.1 Stored Properties of Atoms
9.1.1 AtomicNum
9.1.2 FormalCharge
9.1.3 ImplicitHCount
9.1.4 Isotope
9.1.5 PartialCharge
9.1.6 Hyb
9.1.7 IntType
9.1.8 Name
9.1.9 Type
9.1.10 Radius
9.1.11 RxnRole
9.1.12 MapIdx
9.1.13 InRing
9.1.14 SymmetryClass
9.1.15 Aromatic
9.2 Derived Properties of Atoms
9.2.1 GetDegree
9.2.2 GetExplicitDegree
9.2.3 GetExplicitHCount
9.2.4 GetExplicitValence
9.2.5 GetHvyDegree
9.2.6 GetHvyValence
9.2.7 GetParent
9.2.8 GetTotalHCount
9.2.9 GetValence
9.2.10 GetIdx
9.2.11 IsCarbon
9.2.12 IsConnected
9.2.13 IsHalogen
9.2.14 IsHydrogen
9.2.15 IsMetal
9.2.16 IsNitrogen
9.2.17 IsOxygen
9.2.18 IsPhosphorus
9.2.19 IsPolarHydrogen
9.2.20 IsSulfur
10. Properties of Bonds
10.1 Stored Properties of Bonds
10.1.1 Order
10.1.2 Aromatic
10.1.3 InRing
10.1.4 IntType
10.1.5 Type
10.1.6 Bgn
10.1.7 End
10.2 Derived Properties of Bonds
10.2.1 GetBgnIdx
10.2.2 GetEndIdx
10.2.3 GetNbr
10.2.4 GetParent
10.2.5 IsRotor
11. Atom, Bond and Conformer Indices
12. Creating Atoms, Bonds and Conformers
12.1 Using NewAtom and NewBond
12.2 Implicit vs. Explicit Hydrogen Atoms
12.3 Updating Implicit Hydrogen Counts
12.4 Making Hydrogen Atoms Implicit
12.5 Making Hydrogen Atoms Explicit
12.6 Sprouting Hydrogens in 3D
12.7 Using NewConf
13. Connectivity Processing
13.1 Determining Bonds From 3D Coordinates
13.2 Kekule Form Assignment
13.3 Perceiving Bond Orders
14. Ring Processing
14.1 Cycle Membership
14.2 Number of Ring Bonds to an Atom
14.3 Testing for Membership in a Given Ring Size
14.4 Determining Smallest Ring Membership
14.5 Identifying Connected Components
14.6 Identifying Ring Systems
14.7 Smallest Set of Smallest Rings (SSSR) considered Harmful
15. Aromaticity Processing
15.1 Aromaticity and Hückel's 4n+2 rule
15.2 Aromaticity Models in OEChem
15.3 Clearing Aromaticity
16. Stereochemistry Processing
16.1 Atom Stereochemistry
16.2 Bond Stereochemistry
17. Atom and Bond Typing
17.1 Integer Atom Types and Type Names
17.2 Tripos Atom Typing
17.2.1 OETriposAtomTypes
17.2.2 OETriposAtomTypeNames
17.2.3 OETriposTypeNames
17.2.4 OETriposAtomNames
17.3 Tripos Bond Typing
17.4 Generic Tripos Type Functions
17.5 Writing a Sybyl mol2 file using OEWriteMol2File
17.6 MacroModel Atom Typing
17.7 Generic MacroModel Type Functions
18. Formal and Partial Charges
18.1 Assigning Formal Charges
18.2 Working with Partial Charges
18.3 Determining Net Charge on a Molecule
18.4 Calculating Gasteiger Partial Charges
19. Pattern Matching
19.1 Substructure Search
19.2 Maximum Common Substructure Search
19.2.1 Exhaustive and approximate MCSS
19.2.2 MCS scoring functions: OEMCSFunc
19.3 Clique Search
19.4 OEExprOpts Namespace
20. Coordinate Handling
20.1 Getting and Setting Coordinates of Atoms and Molecules
20.2 Coordinate Manipulation
20.2.1 High-level Transform Objects
20.2.2 Molecular Geometry Routines
20.2.3 Low-level Geometry Routines
21. Periodic Table Functions
21.1 Obtaining the Atomic Symbol of an Atom/Element
21.2 Obtaining the Atomic Number from an Atomic Symbol
21.3 Properties of the Elements
21.3.1 OEGetAverageWeight
21.3.2 OEGetDefaultMass
21.3.3 OEGetCovalentRadius
21.4 Handling Isotopes
21.4.1 OEIsCommonIsotope
21.4.2 OEGetIsotopicWeight
21.5 Calculating Molecular Weight of a Compound
22. Predicate Functions
22.1 Callbacks
22.2 Predefined OEChem Functors
22.3 Writing your own Functors in Java
22.4 Composition Functors in OEChem
23. Molecular File Formats
23.1 MDL File Format (SD and Mol)
23.1.1 OEReadMDLFile
23.1.2 OEWriteMDLFile
23.2 Sybyl Mol2 File Format
23.2.1 OEReadMol2File
23.2.2 OEWriteMol2File
23.3 PDB File Format
23.3.1 OEReadPDBFile
23.3.2 OEWritePDBFile
23.4 MacroModel File Format
23.4.1 OEReadMacroModelFile
23.4.2 OEWriteMacroModelFile
23.5 XYZ File Format
23.5.1 OEReadXYZFile
23.5.2 OEWriteXYZFile
23.6 FASTA Sequence File Format
23.6.1 OEReadFastaFile
23.6.2 OEWriteFastaFile
24. Miscellaneous Utilities
24.1 OEStopWatch
24.2 OEDots
25. The SMILES Line Notation
25.1 Daylight SMILES
25.2 Extensions to Daylight SMILES
26. Biopolymer Residues
26.1 Ontology and Schema Fragility
26.1.1 Biological Hierarchies
26.1.2 Set Theory to the Rescue
26.1.3 OEChem Examples
26.1.4 Data Modeling Bibliography
26.2 Stored Properties of Residues
26.2.1 AlternateLocation
26.2.2 BFactor
26.2.3 ChainID
26.2.4 FragmentNumber
26.2.5 HetAtom
26.2.6 InsertCode
26.2.7 ModelNumber
26.2.8 Name
26.2.9 ResidueNumber
26.2.10 Occupancy
26.2.11 SecondaryStructure
26.2.12 SerialNumber
26.3 A Hierarchy View of Residue Data
27. Valence Models
27.1 The MDL Valence Model
27.2 The OpenEye Valence Model
27.2.1 The OpenEye Charge Model
27.2.2 The OpenEye Hydrogen Count Model
28. SMARTS Pattern Matching
28.1 SMARTS Syntax
28.1.1 Atom Primitives
28.1.2 Bond Primitives
28.1.3 Logical Operators
29. Reactions
29.1 Normalization Reactions
29.2 Library Generation
30. License handling
31. OEChem Class Hierarchy: Why in the world are there 6 molecules?!
31.1 Atoms, Bond, Conformers, and Molecules
31.2 Objects and Free-Functions
31.3 Programming Layers: The Deep and Twisted Path
32. Logging and Error Handling
32.1 OEErrorHandler
33. Appendix
34. Bibliography
35. Release Notes
35.1 OEChem 1.6.1
35.1.1 OEChem
35.1.2 OESystem
35.1.3 OEPlatform
35.2 OEChem 1.6.0
35.2.1 OEChem
35.2.2 OESystem
35.2.3 OEPlatform
35.3 OEChem 1.5.1
35.3.1 Bug fixes
35.3.2 New features
35.4 OEChem 1.5.0
35.4.1 New features
35.4.2 Major bug fixes
35.4.3 Minor bug fixes
35.5 OEChem 1.4.2
35.5.1 OEPlatform
35.5.2 OESystem
35.5.3 OEChem
35.5.4 OEBio
35.6 OEChem 1.4.1
35.7 OEChem 1.4.0
35.7.1 OEPlatform
35.7.2 OESystem
35.7.3 OEChem
35.7.4 OEBio
35.7.5 Common
35.8 OEChem 1.3.4
35.8.1 OEPlatform
35.8.2 OESystem
35.8.3 OEChem
35.8.4 Common
35.8.5 Python and Java wrappers
35.9 OEChem 1.3.3
35.9.1 OEPlatform
35.9.2 OESystem
35.9.3 OEChem
35.9.4 Python wrappers
35.9.5 Java wrappers
35.9.6 Common
35.10 OEChem 1.3.2
35.10.1 OEPlatform
35.10.2 OESystem
35.10.3 OEChem
35.10.4 Python wrappers
35.10.5 Common
35.11 OEChem 1.3.1
35.11.1 OEPlatform
35.11.2 OESystem
35.11.3 OEChem
35.11.4 Common
35.12 OEChem 1.3.0
35.12.1 OEPlatform
35.12.2 OESystem
35.12.3 OEChem
Index
OEChem - Java Theory Manual
Previous:
Front Matter
Up:
OEChem - Java Theory
Next:
1. Java
Documentation released on June 4, 2008.