JOELib Tutorial: A Java based cheminformatics/computational chemistry package | ||
---|---|---|
Prev | Chapter 2. JOELib basics | Next |
Bonds in joelib.molecule.JOEBond are represented as edges of a graph. The bond properties can be changed with standard set and get methods.
If you use molecule.getBond(int bondIdx) you must take into account that bonds begin with the index number 0. That's one of the biggest differences between atoms and bonds, because atoms begin with the index number 1.
Bonds E=⊆V×V are in fact unlabeled edges of a molecular graph G. The chemical bond properties are assigned with a set B={β1,β1,...,β|B|} of labelling functions βi:G,V,A,Bj≠i→WE,i. We can distinguish between a set of critical labelling functions Echem (chemical kernel) and all other optional chemical properties.
The chemical kernel or chemical base knowledge uses the following functions for which the dependencies are also shown:
Bond type βtype(G,V,Achem,Bchem). These bond properties can be accessed by bond.isSingle(),bond.isDouble(),bond.isTriple().
Binary ring bond flag βring(G,V,Achem,Bchem) which is based on a ring search algorithm, e.g. the Smallest Set of Smallest Ring (SSSR) [fig96]. This bond property can be accessed by bond.isInRing().
Kekulé bond type βkekule(G,V,Achem,Bchem). These bond properties can be accessed by bond.isKSingle(),bond.isKDouble(),bond.isKTriple(). You can, e.g. for visualization purpose, force the 'normal' bond type with the 'kekulized' bond type by using molecule.kekulize().
Binary aromaticity flag βarom(G,V,Achem,Bchem). This bond property can be accessed by bond.isAromatic().
E/Z isomerism βE/Z(G,V,Achem,Bchem). This bond property can be accessed by joelib.util.IsomerismDetection.isCisTransBond(bond).
E/Z isomerism for SMARTS substructure search and visulalization βup/down(G,V,Achem,Bchem). This bond property can be accessed by joelib.util.IsomerismDetection.isCisTransBond(bond, true).
So we obtain as chemical base knowledge (chemical kernel) Bchem(lib=JOELib,kernelID)={βtype,βring,βkekule,βarom,βE/Z,βup/down}
Other bond properties are for example asymmetric bond dissociation energies (directed bond properties) which can be calculated by the Parameter Estimation for the Treatment of Reactivity Application (PETRA) library [gas88] and then imported into JOELib using the CTX file format (the Section called Supported input and output formats in Chapter 3).
All bond properties are automatically assigned by the expert systems (the Section called Assigning atom types, aromatic flags, hybridization and hydrogens in Chapter 3).