Class TopologyAnalyser

java.lang.Object
chemaxon.calculations.TopologyAnalyser
All Implemented Interfaces:
chemaxon.license.Licensable

@PublicApi public class TopologyAnalyser extends Object implements chemaxon.license.Licensable
Central class for accessing functions analysing the topology of a molecule.
Since:
Marvin 3.5
  • Constructor Details

    • TopologyAnalyser

      public TopologyAnalyser()
  • Method Details

    • 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
    • setMolecule

      public void setMolecule(MoleculeGraph mol, int aromatizationMode)
      Specifies a molecule to calculate with.
      Parameters:
      mol - the molecule to calculate with
      aromatizationMode - specifies the algorithm for aromatization. Possible values:
      • AROM_BASIC - Basic aromatization
      • AROM_GENERAL - General (Daylight compatible) aromatization
      • AROM_LOOSE - Loose aromatization
    • aliphaticAtomCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aliphaticAtomCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aliphaticAtomCount()
      Calculates the number of all aliphatic atoms in the molecule excluding hydrogens.
      Returns:
      number of aliphatic atoms in the molecule
    • aliphaticBondCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aliphaticBondCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.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

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aliphaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.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
    • aliphaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aliphaticRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aliphaticRingCount(int)
      Calculates the number of aliphatic 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 aliphatic rings with the specified size in the molecule
      Since:
      version 5.1
    • aliphaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] aliphaticRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aliphaticRings()
      Identifies the aliphatic rings in the molecule.
      Returns:
      aliphatic rings of the molecule (null if the molecule does not contain aliphatic rings)
      Since:
      version 5.2
    • aliphaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] aliphaticRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aliphaticRings(int)
      Indentifies aliphatic rings in the molecule having a given size (number of atoms).
      Parameters:
      size - size of the aliphatic rings to return
      Returns:
      aliphatic rings in the molecule having the given size (null if the molecule does not contain aliphatic rings)
      Since:
      version 5.2
    • aromaticAtomCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aromaticAtomCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aromaticAtomCount()
      Calculates the number of all aromatic atoms in the molecule.
      Returns:
      number of aromatic atoms in the molecule
    • aromaticBondCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aromaticBondCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aromaticBondCount()
      Calculates the number of all aromatic bonds in the molecule.
      Returns:
      number of aromatic bonds in the molecule
    • aromaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aromaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.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
    • aromaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int aromaticRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aromaticRingCount(int)
      Calculates the number of aromatic 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 aromatic rings with the specified size in the molecule
      Since:
      version 5.1
    • aromaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] aromaticRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aromaticRings()
      Identifies the aromatic rings in the molecule.
      Returns:
      aromatic rings of the molecule (null if the molecule is aliphatic)
      Since:
      version 5.2
    • aromaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] aromaticRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.aromaticRings(int)
      Indentifies aromatic rings in the molecule having a given size (number of rings).
      Parameters:
      size - size of the aromatic rings to return
      Returns:
      aromatic rings in the molecule having the given size (null if the molecule is aliphatic or contains different sized aromatic rings only)
      Since:
      version 5.2
    • asymmetricAtomCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int asymmetricAtomCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.asymmetricAtomCount()
      Calculates the number of asymmetric atoms.
      Returns:
      number of asymmetric atoms
    • asymmetricAtoms

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[] asymmetricAtoms()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.asymmetricAtoms()
      Determines the asymmetric atoms.
      Returns:
      indexes of asymmetric atoms
      Since:
      Marvin 5.3
    • atomCount

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

      public double balabanIndex()
      Calculates the Balaban distance connectivity of the molecule, which is the average distance sum connectivity.
      Returns:
      the Balaban index (Integer.MAX_VALUE for disconnected graphs)
    • bondCount

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

      public int bondType(int b)
      Determines the type of a bond (aromatic bonds are automatically recognized)
      Parameters:
      b - index of the bond
      Returns:
      type of the bond Possible values: 1 (single), 2 (double), 3 (triple), coordinate, conjugated and query bond types.
    • carboaliphaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int carboaliphaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.carboaliphaticRingCount()
      Calculates the number of carboaliphatic rings in the molecule (aliphatic rings containing carbon atoms only).
      Returns:
      number of carboaliphatic rings
    • carboaromaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int carboaromaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.carboaromaticRingCount()
      Calculates the number of carboaromatic rings in the molecule (aromatic rings containing carbon atoms only).
      Returns:
      number of carboaromatic rings
    • carboRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int carboRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.carboRingCount()
      Calculates the number of carbocyclic rings in the molecule (rings containing carbon atoms only).
      Returns:
      number of carbocyclic rings
    • carboRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int carboRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.carboRingCount(int)
      Calculates the number of carbocyclic rings in the molecule (rings containing at least a non-carbon atom).
      Parameters:
      size - size of the rings to count
      Returns:
      number of carbocyclic rings with the given size
      Since:
      version 5.2
    • carboRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] carboRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.carboRings()
      Identifies carbocyclic rings in the molecule (rings containing carbon atoms only).
      Returns:
      carbocyclic rings (null if no carbocyclic ring found in the molecule.
      Since:
      version 5.2
    • carboRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] carboRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.carboRings(int)
      Identifies carbocyclic rings in the molecule (rings containing carbon atoms only) having the given number of atoms.
      Parameters:
      size - size of the rings to count
      Returns:
      carbocyclic rings with the given size (null if no carbocyclic ring found in the molecule.
      Since:
      version 5.2
    • chainAtomCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int chainAtomCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.chainAtomCount()
      Calculates the number of chain atoms in the molecule excluding hydrogens.
      Returns:
      number of chain atoms in the molecule
    • chainBondCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int chainBondCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.chainBondCount()
      Calculates the number of chain bonds in the molecule excluding bonds of hydrogen atoms.
      Returns:
      number of chain bonds in the molecule
    • chiralCenterCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int chiralCenterCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.chiralCenterCount()
      Calculates the number of chiral centers.
      Returns:
      number of chiral center atoms
    • chiralCenters

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[] chiralCenters()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.chiralCenters()
      Determines the chiral center atoms.
      Returns:
      indexes of chiral center atoms
      Since:
      Marvin 5.3
    • cyclomaticNumber

      public int cyclomaticNumber()
      Calculates the smallest number of graph edges which must be removed such that no circuit remains. Also known as circuit rank.
      Returns:
      cyclomatic number of the molecule
    • distanceCount

      public int distanceCount(int a, int d)
      Counts the given value in a row of the distance matrix.
      Parameters:
      a - atom index
      d - the distance value to count
      Returns:
      the distance count of a value for the atom
    • distanceDegree

      public int distanceDegree(int a)
      Calculates the distance degree of an atom, which is the sum of the corresponding row values in the distance matrix.
      Parameters:
      a - atom index
      Returns:
      the distance degree of the atom (Integer.MAX_VALUE for disconnected graphs)
    • eccentricity

      public int eccentricity(int a)
      Calculates the eccentricity of an atom, which is the greatest value in the corresponding row of the distance matrix.
      Parameters:
      a - atom index
      Returns:
      the eccentricity value of the atom (Integer.MAX_VALUE for disconnected graphs)
    • fragmentCount

      public int fragmentCount()
      Calculates the number of fragments (disconnected parts) of the molecule.
      Returns:
      number of fragments in the molecule
    • getFsp3

      public double getFsp3()
      Calculates the Fsp3 value of the given molecule.
      Fsp3 = number of sp3 carbons / number of carbons
      Returns:
      the fsp3 value of the given molecule or Double.NaN if there is no carbon in the structure.
    • fusedAliphaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int fusedAliphaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.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
    • fusedAliphaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int fusedAliphaticRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.fusedAliphaticRingCount(int)
      Calculates the number of fused aliphatic rings in the molecule (rings s).
      Parameters:
      size - size of the fused aliphatic rings to count
      Returns:
      number of fused aliphatic rings having the given size
      Since:
      version 5.2
    • fusedAliphaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] fusedAliphaticRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.fusedAliphaticRings()
      Identifies fused aliphatic rings (SSSR smallest set of smallest aliphatic rings) in the molecule.
      Returns:
      atom indexes of the fused aliphatic rings in the molecule
      Since:
      version 5.2
    • fusedAliphaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] fusedAliphaticRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.fusedAliphaticRings(int)
      Identifies fused aliphatic rings (SSSR smallest set of smallest aliphatic rings) in the molecule having the given size (number of atoms).
      Parameters:
      size - size of the fused aliphatic rings to count
      Returns:
      atom indexes of the fused aliphatic rings in the molecule having the given number of atoms
      Since:
      version 5.2
    • fusedAromaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int fusedAromaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.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
    • fusedAromaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int fusedAromaticRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.fusedAromaticRingCount(int)
      Calculates the number of fused aromatic rings in the molecule (rings s).
      Parameters:
      size - size of the fused aromatic rings to count
      Returns:
      number of fused aromatic rings having the given size
      Since:
      version 5.2
    • fusedAromaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] fusedAromaticRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.fusedAromaticRings()
      Identifies fused aromatic rings (SSSR smallest set of smallest aromatic rings) in the molecule.
      Returns:
      atom indexes of the fused aromatic rings in the molecule
      Since:
      version 5.2
    • fusedAromaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] fusedAromaticRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.fusedAromaticRings(int)
      Identifies fused aromatic rings (SSSR smallest set of smallest aromatic rings) in the molecule having the given size (number of atoms).
      Parameters:
      size - size of the fused aromatic rings to count
      Returns:
      atom indexes of the fused aromatic rings in the molecule
      Since:
      version 5.2
    • fusedRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int fusedRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.fusedRingCount()
      Calculates the number of fused rings (SSSR smallest set of smallest rings) in the molecule.
      Returns:
      number of fused rings in the molecule
    • graphInvariant

      public int[] graphInvariant()
    • hararyIndex

      public double hararyIndex()
      Calculates the Harary index which is the half-sum of the off-diagonal elements of the reciprocal molecular distance matrix of the molecule.
      Returns:
      the Harary index (Integer.MAX_VALUE for disconnected graphs)
    • heteroaliphaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int heteroaliphaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaliphaticRingCount()
      Calculates the number of aliphatic heterocyclic rings in the molecule (aliphatic rings containing at least a non-carbon atom).
      Returns:
      number of heteroaliphatic rings
      Since:
      version 5.2
    • heteroaliphaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int heteroaliphaticRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaliphaticRingCount(int)
      Calculates the number of aliphatic heterocyclic rings in the molecule (aliphatic rings containing at least a non-carbon atom) having a given size (number of atoms).
      Parameters:
      size - size of the heteroaliphatc rings to count
      Returns:
      number of heteroaliphatic rings having the given size
      Since:
      version 5.2
    • heteroaliphaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] heteroaliphaticRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaliphaticRings()
      Identifies heteroaliphatic rings in the molecule (aliphatic rings containing at least a non-carbon atom).
      Returns:
      atom indexes of heteroaliphatic rings
      Since:
      version 5.2
    • heteroaliphaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] heteroaliphaticRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaliphaticRings(int)
      Identifies heteroaliphatic rings in the molecule (aliphatic rings containing at least a non-carbon atom) having a given size (number of atoms).
      Parameters:
      size - size of the heteroaliphatic rings to count
      Returns:
      heteroaliphatic rings having the given size
      Since:
      version 5.2
    • heteroaromaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int heteroaromaticRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaromaticRingCount()
      Calculates the number of aromatic heterocyclic rings in the molecule (aromatic rings containing non-carbon atoms).
      Returns:
      number of aromatic heterocyclic rings
    • heteroaromaticRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int heteroaromaticRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaromaticRingCount(int)
      Calculates the number of aromatic heterocyclic rings in the molecule (aromatic rings containing at least a non-carbon atom) having a given size (number of atoms).
      Parameters:
      size - size of the heteroaromatic rings to count
      Returns:
      number of heteroaromatic rings having the given size
      Since:
      version 5.2
    • heteroaromaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] heteroaromaticRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaromaticRings()
      Identifies heteroaromatic rings in the molecule (aromatic rings containing at least a non-carbon atom).
      Returns:
      heteroaromatic rings
      Since:
      version 5.2
    • heteroaromaticRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] heteroaromaticRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroaromaticRings(int)
      Identifies heteroaromatic rings in the molecule (aromatic rings containing at least a non-carbon atom) having a given size (number of atoms).
      Parameters:
      size - size of the heteroaromatic rings to count
      Returns:
      heteroaromatic rings having the given size
      Since:
      version 5.2
    • heteroRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int heteroRingCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroRingCount()
      Calculates the number of heterocyclic rings in the molecule (rings containing at least a non-carbon atom).
      Returns:
      number of heterocyclic rings
    • heteroRingCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int heteroRingCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroRingCount(int)
      Calculates the number of heterocyclic rings in the molecule (rings containing at least a non-carbon atom).
      Parameters:
      size - size of the rings to count
      Returns:
      number of heterocyclic rings
      Since:
      version 5.2
    • heteroRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] heteroRings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroRings()
      Identifies heterocyclic rings in the molecule (rings containing at least a non-carbon atom).
      Returns:
      heterocyclic rings (null of no heterocyclic ring found in the molecule.
      Since:
      version 5.2
    • heteroRings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] heteroRings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.heteroRings(int)
      Indentifies hetero rings in the molecule having a given size (number of atoms).
      Parameters:
      size - size of the hetero rings to return (zero returns all)
      Returns:
      hetero rings in the molecule having the given size (null if the molecule does not contain hetero rings)
      Since:
      version 5.2
    • hyperWienerIndex

      public int hyperWienerIndex()
      Calculates the hyper Wiener index of the molecule.
      Returns:
      the hyper Wiener index (Integer.MAX_VALUE for disconnected graphs)
    • isAliphaticAtom

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isAliphaticAtom(int a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.isAliphaticAtom(int)
      Determines 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

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isAromaticAtom(int a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.isAromaticAtom(int)
      Determines 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.
    • isBarredAtom

      public boolean isBarredAtom(int a)
      Determines if an atom is is part of a certain functional group with high rotational barrier (amides, thioamides, sulphonamides).
      Parameters:
      a - index of the atom
      Returns:
      true if the atom is a barred atom.
    • isChainAtom

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isChainAtom(int a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.isChainAtom(int)
      Determines 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

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isChainBond(int b)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.isChainBond(int)
      Determines 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
    • isChiral

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isChiral()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.isChiral()
      Determines if the molecule contains an atom with R or S stereo configuration.
      Returns:
      true if the molecule is chiral.
    • isConnected

      public boolean isConnected()
      Determines if the molecule is a connected graph or not. There is a path from any node to any other node in the graph.
      Returns:
      true if the graph is connected, false if the graph is disconnected.
    • isConnected

      public boolean isConnected(int atom1, int atom2)
      Determines if two atoms are members of a connected graph or not.
      Parameters:
      atom1 - index of the first atom
      atom2 - index of the second atom
      Returns:
      True if the two atoms are located on a connected graphs, false if the atoms are disconnected.
    • isHinderedBiarylBridgeBond

      public boolean isHinderedBiarylBridgeBond(int b)
      Determines if a bond bridges two aryl systems having more than two ortho substituents.
      Parameters:
      b - index of the bond
      Returns:
      true if the bond is a hindered biaryl bridge bond, false if not
    • isRingAtom

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isRingAtom(int a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.isRingAtom(int)
      Determines 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

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isRingBond(int b)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.isRingBond(int)
      Determines 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)
      Determines 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
    • largestRing

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[] largestRing()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.largestRing()
      Identifies the atoms of the largest ring (number of atoms) in the molecule.
      Returns:
      atom indexes of the largest ring in the molecule (null when acyclic)
      Since:
      version 5.2
    • largestRingSize

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int largestRingSize()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.largestRingSize()
      Calculates the size of the largest ring in the molecule (SSSR based).
      Returns:
      size of the largest ring in the molecule (0 when acyclic)
    • largestRingSizeOfAtom

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int largestRingSizeOfAtom(int a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.largestRingSizeOfAtom(int)
      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)
    • largestRingSystem

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[] largestRingSystem()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.largestRingSystem()
      Identifies the atoms of the largest ring system (number of rings) in the molecule.
      Returns:
      atom indexes of the largest ring system in the molecule (null when acyclic)
      Since:
      version 5.2
    • largestRingSystemSize

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int largestRingSystemSize()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.largestRingSystemSize()
      Calculates the size of the largest ring system (number of rings) in the molecule.
      Returns:
      size of the largest ring system in the molecule (0 when acyclic)
      Since:
      version 5.1
    • plattIndex

      public int plattIndex()
      Calculates the Platt index of the molecule which is equal to the total sum of the edge degrees of a molecular graph.
      Returns:
      the Platt index
    • randicIndex

      public double randicIndex()
      Calculates the Randic index or molecular connectivity index as the harmonic sum of the geometric means of the node degrees for each edge.
      Returns:
      the Randic index
    • ringAtomCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int ringAtomCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringAtomCount()
      Calculates the number of ring atoms in the molecule.
      Returns:
      number of ring atoms in the molecule
    • ringBondCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int ringBondCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringBondCount()
      Calculates the number of ring bonds in the molecule.
      Returns:
      number of ring bonds in the molecule
    • ringCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int ringCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringCount()
      Calculates the number of rings (SSSR smallest set of smallest rings) in the molecule.
      Returns:
      number of rings in the molecule
    • ringCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int ringCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringCount(int)
      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 having the spedified size
    • ringCountOfAtom

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int ringCountOfAtom(int a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringCountOfAtom(int)
      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
    • rings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] rings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.rings()
      Identifies the rings in the molecule.
      Returns:
      rings of the molecule (null if the molecule is acyclic)
      Since:
      version 5.2
    • rings

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] rings(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.rings(int)
      Identifies rings in the molecule having a given size.
      Parameters:
      size - size of the ring systems to return
      Returns:
      rings of the molecule having the given size (null if the molecule is acyclic or contains different rings only)
      Since:
      version 5.2
    • ringSystemCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int ringSystemCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringSystemCount()
      Calculates the number of ring systems. Fused and spiro rings belong to one ring system.
      Returns:
      number of ring systems in the molecule
      Since:
      version 5.1
    • ringSystemCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int ringSystemCount(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringSystemCount(int)
      Identifies ring systems having a given size (number of rings) in the molecule. Fused and spiro rings belong to one ring system.
      Parameters:
      size - size of the ring to count
      Returns:
      number of ring systems with the specified size in the molecule
      Since:
      version 5.1
    • ringSystems

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] ringSystems()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringSystems()
      Identifies the ring systems in the molecule. Fused and spiro rings belong to one ring system.
      Returns:
      ring systems in the molecule (null if the molecule is acyclic)
      Since:
      version 5.2
    • ringSystems

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[][] ringSystems(int size)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.ringSystems(int)
      Indentifies the ring systems in the molecule having a given size (number of rings). Fused and spiro rings belong to one ring system.
      Parameters:
      size - size of the ring systems to return
      Returns:
      ring systems in the molecule having the given size (null if the molecule is acyclic or contains different rings only)
      Since:
      version 5.2
    • rotatableBondCount

      public int rotatableBondCount()
      Calculates the number of rotatable bonds in the molecule.
      Returns:
      number of rotatable bonds in the molecule
    • shortestPath

      public int shortestPath(int atom1, int atom2)
      Calculates the shortest topological path (number of bonds) between two atoms. It returns Integer.MAX_VALUE for atoms of disconnected structures.
      Parameters:
      atom1 - Index of the first atom.
      atom2 - Index of the second atom.
      Returns:
      The shortest path between two atoms.
    • smallestRing

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[] smallestRing()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.smallestRing()
      Identifies the smallest ring (number of atoms) in the molecule.
      Returns:
      atom indexes of the smallest ring in the molecule (null when acyclic)
      Since:
      version 5.2
    • smallestRingSize

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int smallestRingSize()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.smallestRingSize()
      Calculates the size of the smallest ring in the molecule.
      Returns:
      size of the smallest ring in the molecule (0 when acyclic)
    • smallestRingSizeOfAtom

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int smallestRingSizeOfAtom(int a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.smallestRingSizeOfAtom(int)
      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)
    • smallestRingSystem

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int[] smallestRingSystem()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.smallestRingSystem()
      Identifies the smallest ring system (number of rings) in the molecule.
      Returns:
      atom indexes of the smallest ring system in the molecule (null when acyclic)
      Since:
      version 5.2
    • smallestRingSystemSize

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int smallestRingSystemSize()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Ring.smallestRingSystemSize()
      Calculates the size of the smallest ring system (number of rings) in the molecule.
      Returns:
      size of the smallest ring system in the molecule (0 when acyclic)
      Since:
      version 5.1
    • stereo

      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.stereo(int)
      Calculates absolute stereo configuration of the given atom. Returns "R" or "S" correspondingly, if the atom is stereo, otherwise it returns an empty string,
      Parameters:
      a - index of the atom
      Returns:
      the absolute stereo configuration of the atom
    • stereo

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public String stereo(int a1, int a2)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.stereo(int, int)
      Calculates absolute stereo configuration of the given double bond. Returns "E" or "Z" correspondingly, if the bond is a stereo double bond, otherwise it returns an empty string. Double bonds in small rings are not considered stereo bonds.
      Parameters:
      a1 - index of the atom at one end of the double bond
      a2 - index of the atom at the other end of the double bond
      Returns:
      the absolute stereo configuration of the atom
    • stereoDoubleBondCount

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public int stereoDoubleBondCount()
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of release 5.5, replaced by Stereochemistry.stereoDoubleBondCount()
      Calculates the number of stereo double bonds.
      Returns:
      number of stereo double bonds atoms
    • stericEffectIndex

      public double stericEffectIndex(int a)
      Calculates topological steric effect index (TSEI) of an atom from covalent radii values and topological distances. The stericEffectIndex is related to the steric hindrance of the given atom.
      Parameters:
      a - index of the atom
      Returns:
      the topological steric effect index of the atom
    • szegedIndex

      public int szegedIndex()
      Calculates the Szeged index of the molecule. The Szeged index is based on the Wiener number, which is calculated by simply counting the number of nodes on both sides of each edge (and sum these counts). The Szeged index extends the Wiener number for cyclic graphs by counting those nodes only which are nearer to the given side of the edge than to the other. Unreachable nodes (disconnected graphs) or those at equidistance position to both sides of the given edge are not taken into account.
      Returns:
      the Szeged index
    • setLicenseEnvironment

      public void setLicenseEnvironment(String env)
      Specified by:
      setLicenseEnvironment in interface chemaxon.license.Licensable
    • isLicensed

      public boolean isLicensed()
      Specified by:
      isLicensed in interface chemaxon.license.Licensable
    • wienerIndex

      public int wienerIndex()
      Calculates the Wiener index of the molecule, which is the average topological atom distance (half of the sumof all atom distances) in the molecule.
      Returns:
      the Wiener index (Integer.MAX_VALUE for disconnected graphs)
    • wienerPolarity

      public int wienerPolarity()
      Calculates the Wiener polarity number of the molecule, which is the number of 3 bond length distances in the molecule.
      Returns:
      the Wiener polarity number