Chemical Terms functions in alphabetic order

Function name(s)

Required ChemAxon license

Description

Return value

Function parameters

Context example(s)

abs

-

returns the absolute value of a number

the absolute value

the integer or real number

  • abs(7) returns 7

  • abs(-3.5) returns 3.5

acceptor, acc

Structural Calculations

returns the H-bond acceptor multiplicity of an atom

the H-bond acceptor multiplicity of the atom

  • the atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • acceptor(4, '7.4') returns the H-bond acceptor multiplicity of atom 4 of the major microspecies of the molecule at pH 7.4

acceptorCount

Structural Calculations

returns the total number of H-bond acceptor atoms in a molecule

the H-bond acceptor atom count of the molecule

pH value (used for calculating the major microspecies if specified)

  • acceptorCount('7.4') returns the total number of H-bond acceptor atoms in the major microspecies of the molecule at pH 7.4

acceptorSiteCount, accSiteCount

Structural Calculations

returns the molecular H-bond acceptor multiplicity (the sum of atomic multiplicities) of a molecule

the molecular H-bond acceptor multiplicity of the molecule

pH value (used for calculating the major microspecies if specified)

  • acceptorSiteCount('7.4') returns the H-bond acceptor multiplicity of the major microspecies of the molecule at pH 7.4

  • accSiteCount() returns the H-bond acceptor multiplicity of the molecule

acidicpKa, apKa

Protonation

returns acidic pKa value(s)

