Bonds

Accessing bonds

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.

Example 2-3. Bond iterator

JBondIterator bit = molecule.bondIterator();
JOEBond bond;
while(bit.hasNext())
{
  bond = bit.nextBond();
}

Chemical properties

Bonds E=⊆V×V are in fact unlabeled edges of a molecular graph G. The chemical bond properties are assigned with a set B={β11,...,β|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.

All bond properties are automatically assigned by the expert systems (the Section called Assigning atom types, aromatic flags, hybridization and hydrogens in Chapter 3).