chemaxon.calculations
Class TopologyAnalyser

java.lang.Object
  extended bychemaxon.calculations.TopologyAnalyser

public class TopologyAnalyser
extends java.lang.Object

Central class for accessing functions analysing the topology of a molecule.

Since:
Marvin 3.5
Version:
1.0, 06/05/2004

Constructor Summary
TopologyAnalyser()
           
 
Method Summary
 int aliphaticAtomCount()
          Calculates the number of all aliphatic atoms in the molecule excluding hydrogens.
 int aliphaticBondCount()
          Calculates the number of all aliphatic bonds in the molecule excluding bonds connected to hydrogens.
 int aliphaticRingCount()
          Calculates the number of aliphatic ring systems of the molecule.
 int aromaticAtomCount()
          Calculates the number of all aromatic atoms in the molecule.
 int aromaticBondCount()
          Calculates the number of all aromatic bonds in the molecule.
 int aromaticRingCount()
          Calculates the number of all aromatic ring systems in the molecule (SSSR).
 int atomCount()
          Calculates the number of atoms in the molecule including implicit hydrogens.
 int bondCount()
          Calculates the number of bonds in the molecule including bonds of implicit hydrogens.
 int chainAtomCount()
          Calculates the number of chain atoms in the molecule excluding hydrogens.
 int chainBondCount()
          Calculates the number of chain bonds in the molecule excluding bonds of hydrogen atoms.
 int fusedAliphaticRingCount()
          Calculates the number of fused aliphatic rings (SSSR smallest set of smallest aliphatic rings) in the molecule.
 int fusedAromaticRingCount()
          Calculates the number of fused aromatic rings (SSSR smallest set of smallest aromatic rings) in the molecule.
 int fusedRingCount()
          Calculates the number of fused rings (SSSR smallest set of smallest rings) in the molecule.
 MoleculeGraph getMolecule()
          Retrieves the input molecule
 int heteroaromaticRingCount()
          Calculates the number of aromatic heterocycles in the molecule (aromatic rings containing non-carbon atoms.
 int heteroRingCount()
          Calculates the number of heterocycles in the molecule (rings containing non-carbon atoms.
 boolean isAliphaticAtom(int a)
          Determine if an atom is a member of an aromatic ring or not
 boolean isAromaticAtom(int a)
          Determine if an atom is a member of an aromatic ring or not
 boolean isChainAtom(int a)
          Determine if an atom a ring bond or a chain bond
 boolean isChainBond(int b)
          Determine if a bond is a ring bond or a chain bond
 boolean isRingAtom(int a)
          Determine if an atom a ring bond or a chain bond
 boolean isRingBond(int b)
          Determine if a bond is a ring bond or a chain bond
 boolean isRotatableBond(int b)
          Determine if a bond is a rotatable or not
 int largestRingSize()
          Calculates the size of the largest ring in the molecule (SSSR based).
 int largestRingSizeOfAtom(int a)
          Calculates the size of the largest ring an atom is a member of (SSSR based).
 int ringAtomCount()
          Calculates the number of ring atoms in the molecule.
 int ringBondCount()
          Calculates the number of ring bonds in the molecule.
 int ringCount()
          Calculates the number of rings (SSSR smallest set of smallest rings) in the molecule.
 int ringCount(int size)
          Calculates the number of rings (SSSR smallest set of smallest rings) of a given size in the molecule.
 int ringCountOfAtom(int a)
          Calculates the number of rings (SSSR smallest set of smallest rings) an atom is part of.
 int rotatableBondCount()
          Calculates the number of rotatable bonds in the molecule.
 void setMolecule(MoleculeGraph mol)
          Specifies a molecule to calculate with.
 int smallestRingSize()
          Calculates the size of the smallest ring in the molecule.
 int smallestRingSizeOfAtom(int a)
          Calculates the size of the smallest ring an atom is a member of.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TopologyAnalyser

public TopologyAnalyser()
Method Detail

getMolecule

public MoleculeGraph getMolecule()
Retrieves the input molecule

Returns:
the molecule to calculate with

setMolecule

public void setMolecule(MoleculeGraph mol)
Specifies a molecule to calculate with.

Parameters:
mol - the molecule to calculate with

aliphaticAtomCount

public int aliphaticAtomCount()
Calculates the number of all aliphatic atoms in the molecule excluding hydrogens.

Returns:
number of aliphatic atoms in the molecule

aliphaticBondCount

public int aliphaticBondCount()
Calculates the number of all aliphatic bonds in the molecule excluding bonds connected to hydrogens.

Returns:
number of aliphatic bonds in the molecule

aliphaticRingCount

public int aliphaticRingCount()
Calculates the number of aliphatic ring systems of the molecule. Any ring containing an aliphatic atom/bond is considered aliphatic. Thus, aliphatic rings can contain some aromatic bonds too.

Returns:
number of aliphatic rings in the molecule

aromaticAtomCount

public int aromaticAtomCount()
Calculates the number of all aromatic atoms in the molecule.

Returns:
number of aromatic atoms in the molecule

aromaticBondCount

public int aromaticBondCount()
Calculates the number of all aromatic bonds in the molecule.

Returns:
number of aromatic bonds in the molecule

aromaticRingCount

public int aromaticRingCount()
Calculates the number of all aromatic ring systems in the molecule (SSSR). Sometimes, aromatic rings are not part of the standard SSSR ring set. Thus, the sum of the aliphatic and aromatic rings can be greater than the number of rings.

Returns:
number of aromatic rings in the molecule

atomCount

public int atomCount()
Calculates the number of atoms in the molecule including implicit hydrogens.

Returns:
number of atoms in the molecule

bondCount

public int bondCount()
Calculates the number of bonds in the molecule including bonds of implicit hydrogens.

Returns:
number of bonds in the molecule

chainAtomCount

public int chainAtomCount()
Calculates the number of chain atoms in the molecule excluding hydrogens.

Returns:
number of chain atoms in the molecule

chainBondCount

public int chainBondCount()
Calculates the number of chain bonds in the molecule excluding bonds of hydrogen atoms.

Returns:
number of chain bonds in the molecule

fusedAliphaticRingCount

public int fusedAliphaticRingCount()
Calculates the number of fused aliphatic rings (SSSR smallest set of smallest aliphatic rings) in the molecule.

Returns:
number of fused aliphatic rings in the molecule

fusedAromaticRingCount

public int fusedAromaticRingCount()
Calculates the number of fused aromatic rings (SSSR smallest set of smallest aromatic rings) in the molecule.

Returns:
number of fused aromatic rings in the molecule

fusedRingCount

public int fusedRingCount()
Calculates the number of fused rings (SSSR smallest set of smallest rings) in the molecule.

Returns:
number of fused rings in the molecule

heteroaromaticRingCount

public int heteroaromaticRingCount()
Calculates the number of aromatic heterocycles in the molecule (aromatic rings containing non-carbon atoms.

Returns:
number of aromatic heterocycles

heteroRingCount

public int heteroRingCount()
Calculates the number of heterocycles in the molecule (rings containing non-carbon atoms.

Returns:
number of heteroczcles

isAliphaticAtom

public boolean isAliphaticAtom(int a)
Determine if an atom is a member of an aromatic ring or not

Parameters:
a - index of the atom
Returns:
true if the atom is aliphatic.

isAromaticAtom

public boolean isAromaticAtom(int a)
Determine if an atom is a member of an aromatic ring or not

Parameters:
a - index of the atom
Returns:
true if the atom is aromatic.

isChainAtom

public boolean isChainAtom(int a)
Determine if an atom a ring bond or a chain bond

Parameters:
a - index of the atom
Returns:
true if the atom is a chain atom (has no ring bonds).

isChainBond

public boolean isChainBond(int b)
Determine if a bond is a ring bond or a chain bond

Parameters:
b - index of the bond
Returns:
true if the bond is a chain bond, false if ring bond

isRingAtom

public boolean isRingAtom(int a)
Determine if an atom a ring bond or a chain bond

Parameters:
a - index of the atom
Returns:
true if the atom is a ring atom (has no ring bonds).

isRingBond

public boolean isRingBond(int b)
Determine if a bond is a ring bond or a chain bond

Parameters:
b - index of the bond
Returns:
true if the bond is a ring bond, false if chain bond

isRotatableBond

public boolean isRotatableBond(int b)
Determine if a bond is a rotatable or not

Parameters:
b - index of the bond
Returns:
true if the bond is a rotatable bond, false otherwise

largestRingSize

public int largestRingSize()
Calculates the size of the largest ring in the molecule (SSSR based).

Returns:
size of the largest ring in the molecule (0 when acylcic)

largestRingSizeOfAtom

public int largestRingSizeOfAtom(int a)
Calculates the size of the largest ring an atom is a member of (SSSR based).

Returns:
size of the largest ring (0 when atom is not a member of a ring)

ringAtomCount

public int ringAtomCount()
Calculates the number of ring atoms in the molecule.

Returns:
number of ring atoms in the molecule

ringBondCount

public int ringBondCount()
Calculates the number of ring bonds in the molecule.

Returns:
number of ring bonds in the molecule

ringCount

public int ringCount()
Calculates the number of rings (SSSR smallest set of smallest rings) in the molecule.

Returns:
number of rings in the molecule

ringCount

public int ringCount(int size)
Calculates the number of rings (SSSR smallest set of smallest rings) of a given size in the molecule.

Parameters:
size - size of the ring to count
Returns:
number of rings in the molecule

ringCountOfAtom

public int ringCountOfAtom(int a)
Calculates the number of rings (SSSR smallest set of smallest rings) an atom is part of.

Parameters:
a - index of the atom
Returns:
number of rings the atom is a member of

rotatableBondCount

public int rotatableBondCount()
Calculates the number of rotatable bonds in the molecule.

Returns:
number of rotatable bonds in the molecule

smallestRingSize

public int smallestRingSize()
Calculates the size of the smallest ring in the molecule.

Returns:
size of the smallest ring in the molecule (0 when acylcic)

smallestRingSizeOfAtom

public int smallestRingSizeOfAtom(int a)
Calculates the size of the smallest ring an atom is a member of.

Returns:
size of the smallest ring (0 when atom is not a member of a ring)