the acidic pKa value(s)

  • atom index or MolAtom object

  • strength index (an integer given between ' marks e.g. '2' denotes the 2nd strongest acidic pKa value)

  • acidicpKa() returns all acidic pKa values of the molecule

  • apKa(1) returns the acidic pKa value of atom 1 of the molecule

  • acidicpKa('1') returns the strongest acidic pKa value of the molecule

  • acidicpKa(1, '1') returns the strongest acidic pKa value of atom 1 of the molecule

acidicpKaLargeModel

Protonation

returns the acidic pKa value(s) using the LARGE calculation model (optimised for molecules with a large number of ionisable atoms)

the acidic pKa values

  • atom index or MolAtom object

  • strength index (an integer given between ' marks e.g. '2' denotes the 2nd strongest acidic pKa value)

  • acidicpKaLargeModel(2) returns the acidic pKa value of atom 2 of the molecule using the LARGE model

  • acidicpKaLargeModel('2') returns the 2nd strongest acidic pKa value of the molecule using the LARGE model

acidicpKaUseCorrection

Protonation

returns the acidic pKa value(s) using a specified pKa correction library

the acidic pKa values

  • atom index or MolAtom object

  • strength index (an integer given between ' marks e.g. '2' denotes the 2nd strongest acidic pKa value)

  • the pKa correction (training) library specified in the format of correctionlibrary:name, generated by the cxtrain command line tool

  • acidicpKaUseCorrection(‘correctionlibrary:mypka’, '1') calculates the strongest acidic pKa value of the molecule taking into account the mypka correction library for training

agentCount

-

counts the agents in a reaction

the number of agents in a reaction or -1 if the input is not a reaction

-

  • agentCount() returns n for a reaction of n agents

  • agentCount() returns -1 for a non-reaction input

aliphaticAtom

Structural Calculations

checks if a specified atom is aliphatic

true for aliphatic, false for non-aliphatic atoms

the atom index or MolAtom object

  • aliphaticAtom(3) returns true if atom 3 is aliphatic, false otherwise

aliphaticAtomCount()

Structural Calculations

calculates the number of aliphatic atoms in a molecule

the aliphatic atom count

-

  • aliphaticAtomCount() returns the number of aliphatic atoms in the molecule

aliphaticBondCount

Structural Calculations

calculates the number of aliphatic bonds in the molecule

the aliphatic bond count

-

  • aliphaticBondCount() returns the number of aliphatic bonds in the molecule

aliphaticRingCount

Structural Calculations

calculates the number of aliphatic rings in the molecule

the aliphatic ring count

-

  • aliphaticRingCount() returns the number of aliphatic rings in the molecule

aliphaticRingCountOfSize

Structural Calculations

calculates the number of aliphatic rings of a given size in a molecule

the number of aliphatic rings of a given size

-

  • aliphaticRingCountOfSize(5) returns the number of aliphatic five-member rings in a molecule

aliphaticRings

Structural Calculations

identifies the aliphatic rings in a molecule

the list of atom indices of the aliphatic rings in the molecule (or null if the molecule doesn't have aliphatic rings)

-

  • aliphaticRings() returns the atom indices of the aliphatic rings

aliphaticRingsOfSize

Structural Calculations

identifies the aliphatic rings of a given size in a molecule

the list of atom indices of the aliphatic rings of a given size in the molecule (or null if the molecule doesn't have aliphatic rings)

-

  • aliphaticRingsOfSize() returns the atom indices of the aliphatic rings of a given size

allTautomer

Isomers

returns a given tautomer form of all tautomers of the input molecule

the tautomer

tautomer index

  • allTautomer(1) returns the 2nd tautomer of all tautomers

allTautomers

Isomers

returns all tautomers of the input molecule in an array

the array of tautomers

normal (for normal tautomerization, default is false)

  • allTautomers('normal:true') returns all normal tautomer forms in an array

angle

Structural Calculations

calculates the angle between 3 atoms

the angle between 3 atoms

(1-based) atom indexes of the 3 atoms in an "index1-index2-index3" format OR an atom defined by an array of indexes (index1, index2, index3)

  • angle('1-2-3') returns the angle between atoms 1, 2 and 3

  • angle(atoms(2, 3, 4)) returns the angle between atoms 2, 3 and 4

arom

-

returns if an atom has an aromatic bond

true if the atom has an aromatic bond, false otherwise

the atom index or MolAtom object

  • arom(0) decides if the 1st atom in the array of all atoms has an aromatic bond

aromaticAtom

Structural Calculations

checks if a specified atom is aromatic

true for aromatic atoms, false otherwise

the atom index or MolAtom object

  • aromaticAtom(1) decides if the 2nd atom of the molecule is aromatic

aromaticAtomCount

Structural Calculations

calculates the number of aromatic atoms in the molecule

the number of aromatic atoms in the molecule

-

  • aromaticAtomCount() returns the number of aromatic atoms in the molecule

aromaticBondCount

Structural Calculations

calculates the number of aromatic bonds in the molecule

the number of aromatic bonds in the molecule

-

  • aromaticBondCount() returns the number of aromatic bonds in the molecule

aromaticRingCount

Structural Calculations

calculates the number of aromatic rings in the molecule

the number of aromatic rings in the molecule

-

  • aromaticRingCount() returns the number of aromatic rings in the molecule

aromaticRingCountOfSize

Structural Calculations

calculates the number of aromatic rings of a given size in the molecule

the number of aromatic rings of a given size in the molecule

the ring size

  • aromaticRingCountOfSize(5) returns the number of 5-member aromatic rings in the molecule

aromaticRings

Structural Calculations

identifies the aromatic rings in the molecule

atom indexes of the aromatic rings in the molecule (or null if the molecule does not contain aromatic rings)

-

  • aromaticRings() returns the atom indexes of the aromatic rings in the molecule

aromaticRingsOfSize

Structural Calculations

identifies the aromatic rings of a given size in the molecule (number of atoms)

atom indexes of the aromatic rings of a given size in the molecule (or null if the molecule does not contain aromatic rings)

the ring size

  • aromaticRingsOfSize(6) returns the atom indexes of the 6-member aromatic rings in the input molecule

array

-

constructs an integer array from its integer arguments

the integer array

the integers or MolAtom objects

  • array(2, 3, 4, 5)

ASAHydrophobic

Structural Calculations

calculates the water accessible molecular surface area of all hydrophobic atoms

the molecular surface area

pH value (used for calculating the major microspecies if specified)

  • ASAHydrophobic() calculates the hydrophobic water accessible surface area for the input molecule

  • ASAHydrophobic('7.4') calculates the hydrophobic water accessible surface area for the major microspecies form of the input molecule at pH 7.4

ASANegative

Structural Calculations

calculates the water accessible molecular surface area of all atoms with negative partial charge

the molecular surface area

pH value (used for calculating the major microspecies if specified)

  • ASANegative() calculates the water accessible surface area for the atoms of negative partial charge of the input molecule

  • ASANegative('7.4') calculates the water accessible surface area for the atoms of negative partial charge of the major microspecies form of the input molecule at pH 7.4

ASAPlus

Structural Calculations

calculates the water accessible molecular surface area of all atoms with positive partial charge

the molecular surface area

pH value (used for calculating the major microspecies if specified)

  • ASAPlus() calculates the water accessible surface area for the atoms of positive partial charge of the input molecule

  • ASAPlus('7.4') calculates the water accessible surface area for the atoms of positive partial charge of the major microspecies form of the input molecule at pH 7.4

ASAPolar

Structural Calculations

calculates the water accessible molecular surface area of all polar atoms

the molecular surface area

pH value (used for calculating the major microspecies if specified)

  • ASAPolar() calculates the water accessible surface area of all polar atoms

  • ASAPolar('7.4') calculates the water accessible surface area of all polar atoms in the major microform of the molecule at pH 7.4

asymmetricAtom

Structural Calculations

checks if a specified atom is asymmetric

true for asymmetric atoms, false for symmetric atoms

atom index or MolAtom object

  • asymmetricAtom(3) checks if the atom with the index 3 in the molecule is asymmetric

asymmetricAtomCount

Structural Calculations

calculates the number of asymmetric atoms

the asymmetric atom count

-

  • asymmetricAtomCount() returns the number of asymmetric atoms in the input molecule

asymmetricAtoms

Structural Calculations

determines the asymmetric atoms

the indexes of asymmetric atoms

-

  • asymmetricAtoms() returns the array of asymmetric atoms in the molecule

atomicNumber, atno

-

returns the atomic number of an atom

the atomic number

atom index or MolAtom object

  • atomicNumber(1) returns the atomic number of the 2nd atom in the molecule

  • atno(2) returns the atomic number of the 3rd atom in the molecule

atomCount

-

returns the number of (specified) atoms in the molecule

the (specified) atom count with the given parameters

  • no parameter means all atoms are counted

  • "x.y", where x is the atomic number and y is the isotope mass (if y is not given, all atoms of that given atomic number are counted)

  • atomCount() returns the total number of atoms in the molecule

  • atomCount('6') returns the total number of carbon atoms in the molecule

  • atomCount('6.14') returns the total number of carbon 14 isotope atoms

atomicPolarizability, atomPol, pol, polarizability

Structural Calculations

calculates the atomic polarizability

the atomic polarizability

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • atomicPolarizability(0) returns the polarizability of atom 0 of the input molecule

  • atomPol(2, '7.4') returns the polarizability of atom 2 of the major microspecies form of the molecule taken at pH 7.4

atomProp

atoms

averageMicrospeciesCharge

Protonation

calculates the average microspecies charge (the weighted sum of charges of all microspecies of the molecule) at a given pH value

the average charge

pH value (used for calculating the major microspecies if specified)

  • averageMicrospeciesCharge('7.4') calculates the average charge of the microspecies at pH 7.4

averagePolarizability, averagePol, avgPol

Structural Calculations

calculates the average molecular polarizability considering the 3D geometry

the polarizability value

pH value (used for calculating the major microspecies if specified)

  • averagePol('7.4') calculates the average polarizability of the major microspecies form of the molecule at pH 7.4

axxPol

Structural Calculations

calculates the 1st principal component of the polarizability tensor (Axx, Ayy, Azz)

the 1st principal component

pH value (used for calculating the major microspecies if specified)

  • axxPol() calculates the 1st principal component of the polarizability tensor of the molecule

ayyPol

Structural Calculations

calculates the 2nd principal component of the polarizability tensor (Axx, Ayy, Azz)

the 2nd principal component

pH value (used for calculating the major microspecies if specified)

  • ayyPol() calculates the 2nd principal component of the polarizability tensor of the molecule

azzPol

Structural Calculations

calculates the 3rd principal component of the polarizability tensor (Axx, Ayy, Azz)

the 3rd principal component

pH value (used for calculating the major microspecies if specified)

  • azzPol() calculates the 3rd principal component of the polarizability tensor of the molecule

balabanIndex

Structural Calculations

calculates the Balaban index

the Balaban index

-

  • balabanIndex() calculates the Balaban index of the molecule

basicpKa, bpKa

Protonation

returns basic pKa value(s) (if any)

the basic pKa value(s)

  • atom index or MolAtom object

  • strength index (an integer given between ' marks e.g. '2' denotes the 2nd strongest basic pKa value)

  • basicpKa() returns all basic pKa values of the molecule

  • bpKa(1) returns the basic pKa value of the 2nd atom

  • basicpKa('1') returns the strongest basic pKa value of the molecule

  • basicpKa(1, '1') returns the strongest basic pKa value of the 2nd atom

basicpKaLargeModel

Protonation

returns the basic pKa value(s) using the Large calculation model (optimised for molecules with a large number of ionisable atoms)

the basic pKa value(s)

  • atom index or MolAtom object

  • strength index (an integer given between ' marks e.g. '2' denotes the 2nd strongest acidic pKa value)

  • basicpKaLargeModel(2) returns the basic pKa value of the 3rd atom

  • basicpKaLargeModel('2') returns the 2nd strongest basic pKa value of the molecule

basicpKaUseCorrection

Protonation

returns the basic pKa value(s) using a specified pKa correction library

the basic pKa values

  • atom index or MolAtom object

  • strength index (an integer given between ' marks e.g. '2' denotes the 2nd strongest basic pKa value)

  • pKa correction (training) library specified in the format of correctionlibrary:name, generated by the cxtrain command line tool

  • basicpKaUseCorrection(‘correctionlibrary:mypka’, '1') calculates the strongest basic pKa value of the molecule taking into account the mypka correction library for training

bmf

Structural Calculations

calculates the Bemis-Murcko framework of the molecule

the BMF for the input structure

-

  • bmf() returns the Bemis-Murcko framework of the input molecule

bemisMurckoFrameworkLoose, bmfl

Structural Calculations

calculates the loose Bemis-Murcko framework of the molecule (by removing side chains; exocyclic non-single bonded atoms are kept; the remaining atom and bond types are not changed)

the loose BMF for the input structure

-

  • bmfl() returns the loose Bemis-Murcko framework of the input molecule

bmflp, bemisMurckoFrameworkLoosePruned

Structural Calculations

returns the Bemis-Murcko loose framework of the input structure (by removing side cains; atom and bond types are generalized by replacing all atoms with carbons and setting all bond types to single; exocyclic non single bonded atoms are kept as single bonded carbons)

the generalized loose BMF of the input structure

-

  • bmflp() returns the generalized loose Bemis-Murcko framework of the input molecule

bondCount

-

calculates the bond count

the bound count

-

  • bondCount() returns the number of bonds in the molecules

bondType

Structural Calculations

returns the bond type between two atoms

the bond type or -1 if there is no bond between the two atoms

the (1-based) atom indexes of the two atoms in a string "index1-index2" (e.g. '2-3')

  • bondType('2-3') and bondType(bond(1, 2)) both return the bond type between atoms 1 and 2 in the input molecule

booleanToNumber

-

returns the numerical representation of a boolean expression (true = 1, false = 0) or the number itself if the input is a number (or an expression)

the number representation of a boolean value

boolean expression or number/numerical expression

  • booleanToNumber(1<2) returns 1

  • booleanToNumber(5*5) returns 25

  • booleanToNumber(hasValenceError()) returns 0 for molecules with no valence error

canonicalResonant

Isomers

generates the canonical resonant form of the molecule

the canonical resonant form

-

  • canonicalResonant() generates the canonical resonant form of the input molecule

canonicalTautomer

Structural Calculations

generates the canonical tautomer form of the molecule

the canonical tautomer form

normalization option (to generate the normal canonical tautomer)

  • canonicalTautomer('normal:true') generates the normal canonical tautomer of the input molecule

carboAliphaticRingCount

Structural Calculations

calculates the number of carbo-aliphatic (containing only aliphatic C atoms) rings in the molecule

the number of carbo-aliphatic rings in the molecule

-

  • carboAliphaticRingCount() calculates the number of carboaliphatic rings of the input molecule

carboAromaticRingCount

Structural Calculations

calculates the number of carbo-aromatic (containing only aromatic C atoms) rings in the molecule

the number of carbo-aromatic rings in the molecule

-

  • carboAromaticRingCount() calculates the number of carbo-aromatic rings of the input molecule

carboRingCount

Structural Calculations

calculates the number of C (containing only C atoms) rings in the molecule

the number of C rings in the molecule

-

  • carboRingCount() calculates the number of C rings of the input molecule

carboRingCountOfSize

Structural Calculations

calculates the number of C (containing only C atoms) rings of a given size in the molecule

the number of C rings of a given size in the molecule

ring size

  • carboRingCountOfSize(5) calculates the number of 5-membered C rings of the input molecule

carboRings

Structural Calculations

identifies the C (containing only C atoms) rings in the molecule

atom indexes of the C rings in the molecule (or null if the molecule does not contain C rings)

-

  • carboRings() returns the atom indexes of the C rings in the input molecule

carboRingsOfSize

Structural Calculations

identifies the C (containing only C atoms) rings in the molecule of a given size

atom indexes of the C rings in the molecule having the given size (or null if the molecule does not contain C rings)

ring size

  • carboRingsOfSize(6) returns the atom indexes of the 6-membered C rings of the input molecule

chainAtom

Structural Calculations

checks if a specified atom is a chain atom

true for chain atoms (false otherwise)

atom index or MolAtom object

  • chainAtom(2) returns true if atom 2 is a chain atom, false otherwise

chainAtomCount

Structural Calculations

calculates the number of chain atoms in the molecule

the number of chain atoms

-

  • chainAtomCount() returns the number of chain atoms in the molecule

chainBond

Structural Calculations

checks if two atoms are connected by a chain bond

true if two atoms are connected by a chain bond

(1-based) atom indexes of the two atoms in a string: "index1-index2" (e.g. '2-3')

  • chainBond('2-3') and chainBond(bond(2, 3)) both return true if the bond between atom 2 and 3 is a chain bond, false otherwise

chainBondCount

Structural Calculations

calculates the chain bond count

the chain bond count

-

  • chainBondCount() returns the number of chain bonds in the input molecule

charge

Structural Calculations

calculates atomic partial charges of a given type

the partial charge values

  • atom index or MolAtom object

  • charge type that can be:

    • total (default)

    • pi

    • sigma

    • aromaticsystem

    • aromaticsystemsigma

    • aromaticsystempi

    • aromaticring

    • aromaticringsigma

    • aromaticringpi

  • pH value (used for calculating the major microspecies if specified)

  • charge(1, "pi") calculates the pi partial charge of atom 1 in the molecule

  • charge(2, "sigma", "7.4") calculates the sigma partial charge of atom 2 of the major microspecies of the input molecule at pH 7.4

chargeDensity, totalChargeDensity

Structural Calculations

calculates the charge density of atoms

the charge density (NaN for non-existing values)

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • chargeDensity(2) calculates the charge density of atom 2 of the input molecule

check

-

checks the molecule for errors based on a configuration string

the error report

structure checker/fixer configuration as an action string or XML string

  • check("aromaticity..valence")

  • check('"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><checkers><AromaticityErrorChecker fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.RearomatizeFixer\" type=\"general\"/><ValenceErrorChecker allowTraditionalNitrogen=\"false\" fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.ValenceFixer\"/></checkers> "')

Both checkers check for aromaticity and valence errors in the molecule and returns them.

checkErrorCount

-

checks the molecule for errors based on a configuration string and returns the error count

the total error count

structure checker/fixer configuration as an action string or XML string

  • checkErrorCount("aromaticity..valence")

  • checkErrorCount('"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><checkers><AromaticityErrorChecker fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.RearomatizeFixer\" type=\"general\"/><ValenceErrorChecker allowTraditionalNitrogen=\"false\" fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.ValenceFixer\"/></checkers> "')

Both checkers check for aromaticity and valence errors and returns the error count.

chiralCenter

Structural Calculations

checks if a specified atom is a chiral center in the molecule

true for a chiral center, false otherwise

atom index or the MolAtom object

  • chiralCenter(2) returns true if atom 2 of the input molecule is a chiral center

chiralCenterCount

Structural Calculations

calculates the number of chiral centers in the molecule

the number of chiral centers

-

  • chiralCenterCount() returns the number of chiral centers of the input molecule

chiralCenters

Structural Calculations

lists the chiral centers of the molecule

indexes of the chiral centers of the molecule

-

  • chiralCenters() returns the indexes of the chiral centers of the input molecule

composition

-

calculates the elemental composition of the molecule

the elemental composition

-

  • composition() returns the elemental composition of the molecule

conformer

Structural Calculations

returns a given conformer of the molecule

the conformer

(0-based) conformer index

  • conformer(1) the 2nd conformer of the molecule

conformerCount

Structural Calculations

returns the number of generated conformers for the molecule (default is 100)

the number of conformers

-

  • conformerCount() returns the number of generated conformers of the input molecule

conformers

Structural Calculations

generates conformers of the molecule

the set of conformers generated

  • forcefield (MMFF94 or Dreiding, the default is Dreiding)

  • maxconformers (default is 100)

  • diversity (default is 0.1)

  • hyperfine (default is false)

  • prehydrogenize (default is true)

  • timelimit (in secs, default is 900)

  • optimization (from 0 to 3, default is 1)

  • conformers('forcefield:mmff94 maxconformers:50 optimization:2') generates at most 50 conformers using the MMFF94 forcefield and a strict optimization level

connected

Structural Calculations

checks if two atoms are connected by bonds in the molecule

true if the two atoms belong to the same connected component, false otherwise

(1-based) atom indexes of the two atoms in a string "index1-index2" (e.g. '2-3')

  • connected('2-3') or connected(pair(2, 3)) both return true if atoms 2 and 3 are in the same connected component of the input molecule

connectedGraph

Structural Calculations

checks whether the molecule graph is connected

true if the molecule graph is connected, false otherwise

-

  • connectedGraph() returns true if the input molecule graph is connected

connections

-

returns the bond plus the implicit H count of an atom in the molecule

the bond plus implicit H count

the atom index or MolAtom object

  • connections(2) returns the number of connections of atom 2 in the molecule

count

-

determines the number of elements in an array

the number of elements in the array

the integer/real number array

  • count(array(3.4, 5.6, 1.2)) returns 3

  • count(filter('charge()>0')) returns the number of atoms with positive partial charge in the molecule

cyclomaticNumber

Structural Calculations

calculates the cyclomatic number of the molecule graph

the cyclomatic number

-

  • cyclomaticNumber() returns the cyclomatic number of the molecule

dihedral

Structural Calculations

calculates the dihedral angle of 4 atoms in the molecule

the dihedral angle

the (1-based) atom indexes of the four atoms in a string "index1-index2-index3-index4" (e.g. '2-3-7-4')

  • dihedral('1-2-3-4') calculates the dihedral angle between atom 1,2,3 and 4

  • dihedral(atoms(0,1,2,3)) calculates the dihedral angle between atoms defined by atom indices 0,1,2 and 3

disjointMatchCount

-

performs substructure search and returns the maximal number of pairwise disjoint search hits

the maximal number of pairwise disjoint query search hits found in the target molecule

  • target atom index or MolAtom object (optional)

  • query molecule object or SMARTS string

  • query atom mapping(s) (optional)

If the target atom index and the query atom mappings are specified, the return value can only be 0 or 1.

  • disjointMatchCount('[#8]C=O') calculates the number of pairwise disjoint carboxylic groups in the molecule

  • disjointMatchCount(2, '[#8]C=O') calculates the number of pairwise disjoint carboxylic groups in the molecule with the target atom 2 (either 0 or 1)

dissimilarity

-

calculates the dissimilarity between two molecules using a given fingerprint and metric

the dissimilarity value

  • the descriptor and/or metric options given as descriptor:metric or descriptor (optional, the chemical (hashed) fingerprint with Tanimoto metric is used as default)

  • 1 or 2 molecules (if only 1 molecule is specified then the other one is taken from the context)

  • dissimilarity("c1ccccc1", "C1CCCCC1") calculates the dissimilarity between benzene and cyclohexane using the chemical (hashed) fingerprint with Tanimoto metric

  • dissimilarity("PF", "c1ccccc1", "C1CCCCC1") calculates the dissimilarity between the benzene and cyclohexane molecules using the pharmacophore fingerprint with the (default) Tanimoto metric

  • dissimilarity("PF:Euclidean", "c1ccccc1") calculates the dissimilarity between benzene and the input molecule using pharmacophore fingerprint with Euclidean metric

  • dissimilarity("LogD", "c1ccccc1") calculates the dissimilarity between benzene and the input molecule using logD with the absolute difference (AbsDiff) metric

distance

Structural Calculations

calculates the distance between two atoms

the distance between the two atoms

the (1-based) atom indexes of the two atoms in a string "index1-index2" (e.g. '2-3')

  • distance('1-2') and distance(pair(0, 1)) both return the distance between atoms 1 and 2 in the molecule

distanceDegree

Structural Calculations

calculates the distance degree of an atom

the distance degree

the atom index or MolAtom object

  • distanceDegree(2) returns the distance degree of atom 2 of the input molecule

dominantTautomer, tautomer

Isomers

returns a dominant tautomer of the molecule

the dominant tautomer

  • dominant tautomer index (0-based)

  • pH value (set if pH effect should be considered)

  • dominantTautomer(0) returns the most dominant tautomer form of the input molecule

  • dominantTautomer(1, "7.4") returns the 2nd most dominant tautomer form of the input molecule at pH 7.4

dominantTautomerCount

Isomers

calculates the number of dominant tautomers

the number of dominant tautomers

  • pH value (set if pH effect should be considered)

  • dominantTautomerCount() returns the number of dominant tautomers of the input molecule

  • dominantTautomerCount('7.4') returns the number of dominant tautomers of the input molecule at pH 7.4

dominantTautomers, tautomers

Isomers

generates all dominant tautomer forms (ordered by distribution)

the array of generated dominant tautomers

  • pH value (set if pH effect should be considered)

  • dominantTautomers() returns the array of dominant tautomers of the input molecule

  • dominantTautomers('7.4') returns the array of dominant tautomers of the input molecule at pH 7.4

donor, don

Structural Calculations

calculates the atomic H bond donor multiplicity

the atomic hydrogen bond donor multiplicity

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • donor(1, '7.4') returns the hydrogen bond donor multiplicity of atom 1 for the major microspecies of the input molecule at pH 7.4

donorCount

Structural Calculations

calculates the hydrogen bond donor count (the number of donor atoms) for the molecule

the molecular hydrogen bond donor count

  • pH value (used for calculating the major microspecies if specified)

  • donorCount("7.4") returns the number of hydrogen bond donor atoms for the major microspecies of the input molecule at pH 7.4

donorSiteCount, donSiteCount

Structural Calculations

calculates the molecular hydrogen bond donor multiplicity (the sum of atomic multiplicities)

the molecular hydrogen bond donor multiplicity

  • pH value (used for calculating the major microspecies if specified)

  • donorSiteCount('7.4') returns the hydrogen bond donor multiplicity for the major microspecies of the input molecule at pH 7.4

dotDisconnectedFormula

-

returns the dot-disconnected formula

the dot disconnected formula

-

  • dotDisconnectedFormula() returns the dot-disconnected formula of the input molecule

dotDisconnectedIsotopeFormula

-

returns the dot-disconnected isotope formula

the dot-disconnected isotope formula

-

  • dotDisconnectedIsotopeFormula() returns the dot-disconnected isotope formula of the input molecule

dotDisconnectedFormulaWithGrouping

-

returns the grouped form of the dot-disconnected formula

the grouped form of the dot-disconnected formula

-

  • dotDisconnectedIsotopeFormulaWithGrouping() returns the grouped form of the dot-disconnected isotope formula of the input molecule

doubleBondStereoIsomer

Isomers

generates a double bond stereoisomer of the molecule

the double bond stereoisomer

the stereoisomer index (0-based)

  • doubleBondStereoIsomer(0) generates the first double bond stereoisomer of the input molecule

doubleBondStereoIsomerCount

Isomers

returns the number of generated double bond stereoisomers

the number of generated double bond stereoisomers

-

  • doubleBondStereoisomerCount() returns the number of generated double bond stereoisomers of the input molecule

doubleBondStereoIsomers

Isomers

generates double bond stereoisomers of the molecule

the array of generated isomers

maxstereoisomers (sets the maximal number of stereoisomers to be generated, default is all)

  • doubleBondStereoIsomers() returns all double bond stereoisomers of the input molecule

  • doubleBondStereoIsomers('maxstereoisomers:10') returns at most 10 double bond stereoisomers of the input molecule

dreidingEnergy

Structural Calculations

returns the Dreiding forcefield energy of the input molecule (for the input if it is a 3D molecule or a generated lowest energy conformer)

the Dreiding energy

  • optimization level strictness (from 0 to 3, 1 default is 1)

  • lowest energy conformer generation option (never, if2D (default), always)

  • dreidingEnergy('optimization:2 calcforleconformer:always') calculates the Dreiding energy of the input molecule using level 2 (strict) optimization and always generating a lowest energy conformer for the input

eccentricity

Structural Calculations

calculates the eccentricity of an atom

the eccentricity of the atom

the atom index or MolAtom object

  • eccentricity(2) returns the eccentricity of atom 2 in the molecule

electronDensity, piChargeDensity

Structural Calculations

calculates the pi electron density of the atoms in the molecule (if exists)

the electron density (returns NaN for non-existing values)

  • the atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • electrondensity(2, '7.5') calculates the electron density of atom 2 for the major microform of the input molecule at pH 7.5

electrophilicity, energyNu, nucleophilicLocalizationEnergy

Structural Calculations

calculates the electrophilicity of aromatic centers (by calculating localization energies for nucleophilic attack)

the electrophilicity of the aromatic atom (or NaN if the atom is non-aromatic)

  • the atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • electrophilicity(2) calculates the eletrophilicity of atom 2 in the input molecule

electrophilicityOrder, aromaticElectrophilicityOrder, orderE

Structural Calculations

calculates the order of electrophilicity (for nucleophilic attack) for atoms (the E(+) order)

the E(+) order of atoms (index numbers starting from 0, smallest is the most reactive)

  • the atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • electrophilicityOrder(1) calculates the E(+) order of atom 1

elemanal

-

calculates basic (elemental) chemical properties of the molecule

the calculated property

  • the available properties:

    • atomCount

    • mass

    • massPrecision

    • exactMass

    • exactMassPrecision

    • formula

    • isotopeFormula

    • dotDisconnectedFormula

    • dotDisconnectedIsotopeFormula

  • elemanal('exactmass') calculates the exact mass of the molecule

elementalAnalysis

-

calculates basic (elemental) chemical properties for a molecule represented by its formula

the calculated property

  • the molecular formula of the input molecule (must be given)

  • the available properties:

    • atomCount

    • mass

    • massPrecision

    • exactMass

    • exactMassPrecision

    • formula

    • isotopeFormula

    • dotDisconnectedFormula

    • dotDisconnectedIsotopeFormula

  • elementalAnalysis('C12H25O', 'mass') returns the mass of molecule represented by its formula

eval

exactMass

-

calculates the exact mass of the molecule

the exact mass

-

  • exactmass() returns the exact mass of the molecule

field

-

returns a molecule property value from an SD field as a number

the SD property value

the property key (the SD file field name)

  • field('LOGP') returns the value of the LOGP property in the SD file

  • field('LOGP') > 1.5 returns 1 if the value of the LOGP property is > 1.5, 0 otherwise

fieldAsString, propertyAsString

-

returns a molecule property value from an SD field as a string

the SD property value as a string

the property key (the SD file field name)

  • fieldAsString('LOGP') returns the value of the LOGP property in the SD file as a string

filter

-

filters target atoms by filtering condition

target atom indices satisfying the filtering condition

  • target atom indices, MolAtom objects or an array of MolAtom objects (optional, default is all)

  • filtering condition (as a boolean expression)

  • filter('charge()>0') returns the list of indices of atoms with positive partial charge in the input molecule

  • filter(6, 7, 8, 9, "match('[#8][C:1]=O', 1)") returns the list of carboxylic atoms from atom 6, 7, 8 and 9 of the input molecule

fix

-

checks the structure for errors using the configuration and then fixes the errors

the fixed molecule

the structure checker/fixer configuration as an action string or XML string

  • fix("chiralflag..isotope→converttoelementalform")

  • fix('"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><checkers><ChiralFlagChecker fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.RemoveChiralFlagFixer\"/><IsotopeChecker fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.ConvertToElementalFormFixer\"/></checkers>"')

Both functions search for chiral flags and isotopes and removes them or converts them to elemental form.

formalCharge, totalCharge

calculates the formal charge of the molecule

the formal charge of the input molecule

the atom index or MolAtom object

  • formalCharge() returns the formal charge of the input molecule

  • formalCharge(0) returns the formal charge of atom 0 of the input molecule

formula

-

returns the molecular formula as a string in Hill notation

the molecular formula

-

  • formula() returns the molecular formula of the input molecule

fragmentCount

Structural Calculations

returns the number of disconnected fragments in the molecule

the fragment count

-

  • fragmentCount() returns the number of disconnected fragments in the molecule

fragments

-

splits and lists the molecule into its disconnected fragments

the disconnected fragments of the molecule

-

  • fragments() returns the disconnected fragments of the molecule

fsp3

Structural Calculations

returns the fraction of sp3 C atoms in the molecule (fsp3)

the fsp3 value

-

  • fsp3() returns the fsp3 value of the molecule

fusedAliphaticRingCount

Structural Calculations

calculates the number of fused aliphatic rings (the number of rings in the smallest set of smallest aliphatic rings, SSSR)

the number of fused aliphatic rings

-

  • fusedAliphaticRingCount() returns the number of fused aliphatic rings in the input molecule

fusedAliphaticRingCountOfSize

Structural Calculations

calculates the number of fused aliphatic rings of given size

the number of fused aliphatic rings of given size

the ring size

  • fusedAliphaticRingCountOfSize(6) returns the number of fused 6-membered aliphatic rings in the input molecule

fusedAliphaticRings

Structural Calculations

identifies the fused aliphatic rings in the molecule

atom indexes of the fused aliphatic rings in the molecule (or null if the molecule does not contain fused aliphatic rings)

-

  • fusedAliphaticRings() returns the atom indexes of the fused aliphatic rings in the input molecule

fusedAliphaticRingsOfSize

Structural Calculations

identifies the fused aliphatic rings in the molecule having a given size (number of atoms)

atom indexes of the fused aliphatic rings in the molecule of the given size (or null if the molecule does not contain fused aliphatic rings)

the ring size

  • fusedAliphaticRingsOfSize(5) returns the atom indexes of the 5-membered fused aliphatic rings in the input molecule

fusedAromaticRingCount

Structural Calculations

calculates the number of fused aromatic rings (the number of rings in the smallest set of smallest aromatic rings, SSSR)

the number of fused aromatic rings

-

  • fusedAromaticRingCount() returns the number of fused aromatic rings in the input molecule

fusedAromaticRingCountOfSize

Structural Calculations

calculates the number of fused aromatic rings of a given size

the number of fused aromatic rings of a given size

the ring size

  • fusedAromaticRingCountOfSize(6) returns the number of 6-membered fused aromatic rings in the input molecule

fusedAromaticRings

Structural Calculations

identifies the fused aromatic rings in the molecule

atom indexes of the fused aromatic rings in the molecule (or null if the molecule does not contain fused aromatic rings)

-

  • fusedAromaticRings() returns the atom indices of the fused aromatic rings in the molecule

fusedAromaticRingsOfSize

Structural Calculations

identifies the fused aromatic rings of a given size in the molecule

atom indexes of the fused aromatic rings in the molecule of a given size (or null if the molecule does not contain fused aromatic rings)

the ring size

  • fusedAromaticRingsOfSize(5) returns the atom indices of the fused aromatic rings of size of 5 in the molecule

fusedRingCount

Structural Calculations

calculates the number of fused rings (the number of rings in the smallest set of smallest rings, SSSR)

the fused ring count

-

  • fusedRingCount() returns the number of fused rings in the molecule

genericTautomer

Isomers

generates the generic tautomer form of the input molecule

the generic tautomer form

-

  • generictautomer() returns the generic tautomer form of the input molecule

hararyIndex

Structural Calculations

calculates the Harary index for the graph of input the molecule

the Harary index

-

  • hararyIndex() calculates the Harary index of the input molecule

hasAromatizationError

-

determines if there is an aromatization error in input the molecule

true if there is any aromatization error in the input molecule, false otherwise

-

  • hasAromatizationError() returns true there is an aromatization error in the input molecule, false otherwise

hasIsotope

-

determines if there is an isotopic atom /element in the input molecule

true if there is an isotopic element in the input molecule, false otherwise

-

  • hasIsotope() returns true if there is an isotopic element in the input molecule, false otherwise

hasRadical

-

determines if there is any atom with a radical in the molecule

true if there is any atom in the molecule with a radical, false otherwise

-

  • hasRadical() returns true if there is an atom in the molecule with a radical, false otherwise

hasValenceError

-

determines if there is a valence error in the input molecule

true if there is a valence error in the molecule, false otherwise

-

  • hasValenceError() returns true if there is a valence error in the molecule, false otherwise

hasValidConformer

Structural Calculations

determines if the input molecule is in 3D (has a valid conformer)

true if the molecule is in 3D, false otherwise

-

  • hasValidConformer() returns true if the molecule is in 3D, false otherwise

HBDA

Structural Calculations

calculates H-bond donor and acceptor properties for the atoms in the input molecule or for the molecule

a list of the calculated HBDA properties

  • type, these can be

    • acc: acceptor multiplicity on atoms

    • don: donor multiplicity on atoms

    • accsitecount: acceptor multiplicity in the molecule

    • donsitecount: donor multiplicity in the molecule

    • acceptorcount: number of acceptor atoms in the molecule

    • donorcount: number of donor atoms in the molecule

    • msacc: average acceptor multiplicity over microspecies at a given pH

    • msdon: average donor multiplicity over microspecies at a given pH
      (default: acceptorcount, donorcount, accsitecount, donorsitecount)

  • options related to pH, these can be

    • pH: calculate for the microspecies at that given pH value instead of the input molecule (default is no pH)

    • upper: upper pH limit (default is 14)

    • lower: lower pH limit (default is 0)

    • step: pH step size (default is 1)

  • excluding certain atoms from acceptors, these can be

    • excludesulfur: excludes S atoms from the acceptors (default is true)

    • excludehalogens: excludes halogen atoms from the acceptors (default is true)

  • precision: floating point precision for numbers (default is 2)

  • hbda('type:acc,don', 'pH:7.4', 'precision:1') lists donor and acceptor multiplicity on atoms of the major microform of the input molecule at pH 7.4

  • hbda('type:donorcount', 'pH:7.4') calculates the donor count of the major microform of the input molecule at pH 7.4

hCount

-

calculates the H atom count of an atom

the H atom count

the atom index or MolAtom object

  • hCount(1) returns the H count of the atom with index 1

heteroAliphaticRingCount

Structural Calculations

calculates the number of aliphatic heterocyclic rings (the number of rings in the smallest set of smallest aliphatic heterocyclic rings, SSSR) in the input molecule

the aliphatic heterocyclic ring count

-

  • heteroAliphaticRingCount() returns the number of aliphatic heterocyclic rings in the input molecule

heteroAliphaticRingCountOfSize

Structural Calculations

calculates the number of aliphatic heterocyclic rings of a given size (the number of rings of a given size in the smallest set of smallest aliphatic heterocyclic rings, SSSR) in the input molecule

the number of aliphatic heterocyclic rings of a given size

the ring size

  • heteroAliphaticRingCountOfSize(8) returns the number of 8-membered aliphatic heterocyclic rings in the input molecule

heteroAliphaticRings

Structural Calculations

identifies the aliphatic heterocyclic rings in the input molecule

atom indexes of the aliphatic heterocyclic rings in the input molecule (or null if the molecule does not have aliphatic heterocyclic rings)

-

  • heteroAliphaticRings() returns the atom indexes of the aliphatic heterocyclic rings in the input molecule

heteroAliphaticRingsOfSize

Structural Calculations

identifies the aliphatic heterocyclic rings of a given size in the input molecule

atom indexes of the aliphatic heterocyclic rings of a given size in the input molecule (or null if the molecule does not have aliphatic heterocyclic rings of the given size)

the ring size

  • heteroAliphaticRingsOfSize(6) returns the atom indexes of the 6-membered aliphatic heterocyclic rings in the input molecule

heteroaromaticRingCount

Structural Calculations

calculates the number of aromatic heterocyclic rings (the number of rings in the smallest set of smallest aromatic heterocyclic rings, SSSR) in the input molecule

the aromatic heterocyclic ring count

-

  • heteroaromaticRingCount() returns the number of aromatic heterocyclic rings in the input molecule

heteroaromaticRingCountOfSize

Structural Calculations

calculates the number of aromatic heterocyclic rings of a given size (the number of rings of a given size in the smallest set of smallest aromatic heterocyclic rings, SSSR) in the input molecule

the number of aromatic heterocyclic rings of a given size

the ring size

  • heteroaromaticRingCountOfSize(8) returns the number of 8-membered aromatic heterocyclic rings in the input molecule

heteroaromaticRings

Structural Calculations

identifies the aromatic heterocyclic rings in the input molecule

atom indexes of the aromatic heterocyclic rings in the input molecule (or null if the molecule does not have aromatic heterocyclic rings)

-

  • heteroAromaticRings() returns the atom indexes of the aromatic heterocyclic rings in the input molecule

heteroaromaticRingsOfSize

Structural Calculations

identifies the aromatic heterocyclic rings of a given size in the input molecule

atom indexes of the aromatic heterocyclic rings of a given size in the input molecule (or null if the molecule does not have aromatic heterocyclic rings of that given size)

the ring size

  • heteroaromaticRingsOfSize(6) returns the atom indexes of the 6-membered aromatic heterocyclic rings in the input molecule

heteroRingCount

Structural Calculations

calculates the number of heterocyclic rings (the number of rings in the smallest set of smallest heterocyclic rings, SSSR) in the input molecule

the number of heterocyclic rings

-

  • heteroRingCount() returns the number of heterocyclic rings in the input molecule

heteroRingCountOfSize

Structural Calculations

calculates the number of heterocyclic rings of a given size (the number of rings of a given size in the smallest set of smallest heterocyclic rings, SSSR) in the input molecule

the number of heterocyclic rings of a given size

the ring size

  • heteroRingCountOfSize(5) returns the number of 5-membered heterocyclic rings in the input molecule

heteroRings

Structural Calculations

identifies the heterocyclic rings in the input molecule

atom indexes of the heterocyclic rings in the input molecule (or null if the molecule does not have heterocyclic rings)

-

  • heteroRings() returns the atom indexes of the heterocyclic rings in the input molecule

heteroRingsOfSize

Structural Calculations

identifies the heterocyclic rings of a given size in the input molecule

atom indexes of the heterocyclic rings of a given size in the input molecule (or null if the molecule does not have heterocyclic rings of that given size)

the ring size

  • heteroRingsOfSize(6) returns the atom indexes of the 6-membered heterocyclic rings in the input molecule

hlb

Partitioning

predicts the hydrophil-lipophil balance (HLB) number

the HLB number

  • the calculation method that can be:

    • davies

    • griffin

    • required

    • chemaxon (default)

  • precision (number of digits, default is 8)

  • hlb('davies') returns the HLB number calculated using the Davies method

hmoElectronDensity

Structural Calculations

calculates the electron density of atoms based on the Hückel Molecular Orbital (HMO) method

the electron density of the atom or NaN for non-existing values

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • hmoElectronDensity(2, '6.5') returns the electron density of the atom of index 2 for the major microspecies of the input molecule at pH 6.5

hmoChargeDensity

Structural Calculations

calculates the charge density of atoms based on the Hückel Molecular Orbital (HMO) method

the charge density of the atom or NaN for non-existing values

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • hmoChargeDensity(2, '6.5') returns the charge density of the atom of index 2 for the major microspecies of the input molecule at pH 6.5

hmoElectrophilicityOrder, hmoOrderE

Structural Calculations

calculates the electrophilic order (E(+) order) of atoms based on electrophilic localization energy calculations using the Hückel Molecular Orbital (HMO) method

the electrophilic order of the atom (0, 1, 2, ..., 0 is the most electrophilic atom) or -1 if the atom is not aromatic

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • hmoOrderE(2) returns the electrophilic order of atom with index 2

hmoElectrophilicLocalizationEnergy

Structural Calculations

calculates the electrophilic localization energy (L(+)) for the atoms of the molecule based on the Hückel Molecular Orbital (HMO) method

the electrophilic localization energy or NaN if the atom is not aromatic

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • hmoElectrophilicLocalizationEnergy(1, '7.4') returns the electrophilic localization energy of atom 1 for the major microspecies of the input molecule at pH 7.4

hmoNucleophilicityOrder, hmoOrderN

Structural Calculations

calculates the nucleophilic order (Nu(-) order) of atoms based on nucleophilic localization energy calculations using the Hückel Molecular Orbital (HMO) method

the nucleophilic order of the atom (0, 1, 2, ..., 0 is the most nucleophilic atom) or -1 if the atom is not aromatic

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • hmoOrderN(2) returns the nucleophilic order of atom with index 2

hmoNucleophilicLocalizationEnergy

Structural Calculations

calculates the nucleophilic localization energy (L(-)) for the atoms of the molecule based on the Hückel Molecular Orbital (HMO) method

the nucleophilic localization energy or NaN if the atom is not aromatic

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • hmoNucleophilicLocalizationEnergy(1, '7.4') returns the nucleophilic localization energy of atom 1 for the major microspecies of the input molecule at pH 7.4

hmoPiEnergy

Structural Calculations

calculates the pi energy of the molecule based on the Hückel Molecular Orbital (HMO) method

the pi energy of the molecule

pH value (used for calculating the major microspecies if specified)

  • hmoPiEnergy('7.4') calculates the pi energy of the major microspecies of the input molecule at pH 7.4

hybridization

Structural Calculations

returns the atoms (indices) of a given hybridization state in the molecule

the list of atoms of a given hybridization state

  • the hybridization state, can be

    • sp3

    • sp2

    • sp

(optional parameter, the function returns the list of hybridization states for all atoms if not specified)

  • hybridization() returns the list of hybridization states for all atoms of the input molecule

  • hybridization('sp3') returns the list of atoms (indices) of sp3 hybridization state

hyperWienerIndex

Structural Calculations

calculates the hyper Wiener index of the molecule

the hyper Wiener index

the fragment option (single) for multi-fragment molecules (takes the largest fragment if true, otherwise the whole molecule (default))

  • hyperWienerIndex() calculates the hyper Wiener index of the molecule

importMol

-

imports and returns the input molecule from its string representation, the output format can be set at evaluation (conversion)

the imported molecule as a string (default is SMILES code)

the string representation of the input molecule (e.g. SMILES, name)

  • importMol('aspirine') imports the aspirine molecule and returns its string representation in the format defined at evaluation

  • importMol('CCCN') imports the CCCN molecule and returns its string representation in the format defined at evaluation

in

-

determines if an integer (atom index) is in a given array

true if the array contains the integer, false otherwise

  • atom index or MolAtom object

  • the integer array

  • in(2, array(1,2,3)) returns true

  • in(4, array(1,2,3)) returns false

  • in(3, maxatom('charge()', 2)) checks if atom 3 is one of the two atoms with the largest partial charge value in the molecule

ionCharge

Structural Calculations

calculates the partial charge distribution of atoms of specific microspecies

the partial distribution of atoms

  • minpercent, min (minimum percentage): the minimal % of distribution of a microspecies to be considered for calculation (optional, only the microspecies with the max. distribution % is considered if not given)

  • maxions (maximum number of ionizable atoms, default is 9)

  • pH value

  • charge type (single or accumulated, the accumulated adds the charges of the attached Hs, default is single)

  • precision (default is 2)

  • ioncharge('minpercent:50', '7.0') calculates the single ionic charge distribution using the microspecies that has at least 50% distribution at pH 7.0

isEmpty

-

determines if the input molecule is an empty object (that is it does not contain any atoms, bonds, or non-empty S groups)

true if the molecule is empty, false otherwise

-

  • isEmpty() determines if the input molecule is an empty object

isMarkush

-

determines if the input molecule has any Markush features

true if the molecule has Markush features, false otherwise

-

  • isMarkush() determines if the input molecule has any Markush features

isoelectricPoint, pI

Protonation

calculates the isoelectric point of the input molecule

the isoelectric point

precision (default is 2)

  • isoelectricPoint() calculates the isoelectric point of the input molecule with 2-digit precision

isotopeComposition

-

calculates the isotope composition of the input molecule

the isotope composition

  • single (takes the largest connected fragment of a multi-fragment input molecule if true, otherwise the whole molecule, default is false)

  • precision (default is 2)

  • isotopeComposition('single:true') calculates the isotope composition of the largest connected fragment of the input molecule

isotopeFormula

-

returns the isotope formula of the input molecule

the isotope formula

  • symbolD (uses the D and T notation for deuterium and tritium atoms, respectively, default is true)

  • single (takes the largest connected fragment of a multi-fragment input molecule if true, otherwise the whole molecule, default is false)

  • isotopeFormula() returns the isotope formula for the whole input molecule without using the D and T notation

isQuery

-

determines if the input molecule has any query features

true if the molecule has any query features, false otherwise

-

  • isQuery() determines if the input molecule has any query features

isValid

-

checks the input structure for errors using a configuration file (string)

true if the structure is valid, false otherwise

structure checker/fixer configuration as an action/XML string

  • isValid('aromaticity..valence') checks the molecule for aromaticity or valence errors

  • isValid( '"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><checkers><AromaticityErrorChecker fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.RearomatizeFixer\" type=\"general\"/><ValenceErrorChecker allowTraditionalNitrogen=\"false\" fixMode=\"fix\" fixerClassName=\"chemaxon.fixers.ValenceFixer\"/></checkers> "' ) checks the molecule for aromaticity and valence errors

largestAtomRingSize

Structural Calculations

calculates the size of the largest ring of the input molecule containing the given atom

the ring size

atom index or MolAtom object

  • largestAtomRingSize(1) returns the size of the largest ring containing atom 1

largestRing

Structural Calculations

identifies the atoms in the largest ring of the input molecule

the list of atom indices of the largest ring (or null if the molecule is acyclic)

-

  • largestRing() returns the list of atoms of the largest ring in the input molecule

largestRingSize

Structural Calculations

calculates the number of atoms in the largest ring of the input molecule

the largest ring size

-

  • largestRingSize() returns the size of the largest ring in the input molecule

largestRingSystem

Structural Calculations

identifies the atoms in the largest ring system of the input molecule

the list of atom indices of the largest ring system (or null if the molecule is acyclic)

-

  • largestRingSystem() returns the list of atoms of the largest ring system in the input molecule

largestRingSystemSize

Structural Calculations

calculates the number of atoms in the largest ring system of the input molecule

the size of the largest ring system

-

  • largestRingSystemSize() returns the size of the largest ring system in the input molecule

logD

Partitioning

calculates logD at specific pH value(s)

the logD value(s)

  • method (of logP calculation), can be

    • consensus (default)

    • chemaxon

    • user (requires training ID)

  • logptrainingid (logP training library ID)

  • pkacorrectionlibrary (pKa correction library ID)

  • pH value (runs the defined pH range with the defined step size if not specified)

  • lower (lower pH limit, default is 0.0)

  • upper (upper pH limit, default is 14.0)

  • step (pH step size, default is 0.5)

  • anion (Cl- ion concentration, default is 0.1, can be between 0.0 and 0.25)

  • kation (Na+/K+ ion concentration, default is 0.1, can be between 0.0 and 0.25)

  • considertautomerization (for taking tautomerization and resonance into account, default is false)

  • precision (default is 2)

  • logD('7.4') calculates the logD of the input molecule using the default settings

  • logD('method:chemaxon', '7.4') calculates the logD of the input molecule using the ChemAxon logP model at pH 7.4

  • logD('method:user', 'logptrainingid:mylogpdata', 'considertautomerization:true') calculates the logD of the input molecule using the user's own logP data taking tautomerization/resonance effects into consideration

logDKLOP

Partitioning

calculates logD value(s) using the Klopman (logP) method

the logD value(s)

all options (except method) of the logD() function

  • logDKLOP('7.4') calculates the logD value of the input molecule at pH 7.4 using the Klopman method

logDPHYS

Partitioning

calculates the logD value(s) using the PhysProp database

the logD value(s)

all options (except method) of the logD() function

  • logPHYS('7.4') calculates the logD value of the input molecule at pH 7.4 using the PhysProp database

logDUser

Partitioning

calculates logD value(s) based on the user's training data

the logD value(s)

all options (except method) of the logD() function, logP training ID must be specified

  • logDUser('logptrainingid:mylogP', 'lower:1.0', 'upper:8.0') calculates the logD values of the input molecule for all pH values between 1.0 and 8.0 using the default stepsize and the user's training data

logDVG

Partitioning

calculates logD value(s) using the VG (logP) method

the logD value(s)

all options (except method) of the logD() function

  • logDVG('7.4') calculates the logD value of the input molecule at pH 7.4 using the VG method

logDWeighted

Partitioning

calculates logD value(s) using the weighted (logP) method

the logD value(s)

all options (except method) of the logD() function

  • logDWeighted('7.4') calculates the logD value of the input molecule at pH 7.4 using the weighted method

logP

Partitioning

calculates the logP of the molecule

the logP value

  • method, can be

    • consensus (default)

    • chemaxon

    • user

  • trainingid (training library ID)

  • type, can be

    • logPTrue (= logP of the uncharged form of the input molecule or logD at the pI if the input molecule is zwitterionic) (default)

    • logPMicro (= logP of the input molecule)

    • logPNonionic (= logP of the uncharged form of the input molecule)

    • logDpI (= logD at pI)

  • increments (for atomic increments, default is false)

  • pH value (calculates the logP of the major microspecies of the input molecule at this pH value if specified)

  • anion (Cl- ion concentration, default is 0.1, can be between 0.0 and 0.25)

  • kation (Na+/K+ ion concentration, default is 0.1, can be between 0.0 and 0.25)

  • considertautomerization (for taking tautomerization and resonance into account, default is false)

  • precision (default is 2)

  • logP() calculates the most "typical" logP value of the input molecule

  • logP('method:chemaxon') calculates the logP of the input molecule using the ChemAxon method

  • logP('logPNonionic') calculates the non-ionic, uncharged form of the input molecule

logPincrement, logPi

Partitioning

calculates atomic logP increment(s)

the logP increment(s)

atom index or MolAtom object

  • logPincrement(2) calculates the atomic logP increment of atom 2

  • logPi(3) calculates the atomic logP increment of atom 3

logPKLOP

Partitioning

calculates the logP value of the molecule using the Klopman method

the logP value

all options (except method) of the logP() function

  • logPKLOP() calculates the logP of the molecule using the Klopman method

logPPHYS

Partitioning

calculates the logP value of the molecule using the PhysProp database

the logP value

all options (except method) of the logP() function

  • logPPHYS() calculates the logP of the molecule using the Physprop database

logPUser

Partitioning

calculates the logP value of the molecule based on the user's training data

the logP value

all options (except method) of the logP() function, logP training ID must be specified

  • logPUser('logptrainingid:mylogP') calculates the logP of the molecule based on the user's training data

logPVG

Partitioning

calculates the logP value of the molecule using the VG method

the logP value

all options (except method) of the logP() function

  • logPVG() calculates the logP of the molecule using the VG method

logPWeighted

Partitioning

calculates the logP value of the molecule using the weighted method

the logP value

all options (except method) of the logP() function

  • logPWeighted() calculates the logP of the molecule using the weighted method

logS

Solubility

calculates the (intrinsic or pH-dependent) solubility of the molecule in water

the solubility value(s)

  • unit (measurement unit), can be

    • logS (default)

    • mol/l

    • mg/ml

    • category (calculates qualitative solubility category, can be low, moderate or high)

  • pH value (calculates intrinsic solubility if not specified)

  • logS() calculates intrinsic solubility in logS unit

  • logS('7.4', 'mol/l') calculates solubility at pH 7.4 in mol/l unit

lowestEnergyConformer, leconformer

Structural Calculations

generates the lowest energy conformer of the molecule

the lowest energy conformer

-

  • lowestEnergyConformer() generates the lowest energy conformer of the molecule

majormicrospecies, majorms

Protonation

generates the major microspecies of the molecule at a certain pH value

the major microspecies

  • pH value (must be specified)

  • majortautomer (takes the major tautomer form of the molecule, default is false

  • keephydrogens (keeps the explicit H atoms on the molecule, default is false)

  • majormicrospecies('6.5') generates the major microspecies of the molecule at pH 6.5

  • majorms('7.4 majortautomer:true') generates the major microspecies at pH 7.4 taking tautomerization into consideration

majortautomer

Isomers

generates the major tautomer of the molecule

the major tautomer

  • pH value (set if pH effect should be considered)

  • majortautomer('7.4') generates the major tautomer form of the molecule at pH 7.4

map

-

returns the map number of an atom

the map number

atom index or MolAtom object

  • map(2) returns the map number of atom 2

markushEnumerationCount, enumerationCount

Markush Enumeration Plugin

calculates the number of Markush enumerations

the number of Markush enumerations

(1-based) query atom indexes to be enumerated (default is all)

  • markushEnumerationCount() returns the number of Markush enumerated structures of the input molecule

  • markushEnumerationCount('4,5') returns the number of Markush enumerated structures of the input molecule, enumerating atoms 4 and 5

markushEnumeration, enumeration markushEnumerations, enumerations

Markush Enumeration Plugin

generates Markush enumerated structures sequentially

the enumerated structures

  • (1-based) query atom indexes to be enumerated (default is all)

  • the number of structures to be enumerated (default is all)

  • markushEnumerations() returns all enumerated Markush structures of the input molecule

  • markushEnumerations(1, '2, 3') returns one Markush structure enumerated on atoms 2 and 3

markushEnumerationsDisplay

Markush Enumeration Plugin

generates Markush enumerated structures sequentially with scaffold alignment and scaffold/R group colouring and enumeration ID

the enumerated structures with alignment, colouring data and enumation ID

  • (1-based) query atom indexes to be enumerated (default is all)

  • the number of structures to be enumerated (default is all)

  • markushEnumerationsDisplay() returns all enumerated Markush structures of the input molecule with scaffold alignment and colouring data

markushLibraryMagnitude

Markush Enumeration Plugin

calculates the Markush Library magnitude but performs no enumeration

the Markush library magnitude

(1-based) query atom indexes to be enumerated (default is all)

  • markushLibraryMagnitude() returns the magnitude of the Markush library using all atoms for enumeration

  • markushLibraryMagnitude('4, 5') returns the magnitude of the Markush library using only atoms 4 and 5 for enumeration

markushLibrarySize

Markush Enumeration Plugin

calculates the Markush library size but performs no enumeration

the Markush library size

(1-based) query atom indexes to be enumerated (default is all)

  • markushLibrarySize('4, 5') returns the size of the Markush library using only atoms 4 and 5 for enumeration

markushLibrarySizeAsString

Markush Enumeration Plugin

calculates the Markush library size and returns it as a string but performs no enumeration

the Markush library size as a string

(1-based) query atom indexes to be enumerated (default is all)

  • markushLibrarySizeAsString('4, 5') returns the size of the Markush library as a string using only atoms 4 and 5 for enumeration

mass

-

calculates the molecular mass

the molecular mass

  • single (takes the largest connected fragment of a multi-fragment input molecule if true, otherwise the whole molecule, default is false)

  • precision (default is 2)

  • mass() calculates the molecular mass of the input molecule

massspectrum

-

calculates the mass distribution of the molecule considering the relative abundance of the isotopes (mass spectrum)

the mass spectrum as a series of discrete values

  • single (takes the largest connected fragment of a multi-fragment input molecule if true, otherwise the whole molecule, default is false)

  • precision (default is 2)

  • massspectrum() calculates the mass spectrum of the molecule

match

-

performs substructure search and checks atom matching

true if the query (sub)structure is found in the target molecule, false otherwise

the hit is required to include the target atom if specified

  • target atom index or MolAtom object

  • query molecule object/SMARTS string

  • query atom map(s): if specified, the mapped atoms should match the target atom (optional)

  • match("[#8]C=O") performs substructure search without atom maps, the target being the input molecule, the query being the carboxylic molecule given as a SMARTS string

  • match(6, "[#8][C:1]=O", 1) performs substructure search, checking if target atom 6 matches the C atom (with map 1) of the carboxylic group

  • match(6, "[#8:1]C=[O:2]", 1, 2) performs substructure search, checking if target atom 6 of the input molecule is a carboxylic O

matchCount

-

performs substructure search, checks atom matching and counts search hits

the number of search hits

  • target atom index or MolAtom object

  • query molecule object/SMARTS string

  • query atom map(s): if specified, the mapped atoms should match the target atom (optional)

  • matchCount("[#8]C=O") counts substructure search hits without atom maps, the target being the input molecule, the query being the carboxylic molecule given as a SMARTS string

  • matchCount(6, "[#8]C=O") counts substructure search hits in which the target atom 6 matches any atom of the carboxylic group

  • matchCount(6, "[#8:1]C=[O:2]", 1, 2) counts search hits with target atom 6 being a carboxylic O

matchFirst

-

max

-

takes the maximum value of a numerical array of elements

the maximum value

integer/real number array

  • max(2, 4, 6) returns 6

  • max(1.1, 2.3, 4.5) returns 4.5

  • max(charge(0), charge(1), charge(2), charge(3)) returns the maximal partial charge of atoms 0, 1, 2 and 3

  • max(charge()) returns the maximal atomic partial charge of the input molecule

maxAtom

-

evaluates a function on the atoms of the molecule and finds the atoms with the largest value(s)

atom indices corresponding to the largest values

  • target atom indices/MolAtom objects or arrays of them (optional, default is all)

  • the function given as a string

  • the number of largest values to be returned (optional, default is 1)

  • maxAtom(1, 2, 3, 4, 'charge("7.4")', 2) returns the indices of the two largest partial charge values of atoms 1, 2, 3 and 4 of the major microspecies at pH 7.4

  • maxAtom('acceptor()', 3) returns the indices of the atoms with the three largest H-bond acceptor multiplicity

maximalProjectionArea

Structural Calculations

calculates the maximal projection area of the molecule

the maximal projection area

  • optimization (sets optimization level), can be

    • 0 (very loose)

    • 1 (normal, default)

    • 2 (strict)

    • 3 (very strict)

  • optimizeprojection (sets projection optimization, default is false)

  • calcforleconformer (set lowest energy conformer calculation), can be

    • if2D (default)

    • never

    • always

  • maximalprojectionarea('optimization:2') calculates the maximal projection area of the conformer of the molecule with strict geometry optimization

maximalProjectionRadius

Structural Calculations

calculates the maximal projection radius of the molecule

the maximal projection radius

all options of the maximalprojectionarea() function

  • maximalProjectionRadius('optimization:2') calculates the maximal projection radius of the conformer of the molecule with strict geometry optimization

maximalProjectionSize

Structural Calculations

calculates the maximal distance in the molecule perpendicular to the maximal projection surface

the maximal distance

all options of the maximalprojectionarea() function

  • maximalProjectionSize() calculates the maximal distance in the conformer of the molecule perpendicular to its maximal projection surface

maxValue

-

evaluates a function on the atoms of the molecule and returns some of the largest value(s)

the largest value(s)

all options of the maxAtom() function

  • maxValue(1, 2, 3, 4, 'charge("7.4")', 2) returns the two largest partial charge values of atoms 1, 2, 3 and 4 of the major microspecies at pH 7.4

  • maxValue('acceptor()', 3) returns the three largest H-bond acceptor multiplicities

microspecies, ms

Protonation

generates a microspecies at a specific pH value

the microspecies

  • pH value (as a string)

  • microspecies index (integer starting from 0) by descending order of distribution (optional, default is 0)

  • microspecies('7.4', 0) generates the most dominant microspecies of the molecule at pH 7.4

microspeciescount, mscount

Protonation

calculates the number of microspecies of the molecule at a given pH value

the microspecies count

  • pH value (as a string)

  • microspeciesCount('7.4') calculates the number of microspecies of the molecule at pH 7.4

microspeciesdistribution, msdistr

Protonation

calculates the microspecies distribution of the molecule at a given pH value

the microspecies distribution

  • pH value (as a string)

  • the microspecies index by descending order of distribution (optional, uses the major microspecies if not specified)

  • microspeciesdistribution('7.4') returns the distribution of the major microspecies (with the largest distribution) at pH 7.4

  • msdistr('8.0', 2) returns the distribution of the 2nd most dominant microspecies of the input molecule at pH 8.0

min

-

takes the minimum value of a numerical array of elements

the minimum value

integer/real number array

  • min(2, 4, 6) returns 2

  • min(1.1, 2.3, 4.5) returns 1.1

  • min(charge(0), charge(1), charge(2), charge(3)) returns the minimal partial charge of atoms 0, 1, 2 and 3

  • min(charge()) returns the minimal atomic partial charge of the input molecule

minAtom

-

evaluates a function on the atoms of the molecule and finds the atoms with the minimal value(s)

atom indices corresponding to the smallest values

  • target atom indices/MolAtom objects or arrays of them (optional, default is all atoms)

  • the function given as a string

  • the number of smallest values to be returned (optional, default is 1)

  • minAtom(1, 2, 3, 4, 'charge("7.4")', 2) returns the indices of the two smallest partial charge values of atoms 1, 2, 3 and 4 of the major microspecies at pH 7.4

  • minAtom('acceptor()', 3) returns the indices of the atoms with the three smallest H-bond acceptor multiplicity

minimalProjectionArea

Structural Calculations

calculates the minimal projection area of the molecule

the minimal projection area

  • optimization (sets optimization level), can be

    • 0 (very loose)

    • 1 (normal, default)

    • 2 (strict)

    • 3 (very strict)

  • optimizeprojection (sets projection optimization, default is false)

  • calcforleconformer (set lowest energy conformer generation), can be

    • if2D (default)

    • never

    • always

  • minimalprojectionarea('optimization:2') calculates the minimal projection area of the conformer of the molecule with strict geometry optimization

minimalProjectionRadius

Structural Calculations

calculates the minimal projection radius of the molecule

the minimal projection radius

all options of the minimalProjectionArea() function

  • minimalProjectionRadius('optimization:2') calculates the minimal projection radius of the conformer of the molecule with strict geometry optimization

minimalProjectionSize

Structural Calculations

calculates the maximal distance in the molecule perpendicular to the minimal projection surface

the maximal distance

all options of the minimalProjectionArea() function

  • minimalProjectionSize() calculates the maximal distance in the conformer of the molecule perpendicular to its minimal projection surface

minValue

-

evaluates a function on the atoms of the molecule and returns some of the smallest value(s)

the smallest value(s)

all options of the minAtom() function

  • minValue(1, 2, 3, 4, 'charge("7.4")', 2) returns the two smallest partial charge values of atoms 1, 2, 3 and 4 of the major microspecies at pH 7.4

  • minValue('acceptor()', 3) returns the three smallest H-bond acceptor multiplicities

mmff94Energy

Structural Calculations

calculates the MMFF94 energy of the input molecule

the MMFF94 energy

  • calcforleconformer (sets lowest energy conformer generation option), can be

    • if2D (default)

    • never

    • always

  • mmff94optimization (sets MMFF94 forcefield optimization, default is false)

  • mmff94Energy() calculates the MMFF94 energy of the (conformer) of the input molecule

mmff94OptimizedStructure

Structural Calculations

calculates the MMFF94- optimized lowest energy conformer

the MMFF94-optimized lowest energy conformer

-

  • mmff94OptimizedStructure() returns the MMFF94 optimized lowest energy conformer of input molecule

molAtom

-

creates a MolAtom object of a given atomic number

the MolAtom object

the atomic number

  • MolAtom(6) returns a C atom

molBinFormat, molImage

-

returns the binary representation (image, PDF, GZIP compressed molecule file) of the molecule in a specified format

the binary representation of the molecule in the given format

the binary format with its options (e.g. 'jpeg', 'pdf', 'gzip:sdf', 'png:w150,h150')

  • molImage('jpeg:w100,Q95, #ffff00') returns the 100x100 image of the molecule in JPEG format with yellow background and 95% quality

molecularPolarizability, molPol

Structural Calculations

calculates the molecular polarisability of the molecule

the molecular polarizability

  • type, can be

    • molecular (default)

    • atomic

  • pH value (used for calculating the major microspecies if specified)

  • molecularPolarizability('7.4') calculates the molecular polarizability of the major microspecies of the input molecule at pH 7.4

  • molPol('type:atomic') calculates the atomic molecular polarizability of the input molecule

molString, molFormat, molConvert

-

returns the string representation of a molecule/an array of molecules in a given format

the string representation of the molecule(s)

  • the array of molecules (optional, the context is used as an input if not specified)

  • the molecule format as a string (e.g. "sdf", "smiles", "mrv")

  • the clean dimension

  • molFormat('mrv') returns the MRV representation of the input molecule

  • molString(tautomers(), 'sdf', 2) returns the 2D-cleaned tautomers of the input molecule in SDF format

mostStableTautomer

Isomers

generates the most stable tautomer form of the molecule

the most stable tautomer

-

  • mostStableTautomer() returns the most stable tautomer form of the input molecule

nucleophilicity, electrophilicLocalizationEnergy, energyE

Structural Calculations

calculates the nucleophilicity of aromatic centers (by calculating localization energies for electrophilic attack)

the nucleophilicity of the atom, NaN for non-aromatic atoms

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • nucleophilicity(2) returns the nucleophilicity of atom 2 of the input molecule

nucleophilicityOrder, aromaticNucleophilicityOrder, orderNu

Structural Calculations

calculates the nucleophilic order (Nu(-) order) of atoms

the nucleophilic order (index 0, 1, 2...)

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • nucleophilicityOrder(2, '7.4') returns the nucleophil order of atom 2 of the major microspecies of the input molecule at pH 7.4

pair

-

converts two atoms or 0-based atom indexes into an "index1-index2" 1-based atom index setter string (used for pairing atoms)

the atom index setter string

two atom indexes or MolAtom objects

  • pair(2, 5) returns "6-3"

piEnergy

Structural Calculations

calculates the π energy of the molecule

the π energy of the molecule

  • pH value (used for calculating the major microspecies if specified)

  • piEnergy() returns the π energy of the molecule

  • piEnergy('7.4') returns the π energy of the microspecies

piOrbitalElectronegativity, pOEN

Structural Calculations

calculates atomic π orbital electronegativity

the atomic electronegativity

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • piOrbitalElectronegativity(2) returns the π orbital electronegativity of atom 2 of the input molecule

  • pOEN(1, '7.4') returns the π orbital electronegativity of the major microspecies of the input molecule at pH 7.4

pKa

Protonation

calculates pKa values

the pKa values

  • atom index or MolAtom object

  • strength index as a string (e.g. '1' for strongest, '2' for the 2nd strongest pKa)

  • the pKa type to be calculated as a string, can be

    • acidic

    • basic

    • pKa (default)

  • mode, can be

    • macro (default)

    • micro

  • prefix, can be

    • static (default)

    • dynamic

  • model, can be

    • small (default)

    • large

  • considertautomerization (default is false)

  • min (minimal pKa value to be calculated)

  • max (maximal pKa value to be calculated)

  • na (number of acidic pKa values to be calculated, default is 2

  • nb (number of basic pKa values to be calculated, default is 2)

  • temperature (sets the temperature in K, default is 298K)

  • correctionlibrary (sets the correction library ID)

  • correctionlibrarypath (sets the correction library path)

Notes:

  1. When strength index is used, only 'acidic' or 'basic' type can be used.

  2. If the 'pKa' type is used, the returned pKa values are of mixed type, depending on the atom's acidic or basic features.

  3. To get a specific type of pKa, either 'acidic' or 'basic' type should be specified. You can use acidicpKa() or basicpKa() functions as an alternative, too.

  4. Acidic pKa is returned for an atom if acidicpKa() ≤ 14.8-basicpKa(), otherwise basicpKa() is returned

  • pKa(0) returns the pKa value of atom 0 of the input molecule

  • pKa(4, 'basic') returns the basic pKa value of atom 4

  • pKa('acidic', '1') returns the strongest acidic pKa value of the molecule

  • pKa('basic', 'prefix:dynamic') returns the basic pKa values of the input molecule using the dynamic prefix

  • pKa('acidic', 'considertautomerization:true', 'mode:micro') returns the acidic pKa values of the input molecule using the micro mode and tautomerization

pKaUseCorrection

Protonation

plattIndex

Structural Calculations

calculates the Platt index of the molecule

the Platt index

-

  • plattIndex() calculates the Platt index of the input molecule

productCount

-

counts the products in a chemical reaction

the number of products in the reaction or -1 if the input molecule is not a reaction

-

  • productCount() returns -1 for a molecule that is not a reaction

radicalCount

-

returns the radical count of an atom

the radical count

atom index or MolAtom object

  • radicalCount(1) returns the radical count of atom 1 of the input molecule

randicIndex

Structural Calculations

calculates the Randic index

the Randic index

-

  • randicIndex() calculates the Randic index of the input molecule

randomMarkushEnumeration, randomMarkushEnumerations, randomEnumeration, randomEnumerations

Markush Enumeration Plugin

generates Markush enumerated structures of the molecule randomly

the enumerated Markush structures

  • the number of structures to be returned (default is 1)

  • the (1-based) atom indexes of the query atoms to be enumerated, given as a string list (default is all)

  • randomMarkushEnumerations() returns a randomly enumerated Markush structure of the input molecule

  • randomMarkushEnumerations(4, '2,3') returns 4 randomly enumerated Markush structures of the input molecule, enumerating only atoms 2 and 3

randomMarkushEnumerationDisplay

Markush Enumeration Plugin

generates Markush enumerated structures of the molecule randomly with scaffold alignment, scaffold/R-group colouring and enumeration ID

the enumerated structures with alignment, colouring data and enumeration ID

  • the number of structures to be returned (default is 1)

  • the (1-based) atom indexes of the query atoms to be enumerated, given as a string list (default is all)

  • randomMarkushEnumerationDisplay() returns a randomly enumerated Markush structure of the input molecule with scaffold aligment and scaffold/R-group colouring data

  • randomMarkushEnumerations(4, '2,3') returns 4 randomly enumerated Markush structures of the input molecule, enumerating only atoms 2 and 3, with scaffold alignment and scaffold/R-group colouring data

reactantCount

-

counts the reactants in a reaction

the reactant count or -1 if the input is not a reaction

-

  • reactantCount() returns the number of reactants in the molecule or -1

refractivity, refrac

Structural Calculations

calculates the molar refractivity of the molecule

the molar refractivity

  • type, can be

    • refractivity (default)

    • increments (sum of the increments of non-H atoms)

    • inch (sum of the increments of H atoms)

  • precision (default is 2)

  • refractivity() calculates the molar refractivity of the input molecule

  • refrac('type:increments, precision:3') calculates the sum of non-H atomic refractivity increments of the input molecule with 3-digit precision

refractivityIncrements, refraci

Structural Calculations

calculates atomic refractivity increment(s) of the molecule

the atomic refractivity increment(s)

atom index or MolAtom object

  • refractivityIncrements(2) calculates the refractivity increment of atom 2 of the input molecule

resonants

Structural Calculations

generates resonant structures of the molecule

the resonant structures

  • type, can be

    • structures (returns all resonant structures, default)

    • structure (returns only 1 structure)

    • count (returns the resonant structure count)

  • max (the maximal number of resonant structures, default is 200)

  • pH (considers pH effect, default is no pH effect)

  • symfilter (filters symmetrical structures if true, allows duplicates otherwise, default is true)

  • canonical (generates canonical resonant structure if true)

  • mcontrib (takes major resonant contribution if true, default is true)

  • single (single fragment mode, generates resonant structures for each fragment if true, default is false)

  • resonants('max:20, pH:7.4') generates at most 20 resonant structures for the input molecule considering pH effect at 7.4

  • resonants('canonical:true', 'pH:7.4') generates the canonical resonant form of the input molecule at pH 7.4

resonant

Structural Calculations

generates a resonant structure of the molecule

the resonant structure

the resonant structure index (0-based)

  • resonant(1) returns the 2nd resonant structure of the input molecule

resonantCharge

Structural Calculations

calculates atomic partial charges considering effect of resonance

the atomic partial charges

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • result type, can be

    • total (default)

    • pi

    • sigma

    • aromaticsystem

    • aromaticsystemsigma

    • aromaticsystempi

    • aromaticring

    • aromaticringsigma

    • aromaticringpi

  • resonantCharge(1, 'type:sigma') calculates the sigma partial charge of the 2nd atom of the input molecule

  • resonantCharge(0, 'pH:7.4') calculates the total partial charge of the 1st atom of the major microspecies of the input molecule at pH 7.4

resonantCount

Structural Calculations

calculates the number of resonant structures

the number of resonant structures

all options of the resonants() function

  • resonantCount('pH:7.4') returns the number of resonant structures generated at pH 7.4

ringAtom

Structural Calculations

checks if an atom is a ring atom

true for ring atoms, false for non-ring atoms

atom index or MolAtom object

  • ringAtom(2) returns if atom 2 of the input molecule is a ring atom

ringAtomCount

Structural Calculations

calculates the number of ring atoms in the molecule

the ring atom count

-

  • ringAtomCount() returns the number of ring atoms of the input molecule

ringBond

Structural Calculations

checks if two atoms in the molecule are connected by a ring bond

true if the two atoms are connected by a ring bond, false otherwise

the (1-based) atom indexes of the two atoms in a string "index1-index2" (e.g. '2-3')

  • ringBond('1-2') checks if atom 1 and 2 of the input molecule are connected by a ring bond

  • ringBond(bond(2, 3)) checks if atom 2 and 3 of the input molecule are connected by a ring bond

ringBondCount

Structural Calculations

calculates the number of ring bonds in the molecule

the ring bond count

-

  • ringBondCount() returns the number of ring bonds in the input molecule

ringCount

Structural Calculations

calculates the number of rings in the molecule

the ring count

-

  • ringCount() returns the number of rings in the input molecule

ringCountOfAtom

Structural Calculations

calculates the number of rings in the molecule passing through an atom

the number of rings passing through the atom

atom index or MolAtom object

  • ringCountOfAtom(2) returns the number of rings passing through atom 2

ringCountOfSize

Structural Calculations

calculates the number of rings of a given size in the molecule

the number of rings of the given size

the ring size

  • ringCountOfSize(5) returns the number of 5-membered rings of the input molecule

rings

Structural Calculations

identifies the rings in the molecule

the list of atom indexes of the rings (or null if the molecule is acyclic)

-

  • rings() returns the list of atom indexes of the rings in the input molecule

ringsOfSize

Structural Calculations

identifies the rings of a given size in the molecule

the list of atom indexes of the rings having that size (or null if the molecule is acyclic or only contains rings of different size)

the ring size

  • ringsOfSize(6) returns the 6-membered rings of the input molecule as a list of atom indexes

ringSystemCount

Structural Calculations

calculates the number of ring systems in the molecule

the ring system count

-

  • ringSystemCount() returns the number of ring systems of the input molecule

ringSystemCountOfSize

Structural Calculations

calculates the number of ring systems of a given size in the molecule

the number of ring systems of the given size

the ring system size

  • ringSystemCountOfSize(8) returns the number of 8-membered ring systems of the input molecule

ringSystems

Structural Calculations

identifies the ring systems of the molecule

the list of atom indexes of the ring systems (or null if the molecule is acyclic)

-

  • ringSystems() returns the list of atom indexes of the ring systems in the input molecule

ringSystemsOfSize

Structural Calculations

identifies the ring systems of a given size in the molecule

the list of atom indexes of the ring systems of the given size (or null if the molecule is acyclic or only contains ring systems of different size)

the ring system size

  • ringSystemsOfSize(8) returns the list of atom indexes of the 8-membered ring systems in the input molecule

rotatableBond

Structural Calculations

checks if two atoms of the molecule are connected by a rotatable bond

true if the two atoms are connected by a rotatable bond, false otherwise

the (1-based) atom indexes of the two atoms in a string "index1-index2" (e.g. '2-3')

  • rotatableBond('2-3') returns true if atoms 2 and 3 of input molecule are connected by a rotatable bond

  • rotatableBond(bond(1,2)) returns true if atoms 1 and 2 of the input molecule are connected by a rotatable bond

rotatableBondCount

Structural Calculations

calculates the number of rotatable bonds in the molecule

the rotatable bond count

-

  • rotatableBondCount() returns the number of rotatable bonds of the input molecule

shortestPath

Structural Calculations

calculates the length of the shortest path between two atoms in the molecule

the length of the shortest path or Integer.MAXVALUE if the two atoms are disconnected

the (1-based) atom indexes of the two atoms in a string "index1-index2" (e.g. '2-3')

  • shortestPath('2-3') returns the length of the shortest path between atoms 2 and 3 of the input molecule

  • shortestPath(pair(1, 3)) returns the length of the shortest path between atoms 1 and 3 of the input molecule

sigmaOrbitalElectronegativity, sOEN

Structural Calculations

calculates atomic sigma orbital electronegativity

the atomic sigma OE value(s)

  • atom index or MolAtom object

  • pH value (used for calculating the major microspecies if specified)

  • sigmaOrbitalElectronegativity(2) returns the sigma orbital electronegativity of atom 2 of the input molecule

  • sOEN(3, '7.4') returns the sigma orbital electronegativity of atom 3 of the major microspecies of the input molecule at pH 7.4

smallestAtomRingSize

Structural Calculations

calculates the size of the smallest ring that contains a specified atom

the size of the smallest ring that contains the specified atom (0 is returned is the specified atom is acyclic)

atom index or MolAtom object

  • smallestAtomRingSize(2) returns the size of the smallest ring that contains atom 2 of the input molecule

smallestRing

Structural Calculations

identifies the atoms of the smallest ring of the molecule

the atom indexes of the smallest ring (or null if the molecule is acyclic)

-

  • smallestRing() returns the atom indexes of the smallest ring of the input molecule

smallestRingSize

Structural Calculations

calculates the size of the smallest ring

the smallest ring size (0 is returned if the molecule is acyclic)

-

  • smallestRingSize() returns the size of the smallest ring of the input molecule

smallestRingSystem

Structural Calculations

identifies the atoms of the smallest ring system of the molecule

the atom indexes of the smallest ring system (or null if the molecule is acyclic)

-

  • smallestRingSystem() returns the atom indexes of the smallest ring system of the input molecule

smallestRingSystemSize

Structural Calculations

calculates the size of the smallest ring system

the smallest ring system size (the number of rings, 0 is returned if the molecule is acyclic)

-

  • smallestRingSystemSize() returns the size of the smallest ring system (the number of rings) of the input molecule

sortableFormula

-

returns a fixed digit sortable formula of the molecule

the fixed digit sortable formula

digits (the number of digits)

  • sortableFormula(digits:3) returns the 3-digit sortable formula of the input molecule

sortAsc

-

sorts a numerical array in ascending order

the sorted array

the numerical (integer or real) array

  • sortAsc(array(4.2, 2.4, 3.5)) returns the array(2.4, 3.5, 4.2)

  • sortAsc(charge()) returns the atomic partial charges of the input molecule in ascending order

sortDesc

-

sorts a numerical array in descending order

the sorted array

the numerical (integer or real) array

  • sortDesc(array(4.2, 2.4, 3.5)) returns array(4.2, 3.5, 2.4)

  • sortDesc(pKa('basic')) returns the basic pKa values of the input molecule in descending order

stereoAnalysis

Isomers

calculates stereo descriptors of the molecule

a list of stereo descriptors

the stereo descriptor type (optional, all types of stereo descriptors are calculated if not specified)

  • stereoAnalysis() calculates all stereo descriptors of the input molecule

  • stereoAnalysis('tetrahedralStereoCenters') identifies all tetrahedral stereocenters of the input molecule

  • stereoAnalysis('transDoubleBonds') identifies all trans double bonds of the input molecule

stereoDoubleBondCount

Structural Calculations

calculates the number of stereogenic double bonds of the molecule

the number of stereogenic double bonds

-

  • stereoDoubleBondCount() returns the number of stereo double bonds of the input molecule

stereoisomer

Isomers

generates a stereoisomer of the molecule

the stereoisomer

the stereoisomer index (0-based)

  • stereoisomer(1) returns the 2nd stereoisomer of the input molecule

stereoisomers

Isomers

generates stereoisomers of the molecule

the array of stereoisomers

maxstereoisomers (sets the maximal number of stereoisomers to be generated, default is all)

  • stereoisomers('maxstereoisomers:10') returns at most 10 stereoisomers of the input molecule

stereoisomerCount

Isomers

returns the number of generated stereoisomers of the molecule

the number of generated stereoisomers

-

  • stereoIsomerCount() returns the number of generated stereoisomers of the input molecule

stericEffectIndex

Structural Calculations

calculates the steric effect index of an atom

the steric effect index of the atom

atom index or MolAtom object

  • stericEffectIndex(1) returns the steric effect index of atom 1 (with index 1) of the input molecule

stericHindrance

Structural Calculations

calculates the steric hindrance of an atom

the steric hindrance of the atom

atom index or MolAtom object

  • stericHindrance(2) returns the steric hindrance of atom 2 (with index 2) of the input molecule

sum

-

calculates the sum of an array of numbers

the sum

the numerical (integer or real) array

  • sum(array(1.0, 2.0, 3.0)) returns 6.0

  • sum(charge()) returns the sum of atomic partial charges of the input molecule

szegedIndex

Structural Calculations

calculates the Szeged index of the molecule

the Szeged index

-

  • szegedIndex() returns the Szeged index of the input molecule

tautomerCount

Isomers

calculates the number of (all) tautomers

the number of tautomers

-

  • tautomerCount() returns the number of (all) tautomers of the input molecule

tetrahedralStereoisomer

Isomers

generates a tetrahedral stereoisomer of the molecule

a tetrahedral stereoisomer

the stereoisomer index (0-based)

  • tetrahedralStereoisomer(1) returns the 2nd tetrahedral stereoisomer of the input molecule

tetrahedralStereoisomerCount

Isomers

calculates the number of tetrahedral stereoisomers of the molecule

the number of tetrahedral stereoisomers

-

  • tetrahedralStereoisomerCount() returns the number of tetrahedral stereoisomers of the input molecule

tetrahedralStereoisomers

Isomers

generates tetrahedral stereoisomers of the molecule

the array of tetrahedral stereoisomers

maxstereoisomers (sets the maximal number of stereoisomers to be generated, default is all)

  • tetrahedralStereoisomers('maxstereoisomers:10') returns at most 10 tetrahedral stereoisomers of the input molecule

topologicalPolarSurfaceArea, PSA

-

calculates the (2D) topological polar surface area

the polar surface area

pH value (used for calculating the major microspecies if specified)

  • topologicalPolarSurfaceArea() returns the topological polar surface area of the input molecule

traditionalName

Structure To Name

generates the traditional name of the molecule

the traditional name

-

  • traditionalName() returns the traditional name of the input molecule

valence

-

returns the sum of bond orders and the query H atoms (valence) of an atom of the molecule

the valence of the atom

atom index or MolAtom object

  • valence(1) returns the valence of atom 1

vanDerWaalsSurfaceArea

Structural Calculations

calculates the van der Waals (vdW) surface area of the molecule

the vdW surface area

pH value (used for calculating the major microspecies if specified)

  • vanDerWaalsSurfaceArea('7.4') returns the van der Waals surface area of the major microspecies of the input molecule at pH 7.4

volume

Structural Calculations

calculates the van der Waals (vdW) volume of the molecule

the vdW volume

  • optimization (sets optimization level), can be

    • 0 (very loose)

    • 1 (normal, default)

    • 2 (strict)

    • 3 (very strict)

  • calcforleconformer (sets lowest energy conformer generation option), can be

    • if2D (default)

    • never

    • always

  • volume() calculates the vdW volume of the input molecule

waterAccessibleSurfaceArea, solventAccessibleSurfaceArea, ASA

Structural Calculations

calculates the solvent/water accessible surface area of the molecule

the molecular surface area

pH value (used for calculating the major microspecies if specified)

  • solventAccessibleSurfaceArea('7.4') calculates the solvent accessible surface area of the major microspecies of the input molecule at pH 7.4

whereIsValenceError

-

returns the index of the first atom of the molecule with a valence error

the index of the first atom with the valence error or -1 if there is no valence error in the molecule

-

  • whereIsValenceError() returns the index of the first atom of the input molecule with a valence error or -1 if there is no valence error in the input molecule

wienerIndex

Structural Calculations

calculates the Wiener index of the molecule

the Wiener index

-

  • wienerIndex() returns the Wiener index of the input molecule

wienerPolarity

Structural Calculations

calculates the Wiener polarity of the molecule

the Wiener polarity

-

  • wienerPolarity() returns the Wiener polarity of the input molecule