Skip to content

Chemical Terms functions by categories

The following table lists all available Chemical Terms functions by their category.

Table of Contents

License information

Chemical Terms functions might require a Certara-Chemaxon Toolkit License to be used. The specific license bundles are indicated for every specific function.

The following Toolkit license bundles are available:

  • Discovery Bundle (DTK)
  • Descriptor Generation Toolkit (DGTK)
  • Structure Preparation Toolkit (SPTK)
  • Structure Enumeration Toolkit (SETK)
  • Naming Toolkit (NTK)

As the Discovery Bundle covers all Chemical Terms functions, it is not individually listed for each function.

ADMET functions

Name License Description Return value Parameters General context example(s) Molecule context example(s) Reaction context example(s)
bbb DGTK calculates the Blood Brain Barrier (BBB) Score the BBB Score - N/A bbb() returns the BBB Score of the input molecule bbb(reactant(0)) returns the BBB Score of the first reactant
mpo DGTK calculates the CNS Multiparameter Optimisation (MPO) Score the MPO score - N/A mpo() returns the MPO score of the input molecule mpo(reactant(1)) returns the MPO Score of the second reactant
herg DGTK predicts hERG activity and returns the pActivity value using ChemAxon's hERG activity model the pActivity value - N/A herg() returns the predicted hERG pActivity value of the input molecule herg(reactant(0)) returns the predicted hERG pActivity value of the first reactant
hergActivity DGTK predicts hERG activity (as pActivity) using ChemAxon's hERG activity model the pActivity value - N/A hergActivity() returns the predicted hERG pActivity of the input molecule hergActivity(product(0)) returns the predicted hERG pActivity of the first product
hergClass DGTK predicts the hERG classification class using ChemAxon's hERG classification model the classification class (SAFE or TOXIC) - N/A hergClass() returns the predicted hERG classification class of the input molecule hergClass(reactant(0)) returns the predicted hERG classification class of the first reactant

Back to the Table of Contents

Charge functions

Name License Description Return value Parameters General context example(s) Molecule context example(s) Reaction context example(s)
  • atomicPolarizability
  • atomPol
  • pol
  • polarizability
DGTK calculates atomic polarizability the polarizability values
  • atom index or MolAtom object
  • pH value (the calculation is run on the major microspecies at this pH value if specified)
N/A
  • atomicPolarizability(0) returns the polarizability of atom 0 of the input molecule
  • atomicPolarizability(2, "7.4") returns the polarizability of atom 2 of the major microspecies at pH 7.4
  • atomicPolarizability(ratom(1)) returns the polarizability of reactant atom matching map 1 in the reaction equation
  • atomicPolarizability(patom(2), "7.4") returns the polarizability of the product atom matching map 2 of the major microspecies taken at pH 7.4
  • averagePolarizability
  • averagePol
  • avgPol
DGTK calculates average molecular polarizability component considering 3D geometry the polarizability value pH value (the calculation is run on the major microspecies at this pH value if specified) N/A
  • averagePolarizability() returns the average polarizability component of the input molecule
  • averagePolarizability("7.4") returns the average polarizability component of the major microspecies of the input molecule at pH 7.4
  • averagePolarizability(reactant(1)) returns the average polarizability component of the second reactant in the reaction equation
  • averagePolarizability(product(0), "7.4") returns the average polarizability component of the major microspecies of the first product taken at pH 7.4
axxPol DGTK calculates the a(xx) principal component of the polarizability tensor (a(xx), a(yy), a(zz)) the a(xx) principal component of the polarizability tensor pH value (the calculation is run on the major microspecies at this pH value if specified) N/A axxPol() returns the principal component a(xx) of the polarizability tensor of the input molecule axxPol(reactant(1)) returns the principal component a(xx) of the polarizability tensor of the second reactant in the reaction equation
ayyPol DGTK calculates the a(yy) principal component of the polarizability tensor (a(xx), a(yy), a(zz)) the a(yy) principal component of the polarizability tensor pH value (the calculation is run on the major microspecies at this pH value if specified) N/A ayyPol() returns the principal component a(yy) of the polarizability tensor of the input molecule ayyPol(reactant(1)) returns the principal component a(yy) of the polarizability tensor of the second reactant in the reaction equation
azzPol DGTK calculates the a(zz) principal component of the polarizability tensor (a(xx), a(yy), a(zz)) the a(zz) principal component of the polarizability tensor pH value (the calculation is run on the major microspecies at this pH value if specified) N/A azzPol() returns the principal component a(zz) of the polarizability tensor of the input molecule azzPol(reactant(1)) returns the principal component a(zz) of the polarizability tensor of the second reactant in the reaction equation
charge DGTK
  • calculates partial charges of atoms for the "aromaticsystem" and the "aromaticring" result types
  • calculates the sum of partial charges of the atoms in the aromatic system or the smallest aromatic ring containing the atom
the partial charge values
  • atom index or MolAtom object
  • the result type ("total" (default), "pi", "sigma", "aromaticsystem", "aromaticsystemsigma", "aromaticsystempi", "aromaticring", "aromaticringsigma", "aromaticringpi")
  • pH value (the calculation is run on the major microspecies at this pH value if specified)
N/A
  • charge(0) returns the partial charge of atom 0 of the input molecule
  • charge(2, "pi", "7.4") returns the partial "pi" charge of atom 2 of the major microspecies taken at pH 7.4
  • charge(ratom(1), "aromaticsystem") returns the sum of partial pi charges in the aromatic system containing the reactant atom matching map 1 in the reaction equation
  • charge(patom(2), "aromaticring", "7.4") returns the sum of partial charges in the smallest aromatic ring containing the product atom matching map 2 in the major microspecies of the input molecule taken at pH 7.4
  • molecularPolarizability
  • molPol
DGTK calculates molecular polarizability the polarizability value pH value (the calculation is run on the major microspecies at this pH value if specified) N/A
  • molecularPolarizability() returns the molecular polarizability of the input molecule
  • molecularPolarizability("7.4") returns the molecular polarizability of the major microspecies of the input molecule taken at pH 7.4
  • molecularPolarizability(reactant(1)) returns the molecular polarizability of the second reactant in the reaction equation
  • molecularPolarizability(product(0), "7.4") returns the molecular polarizability of the major microspecies of the first product taken at pH 7.4
  • piOrbitalElectronegativity
  • pOEN
DGTK calculates atomic pi orbital electronegativity the pi orbital electronegativity values
  • atom index or MolAtom object
  • pH value (the calculation is run on the major microspecies at this pH value if specified)
N/A
  • piOrbitalElectronegativity(0) returns the pi orbital electronegativity of atom 0 of the input molecule
  • piOrbitalElectronegativity(2, "7.4") returns the pi orbital electronegativity of atom 2 of the major microspecies of the input molecule taken at pH 7.4
  • pOEN(ratom(1)) returns the pi orbital electronegativity of the reactant atom matching map 1 in the reaction equation
  • pOEN(patom(2), "7.4") returns the pi orbital electronegativity of the product atom matching map 2 of the major microspecies taken at pH 7.4
resonantCharge DGTK
  • calculates partial charges of atoms considering resonance effect for the "aromaticsystem" and the "aromaticring" result types
  • calculates the sum of partial charges of the atoms in the aromatic system or the smallest aromatic ring containing the atom
the resonant charge values
  • atom index or MolAtom object
  • the result type ("total" (default), "pi", "sigma", "aromaticsystem", "aromaticsystemsigma", "aromaticsystempi", "aromaticring", "aromaticringsigma", "aromaticringpi")
  • pH value (the calculation is run on the major microspecies at this pH value if specified)
N/A
  • resonantCharge(0) returns the partial charge on atom 0 of the input molecule considering resonance effect
  • resonantCharge(2, "pi", "7.4") returns the partial "pi" charge on atom 2 of the major microspecies of the input molecule taken at pH 7.4 considering resonance effect
  • resonantCharge(ratom(1), "aromaticsystem") returns the sum of partial pi charges in the aromatic system containing the reactant atom matching map 1 in the reaction equation considering resonance effect
  • resonantCharge(patom(2), "aromaticring", "7.4") returns the sum of partial charges in the smallest aromatic ring containing the product atom matching map 2 of the major microspecies of the input molecule taken at pH 7.4 considering resonance effect
  • sigmaOrbitalElectronegativity
  • sOEN
DGTK calculates atomic sigma orbital electronegativity the sigma orbital electronegativity values
  • atom index or MolAtom object
  • pH value (the calculation is run on the major microspecies at this pH value if specified)
N/A
  • sigmaOrbitalElectronegativity(0) returns the sigma orbital electronegativity of atom 0 of the input molecule
  • sigmaOrbitalElectronegativity(2, "7.4") returns the sigma orbital electronegativity of atom 2 of the major microspecies of the input molecule taken at pH 7.4
  • sOEN(ratom(1)) returns the sigma orbital electronegativity of reactant atom matching map 1 in the reaction equation
  • sOEN(patom(2), "7.4") returns the sigma orbital electronegativity of the product atom matching map 2 of the major microspecies taken at pH 7.4

Back to the Table of Contents

Conformation Functions

Name License Description Return value Parameters General context example(s) Molecule context example(s) Reaction context example(s)
conformer DGTK generates a conformer of the molecule the conformer the conformer index (0-based) N/A conformer(0) returns the first conformer of the input molecule conformer(reactant(0), 1) returns the second conformer of the first reactant
conformerCount DGTK returns the number of generated conformers the number of generated conformers - N/A conformerCount() returns the number of generated conformers of the input molecule conformerCount(reactant(0)) returns the number of generated conformers of the first reactant
conformers DGTK generates conformers of the molecule (maximum number of conformers to be generated can be set, default: 100) the conformer array - N/A conformers() generates conformers of the input molecule in an array conformers(reactant(0)) generates conformers of the first reactant in an array
hasValidConformer DGTK checks if the input molecule is in 3D space (has a valid conformer) true if the input molecule is in 3D space - N/A hasValidConformer() returns true if the input molecule is in 3D space (has a valid conformer) hasValidConformer(reactant(0)) returns true the if the first reactant is in 3D space
  • lowestEnergyConformer
  • leconformer
DGTK generates the lowest energy conformer of the molecule the lowest energy conformer - N/A lowestEnergyConformer() returns the lowest energy conformer of the input molecule lowestEnergyConformer(reactant(0)) returns the lowest energy conformer of the first reactant
mmff94OptimizedStructure DGTK generates the MMFF94-optimized lowest energy conformer the MMFF94-optimized lowest energy conformer - N/A mmff94OptimizedStructure() returns the MMFF94-optimized lowest energy conformer of the input molecule mmff94OptimizedStructure(reactant(0)) returns the MMFF94-optimized lowest energy conformer of the first reactant

Back to the Table of Contents

Dissimilarity Functions

Name License Description Return value Parameters General context example(s) Molecule context example(s) Reaction context example(s)
dissimilarity - calculates the dissimilarity value between two molecules (see the Notes below the table) the dissimilarity value
  • descriptor:metric or descriptor (with default metric) (optional, Chemical Fingerprint with Tanimoto metric is used by default)
  • one or two molecules (if only one is specified then the other one is taken from the context)
N/A
  • dissimilarity("PF", "c1ccccc1", "C1CCCCC1") returns the dissimilarity value between the benzene ring and cyclohexane computed with Pharmacophore Fingerprint and its default metric (Tanimoto)
  • dissimilarity("c1ccccc1", "C1CCCCC1") returns the dissimilarity value between the benzene ring and cyclohexane computed with the default fingerprint and its default metric (Chemical Fingerprint with Tanimoto metric)
  • dissimilarity("PF:Euclidean", "c1ccccc1") returns the dissimilarity value between the benzene ring and the input molecule computed with Pharmacophore Fingerprint and Euclidean metric
  • dissimilarity("LogD", "c1ccccc1") returns the dissimilarity value between the benzene ring and the input molecule computed with the LogD descriptor and its default AbsDiff metric
  • dissimilarity("CF:Euclidean", "c1ccccc1", reactant(0)) returns the dissimilarity value between the benzene ring and the first reactant computed with Chemical Fingerprint and Euclidean metric
  • dissimilarity(reactant(0), product(0)) returns the dissimilarity value between the first reactant and the first product computed with the default fingerprint and its default metric (Chemical Fingerprint with Tanimoto metric)

The dissimilarity() function requires JChem.

The dissimilarity values returned by the dissimilarity() function and the similarity search in JChem may differ because of the applied fingerprints. The dissimilarity() function uses the default options of the chemical fingerprints (length=1024, bonds=7, bits=2), optimised for similarity search. Database similarity search uses fingerprints specified during the generation of the given table, optimised for substructure (and related) search types.

Dissimilarity descriptors and metrics

The fingerprints can be used with the metrics listed in the table below.

Descriptor Metric
Chemical Fingerprint (or CF) Tanimoto (default), Euclidean
Pharmacophore Fingerprint (or PF) Tanimoto (default), Euclidean
ECFP Tanimoto (default), Euclidean
Burden Eigenvalue Descriptor (or BCUT) Euclidean
HDon Euclidean
HAcc AbsDiff
Heavy AbsDiff
LogD AbsDiff
LogP AbsDiff
Mass AbsDiff
TPSA AbsDiff

BCUT is a trademark of Tripos Inc. It is used with permission.

Back to the Table of Contents

Elemental Analysis Functions

Name License Description Return value Parameters General context example(s) Molecule context example(s) Reaction context example(s)
atomCount - calculates the number of atoms (all atoms or specific atoms) the atom count atomic number (optional) and mass number (optional) as a single string separated by "." (e.g. "6" for the number of carbon atoms, "6.12" for the number of carbon atoms with mass number 12); if omitted, all atoms are counted; if the mass number is set to 0, all non-isotope atoms are counted N/A
  • atomCount() returns the number of atoms in the input molecule
  • atomCount("6") returns the number of carbon atoms in the input molecule
  • atomCount(reactant(0), "7") returns the number of nitrogen atoms in the first reactant
  • atomCount(product(1), "7.14") returns the number of nitrogen atoms with mass number 14 in the second product
  • atomCount(product(1), "7.0") returns the number of non-isotope nitrogen atoms in the second product
composition - returns the composition the composition - N/A composition() returns the composition of the input molecule N/A (reaction rules are numerical)
dotDisconnectedFormula - returns the dot-disconnected formula the dot-disconnected formula - N/A dotDisconnectedFormula() returns the dot-disconnected formula of the input molecule N/A (reaction rules are numerical)
dotDisconnectedIsotopeFormula - returns the dot-disconnected isotope formula the dot-disconnected isotope formula - N/A dotDisconnectedIsotopeFormula() returns the dot-disconnected isotope formula of the input molecule N/A (reaction rules are numerical)
groupedDotDisconnectedFormula - returns the grouped dot-disconnected formula the grouped dot-disconnected formula - N/A groupedDotDisconnectedFormula() returns the grouped dot-disconnected formula of the input molecule N/A (reaction rules are numerical)
  • elementalAnalysis
  • elemanal
- performs elemental analysis on the molecule represented by its formula the property calculated by the function parameter (e.g. mass)
  • molecular formula
  • available function parameters: atomCount, mass, massPrecision, exactMass, exactMassPrecision, formula, isotopeFormula, dotDisconnectedFormula, dotDisconnectedIsotopeFormula, groupedDotDisconnectedFormula
N/A elementalAnalysis('mass','C12H25O') returns the mass of molecule represented by its formula N/A
exactMass - calculates the exact mass of the molecule the exact mass - N/A exactMass() returns the exact mass of the input molecule exactMass(product(1)) returns the exact mass of the second product
formula - returns the formula the formula - N/A formula() returns the formula of the input molecule N/A (reaction rules are numerical)
isotopeComposition - returns the isotope composition the isotope composition - N/A isotopeComposition() returns the isotope composition of the input molecule N/A (reaction rules are numerical)
isotopeFormula - returns the isotope formula the isotope formula - N/A isotopeFormula() returns the isotope formula of the input molecule N/A (reaction rules are numerical)
mass - calculates the molecule mass the mass - N/A mass() returns the mass of the input molecule mass(reactant(0)) returns the mass of the first reactant
massspectrum - calculates the mass spectrum (the m/z:relative abundance plot) the mass spectrum as a series of discrete values - N/A massspectrum() returns the mass spectrum of the input molecule massspectrum(reactant(0)) returns the mass spectrum of the first reactant
sortableFormula - returns the fixed digit sortable molecular formula the fixed digit sortable molecular formula the number of digits (the default is 4) N/A sortableFormula('digits:2') returns the 2-digit sortable formula of the input molecule N/A (reaction rules are numerical)

Back to the Table of Contents

General Functions

Name License Description Return value Parameters General context example(s) Molecule context example(s) Reaction context example(s)
abs - returns the absolute value of a number the absolute value integer or real number
  • abs(7) returns 7
  • abs(-4.9) returns 4.9
abs(charge(1)) returns the absolute value of the charge of the 2nd atom in the molecule abs(charge(patom(0))) returns the absolute value of the charge of the product atom matching map 0
agentCount - counts the agents a the reaction the number of agents in the reaction or -1 if the the input is not a reaction - N/A agentCount() returns n if the input molecule is a reaction and contains n agents otherwise it returns -1
  • agentCount() returns n if the input molecule is a reaction and contains n agents otherwise it returns -1
  • agentCount(reactant(0)) and agentCount(product(1)) calls does not make sense and they return -1
arom - decides if an atom has an aromatic bond true if the atom has an aromatic bond, false otherwise atom index or MolAtom object N/A arom(0) returns true if atom 0 has an aromatic bond arom(patom(2)) returns true if product atom matching map 2 in the reaction equation has an aromatic bond
array - constructs an integer array from its arguments the integer array integers or MolAtom objects array(2, 5, 6, 8) creates an array from the integers 2, 5, 6, 8 array(map(2), map(5), map(6), map(8)) creates an array from the mapped atoms 2, 5, 6, 8 array(ratom(2), ratom(5), ratom(6), ratom(8)) creates an array from the mapped reactant atoms matching maps 2, 5, 6, 8
  • atno
  • atomicNumber
- returns the atomic number of an atom the atomic number atom index or MolAtom object N/A atno(0) returns the atomic number of atom 0 atno(ratom(1)) returns the atomic number of the reactant atom matching map 1
booleanToNumber - returns the numerical representation of a boolean value (true = 1, false = 0) or the number itself if the input is a number the numerical representation of a boolean value boolean expression or number
  • booleanToNumber(1<2) returns 1
  • booleanToNumber(2+2==5) returns 0
  • booleanToNumber(5*5) returns 25
booleanToNumber(hasValenceError()) returns 0 for molecules having no valence error booleanToNumber(ringBond(reactant(0), bond(ratom(1), ratom(2)))) returns 1 if reactant atoms matching maps 1 and 2 in the reaction equation are connected by a ring bond in the corresponding reactant, 0 otherwise
connections - returns the bond plus implicit H count of an atom the bond plus implicit H count atom index or MolAtom object N/A connections(2) returns the number of connections of atom 2 connections(ratom(1)) returns the number of connections of the reactant atom matching map 1 in the reaction equation
count - determines the number of elements in an array the number of elements in the array integer or real number array count(array(3.4, 5.6, 1.2)) returns 3 count(filter("charge() > 0")) returns the number of positively charged atoms of the molecule
  • count(filter(reactant(1), "charge() > 0")) returns the number of atoms with positive charge in the second reactant
  • count(filter(product(0), "match('[#8][C:1]=O', 1")) returns the number of carboxylic carbons in the first product
eval - evaluates a boolean expression the evaluation result (0 or 1) boolean expression eval('5 > 0') returns 1 eval('charge() > 0') determines if the atoms of a molecule are positively charged eval('charge(ratom(1)) > 0') determines if the reactant atom matching map 1 has a positive charge
field - returns a molecule property (SDF field value) the molecule property the property key (SDF field name) N/A
  • field('ACTIVITY') returns the value of the ACTIVITY property (SDF field)
  • field('ACTIVITY') > 2 returns 1 if the ACTIVITY property value is bigger than 2, 0 otherwise
  • field(reactant(1), 'ACTIVITY') returns the ACTIVITY property value of the second reactant
  • field(product(0) 'ACTIVITY') > field(reactant(0), 'ACTIVITY') returns 1 if the ACTIVITY value of the first product is bigger than that of the first reactant, 0 otherwise
  • fieldAsString
  • propertyAsString
- returns a molecule property (SDF field value) as string the molecule property as string the property key (SDF field name) N/A fieldAsString('ID') returns the value of the ID property (SDF field) field(reactant(0), 'ID') returns the value of the ID property of the first reactant
filter - filters target atoms by a filtering condition target atom indices satisfying the filtering condition
  • target atom indices/objects or index/atom object array (optional, all atoms taken if omitted)
  • filtering condition (boolean expression)
N/A filter("charge() > 0") returns the indices of atoms with positive partial charge of the molecule
  • filter(reactant(0), "charge() > 0") returns the indices of atoms with positive partial charge in the first reactant
  • filter(patom(1), patom(2), "match('[#8][C:1]=O', 1)") returns the carboxylic carbons out of product atoms matching map 1 or 2 in the reaction equation (note that these atoms are supposed to be in the same product molecule)
  • formalCharge
  • totalCharge
- calculates the formal charge of the molecule the formal charge value atom index or MolAtom object (optional) N/A
  • formalCharge() returns the formal charge of the input molecule
  • formalCharge(0) returns the formal charge of atom 0
formalCharge(reactant(0)) returns the formal charge of the first reactant
fragments - converts the molecule into its disconnected fragments the disconnected fragments of the molecule - N/A fragments() returns the disconnected fragments of the molecule fragments(reactant(1)) returns the disconnected fragments of the second reactant
hasAromatizationError - determines if there is error in the aromatization of the molecule true if there is an error in the aromatization of the molecule, false otherwise - N/A hasAromatizationError() returns true if there is an error in the aromatization of the molecule, false otherwise hasAromatizationError(reactant(0)) returns true if there is an error in the aromatization of the first reactant, false otherwise
hasIsotope - determines if any atom of the molecule is a specific isotope of the element true if any atom in the molecule is a specific isotope of the element, false otherwise - N/A hasIsotope() returns true if any atom in the molecule is a specific isotope of the element, false otherwise hasIsotope(reactant(1)) returns true if any atom of the second reactant is a specific isotope of the element, false otherwise
hasRadical - determines if any atom in the molecule has a radical true if any atom in the molecule has a radical, false otherwise - N/A hasRadical() returns true if any atom in the molecule has a radical, false otherwise hasRadical(reactant(1)) returns true if any atom of the second reactant has a radical, false otherwise
hasValenceError - determines if the molecule has a valence error true if the molecule has a valence error, false otherwise - N/A hasValenceError() returns true if the molecule has a valence error, false otherwise hasValenceError(reactant(1)) returns true if the second reactant has a valence error, false otherwise
hCount - returns the hydrogen count of an atom the hydrogen count atom index, an array of atom indices (separated by , or ;) or MolAtom object N/A hCount(0,2,3) returns the hydrogen count of atom 0, 2 and 3 hCount(patom(3)) returns the hydrogen count of the product atom matching map 3 in the reaction equation
importMol - imports and returns the molecule from its string representation the string representation of the molecule (e.g. "c1ccccc1") the molecule imported N/A importMol("c1ccccc1") returns the benzene molecule N/A (reaction rules are numerical)
in - determines whether an integer/atom index is contained in a given integer array true if the array contains the specified integer, false otherwise an integer, a MolAtom object or an integer array
  • in(5, array(3, 5, 1)) returns true
  • in(2, array(3, 5, 1)) returns false
  • in(3, maxatom("charge()", 2)) returns true if the partial charge of atom 3 is in the first 2 largest partial charges of the input molecule
  • in(3, minatom("pol()", 4)) returns true if the polarizability of atom 3 is in the first 4 smallest polarizability values of the input molecule
  • in(ratom(3), maxatom(reactant(0), "charge()", 2)) returns true if the partial charge of the reactant atom matching map 3 in the reaction equation is within the first 2 largest partial charges of the first reactant
  • in(patom(1), minatom(product(1), "pol()", 4)) returns true if the polarizability of the product atom matching map 1 in the reaction equation is within the first 4 smallest polarizability values of the second product
isEmpty - decides whether a molecule is empty (does not contain any atoms, bonds, or non-empty S-groups) true if the molecule is empty - N/A isEmpty() returns true if the molecule is empty, false otherwise isEmpty(reactant(1)) returns true if the second reactant is empty
isQuery - decides whether a molecule contains any query features true if the molecule contains any query features, false otherwise - N/A isQuery() returns true if the molecule contains any query features, false otherwise isQuery(reactant(1) returns true if the second reactant contains any query features, false otherwise
map - returns the atom map number the atom map number atom index or MolAtom object N/A map(3) returns the atom map number of atom 3 map(patom(3)) returns the atom map number of the product atom matching map 3 in the reaction equation
max - takes the maximum of numerical values and arrays the maximum value integers, real numbers, integer arrays, real number arrays
  • max(2, 8, 6) returns 8
  • max(3.4, 5.6, 1.2) returns 5.6
  • max(charge(0), charge(2)) returns the maximum of the partial charge values of atoms 0 and 2
  • max(charge()) returns the maximal atomic partial charge value of the input molecule
  • max(charge(ratom(2)), charge(ratom(3))) returns the maximum of the partial charge values of the reactant atoms matching maps 2 and 3 in the reaction equation
  • max(charge(product(0))) returns the maximal atomic partial charge value of the first product
maxAtom - evaluates an objective function for atoms and finds largest value(s) the atom index/indices corresponding to the largest evaluation result(s) target atom indices/objects or index/atom object array (optional, all atoms are considered if omitted); the function (as inner expression string); the number of largest values to be taken (optional, takes only one if omitted) N/A maxAtom(6, 7, 8, 9, "charge('7.4')", 2) selects the two largest partial charges of atoms 6, 7, 8, 9 in the major microspecies at pH 7.4 of the input molecule and returns the corresponding indices maxAtom(patom(1), patom(2), patom(3), "charge('7.4')", 2) selects the two largest partial charges of product atoms matching maps 1, 2, 3 in the major microspecies at pH 7.4 of the product molecule of these atoms and returns the corresponding indices (note that these atoms are supposed to be in the same product molecule)
maxValue - evaluates an objective function for atoms and finds largest value(s) the largest evaluation value(s) target atom indices/objects or index/atom object array (optional, all atoms taken if omitted); the function (as inner expression string); the number of largest values to be taken (optional, takes only one if omitted) N/A maxValue(6, 7, 8, 9, "charge('7.4')", 2) returns the two largest partial charges of atoms 6, 7, 8, 9 in the major microspecies at pH 7.4 of the input molecule maxValue(patom(1), patom(2), patom(3), "charge('7.4')", 2) returns the two largest partial charges on product atoms matching maps 1, 2, 3 in the major microspecies at pH 7.4 of the product molecule of these atoms (note that these atoms are supposed to be in the same product molecule)
min - takes the maximum of numerical values and arrays the minimum value integers, real numbers, integer arrays, real number arrays
  • min(2, 8, 6) returns 2
  • min(3.4, 5.6, 1.2) returns 1.2
  • min(charge(0), charge(2)) returns the least of the partial charge values of atoms 0 and 2
  • min(charge()) returns the minimal partial charge value on the input molecule
  • min(charge(ratom(2)), charge(ratom(3))) returns the least of the partial charge values of reactant atoms matching maps 2 and 3 in the reaction equation
  • max(charge(product(0))) returns the maximal partial charge value on the first product
minAtom - evaluates an objective function for atoms and finds smallest value(s) the atom index/indices corresponding to the smallest evaluation result(s) target atom indices/objects or index/atom object array (optional, all atoms taken if omitted); the function (as inner expression string); the number of smallest values to be taken (optional, takes only one if omitted) N/A minAtom("charge('7.4')") returns the atom index corresponding to smallest atomic partial charge in the major microspecies at pH 7.4 of the input molecule minAtom(reactant(0), "charge('7.4')") returns the atom index corresponding to smallest partial charge in the major microspecies at pH 7.4 of the first reactant
minValue - evaluates objective function for each atom and finds smallest value(s) the smallest evaluation result(s) target atom indices/objects or index/atom object array (optional, all atoms taken if omitted); the function (as inner expression string); the number of smallest values to be taken (optional, takes only one if omitted) N/A minValue("charge('7.4')") returns the smallest atomic partial charge in the major microspecies at pH 7.4 of the input molecule minValue(reactant(0), "charge('7.4')") returns the smallest partial charge of the major microspecies at pH 7.4 of the first reactant
molAtom - creates a MolAtom the MolAtom object atomic number N/A molAtom(6) returns a carbon atom N/A
  • molBinFormat
  • molImage
- returns the binary representation (image, pdf, GZIP compressed molecule file) of the molecule in the specified format the binary representation (image, pdf, GZIP compressed molecule file) of the molecule the binary format with options (e.g. "jpeg", "png:w150,h150", "pdf", "gzip:sdf") N/A molImage("jpeg:w100,Q95,#ffff00") returns the 100x100 JPEG image of the input molecule with yellow background with 95% quality N/A (reaction rules are numerical)
  • molString
  • molConvert
  • molFormat
- returns the string representation of a molecule or an array of molecules in a specified molecule format the string representation of the molecule(s) the molecule format (e.g. "mol", "sdf", "mrv", "smiles"); the clean dimension N/A
  • molFormat("mrv") returns the Chemaxon Marvin Document format representation of the input molecule
  • molFormat(tautomers(), "sdf", 2) returns the 2D-cleaned representation of the tautomers of the input molecule in SD format
N/A (reaction rules are numerical)
pair bond - converts two atoms or 0-based atom indices into an "index1-index2" 1-based atom index setter string (used for pairing atoms in shortestPath ) the generated string the two atom indices or the two MolAtom objects pair(2, 5) returns "3-6" N/A
  • pair(ratom(1), ratom(2)) returns "index1-index2" where index1 and index2 are the 1-based atom indices of the reactant atoms matching map 1 and 2 in the reaction equation
  • bond(patom(2), patom(5) returns "index1-index2" where index1 and index2 are the 1-based atom indices of the product atoms matching map 2 and 5 in the reaction equation
productCount - counts the products in a reaction the number of products in the reaction or -1 if the input molecule is not a reaction - N/A N/A
  • productCount() returns n if the input molecule is a reaction and contains n products
  • productCount(product(0)) and productCount(product(1)) functions do not make sense and they return -1
radicalCount - returns the radical count of an atom the radical count atom index or MolAtom object N/A radicalCount(0) returns the radical count of atom 0 radicalCount(patom(3)) returns the radical count of the product atom matching map 3 in the reaction equation
reactantCount - counts the reactants of a reaction the number of reactants of the reaction or -1 if the input molecule is not a reaction - N/A N/A
  • reactantCount() returns n if the given molecule is a reaction and contains n reactants else it returns -1 if the given molecule is not a reaction
  • reactantCount(reactant(0)) and reactantCount(product(1)) calls do not make sense and they return -1
sortAsc - sorts an array in ascending order the sorted array integer array or real number array sortAsc(array(3.4, 5.6, 1.2)) returns array(1.2, 3.4, 5.6) sortAsc(charge()) returns the atomic partial charge values in ascending order sortAsc(charge(reactant(1))) returns the atomic partial charge values of the second reactant in ascending order
sortDesc - sorts an array in descending order the sorted array integer array or real number array sortDesc(array(3.4, 5.6, 1.2)) returns array(5.6, 3.4, 1.2) sortDesc(pka("basic")) returns the basic pK a values in descending order sortDesc(pka(product(0), "basic")) returns the basic pKa values of the first product in descending order
sum - calculates the sum of elements in an array the sum integer array or real number array sum(array(3.4, 5.6, 1.2)) returns 10.2 sum(charge()) returns the sum of the atomic partial charges sum(charge(reactant(0))) returns the sum of the atomic partial charge values of the first reactant
valence - returns the sum of bond orders and query H atoms of an atom the sum of bond orders and query H atoms atom index or MolAtom object N/A valence(0) returns the valence of atom 0 valence(ratom(1)) returns the valence of the reactant atom matching map 1 in the reaction equation
whereIsValenceError - returns the index of the first atom with valence error or -1 if there is no valence error the index of the first atom with valence error or -1 if there is no valence error - N/A whereIsValenceError() returns the index of the first atom with valence error or -1 if there is no valence error in the molecule whereIsValenceError(reactant(1)) returns the index of the first atom with valence error in the second reactant or -1 f there is no valence error in the second reactant

Back to the Table of Contents

Geometry Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
aliphaticAtom DGTK checks if an atom is aliphatic true for aliphatic atoms, false for non-aliphatic atoms the atom index/MolAtom object aliphaticAtom(2) returns true if atom 2 of the input molecule is aliphatic, false otherwise aliphaticAtom(ratom(2)) returns true if the reactant atom matching map 2 in the reaction equation is aliphatic, false otherwise
aliphaticAtomCount DGTK calculates the aliphatic atom count the aliphatic atom count - aliphaticAtomCount() returns the number of aliphatic atoms in the input molecule aliphaticAtomCount(reactant(0)) returns the number of aliphatic atoms in the first reactant
aliphaticBondCount DGTK calculates the aliphatic bond count the aliphatic bond count - aliphaticBondCount() returns the number of bonds in the input molecule aliphaticBondCount(product(1)) returns the number of aliphatic bonds in the second product
aliphaticRingCount DGTK calculates the aliphatic ring count the aliphatic ring count - aliphaticRingCount() returns the number of aliphatic rings in the input molecule aliphaticRingCount(reactant(0)) returns the number of aliphatic rings in the first reactant
aliphaticRingCountOfSize DGTK calculates the number of aliphatic rings of a given size the number of aliphatic rings of the given size the ring size aliphaticRingCountOfSize(6) returns the number of aliphatic rings of size 6 in the input molecule aliphaticRingCountOfSize(reactant(0), 5) returns the number of aliphatic rings of size 5 in the first reactant
aliphaticRings DGTK identifies the aliphatic rings in the molecule atom indices of the aliphatic rings in the molecule (or null if the molecule does not contain aliphatic rings) - aliphaticRings() returns the atom indices of the aliphatic rings in the input molecule aliphaticRings(product(1)) returns the atom indices of the aliphatic rings in the second product
aliphaticRingsOfSize DGTK identifies the aliphatic rings of a given size in the molecule atom indices of the aliphatic rings in the molecule having the given size (or null if the molecule does not contain aliphatic rings) the ring size aliphaticRings() returns the atom indices of the aliphatic rings in the input molecule having the given size aliphaticRings(reactant(0)) returns the atom indices of the aliphatic rings having the given size in the first reactant
angle DGTK calculates the angle between three atoms the angle between three atoms the (1-based) atom indices of the three atoms in a string "index1-index2-index3" (e.g. '2-3-5') angle('1-2-3') and angle(atoms(0, 1, 2)) both return the angle between atoms 1, 2 and 3 of the input molecule
  • angle(reactant(0), atoms(ratom(1), ratom(2), ratom(3))) returns the angle between reactant atoms matching maps 1, 2 and 3 in the reaction equation (see note 1)
  • angle(product(1), atoms(patom(2), patom(3), patom(4))) returns the angle between product atoms matching maps 2, 3 and 4 in the reaction equation (see note 1)
aromaticAtom DGTK checks if an atom is aromatic true for aromatic atoms, false for non-aromatic atoms the atom index/MolAtom object aromaticAtom(2) returns true if atom 2 of the input molecule is aromatic, false otherwise
  • aromaticAtom(ratom(2)) returns true if the reactant atom matching map 2 in the reaction equation is aromatic, false otherwise
  • aromaticAtom(patom(1)) returns true if the product atom matching map 1 in the reaction equation is aromatic, false otherwise
aromaticAtomCount DGTK calculates the aromatic atom count the aromatic atom count - aromaticAtomCount() returns the number of aromatic atoms in the input molecule aromaticAtomCount(reactant(0)) returns the number of aromatic atoms in the first reactant
aromaticBondCount DGTK calculates the aromatic bond count the aromatic bond count - aromaticBondCount() returns the number of aromatic bonds in the input molecule aromaticBondCount(product(1)) returns the number of aromatic bonds in the second product
aromaticRingCount DGTK calculates the aromatic ring count the aromatic ring count - aromaticRingCount() returns the number of aromatic rings in the input molecule aromaticRingCount(reactant(0)) returns the number of aromatic rings in the first reactant
aromaticRingCountOfSize DGTK calculates the number of aromatic rings of a given size the number of aromatic rings of the given size the ring size aromaticRingCountOfSize(6) returns the number of aromatic rings of size 6 in the input molecule aromaticRingCountOfSize(product(1), 5) returns the number of aromatic rings of size 5 in the second product
aromaticRings DGTK identifies the aromatic rings in the molecule atom indices of the aromatic rings in the molecule (or null if the molecule does not contain aromatic rings) - aromaticRings() returns the atom indices of the aromatic rings in the input molecule
  • aromaticRings(reactant(0)) returns the atom indices of the aromatic rings in the first reactant
  • aromaticRings(product(1)) returns the atom indices of the aromatic rings in the second product
aromaticRingsOfSize DGTK identifies the aromatic rings having a given size (number of atoms) in the molecule atom indices of the aromatic rings having the given size (or null if the molecule does not contain aromatic rings) the ring size aromaticRingsOfSize(6) returns the atom indices of the aromatic rings of size 6 in the input molecule aromaticRingsOfSize(reactant(0), 5) returns the atom indices of the aromatic rings of size 5 in the first reactant
ASAHydrophobic DGTK calculates the water accessible molecular surface area of all hydrophobic atoms in the molecule the molecular surface area the major microspecies pH (takes the input molecule if omitted)
  • ASAHydrophobic() returns the water accessible surface area of all atoms of the input molecule with hydrophobic partial charge
  • ASAHydrophobic('7.4') returns the water accessible surface area of all atoms with hydrophobic partial charge of the major microspecies taken at pH 7.4
  • ASAHydrophobic(reactant(0)) returns the water accessible surface area of all atoms of the first reactant with hydrophobic partial charge
  • ASAHydrophobic(product(0), '7.4') returns the water accessible surface area of all atoms with hydrophobic partial charge of the major microspecies of the first product taken at pH 7.4
ASANegative DGTK calculates the water accessible molecular surface area of all atoms with negative partial charge the molecular surface area the major microspecies pH (takes the input molecule if omitted)
  • ASANegative() returns the water accessible surface area of all atoms of the input molecule with negative partial charge
  • ASANegative('7.4') returns the water accessible surface area of all atoms with negative partial charge of the major microspecies taken at pH 7.4
  • ASANegative(reactant(0)) returns the water accessible surface area of all atoms of the first reactant with negative partial charge
  • ASANegative(product(0), '7.4') returns the water accessible surface area of all atoms with negative partial charge of the major microspecies of the first product taken at pH 7.4
ASAPlus DGTK calculates the water accessible molecular surface area of all atoms with positive partial charge the molecular surface area the major microspecies pH (takes the input molecule if omitted)
  • ASAPlus() returns the water accessible surface area of all atoms of the input molecule with positive partial charge
  • ASAPlus('7.4') returns the water accessible surface area of all atoms with positive partial charge of the major microspecies taken at pH 7.4
  • ASAPlus(reactant(0)) returns the water accessible surface area of all atoms of the first reactant with positive partial charge
  • ASAPlus(product(0), '7.4') returns the water accessible surface area of all atoms with positive partial charge of the major microspecies of the first product taken at pH 7.4
ASAPolar DGTK calculates the water accessible molecular surface area of all polar atoms the molecular surface area the major microspecies pH (takes the input molecule if omitted)
  • ASAPolar() returns the water accessible surface area of all atoms of the input molecule with polar partial charge
  • ASAPolar('7.4') returns the water accessible surface area of all atoms with polar partial charge of the major microspecies taken at pH
  • ASAPolar(reactant(0)) returns the water accessible surface area of all atoms of the first reactant with polar partial charge
  • ASAPolar(product(0), '7.4') returns the water accessible surface area of all atoms with polar partial charge of the major microspecies of the first product taken at pH 7.4
asymmetricAtom DGTK checks if the specified atom is an asymmetric atom true for asymmetric atoms, false for symmetric atoms the atom index/MolAtom object asymmetricAtom(2) returns true if atom 2 of the input molecule is an asymmetric atom, false otherwise
  • asymmetricAtom(ratom(2)) returns true if the reactant atom matching map 2 in the reaction equation is an asymmetric atom, false otherwise
  • asymmetricAtom(patom(1)) returns true if the product atom matching map 1 in the reaction equation is an asymmetric atom, false otherwise
asymmetricAtomCount DGTK calculates the number of asymmetric atoms the asymmetric atom count - asymmetricAtomCount() returns the number of asymmetric atoms in the input molecule asymmetricAtomCount(reactant(0)) returns the number of asymmetric atoms in the first reactant
asymmetricAtoms DGTK identifies the asymmetric atoms in the molecule indices of asymmetric atoms - asymmetricAtoms() returns the indices of asymmetric atoms in the input molecule asymmetricAtoms(product(1)) returns the indices of asymmetric atoms in the second product
balabanIndex DGTK calculates the Balaban index the Balaban index - balabanIndex() calculates the Balaban index of the input molecule balabanIndex(reactant(0)) calculates the Balaban index of the first reactant
bondCount - calculates the bond count the bond count - bondCount() returns the number of bonds in the input molecule bondCount(product(1)) returns the number of bonds in the second product
bondType DGTK returns the bond type between two atoms the bond type between two atoms or -1 if there is no bond between the two atoms the (1-based) atom indices 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 of the input molecule
  • bondType(reactant(0), bond(ratom(1), ratom(2))) returns the bond type between reactant atoms matching maps 1 and 2 in the reaction equation
  • bondType(product(1), bond(patom(2), patom(3))) returns the bond type between product atoms matching maps 2 and 3 in the reaction equation
carboaliphaticRingCount DGTK calculates the number of carboaliphatic rings (aliphatic rings containing carbon atoms only) in the molecule the number of carboaliphatic rings - carboaliphaticRingCount() returns the number of carboaliphatic rings in the input molecule carboaliphaticRingCount(reactant(0)) returns the number of carboaliphatic rings in the first reactant
carboaromaticRingCount DGTK calculates the number of carboaromatic rings (aromatic rings containing carbon atoms only) in the molecule the number of carboaromatic rings - carboaromaticRingCount() returns the number of carboaromatic rings in the input molecule carboaromaticRingCount(product(1)) returns the number of carboaromatic rings in the second product
carboRingCount DGTK calculates the number of carbocyclic rings (rings containing carbon atoms only) in the molecule the number of carbocyclic rings - carboRingCount() returns the number of carbocyclic rings in the input molecule carboRingCount(reactant(0)) returns the number of carbocyclic rings in the first reactant
carboRingCountOfSize DGTK calculates the number of carbocyclic rings (rings containing carbon atoms only) of a given size the number of carbocyclic rings of the given size the ring size carboRingCountOfSize(6) returns the number of carbocyclic rings of size 6 in the input molecule
  • carboRingCountOfSize(reactant(0), 5) returns the number of carbocyclic rings of size 5 in the first reactant
  • carboRingCountOfSize(product(1), 5) returns the number of carbocyclic rings of size 5 in the second product
carboRings DGTK identifies the carbocyclic rings (rings containing carbon atoms only) in the molecule atom indices of the carbocyclic rings in the molecule (or null if the molecule does not contain carbocyclic rings) - carboRings() returns the atom indices of the carbocyclic rings in the input molecule carboRings(reactant(0)) returns the atom indices of the carbocyclic rings in the first reactant
carboRingsOfSize DGTK identifies the carbocyclic rings in the molecule having a given size (number of atoms) the atom indices of the carbocyclic rings in the molecule having the given size (or null if the molecule does not carbocyclic rings) the ring size carboRingsOfSize(6) returns the atom indices of the carbocyclic rings of size 6 in the input molecule carboRingsOfSize(product(1), 5) returns the atom indices of the carbocyclic rings of size 5 in the second product
chainAtom DGTK checks if the specified atom is a chain atom true for chain atoms, false for non-chain atoms the atom index/MolAtom object chainAtom(2) returns true if atom 2 of the input molecule is a chain atom, false otherwise
  • chainAtom(ratom(2)) returns true if the reactant atom matching map 2 in the reaction equation is a chain atom, false otherwise
  • chainAtom(patom(1)) returns true if the product atom matching map 1 in the reaction equation is a chain atom, false otherwise
chainAtomCount DGTK calculates the chain atom count the chain atom count - chainAtomCount() returns the number of chain atoms in the input molecule chainAtomCount(reactant(0)) returns the number of chain atoms in the first reactant
chainBond DGTK checks if two atoms are connected by a chain bond true if the two atoms are connected by a chain bond, false otherwise the (1-based) atom indices of the two atoms in a string "index1-index2" (e.g. '2-3') chainBond('2-3') and chainBond(bond(1, 2)) both return true if atoms 1 and 2 are connected by a chain bond in the input molecule
  • chainBond(reactant(0), bond(ratom(1), ratom(2))) returns true if reactant atoms matching maps 1 and 2 in the reaction equation are connected by a chain bond in the corresponding reactant molecule (see note 1)
  • chainBond(product(1), bond(patom(2), patom(3))) returns true if product atoms matching maps 2 and 3 in the reaction equation are connected by a chain bond in the corresponding product molecule (see note 1)
chainBondCount DGTK calculates the chain bond count the chain bond count - chainBondCount() returns the number of chain bonds in the input molecule chainBondCount(reactant(0)) returns the number of chain bonds in the first reactant
chiralCenter DGTK checks if the specified atom is a tetrahedral stereogenic center true for tetrahedral stereogenic center atoms the atom index/MolAtom object chiralCenter(2) returns true if atom 2 of the input molecule is a tetrahedral stereogenic center, false otherwise
  • chiralCenter(ratom(2)) returns true if the reactant atom matching map 2 in the reaction equation is a tetrahedral stereogenic center, false otherwise
  • chiralCenter(patom(1)) returns true if the product atom matching map 1 in the reaction equation is a tetrahedral stereogenic center, false otherwise
chiralCenterCount DGTK calculates the number of tetrahedral stereogenic center atoms the tetrahedral stereogenic center count - chiralCenterCount() returns the number of tetrahedral stereogenic centers in the input molecule chiralCenterCount(product(1)) returns the number of tetrahedral stereogenic centers in the second product
chiralCenters DGTK determines the chiral center atoms indices of chiral center atoms - chiralCenters() returns the indices of the chiral center atoms in the input molecule chiralCenters(reactant(0)) returns the indices of the chiral center atoms in the first reactant
connected DGTK checks if two atoms are connected true if the two atoms belong to the same connected component, false otherwise the (1-based) atom indices of the two atoms in a string "index1-index2" (e.g. '2-3') connected('2-3') and connected(pair(1, 2)) both return true if atoms 1 and 2 are in the same connected component of the input molecule
  • connected(reactant(0), pair(ratom(1), ratom(2))) returns true if reactant atoms matching maps 1 and 2 in the reaction equation are connected in the corresponding reactant molecule (see note 1)
  • connected(product(1), pair(patom(2), patom(3))) returns true if product atoms matching maps 2 and 3 in the reaction equation are connected in the corresponding product molecule (see note 1)
connectedGraph DGTK 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 connectedGraph(product(1)) returns true if the second product is connected
cyclomaticNumber DGTK calculates the cyclomatic number the cyclomatic number - cyclomaticNumber() returns the cyclomatic number of the input molecule cyclomaticNumber(reactant(0)) returns the cyclomatic number of the first reactant
dihedral DGTK calculates the dihedral angle of four atoms the dihedral angle of four atoms the (1-based) atom indices of the four atoms in a string "index1-index2-index3-index4" (e.g. '2-3-7-4') dihedral('1-2-3-4') and dihedral(atoms(0, 1, 2, 3)) both return the dihedral angle of atoms 1, 2, 3 and 4 in the input molecule
  • dihedral(reactant(0), atoms(ratom(1), ratom(2), ratom(3), ratom(4))) returns the dihedral angle of reactant atoms matching maps 1, 2, 3 and 4 in the reaction equation (see note 1)
  • dihedral(product(1), atoms(patom(2), patom(3), patom(5), patom(6))) returns the dihedral angle of product atoms matching maps 2, 3, 5 and 6 in the reaction equation (see note 1)
distance DGTK calculates the distance between two atoms the distance between the two atoms the (1-based) atom indices 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 input molecule
  • distance(reactant(0), pair(ratom(1), ratom(2))) returns the distance between reactant atoms matching maps 1 and 2 in the reaction equation (see note 1)
  • distance(product(1), pair(patom(2), patom(3))) returns the distance between product atoms matching maps 2 and 3 in the reaction equation (see note 1)
distanceDegree DGTK calculates the distance degree of an atom the distance degree the atom index/MolAtom object distanceDegree(2) returns the distance degree of atom 2 of the input molecule distanceDegree(ratom(2)) returns the distance degree of the reactant atom matching map 2 in the reaction equation
dreidingEnergy DGTK returns the Dreiding energy of the input molecule (conformer) the dreiding energy - dreidingEnergy() returns the Dreiding energy of the input molecule (conformer) dreidingEnergy(reactant(0)) returns the dreiding energy of the first reactant
eccentricity DGTK calculates the eccentricity of an atom the eccentricity of the atom the atom index/ MolAtom object eccentricity(2) returns the eccentricity of atom 2 of the input molecule eccentricity(patom(1)) returns the eccentricity of the product atom matching map 1 in the reaction equation
fragmentCount DGTK returns the number of fragments (disconnected parts) of a molecule the fragment count - fragmentCount() returns the number of fragments in the input molecule fragmentCount(reactant(0)) returns the number of fragments in the first reactant
fsp3 DGTK returns the fsp3 of the molecule the fsp3 value - fsp3() returns the fsp3 value of the input molecule fsp3(reactant(0)) returns the fsp3 value of the first reactant
fusedAliphaticRingCount DGTK calculates the number of fused aliphatic rings (SSSR = smallest set of smallest aliphatic rings) the fused aliphatic ring count - fusedAliphaticRingCount() returns the number of fused aliphatic rings in the input molecule fusedAliphaticRingCount(reactant(0)) returns the number of fused aliphatic rings in the first reactant
fusedAliphaticRingCountOfSize DGTK calculates the number of fused aliphatic rings of a given size the number of fused aliphatic rings of the given size the ring size fusedAliphaticRingCountOfSize(6) returns the number of fused aliphatic rings of size 6 in the input molecule
  • fusedAliphaticRingCountOfSize(reactant(0), 5) returns the number of fused aliphatic rings of size 5 in the first reactant
  • fusedAliphaticRingCountOfSize(product(1), 5) returns the number of fused aliphatic rings of size 5 in the second product
fusedAliphaticRings DGTK identifies the fused aliphatic rings in the molecule the atom indices of the fused aliphatic rings in the molecule (or null if the molecule does not contain fused aliphatic rings) - fusedAliphaticRings() returns the atom indices of the fused aliphatic rings in the input molecule fusedAliphaticRings(reactant(0)) returns the atom indices of the fused aliphatic rings in the first reactant
fusedAliphaticRingsOfSize DGTK identifies the fused aliphatic rings having a given size (number of atoms) in the molecule the atom indices of the fused aliphatic rings having the given size (or null if the molecule does not contain fused aliphatic rings) the ring size fusedAliphaticRings() returns the atom indices of the fused aliphatic rings having the given size in the input molecule fusedAliphaticRings(product(1)) returns the atom indices of the fused aliphatic rings having the given size in the second product
fusedAromaticRingCount DGTK calculates the number of fused aromatic rings (SSSR = smallest set of smallest aromatic rings) the fused aromatic ring count - fusedAromaticRingCount() returns the number of fused aromatic rings in the input molecule fusedAromaticRingCount(reactant(0)) returns the number of fused aromatic rings in the first reactant
fusedAromaticRingCountOfSize DGTK calculates the number of fused aromatic rings of a given size the number of fused aromatic rings of the given size the ring size fusedAromaticRingCountOfSize(6) returns the number of fused aromatic rings of size 6 in the input molecule fusedAromaticRingCountOfSize(reactant(0), 5) returns the number of fused aromatic rings of size 5 in the first reactant
fusedAromaticRings DGTK identifies the fused aromatic rings in the molecule the atom indices 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 input molecule fusedAromaticRings(product(1)) returns the atom indices of the fused aromatic rings in the second product
fusedAromaticRingsOfSize DGTK identifies the fused aromatic rings having a given size (number of atoms) the atom indices of the fused aromatic rings having the given size in the molecule (or null if the molecule does not contain fused aromatic rings) the ring size fusedAromaticRings() returns the atom indices of the fused aromatic rings having the given size in the input molecule fusedAromaticRings(reactant(0)) returns the atom indices of the fused aromatic rings having the given size in the first reactant
fusedRingCount DGTK calculates the number of fused rings (SSSR = smallest set of smallest rings) the fused ring count - fusedRingCount() returns the number of fused rings in the input molecule fusedRingCount(reactant(0)) returns the number of fused rings in the first reactant
hararyIndex DGTK calculates the Harary index the Harary index - hararyIndex() calculates the Harary index of the input molecule hararyIndex(product(1)) returns the Harary index of the second product
heteroaliphaticRingCount DGTK calculates the number of aliphatic heterocyclic rings (SSSR = smallest set of smallest aliphatic rings) the aliphatic heterocyclic ring count - heteroaliphaticRingCount() returns the number of aliphatic heterocyclic rings in the input molecule heteroaliphaticRingCount(reactant(0)) returns the number of aliphatic heterocyclic rings in the first reactant
heteroaliphaticRingCountOfSize DGTK calculates the number of aliphatic heterocyclic rings of a given size the number of aliphatic heterocyclic rings of the given size the ring size heteroaliphaticRingCountOfSize(6) returns the number of aliphatic heterocyclic rings of size 6 in the input molecule heteroaliphaticRingCountOfSize(product(1), 5) returns the number of aliphatic heterocyclic rings of size 5 in the second product
heteroaliphaticRings DGTK identifies the aliphatic heterocyclic rings in the molecule atom indices of the aliphatic heterocyclic rings in the molecule (ot null if the molecule does not contain aliphatic heterocyclic rings) - heteroaliphaticRings() returns the atom indices of the aliphatic heterocyclic rings in the input molecule heteroaliphaticRings(reactant(0)) returns the atom indices of the aliphatic heterocyclic rings in the first reactant
heteroaliphaticRingsOfSize DGTK identifies the aliphatic heterocyclic rings having a given size (number of atoms) in the molecule atom indices of the aliphatic heterocyclic rings having the given size (or null if the molecule does not contain aliphatic heterocyclic rings) the ring size heteroaliphaticRingsOfSize() returns the atom indices of the aliphatic heterocyclic rings having the given size in the input molecule heteroaliphaticRingsOfSize(product(1)) returns the atom indices of the aliphatic heterocyclic rings in the second product having the given size
heteroaromaticRingCount DGTK calculates the number of aromatic heterocyclic rings (SSSR = smallest set of smallest aromatic rings) the aromatic heterocyclic ring count - heteroaromaticRingCount() returns the number of aromatic heterocyclic rings in the input molecule heteroaromaticRingCount(reactant(0)) returns the number of aromatic heterocyclic rings in the first reactant
heteroaromaticRingCountOfSize DGTK calculates the number of aromatic heterocyclic rings of a given size the number of aromatic heterocyclic rings of the given size the ring size heteroaromaticRingCountOfSize(6) returns the number of aromatic heterocyclic rings of size 6 in the input molecule heteroaromaticRingCountOfSize(product(1), 5) returns the number of aromatic heterocyclic rings of size 5 in the second product
heteroaromaticRings DGTK identifies the aromatic heterocyclic rings in the molecule atom indices of the aromatic heterocyclic rings in the molecule (or null if the molecule does not contain aromatic heterocyclic rings) - heteroaromaticRings() returns the atom indices of the aromatic heterocyclic rings in the input molecule heteroaromaticRings(product(1)) returns the atom indices of the aromatic heterocyclic rings in the second product
heteroaromaticRingsOfSize DGTK identifies the aromatic heterocyclic rings in the molecule having a given size (number of atoms) atom indices of the aromatic heterocyclic rings in the molecule having the given size (or null if the molecule does not contain aromatic heterocyclic rings) the ring size heteroaromaticRingsOfSize() returns the atom indices of the aromatic heterocyclic rings in the input molecule having the given size heteroaromaticRingsOfSize(reactant(0)) returns the atom indices of the aromatic heterocyclic rings in the first reactant having the given size
heteroRingCount DGTK calculates the number of heterocyclic rings (SSSR = smallest set of smallest rings) the heterocyclic ring count - heteroRingCount() returns the number of heterocyclic rings in the input molecule heteroRingCount(reactant(0)) returns the number of heterocyclic rings in the first reactant
heteroRingCountOfSize DGTK calculates the number of heterocyclic rings of a given size the number of heterocyclic rings of the given size the ring size heteroRingCountOfSize(6) returns the number of heterocyclic rings of size 6 in the input molecule
  • heteroRingCountOfSize(reactant(0), 5) returns the number of heterocyclic rings of size 5 in the first reactant
  • heteroRingCountOfSize(product(1), 5) returns the number of heterocyclic rings of size 5 in the second product
heteroRings DGTK identifies the heterocyclic rings in the molecule atom indices of the heterocyclic rings in the molecule (or null if the molecule does not contain heterocyclic rings) - heteroRings() returns the atom indices of the heterocyclic rings in the input molecule heteroRings(reactant(0)) returns the atom indices of the heterocyclic rings in the first reactant
heteroRingsOfSize DGTK identifies the heterocyclic rings in the molecule having a given size (number of atoms) atom indices of the heterocyclic rings in the molecule having the given size (or null if the molecule does not contain heterocyclic rings) the ring size heteroRingsOfSize(6) returns the atom indices of the heterocyclic rings in the input molecule having size of 6 heteroRingsOfSize(product(1), 5) returns the atom indices of the heterocyclic rings in the second product having size of 5
hyperWienerIndex DGTK calculates the Hyper Wiener index the Hyper Wiener index - hyperWienerIndex() calculates the Hyper Wiener index of the input molecule hyperWienerIndex(reactant(0)) returns the Hyper Wiener index of the first reactant
largestAtomRingSize DGTK calculates the size of the largest ring containing a specified atom the size of the largest ring containing the specified atom the atom index/MolAtom object largestAtomRingSize(1) returns the size of the largest ring containing atom 1 in the input molecule largestAtomRingSize(patom(2)) returns the size of the largest ring containing product atom matching map 2 in the reaction equation
largestConjugatedSystem DGTK returns the atom list of the largest conjugated system of the molecule the atom list of the largest conjugated system - largestConjugatedSystem() returns the atom list of the largest conjugated system in the input molecule largestConjugatedSystem(product(1)) returns the atom list of the largest conjugated system in the second product
largestConjugatedSystemSize DGTK returns the number of pi electron pairs in the largest conjugated system of the molecule the number of pi electron pairs in the largest conjugated system of the molecule - largestConjugatedSystemSize() returns the number of pi electron pairs in the largest conjugated system of the input molecule largestConjugatedSystemSize(reactant(0)) returns the number of pi electron pairs in the largest conjugated system of the first reactant
largestConjugatedSystemMol DGTK returns the input molecule with its largest conjugated system coloured in green (note that this function should be used with the output option -f mrv to show the colouring in the output the input molecule with its largest conjugated system coloured in green - largestConjugatedSystemMol() returns the input molecule with its largest conjugated system coloured in green largestConjugatedSystemMol(product(1)) returns the second product with its largest conjugated system coloured in green
largestRing DGTK identifies the atoms of the largest ring in the molecule the atom indices of the largest ring in the molecule (or null if the input molecule is acyclic) - largestRingSize() returns the atom indices of the largest ring in the input molecule largestRingSize(product(1)) returns the atom indices of the largest ring in the second product
largestRingSize DGTK calculates the largest ring size in the molecule the largest ring size - largestRingSize() returns the size of the largest ring in the input molecule largestRingSize(product(1)) returns the size of the largest ring in the second product
largestRingSystem DGTK identifies the atoms of the largest ring system in the molecule atom indices of the largest ring system in the molecule (or null if the molecule is acyclic) - largestRingSystem() returns the atom indices of the largest ring system in the input molecule largestRingSystem(reactant(0)) returns the atom indices of the largest ring system in the first reactant
largestRingSystemSize DGTK calculates the size of the largest ring system (=number of rings) the size of the largest ring system - largestRingSystemSize() returns the size of the largest ring system in the input molecule largestRingSystemSize(reactant(0)) returns the size of the largest ring system in the first reactant
maximalProjectionArea DGTK returns the maximal projection area the maximal projection area - maximalProjectionArea() returns the maximal projection area of the input molecule maximalProjectionArea((reactant(0)) returns the maximal projection area of the first reactant
maximalProjectionRadius DGTK returns the maximal projection radius the maximal projection radius - maximalProjectionRadius() returns the maximal projection radius of the input molecule maximalProjectionRadius((reactant(0)) returns the maximal projection radius of the first reactant
maximalProjectionSize DGTK returns the maximal distance in the molecule perpendicular to its maximal projection area the maximal distance in the molecule (the actual conformer) perpendicular to its maximal projection area - maximalProjectionSize() returns the maximal distance in the input molecule perpendicular to its maximal projection area maximalProjectionSize((reactant(0)) returns the maximal distance of the first reactant perpendicular to its maximal projection area
minimalProjectionArea DGTK returns the minimal projection area the minimal projection area - minimalProjectionArea() returns the minimal projection area of the input molecule minimalProjectionArea((reactant(0)) returns the minimal projection area of the first reactant
minimalProjectionRadius DGTK returns the minimal projection radius the minimal projection radius - minimalProjectionRadius() returns the minimal projection radius of the input molecule minimalProjectionRadius(product(1)) returns the minimal projection radius of the second product
minimalProjectionSize DGTK returns the maximal distance in the molecule perpendicular to its minimal projection area the maximal distance of the molecule (the actual conformer) perpendicular to its minimal projection area - minimalProjectionSize() returns the maximal distance in the input molecule perpendicular to its the minimal projection area minimalProjectionSize(product(1)) returns the maximal distance of the second product perpendicular to its minimal projection area
mmff94Energy DGTK returns the MMFF94 energy of the input molecule (conformer) the MMFF94 energy - mmff94Energy() returns the MMFF94 energy of the input molecule (conformer) mmff94Energy(reactant(0)) returns the MMFF94 energy of the first reactant
plattIndex DGTK calculates the Platt index the Platt index - plattIndex() returns the Platt index of the input molecule plattIndex(product(1)) returns the Platt index of the second product
randicIndex DGTK calculates the Randic index the Randic index - randicIndex() calculates the Randic index of the input molecule randicIndex(reactant(0)) returns the Randic index of the first reactant
ringAtom DGTK checks if a specified atom is a ring atom true for ring atoms, false for non-ring atoms the atom index/MolAtom object ringAtom(2) returns true if atom 2 of the input molecule is a ring atom, false otherwise
  • ringAtom(ratom(2)) returns true if the reactant atom matching map 2 in the reaction equation is a ring atom, false otherwise
  • ringAtom(patom(1)) returns true if the product atom matching map 1 in the reaction equation is a ring atom, false otherwise
ringAtomCount DGTK calculates the ring atom count the ring atom count - ringAtomCount() returns the number of ring atoms in the input molecule ringAtomCount(reactant(0)) returns the number of ring atoms in the first reactant
ringBond DGTK checks if two atoms are connected by a ring bond true if the two atoms are connected by a ring bond, false otherwise the (1-based) atom indices of the two atoms in a string "index1-index2" (e.g. '2-3') ringBond('2-3') and ringBond(bond(1, 2)) both return true if atoms 1 and 2 are connected by a ring bond in the input molecule
  • ringBond(reactant(0), bond(ratom(1), ratom(2))) returns true if reactant atoms matching maps 1 and 2 in the reaction equation are connected by a ring bond in the first reactant molecule (see note 1)
  • ringBond(product(1), bond(patom(2), patom(3))) returns true if product atoms matching maps 2 and 3 in the reaction equation are connected by a ring bond in the second product molecule (see note 1)
ringBondCount DGTK calculates the ring bond count the ring bond count - ringBondCount() returns the number of ring bonds in the input molecule ringBondCount(reactant(0)) returns the number of ring bonds in the first reactant
ringCount DGTK calculates the ring count the ring count - ringCount() returns the number of rings in the input molecule ringCount(reactant(0)) returns the number of rings in the first reactant
ringCountOfAtom DGTK calculates the number of rings passing through an atom the number of rings passing through the atom the atom index/MolAtom object ringCountOfAtom(2) returns the number of rings passsing through atom 2 of the input molecule
  • ringCountOfAtom(ratom(2)) returns the number of rings passing through the reactant atom matching map 2 in the reaction equation
  • ringCountOfAtom(patom(1)) returns the number of rings passing through the product atom matching map 1 in the reaction equation
ringCountOfSize DGTK calculates the number of rings of a given size the number of rings of the given size the ring size ringCountOfSize(6) returns the number of rings of size 6 in the input molecule
  • ringCountOfSize(reactant(0), 5) returns the number of rings of size 5 in the first reactant
  • ringCountOfSize(product(1), 6) returns the number of rings of size 6 in the second product
rings DGTK identifies the rings in the molecule atom indices of the rings in the molecule (or null if the molecule is acyclic) - rings() returns the atom indices of the rings in the input molecule rings(product(1)) returns the atom indices of the rings in the second product
ringsOfSize DGTK identifies the rings in the molecule having a given size (number of atoms) atom indices of the rings having the given size in the molecule the ring size ringsOfSize(6) returns the atom indices of the rings of size 6 in the input molecule ringsOfSize(reactant(0), 5) returns the atom indices of the rings of size 5 in the first reactant
ringSystemCount DGTK calculates the number of ring systems the number of ring systems - ringSystemCount() returns the number of ring systems in the input molecule ringSystemCount(reactant(0)) returns the number of ring systems in the first reactant
ringSystemCountOfSize DGTK calculates the number of ring systems of a given size the number of ring systems of the given size the ring system size ringSystemCountOfSize(10) returns the number of 10-membered ring systems in the input molecule ringSystemCountOfSize(product(1), 12) returns the number of 12-membered ring systems in the second product
ringSystems DGTK identifies the ring systems in the molecule (fused and spiro rings belong to one ring system) atom indices of the ring systems in the molecule (or null if the molecule is acyclic) - ringSystems() returns the atom indices of the ring systems in the input molecule ringSystems(reactant(0)) returns the atom indices of the ring systems in the first reactant
ringSystemsOfSize DGTK identifies the ring systems in the molecule having a given size (number of atoms, fused and spiro rings belong to one ring system) atom indices of the ring systems in the molecule having the given size (or null if the molecule is acyclic or contains different ringSystems only) the ring size ringSystemsOfSize(10) returns the atom indices of the 10-membered ring systems in the input molecule ringSystemsOfSize(reactant(0), 8) returns the atom indices of the 8-membered ring systems in the first reactant
rotatableBond DGTK checks if two atoms are connected by a rotatable bond true if the two atoms are connected by a rotatable bond, false otherwise the (1-based) atom indices of the two atoms in a string "index1-index2" (e.g. '2-3') rotatableBond('2-3') and rotatableBond(bond(1, 2)) both return true if atoms 1 and 2 are connected by a rotatable bond in the input molecule
  • rotatableBond(reactant(0), bond(ratom(1), ratom(2))) returns true if reactant atoms matching maps 1 and 2 in the reaction equation are connected by a rotatable bond in the first reactant molecule (see note 1)
  • rotatableBond(product(1), bond(patom(2), patom(3))) returns true if product atoms matching maps 2 and 3 in the reaction equation are connected by a rotatable bond in the second product molecule (see note 1)
rotatableBondCount DGTK calculates the rotatable bond count the rotatable bond count - rotatableBondCount() returns the number of rotatable bonds in the input molecule rotatableBondCount(reactant(0)) returns the number of rotatable bonds in the first reactant
shortestPath DGTK calculates the length of the shortest path between two atoms the length of the shortest path between two atoms (returns Integer.MAX_VALUE if the two atoms are disconnected) the (1-based) atom indices of the two atoms in a string "index1-index2" (e.g. '2-3') shortestPath('2-3') and shortestPath(pair(1, 2)) both return the shortest path length between atoms 1 and 2 in the input molecule
  • shortestPath(reactant(0), pair(ratom(1), ratom(2))) returns the length of the shortest path in the first reactant between reactant atoms matching maps 1 and 2 in the reaction equation (see note 1)
  • shortestPath(product(1), pair(patom(2), patom(3))) returns the length of the shortest path in the second product between product atoms matching maps 2 and 3 in the reaction equation (see note 1)
smallestAtomRingSize DGTK calculates the size of the smallest ring containing a specified atom the size of the smallest ring containing the specified atom the atom index/MolAtom object smallestAtomRingSize(0) returns the size of the smallest ring containing atom 0 in the input molecule smallestAtomRingSize(ratom(1)) returns the size of the smallest ring containing reactant atom matching map 1 in the reaction equation
smallestRing DGTK identifies the atoms of the smallest ring (number of atoms) in the molecule atom indices of the smallest ring in the molecule (null when the molecule is acyclic) - smallestRing() returns the atom indices of the smallest ring in the input molecule smallestRing(product(1)) returns the atom indices of the smallest ring in the second product
smallestRingSize DGTK calculates the smallest ring size the smallest ring size - smallestRingSize() returns the size of the smallest ring in the input molecule smallestRingSize(reactant(0)) returns the size of the smallest ring in the first reactant
smallestRingSystem DGTK identifies the atoms of the smallest ring system (number of rings) in the molecule atom indices of the smallest ring system in the molecule (null when the molecule is acyclic) - smallestRingSystem() returns the atom indices of the smallest ring system in the input molecule smallestRingSystem(product(1)) returns the atom indices of the smallest ring system in the second product
smallestRingSystemSize DGTK calculates the size of the smallest ring system (number of rings) the size of the smallest ring system - smallestRingSystemSize() returns the size of the smallest ring system in the input molecule smallestRingSystemSize(reactant(0)) returns the size of the smallest ring system in the first reactant
stereoDoubleBondCount DGTK calculates the number of stereo double bonds the stereo double bond count - stereoDoubleBondCount() returns the number of stereo double bonds in the input molecule stereoDoubleBondCount(product(1)) returns the number of stereo double bonds in the second product
stericEffectIndex DGTK calculates the steric effect index of an atom the steric effect index of the atom the atom index/MolAtom object stericEffectIndex(1) returns the steric effect index of atom 1 stericEffectIndex(ratom(1)) returns the steric effect index of reactant atom matching map 1 in the reaction equation
stericHindrance DGTK calculates the steric hindrance of an atom the steric hindrance of the atom the atom index/MolAtom object stericHindrance(2) returns the steric hindrance of atom 2 in the input molecule stericHindrance(patom(2)) returns the steric hindrance of the product atom matching map 2 in the reaction equation
szegedIndex DGTK calculates the Szeged index the Szeged index - szegedIndex() calculates the Szeged index of the input molecule szegedIndex(reactant(0)) returns the Szeged index of the first reactant
  • topologicalPolarSurfaceArea
  • PSA
- calculates the (2D) topological polar surface area the polar surface area the major microspecies pH (takes the input molecule if omitted)
  • topologicalPolarSurfaceArea() returns the polar surface area of the input molecule
  • topologicalPolarSurfaceArea('7.4') returns the polar surface area of the major microspecies at pH 7.4 of the input molecule
  • topologicalPolarSurfaceArea(reactant(0)) returns the polar surface area of the first reactant
  • topologicalPolarSurfaceArea(product(0), '7.4') returns the polar surface area of the major microspecies of the first product at pH 7.4
vanDerWaalsSurfaceArea DGTK calculates the van der Waals surface area the van der Waals surface area the major microspecies pH (takes the input molecule if omitted)
  • vanDerWaalsSurfaceArea() returns the van der Waals surface area of the input molecule
  • vanDerWaalsSurfaceArea('7.4') returns the van der Waals surface area of the major microspecies of the input molecule at pH 7.4
  • vanDerWaalsSurfaceArea(reactant(0)) returns the van der Waals surface area of the first reactant
  • vanDerWaalsSurfaceArea(product(0), '7.4') returns the van der Waals surface area of the major microspecies of the first product at pH 7.4
  • waterAccessibleSurfaceArea
  • ASA
  • solventAccessibleSurfaceArea
DGTK calculates the solvent accessible/water accessible molecular surface area the water accesible molecular surface area the major microspecies pH (takes the input molecule if omitted)
  • waterAccessibleSurfaceArea() returns the solvent accessible/water accessible surface area of the input molecule
  • solventAccessibleSurfaceArea('7.4') returns the solvent accessible/water accessible surface area of the major microspecies of the input molecule at pH 7.4
  • waterAccessibleSurfaceArea(reactant(0)) returns the solvent accessible/water accessible surface area of the first reactant
  • solventAccessibleSurfaceArea(product(0), '7.4') returns the solvent accessible/water accessible surface area of the major microspecies of the first product at pH 7.4
wienerIndex DGTK calculates the Wiener index the Wiener index - wienerIndex() returns the Wiener index of the input molecule wienerIndex(reactant(0)) returns the Wiener index of the first reactant
wienerPolarity DGTK calculates the Wiener polarity the Wiener polarity - wienerPolarity() returns the Wiener polarity of the input molecule wienerPolarity(product(1)) returns the Wiener polarity of the second product

Back to the Table of Contents

HBDA Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
  • acceptor
  • acc
DGTK calculates atomic hydrogen bond acceptor multiplicity the atomic hydrogen bond acceptor multiplicity
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
acceptor(2) returns the hydrogen bond acceptor multiplicity on atom 2 of the input molecule acceptor(ratom(2)) returns the hydrogen bond acceptor multiplicity on the reactant atom matching map 2 in the reaction equation
acceptorCount DGTK calculates molecular hydrogen bond acceptor count (the number of acceptor atoms) the molecular hydrogen bond acceptor count the major microspecies pH (takes the input molecule if omitted) acceptorCount('7.4') returns the number of hydrogen bond acceptor atoms in the major microspecies of the input molecule at pH 7.4 acceptorCount(reactant(0)) returns the number of hydrogen bond acceptor atoms in the first reactant
  • acceptorSiteCount
  • accSiteCount
DGTK calculates molecular hydrogen bond acceptor multiplicity (the sum of atomic multiplicities) the molecular hydrogen bond acceptor multiplicity the major microspecies pH (takes the input molecule if omitted) acceptorSiteCount() returns the hydrogen bond acceptor multiplicity of the input molecule acceptorSiteCount(reactant(0), '7.4') returns the hydrogen bond acceptor multiplicity of the major microspecies of the first reactant at pH 7.4
  • donor
  • don
DGTK calculates atomic hydrogen bond donor multiplicity the atomic hydrogen bond donor multiplicity
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
donor(1, "7.4") returns the hydrogen bond donor multiplicity on atom 1 of the major microspecies at pH 7.4 donor(patom(3), '7.4') returns the hydrogen bond donor multiplicity of the product atom matching map 3 in the reaction equation, taking the major microspecies of the corresponding product at pH 7.4
donorCount DGTK calculates molecular hydrogen bond donor count (the number of donor atoms) the molecular hydrogen bond donor count the major microspecies pH (takes the input molecule if omitted) donorCount("7.4") returns the number of hydrogen bond donor atoms in the major microspecies of the input molecule at pH 7.4 donorCount(product(1), "7.4") returns the number of hydrogen bond donor atoms in the major microspecies of the first product at pH 7.4
  • donorSiteCount
  • donSiteCount
DGTK calculates the molecular hydrogen bond donor multiplicity (the sum of atomic multiplicities) the molecular hydrogen bond donor multiplicity the major microspecies pH (takes the input molecule if omitted) donorSiteCount("7.4") returns the hydrogen bond donor multiplicity of the major microspecies at pH 7.4 donorSiteCount(product(1), "7.4") returns the hydrogen bond donor multiplicity of the major microspecies of the first product taken at pH 7.4

Back to the Table of Contents

Huckel Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
  • chargeDensity
  • totalChargeDensity
DGTK calculates the charge density of atoms the charge density of the atom or NaN for non-existing values
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
chargeDensity(2) returns the charge density of atom 2 of the input molecule or NaN for non-existing value chargeDensity(ratom(1)) returns the charge density of the reactant atom matching map 1 in the reaction equation
  • electronDensity
  • piChargeDensity
DGTK calculates the electron density of an atom the electron density of the atom or NaN for non-existing values
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
electronDensity(2) returns the electron density of atom 2 of the input molecule or NaN for non-existing values electronDensity(ratom(1)) returns the electron density of the reactant atom matching map 1 in the reaction equation
  • electrophilicity
  • energyNu
  • nucleophilicLocalizationEnergy
DGTK calculates the electrophilicity of an atom the electrophilicity of the atom or NaN for non-aromatic atoms
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
electrophilicity(2) returns the electrophilicity of atom 2 of the input molecule or NaN if atom 2 is non-aromatic electrophilicity(ratom(1)) returns the electrophilicity of the reactant atom matching map 1 in the reaction equation
  • electrophilicityOrder
  • aromaticElectrophilicityOrder
  • orderEA
DGTK calculates the electrophilicity (E+) order of an atom the E+ order of the atom
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
electrophilicityOrder(2) returns the E+ order of atom 2 of the input molecule, e.g. returns 0 if atom 2 is the most electrophilic atom, 1 if atom 2 is the second most electrophilic atom etc. electrophilicityOrder(ratom(1)) returns the E+ order of the reactant atom matching map 1 in the reaction equation
hmoChargeDensity DGTK calculates the HMO charge density of an atom the charge density of the atom or NaN for non-existing values
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
hmoChargeDensity(2) returns the charge density of atom 2 of the input molecule or NaN for non-existing values hmoChargeDensity(ratom(1)) returns the charge density of the reactant atom matching map 1 in the reaction equation
hmoElectronDensity DGTK calculates the HMO electron density of an atom the electron density of the atom or NaN for non-existing values
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
hmoElectronDensity(2) returns the electron density of atom 2 of the input molecule or NaN for non-existing values hmoElectronDensity(ratom(1)) returns the electron density of the reactant atom matching map 1 in the reaction equation
  • hmoElectrophilicityOrder
  • hmoOrderE
DGTK calculates HMO electrophilic (HMO E+) order of an atom the HMO E+ order index of the atom (0, 1, 2, ...)
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
hmoElectrophilicityOrder(2) returns the HMO E+ order index of atom 2 of the input molecule, e.g. returns 0 if atom 2 is the most electrophilic atom, 1 if atom 2 is the second most electrophilic atom etc. hmoElectrophilicityOrder(ratom(1)) returns the HMO E+ order index of the reactant atom matching map 1 in the reaction equation
hmoElectrophilicLocalizationEnergy DGTK calculates the HMO localization energy (L+) of an atom the localization energy (L+) of the atom or NaN for non-aromatic atoms
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
hmoElectrophilicLocalizationEnergy(2) returns the L+ energy of atom 2 of the input molecule or NaN if atom 2 is non-aromatic hmoElectrophilicLocalizationEnergy(ratom(1)) returns the L+ localization energy of the reactant atom matching map 1 in the reaction equation
  • hmoNucleophilicityOrder
  • hmoOrderNu
DGTK calculates the HMO nucleophilic (HMO Nu-) order index of the atom (0, 1, 2, ...) the HMO Nu- order index of the atom (0, 1, 2, ...)
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
hmoNucleophilicityOrder(2, '7.4') returns the Nu- order index of atom 2 of the major microspecies of the input molecule at pH 7.4, e.g. returns 0 if atom 2 is the most nucleophilic atom, 1 if atom 2 is the second strongest nucleophilic atom etc. hmoNucleophilicityOrder(ratom(1)) returns the Nu+ order index of the reactant atom matching map 1 in the reaction equation
hmoNucleophilicLocalizationEnergy DGTK calculates the HMO nucleophilic (HMO L-) localization energy of an atom the HMO L- energy of the atom or NaN for non-aromatic atoms
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
hmoNucleophilicLocalizationEnergy(2) returns the nucleophilic localization energy of atom 2 of the input molecule or NaN if atom 2 is non-aromatic hmoNucleophilicLocalizationEnergy(ratom(1)) returns the HMO L- energy of the reactant atom matching map 1 in the reaction equation
hmoPiEnergy DGTK calculates the HMO pi energy of the molecule the HMO pi energy of the molecule
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
hmoPiEnergy('7.4') returns the pi energy of the major microspecies of the input molecule at pH 7.4 hmoPiEnergy(product(1)) returns the pi energy of the second product
  • nucleophilicity
  • electrophilicLocalizationEnergy
  • energyE
DGTK calculates nucleophilicity of an atom the nucleophilicity of the atom or NaN for non-aromatic atoms
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
nucleophilicity(2) returns the nucleophilicity of atom 2 of the input molecule or NaN if atom 2 is non-aromatic nucleophilicity(ratom(1)) returns the nucleophilicity of the reactant atom matching map 1 in the reaction equation
  • nucleophilicityOrder
  • aromaticNucleophilicityOrder
  • orderNu
DGTK calculates the nucleophilic (Nu-) order index of an atom (0, 1, 2, ...) the Nu- order index of the atom (0,1,2, ...)
  • the atom index/MolAtom object
  • the major microspecies pH (takes the input molecule if omitted)
nucleophilicityOrder(2) returns the Nu- order index of atom 2 of the input molecule, e.g. returns 0 if atom 2 is the most nucleophilic atom, 1 if atom 2 is the second most nucleophilic atom etc. nucleophilicityOrder(ratom(1)) returns the Nu- order index of the reactant atom matching map 1 in the reaction equation
piEnergy DGTK calculates the pi energy of a molecule the pi energy of the molecule the major microspecies pH (takes the input molecule if omitted) piEnergy() returns the pi energy of the input molecule piEnergy(product(1)) returns the pi energy of the second product

Back to the Table of Contents

Isomers Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
allTautomer DGTK, SPTK returns a tautomer from all tautomers the tautomer the tautomer index (0-based) allTautomer(0) returns the first tautomer of the input molecule allTautomer(reactant(0), 1) returns the second tautomer of the first reactant
allTautomers DGTK, SPTK returns all tautomers in an array the tautomer array the normalization option normal (the default is false) allTautomers('normal:true') returns all normalised tautomers of the input molecule in an array allTautomers(reactant(0)) returns all tautomers of the first reactant in an array
canonicalResonant - generates the canonical resonant structure the canonical resonant structure - canonicalResonant() returns the canonical resonant structure of the input molecule canonicalResonant(reactant(0)) returns the canonical resonant structure of the first reactant
canonicalTautomer DGTK, SPTK generates the canonical tautomer structure the canonical tautomer the normalization option normal (the default is false and the canonical tautomer is generated ) canonicalTautomer('normal:true') returns the normal canonical tautomer of the input molecule canonicalTautomer(reactant(0)) returns the canonical tautomer structure of the first reactant
  • dominantTautomer
  • tautomer
DGTK, SPTK returns a dominant tautomeric form the dominant tautomer
  • the dominant tautomer index (0-based)
  • the pH value (set if the pH effect should be considered)
  • dominantTautomer(0) returns the first dominant tautomer of the input molecule with no pH effect considered
  • dominantTautomer(1, "2.0") returns the second dominant tautomer of the input molecule at pH 2.0
dominantTautomer(reactant(0), 1, '7.4') returns the second dominant tautomer of the first reactant at pH 7.4
dominantTautomerCount DGTK, SPTK calculates the number of dominant tautomers the number of dominant tautomers the pH value as string (set if the pH effect should be considered) dominantTautomerCount("7.4") returns the number of dominant tautomers of the input molecule at pH 7.4 dominantTautomerCount(reactant(0)) returns the number of dominant tautomers of the first reactant without the pH effect considered
  • dominantTautomers
  • tautomers
DGTK, SPTK generates all dominant tautomers ordered by distribution % the dominant tautomers in an array the pH value as a string (set if the pH effect should be considered)
  • dominantTautomers() returns all dominant tautomers of the input molecule in an array
  • dominantTautomers("2.0") returns all dominant tautomers of the input molecule at pH 2.0 in an array
dominantTautomers(product(1), "7.4") returns all dominant tautomers of the second product at pH 7.4 in an array
doubleBondStereoisomer DGTK, SPTK generates a double bond stereoisomer of the molecule the double bond stereoisomer the double bond stereoisomer index (0-based) doubleBondStereoisomer(0) returns the first double bond stereoisomer of the input molecule doubleBondStereoisomer(reactant(0), 1) returns the second double bond stereoisomer of the first reactant
doubleBondStereoisomerCount DGTK, SPTK 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 doubleBondStereoisomerCount(reactant(0)) returns the number of calculated double bond stereoisomers of the first reactant
doubleBondStereoisomers DGTK, SPTK generates double bond stereoisomers of the molecule the double bond stereoisomer array the maximum number of stereoisomers to be generated (the default is all) doubleBondStereoisomers(100) returns at most 100 double bond stereoisomers of the input molecule in an array doubleBondStereoisomers(reactant(0)) returns all double bond stereoisomers of the first reactant in an array
genericTautomer DGTK, SPTK generates the generic tautomer structure the generic tautomer structure - genericTautomer() returns the generic tautomer structure of the input molecule genericTautomer(reactant(0)) returns the generic tautomer structure of the first reactant
majorTautomer DGTK, SPTK generates the major tautomer structure the major tautomer structure the pH value as a string (set if the pH effect should be considered) majorTautomer('7.4') returns the major tautomer structure of the input molecule at pH 7.4 majorTautomer(reactant(0)) returns the major tautomer structure of the first reactant with the pH effect not considered
resonant - generates a resonant structure of the molecule the resonant structure the resonant index (0-based) resonant(0) returns the first resonant structure of the input molecule resonant(reactant(0), 1) returns the second resonant structure of the first reactant
resonantCount - calculates the number of resonant structures of the input molecule the number of resonant structures - resonantCount() returns the number of resonant structures of the input molecule resonantCount(reactant(0)) returns the number of resonant structures of the first reactant
resonants - generates all resonant structures of the input molecule the array of resonant structures - resonants() returns all resonant structures of the input molecule in an array resonants(reactant(0)) returns all resonant structures of the first reactant in an array
stereoAnalysis - recognises stereo descriptors in a molecule the list of stereo descriptors the stereo descriptor type listed here
  • stereoAnalysis() returns all stereo descriptors of the input molecule
  • stereoAnalysis('tetrahedralStereoCenters') returns the array of tetrahedral stereocenters of the input molecule
  • stereoAnalysis(reactant(1)) returns the stereo descriptors of the second reactant
  • stereoAnalysis(reactant(1), 'axialStereoCenters') returns the axial stereocenters of the second reactant
stereoisomer DGTK, SPTK generates a stereoisomer of the molecule the stereoisomer the stereoisomer index (0-based) stereoisomer(0) returns the first stereoisomer of the input molecule stereoisomer(reactant(0), 1) returns the second stereoisomer of the first reactant
stereoisomerCount DGTK, SPTK returns the number of generated stereoisomers the number of generated stereoisomers - stereoisomerCount() returns the number of generated stereoisomers of the input molecule stereoisomerCount(reactant(0)) returns the number of generated stereoisomers of the first reactant
stereoisomers DGTK, SPTK generates stereoisomers for a molecule the array of stereoisomers generated the maximum number of stereoisomers to be generated (the default is all) stereoisomers(10) returns maximum 10 stereoisomers of the input molecule in an array stereoisomers(reactant(0)) returns all stereoisomers of the first reactant in an array
tautomerCount DGTK, SPTK calculates the number of tautomers for a molecule the number of tautomers - tautomerCount() returns the number of tautomers of the input molecule tautomerCount(product(1)) returns the number of tautomers of the second product
tetrahedralStereoisomer DGTK, SPTK generates a tetrahedral stereoisomer of a molecule the tetrahedral stereoisomer the stereoisomer index (0-based) tetrahedralStereoisomer(0) returns the first tetrahedral stereoisomer of the input molecule tetrahedralStereoisomer(reactant(0), 1) returns the second tetrahedral stereoisomer of the first reactant
tetrahedralStereoisomerCount DGTK, SPTK returns the number of generated tetrahedral stereoisomers the number of generated tetrahedral stereoisomers - tetrahedralStereoisomerCount() returns the number of generated tetrahedral stereoisomers of the input molecule tetrahedralStereoisomerCount(reactant(0)) returns the number of generated tetrahedral stereoisomers of the first reactant
tetrahedralStereoisomers DGTK, SPTK generates tetrahedral stereoisomers for a molecule the tetrahedral stereoisomers in an array the maximum number of tetrahedral stereoisomers to be generated (the default is all) tetrahedralStereoisomers() returns all tetrahedral stereoisomers of the input molecule in an array tetrahedralStereoisomers(reactant(0), 15) returns maximum 15 tetrahedral stereoisomers of the first reactant in an array

Back to the Table of Contents

Markush Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
isMarkush - decides whether a molecule contains any Markush features true if the molecule contains any Markush features, false otherwise - isMarkush() returns true if the given molecule contains any Markush features, false otherwise isMarkush(reactant(1)) returns true if the second reactant contains any Markush features, false otherwise
  • markushEnumerationCount
  • enumerationCount
SETK calculates the number of Markush enumerations the number of Markush enumerations the (1-based) atom indices of the query atoms to be enumerated (the 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 only atoms 4, 5
  • markushEnumerationCount(reactant(0)) returns the number of all Markush enumerated structures of the first reactant
  • markushEnumerationCount(product(1), atoms(3,4)) returns the number of Markush enumerated structures of the second product, enumerating only atoms 4, 5 (note that the atoms() function converts 0-based indices to a '-' separated, 1-based atom index string)
  • markushEnumeration
  • markushEnumerations
  • enumeration
  • enumerations
SETK enumerates Markush structures sequentially the enumerated structures
  • the number of structures to be enumerated (default is all)
  • the (1-based) atom indices of the query atoms to be enumerated (default is all)
  • markushEnumerations() returns all Markush enumerated structures of the input molecule
  • markushEnumerations(5, '2,3') returns five Markush enumerated structures of the input molecule, enumerating atoms 2, 3
  • markushEnumerations(reactant(0), 10) returns ten Markush enumerated structures of the first reactant
  • markushEnumerations(product(1), 5, '2,3') returns five Markush enumerated structures of the second product, enumerating atoms 2, 3
markushEnumerationsDisplay SETK generates Markush enumerated structures sequentially with scaffold alignment and 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 all) the (1-based) atom indices of the query atoms to be enumerated (default is all)
  • markushEnumerationsDisplay() returns all Markush enumerated structures of the input molecule with scaffold alignment and colouring data
  • markushEnumerationsDisplay(10, '2,3') returns ten Markush enumerated structures of the input molecule, enumerating atoms 2, 3 (1-based) with scaffold alignment and colouring data
markushLibraryMagnitude SETK calculates the Markush library magnitude with no enumeration the Markush library magnitude the (1-based) atom indices of the query atoms to be enumerated (default is all)
  • markushLibraryMagnitude() returns the Markush library magnitude for the input molecule
  • markushLibraryMagnitude('4,5') returns the Markush library magnitude for the input molecule with only atoms 4, 5 (1-based) being enumerated
  • markushLibraryMagnitude(reactant(0)) returns the Markush library magnitude for the first reactant
  • markushLibraryMagnitude(product(1), atoms(3,4)) returns the Markush library magnitude for the second product with only atoms 4, 5 (1-based) being enumerated (note that the atoms() function converts 0-based indices to a '-' separated 1-based atom index string)
markushLibrarySize SETK calculates the Markush library size with no enumeration the Markush library size the (1-based) atom indices of the query atoms to be enumerated (default is all)
  • markushLibrarySize() returns the Markush library size for the input molecule
  • markushLibrarySize('4,5') returns the Markush library size for the input molecule with only atoms 4, 5 (1-based) being enumerated
  • markushLibrarySize(reactant(0)) returns the Markush library size for the first reactant
  • markushLibrarySize(product(1), atoms(3,4)) returns the Markush library size for the second product with only atoms 4, 5 (1-based) being enumerated (note that the atoms() function converts 0-based indices to a '-' separated 1-based atom index string)
markushLibrarySizeAsString SETK calculates the Markush library size and returns it as a string with no enumeration done the Markush library size the (1-based) atom indices of the query atoms to be enumerated (default is all)
  • markushLibrarySize() returns the Markush library size as string for the input molecule
  • markushLibrarySize('4,5') returns the Markush library size as a string for the input molecule with only atoms 4, 5 (1-based) being enumerated
  • markushLibrarySize(reactant(0)) returns the Markush library size as a string for the first reactant
  • markushLibrarySize(product(1), atoms(3,4)) returns the Markush library size as a string for the second product with only atoms 4, 5 (1-based) being enumerated (note that the atoms() function converts 0-based indices to a '-' separated 1-based atom index string)
  • randomMarkushEnumeration
  • randomMarkushEnumerations
  • randomEnumeration
  • randomEnumerations
SETK enumerates Markush structures randomly the enumerated structures
  • the number of structures to be enumerated (default is 1)
  • the (1-based) atom indices of the query atoms to be enumerated (default is all)
  • randomMarkushEnumeration() returns a randomly enumerated Markush structure of the input molecule
  • randomMarkushEnumerations(4, '2,3') returns 4 randomly enumerated structures of the input molecule, enumerating only atoms 2, 3 (1-based)
  • randomMarkushEnumerations(reactant(0), 100) returns 100 randomly enumerated Markush structures of the first reactant
  • randomMarkushEnumerations(product(1), 20, '3,4,5') returns 20 randomly enumerated Markush structures of the second product, enumerating atoms 3, 4, 5 (1-based)
randomMarkushEnumerationsDisplay SETK generates Markush enumerated structures randomly with scaffold alignment and 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 indices of the query atoms to be enumerated (default is all)
  • randomMarkushEnumerationsDisplay() returns a randomly enumerated Markush structure of the input molecule with scaffold alignment and scaffold/R-group colouring
  • randomMarkushEnumerationsDisplay(4, '2,3') returns 4 randomly enumerated structures of the input molecule, enumerating only atoms 2, 3 (1-based) with scaffold alignment and colouring data
  • randomMarkushEnumerationsDisplay(reactant(0), 100) returns 100 randomly enumerated Markush structures of the first reactant with scaffold alignment and colouring data
  • randomMarkushEnumerationsDisplay(product(1), '3,4,5') returns a randomly enumerated structure of the second product, enumerating atoms 3, 4, 5 (1-based) with scaffold alignment and colouring data

Back to the Table of Contents

Match Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
disjointMatchCount Structure Search performs substructure search and returns the maximal number of pairwise disjoint search hits the maximal number of pairwise disjoint search hits
  • target atom index/MolAtom object (optional)
  • query Molecule object/SMARTS string
  • query atom map(s) (optional)
Note: The function returns the maximal number of pairwise disjoint query structures found in the target molecule. If the target atom index and optional query atom maps are specified, the return value can only be 0 or 1, therefore the result is similar to the result of the match() function.
disjointMatchCount("[#8]C=O") counts the maximal number of pairwise disjoint carboxylic groups in the input molecule disjointMatchCount(reactant(0), "[#8]C=O") counts the maximal number of pairwise disjoint carboxylic groups in the first reactant
match Structure Search performs substructure search and optionally checks for atom matching true if a matching substructure found, false otherwise
  • target atom index/MolAtom object (optional)
  • query Molecule object/SMARTS string
  • query atom map(s) (optional)
Note: The function returns true if the query structure is found in the target molecule, the hit is required to include the target atom if specified. Furthermore if query atom map(s) are specified then these mapped atoms should match the target atom.
match("[#8]C=O") performs substructure search without atom matching requirement, the target is the input molecule and the query is the carboxylic group given in the string parameter
  • match(reactant(0), "[#8]C=O") performs substructure search without atom matching requirement, the target is the first reactant and the query is the carboxylic group given in the string parameter
  • match(patom(2), "[#8]C=O") performs substructure search and checks if product atom matching map 2 of the reaction equation matches any atom of the carboxylic group query
  • match(ratom(1), "[#8:1]C=[O:2]", 1, 2) performs substructure search and checks if reactant atom matching map 1 of the reaction equation is a carboxylic oxygen
matchCount Structure Search performs substructure search, optionally checks for atom matching and counts search hits the number of search hits
  • target atom index/MolAtom object (optional)
  • query Molecule object/SMARTS string
  • query atom map(s) (optional)
Note:the function returns true if the query structure is found in the target molecule, the hit is required to include the target atom if specified. Furthermore if query atom map(s) are specified then these mapped atoms should match the target atom.
matchCount("[#8]C=O") counts search hits without atom matching requirement, the target is the input molecule and the query is the carboxylic group given in the string parameter
  • matchCount(reactant(0), "[#8]C=O") counts search hits without atom matching requirement, the target is the first reactant and the query is the carboxylic group given in the string parameter
  • matchCount(patom(2), "[#8]C=O") counts search hits, checks if product atom matching map 2 of the reaction equation matches any atom of the carboxylic group query
  • matchCount(ratom(1), "[#8:1]C=[O:2]", 1, 2) counts search hits with reactant atom matching map 1 of the reaction equation being a carboxylic oxygen
matchFirst Structure Search performs substructure search and optionally checks for atom matching the (1-based) index of the first matching substructure
  • target atom index/MolAtom object (optional)
  • query Molecule objects/SMARTS strings in collection (e.g. {amine,amide,"[#8][C:1]=O"})
  • query atom map(s) (optional)
Note: the function returns the index of the first matching query structure found in the target molecule. The hit is required to include the target atom if specified, furthermore if query atom map(s) are specified then these mapped atoms should match the target atom.
  • matchFirst({amine,amide,alcohol}) performs substructure search without atom matching requirement, the target is the input molecule, the queries are the amine, amide, and alcohol groups given in the string parameter. Note: The function returns 1 if there is an amine group in the input molecule, 2 if there is no amine but there is an amide group in the input molecule, and returns 3 if there is no amine or amide group but there is an alcohol group in the input molecule. It returns 0 if none of the listed groups is found in input molecule.
  • matchFirst(6, {"[#8][C:1]=O","[NX3:2][CX3:1]=[OX1:3]"}, 1) performs substructure search, checks if target atom 6 matches the carbon atom with map 1 of the carboxylic or the amide group of the query structure. It returns the index of the query if a match is found, 0 otherwise.
  • matchFirst(6, {"[#8:1]C=[O:2]","[#6][OX2:1]CX3[#6]"}, 1, 2) performs substructure search, checks if target atom 6 of the input molecule is a carboxylic oxygen or an oxigen of an ester group. It returns the index of the query if a match is found, 0 otherwise.
  • matchFirst(reactant(0), {amine,amide,alcohol}) performs substructure search without atom matching requirement, the target is the first reactant, the queries are the amine, amide, and alcohol groups given in the string parameter. The function returns 1 if there is an amine group in the first reactant, 2 if there is no amine group but there is an amide group in the first reactant, and returns 3 if there is no amine or amide group but there is an alcohol group in the first reactant. It returns 0 if none of the listed groups is found in the first reactant.
  • matchFirst(patom(2), {"[#8][C]=O","[NX3][CX3]=[OX1]"}) performs substructure search and checks if product atom matching map 2 of the reaction equation matches any atom of the carboxylic or amide group query. It returns the index of the matching query or 0 if no match is found.
  • matchFirst(ratom(1), {"[#8:1]C=[O:2]","[#6][OX2:1]CX3[#6]"}, 1, 2) performs substructure search, checks if reactant atom matching map 1 of the reaction equation is a carboxylic oxygen or an oxygen of an ester group. It returns the index of the query if a match is found, 0 otherwise.

Predefined Molecules and Molecule Sets

It is sometimes easier to refer molecules by names rather than explicit SMARTS strings or molecule file paths. For example, you may want to write nitro or carboxyl as query in a match() function. Frequently used queries are pre-defined in the built-in functional groups file.

You can also define your favourite query SMARTS in the marvin/config/marvin/templates/functionalgroups.cxsmi file and in the $HOME\chemaxon\marvin\templates\functionalgroups.cxsmi (Windows) or the $HOME/.chemaxon/marvin/templates/functionalgroups.cxsmi(UNIX / Linux) files, where marvin is the Marvin istallation directory and $HOME is your user home directory.

Back to the Table of Contents

Name Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
name NTK returns the name(s) of a molecule specified by the export option the name(s) of the molecule either empty (the IUPAC export option) or the specified name export option
  • name() returns the preferred IUPAC name of the input molecule
  • name('CAS#') returns CAS Registry Number(s) of the input molecule
N/A (reaction rules are numerical)
traditionalName NTK returns the traditional name of a molecule the traditional name of the molecule - traditionalName() returns the traditional name of the input molecule N/A (reaction rules are numerical)

Back to the Table of Contents

Partitioning Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
HLB number DGTK calculates the HLB number the HLB number the HLB method (can be chemaxon, davies, griffin and required; the default is chemaxon)
  • hlb() returns the HLB number of the input molecule calculated by the ChemAxon method
  • hlb('davies') returns the HLB number of the input molecule calculated by the Davies method
hlb(reactant(1), 'griffin') returns the HLB number of the second reactant calculated by the Griffin method
logD DGTK calculates logD at a specified pH value using the ChemAxon method the logD value the pH value logD('7.4') returns the logD value of the input molecule at pH 7.4 logD(reactant(1), '7.4') returns the logD of the second reactant at pH 7.4
logDKLOP DGTK calculates logD at a specified pH value using the Klopman method the logD value the pH value logDKLOP('7.4') returns the logD at pH 7.4 of the input molecule logDKLOP(reactant(1), '7.4') returns the logD of the second reactant at pH 7.4
logDPHYS DGTK calculates logD at a specified pH value using the PhysProp method the logD value the pH value logDPHYS('7.4') returns the logD at pH 7.4 of the input molecule logDPHYS(reactant(1), '7.4') returns the logD at pH 7.4 of the second reactant
logDUser DGTK calculates logD at specified a pH value using the user defined method the logD value the pH value logDUser('7.4') returns the logD value at pH 7.4 of the input molecule logDUser(reactant(1), '7.4') returns the logD at pH 7.4 of the second reactant
logDVG DGTK calculates logD at a specified pH value using the VG method the logD value the pH value logDVG('7.4') returns the logD at pH 7.4 of the input molecule logDVG(reactant(1), '7.4') returns the logD at pH 7.4 of the second reactant
logDWeighted DGTK calculates logD at a specified pH value using the weighted method the logD value the pH value logDWeighted('7.4') returns the logD at pH 7.4 of the input molecule logDWeighted(reactant(1), '7.4') returns the logD at pH 7.4 of the second reactant
logP DGTK calculates the logP the logP value the value type:
  • logPMicro: the logP of the input molecule
  • logPNonionic: the logP of the non-ionic form of the input molecule
  • logDpI: the logD predicted at the iso-electric point (pI) of the input molecule
  • logPTrue: the most typical logP from the above values (default type)
logP() returns the most typical logP of the input molecule
  • logP(reactant(1), 'logDpI') returns the logD value of the second reactant at its pI
  • logP(product(1), 'logPNonionic') returns the non-ionic logP of the second product
  • logPincrement
  • logPi
DGTK calculates atomic logP increments the atomic logP increment the atom index/ MolAtom object logPincrement(2) returns the logP increment on atom 2 of the input molecule logPi(ratom(1)) returns the logP increment of the reactant atom matching map 1 in the reaction equation
logPKLOP DGTK calculates logP using the Klopman method the logP value the value type:
  • logPMicro: the logP of the input molecule
  • logPNonionic: the logP of the non-ionic form of the input molecule
  • logDpI: the logD predicted at the iso-electric point (pI) of the input molecule
  • logPTrue: the most typical logP from the above values (default type)
  • logPKLOP() returns the most typical logP value of the input molecule
  • logPKLOP('logPMicro') returns the logP of the input molecule itself
  • logPKLOP(reactant(1), 'logDpI') returns the logD of the second reactant at its pI
  • logPKLOP(product(1), 'logPNonionic') returns the non-ionic logP of the second product
logPPHYS DGTK calculates logP using the PhysProp method the logP value the value type:
  • logPMicro: the logP of the input molecule
  • logPNonionic: the logP of the non-ionic form of the input molecule
  • logDpI: the logD predicted at the iso-electric point (pI) of the input molecule
  • logPTrue: the most typical logP from the above values (default type)
  • logPPHYS('logPNonionic') returns the non-ionic logP of the input molecule
  • logPPHYS('logPMicro') returns the logP of the input molecule itself
  • logPPHYS(reactant(1), 'logDpI') returns the logD at the pI of the second reactant
  • logPPHYS(product(1), 'logPNonionic') returns logP of the nonionic species of the second product
logPUser DGTK calculates logP using the user defined method the logP value the value type:
  • logPMicro: the logP of the input molecule
  • logPNonionic: the logP of the non-ionic form of the input molecule
  • logDpI: the logD predicted at the iso-electric point (pI) of the input molecule
  • logPTrue: the most typical logP from the above values (default type)
logPUser() returns the most typical logP of the input molecule
  • logPUser(reactant(1), 'logDpI') returns the logD at the pI of the second reactant
  • logPUser(product(1), 'logPNonionic') returns the logP of the nonionic species of the second product
logPVG DGTK calculates the logP using the VG method the logP value the value type:
  • logPMicro: the logP of the input molecule
  • logPNonionic: the logP of the non-ionic form of the input molecule
  • logDpI: the logD predicted at the iso-electric point (pI) of the input molecule
  • logPTrue: the most typical logP from the above values (default type)
  • logPVG() returns the most typical logP value of the input molecule
  • logPVG('logPMicro') returns the logP of the input molecule itself
  • logPVG(reactant(1), 'logDpI') returns the logD at the pI of the second reactant
  • logPVG(product(1), 'logPNonionic') returns the logP of the nonionic species of the second product
logPWeighted DGTK calculates the logP using the weighted method the logP value the value type:
  • logPMicro: the logP of the input molecule
  • logPNonionic: the logP of the non-ionic form of the input molecule
  • logDpI: the logD predicted at the iso-electric point (pI) of the input molecule
  • logPTrue: the most typical logP from the above values (default type)
  • logPWeighted() returns the most typical logP value of the input molecule
  • logPWeighted('logPMicro') returns the logP of the input molecule itself
  • logPWeighted(reactant(1), 'logDpI') returns the logD at the pI of the second reactant
  • logPWeighted(product(1), 'logPNonionic') returns the logP of the nonionic species of the second product

Back to the Table of Contents

Protonation Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
  • acidicpKa
  • apKa
DGTK, SPTK calculates acidic pKa values the acidic pKa values
  • the atom index/MolAtom object
  • the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa; note that the strength index is specified between quotation marks)
  • acidicpKa(0) returns the acidic pKa of atom 0 of the input molecule
  • apKa('2') returns the second strongest acidic pKa value of the input molecule
  • acidicpKa(ratom(1)) returns the acidic pKa value of reactant atom matching map 1 in the reaction equation
  • apKa(product(0), '1') returns the strongest acidic pKa value of the first product
acidicpKaLargeModel DGTK, SPTK calculates acidic pKa values using the Large model (this model is optimised for molecules with a higher number of ionizable atoms) the acidic pKa values the atom index/MolAtom object, the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa; note that the strength index is specified between quotation marks)
  • acidicpKaLargeModel(0) returns the acidic pKa of atom 0 of the input molecule
  • acidicpKaLargeModel('2') returns the second strongest acidic pKa value of the input molecule
  • acidicpKaLargeModel(ratom(1)) returns the acidic pKa value of reactant atom matching map 1 in the reaction equation
  • acidicpKaLargeModel(product(0), "1") returns the strongest acidic pKa value of the first product
acidicpKaUseCorrection DGTK, SPTK calculates acidic pKa values using a pKa correction library the acidic pKa values
  • the atom index/MolAtom object
  • the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa; note that the strength index is specified between quotation marks)
  • acidicpKaUseCorrection(0) returns the acidic pKa value of atom 0 of the input molecule
  • acidicpKaUseCorrection('2') returns the second strongest acidic pKa value of the input molecule
  • acidicpKaUseCorrection(ratom(1)) returns the acidic pKa value of the reactant atom matching map 1 in the reaction equation
  • acidicpKaUseCorrection(product(0), '1') returns the strongest acidic pKa value of the first product
averageMicrospeciesCharge DGTK, SPTK calculates the average microspecies charge (the weighted sum of the charges of all the microspecies of the molecule) at a given pH the average charge the major microspecies pH averageMicrospeciesCharge('7.4') returns the average charge of the microspecies of the input molecule at pH 7.4 averageMicrospeciesCharge(reactant(1), '7.4') returns the average charge of the microspecies of the second reactant at pH 7.4
  • basicpKa
  • bpKa
DGTK, SPTK calculates basic pKa values the basic pKa values
  • the atom index/MolAtom object
  • the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa; note that the strength index is specified between quotation marks)
  • basicpKa(0) returns the basic pKa of atom 0 of the input molecule
  • basicpKa("2") returns the second most basic pKa value of the input molecule
  • basicpKa(ratom(1)) returns the basic pKa of reactant atom matching map 1 in the reaction equation
  • basicpKa(product(0), "1") returns the strongest basic pKa value in the first product
basicpKaLargeModel DGTK, SPTK calculates basic pKa values using the Large model (this model is optimised for molecules with a higher number of ionisable atoms) the basic pKa values
  • the atom index/MolAtom object
  • the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa; note that the strength index is specified between quotation marks)
  • basicpKaLargeModel(0) returns the basic pK a of atom 0 of the input molecule using the Large model
  • basicpKaLargeModel("2") returns the second strongest basic pKa value of the input molecule using the Large model
  • basicpKaLargeModel(ratom(1)) returns the basic pKa of reactant atom matching map 1 in the reaction equation using the Large model
  • basicpKaLargeModel(product(0), "1") returns the strongest basic pK a value in the first product using the Large model
basicpKaUseCorrection DGTK, SPTK calculates basic pKa values using a correction library the basic pKa values
  • the atom index/MolAtom object
  • the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa; note that the strength index is specified between quotation marks)
  • basicpKaUseCorrection(0) returns the basic pKa of atom 0 of the input molecule using the correction library
  • basicpKaUseCorrection("2") returns the second strongest basic pKa value of the input molecule using the correction library
  • basicpKaUseCorrection(ratom(1)) returns the basic pKa of reactant atom matching map 1 in the reaction equation using the correction library
  • basicpKaUseCorrection(product(0), "1") returns the strongest basic pK a value of the first product using the correction library
  • isoelectricPoint
  • pI
DGTK, SPTK calculates the isoelectric point the isoelectric point - isoelectricPoint() returns the isoelectric point of the input molecule pI(reactant(1)) returns the isoelectric point of the second reactant
  • majorMicrospecies
  • majorMs
DGTK, SPTK calculates the major microspecies at a specified pH value the major microspecies the pH value as a string majorMicrospecies("7.4") returns the major microspecies of the input molecule at pH 7.4 majorMicrospecies(reactant(0), "7.4") returns the major microspecies of the first reactant at pH 7.4
  • microspecies
  • ms
DGTK, SPTK returns microspecies ranked based on their distribution % at a specified pH the microspecies
  • the pH value as a string
  • the (0-based) microspecies index ranked by descending order of the microspecies distributions
microspecies('7.4', 1) returns the microspecies with the second largest distribution of the input molecule at pH 7.4 ms(reactant(0), '7.4', 2) returns the microspecies with third largest distribution of the first reactant at pH 7.4
  • microspeciesCount
  • msCount
DGTK, SPTK calculates the number of microspecies at a specified pH the number of microspecies the pH value as a string microspeciesCount('7.4') returns the number of microspecies of the input molecule at pH 7.4 msCount(reactant(0), '7.4') returns the number of microspecies of the first reactant at pH 7.4
  • microspeciesDistribution
  • msDistr
DGTK, SPTK calculates microspecies distribution (in %) at a specified pH the microspecies distribution
  • the pH value as a string
  • the (0-based) microspecies index ranked by descending order of the microspecies distributions
microspeciesDistribution("5.4", 0) returns the largest microspecies distribution of the input molecule at pH 5.4
  • microspeciesDistribution(reactant(0), "5.4", 2) returns the third largest microspecies distribution of the first reactant at pH 5.4
  • msDistr(product(1), "3.2", 1) returns the second largest microspecies distribution of the second product at pH 3.2
pKa DGTK, SPTK calculates pKa values the pKa values
  • the atom index/MolAtom object
  • the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa)
  • the pKa result type as a string ('acidic', 'basic' or 'pka' for both types (default)) (Notes: If a strength index is specified, the result type can be either 'acidic' or 'basic'. In case of 'pka' result type the returned values are mixed acidic or basic, depending on the acidic or basic character of the given atom. Acidic pKa is returned for an atom if acidicpKa() ≤ 14.8-basicpKa() , otherwise basic pKa is returned. Specifying 'acidic' or 'basic' result type is required to get the acidic or basic pKa values only (also acidicpKa or basicpKa functions can be used alternatively.)
  • pKa(0) returns the pKa values of atom 0 of the input molecule
  • pKa('acidic', '2') returns the second strongest acidic pKa value of the input molecule
  • pKa(2, 'basic', '1') returns the strongest basic pKa value of atom 2 of the input molecule
  • pKa(ratom(1)) returns the pKa values of reactant atom matching map 1 in the reaction equation
  • pKa(product(0), 'basic', '1') returns the strongest basic pKa value of the first product
pKaUseCorrection DGTK, SPTK calculates pKa values using a correction library the pKa values
  • the atom index/MolAtom object
  • the strength index as a string (e.g. '1' for the strongest, '2' for the second strongest pKa)
  • the pKa result type as a string ('acidic', 'basic' or 'pka' for both types (default)) (Notes: If a strength index is specified, the result type can be either 'acidic' or 'basic'. In case of 'pka' result type the returned values are mixed acidic or basic, depending on the acidic or basic character of the given atom. Acidic pKa is returned for an atom if acidicpKa() ≤ 14.8-basicpKa() , otherwise basic pKa is returned. Specifying 'acidic' or 'basic' result type is required to get the acidic or basic pKa values only (also acidicpKa or basicpKa functions can be used alternatively.)
  • pKaUseCorrection(0) returns the pKa of atom 0 of the input molecule using the correction library
  • pKaUseCorrection('acidic', '2') returns the second strongest acidic pKa value using the correction library
  • pKaUseCorrection(ratom(1)) returns the pKa of reactant atom matching map 1 in the reaction equation using the correction library
  • pKaUseCorrection(product(0), 'basic', '1') returns the strongest basic pKa value in the first product

Back to the Table of Contents

Refractivity Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
  • refractivity
  • refrac
DGTK calculates molar refractivity the refractivity value - refractivity() returns the molar refractivity of the input molecule refractivity(reactant(1)) returns the molar refractivity of the second reactant
  • refractivityIncrements
  • refraci
DGTK calculates atomic refractivity increments the atomic refractivity increment the atom index/MolAtom object refractivityIncrements(2) returns the refractivity increment of atom 2 of the input molecule refractivityIncrements(ratom(1)) returns the refractivity increment of the reactant atom matching map 1 in the reaction equation

Back to the Table of Contents

Solubility Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
logS DGTK Calculates intrinsic or pH-dependent solubility (logS) the logS value
  • the pH value (for pH-dependent logS)
  • the solubility unit: logS, mol/l, mg/ml or category (default is logS)
  • logS('mol/l') returns the intrinsic solubility of the input molecule in mol/l unit
  • logS('7.4', 'category') returns the solubility category of the input molecule at pH 7.4
logS(product(1), '7.4', 'mg/ml') returns the solubility of the second product at pH 7.4 in mg/ml unit

Back to the Table of Contents

Structural Frameworks Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
bmf DGTK generates the Bemis-Murcko Framework (BMF) of the input molecule the BMF - bmf() returns the BMF of the input molecule bmf(reactant(0)) returns the BMF of the first reactant
  • bemisMurckoFrameworkLoose
  • bmfl
DGTK generates the Bemis-Murcko Loose Framework (BMLF, which is generated from the BMF by removing side chains, keeping exocyclic non-single bonded atoms, while not changing the remaining atom and bond types) of the input molecule the BMLF - bmfl() returns the BMFL of the input molecule bmfl(reactant(0)) returns the BMLF of the first reactant
  • bemisMurckoFrameworkLoosePruned
  • bmflp
DGTK generates the Bemis-Murcko Loose Pruned Framework (BMFLP, which is generated from the BMF by removing side chains. Atom and bond types are generalised by replacing all atoms with carbon atoms and setting all bond types to single. Exocyclic non-single bonded atoms are kept as single bonded carbons.) The BMFLP - bmflp() returns the BMFLP of the input molecule bmflp(reactant(0)) returns the BMFLP of the first reactant

Back to the Table of Contents

Structure Checker Functions

Name License Description Return value Parameters Molecule context example(s) Reaction context example(s)
check - checks a structure for errors according to a configuration and returns an error report the error report the structure checker/fixer configuration as an action string or an XML string
  • check("aromaticity..valence") checks aromaticity and valence errors in the input molecule and returns an error report
  • check('" "') checks aromaticity and valence errors in the input molecule and returns an error report
check(reactant(0), "aromaticity..valence") checks aromaticity and valence errors in the first reactant and returns the error report
checkErrorCount - checks a structure for errors according to a configuration and returns the total error count the total error count the structure checker/fixer configuration as an action string or an XML string
  • checkErrorCount("aromaticity..valence") checks aromaticity and valence errors in the input molecule and returns the total error count
  • checkErrorCount('""') checks aromaticity and valence errors in the input molecule and returns the total error count
checkErrorCount(reactant(0), "aromaticity..valence") checks aromaticity and valence errors in the first reactant and returns the total error count
fix - checks a structure for errors according to a configuration and fixes them the fixed structure the structure checker/fixer configuration as an action string or an XML string Both fix("chiralflag..isotope->converttoelementalform") and fix('""') search for chiral flags and isotopes and then removes them or converts them to elemental form fix(product(1), "chiralflag..isotope->converttoelementalform") searches for chiral flags and isotopes in the second product and then removes them or converts them to elemental form
isValid - checks if a structure is valid (has no errors) according to a configuration true if the structure is valid, false otherwise the structure checker/fixer configuration as an action string or an XML string Both isValid("aromaticity..valence") and isValid('" "') check for aromaticity and valence errors and then returns if the structure is valid isValid(reactant(0), "aromaticity..valence") checks for aromaticity and valence errors in the first reactant and then returns if it is valid

Back to the Table of Contents

Notes

  1. If atoms referred by their atom indices are used as parameters in a Chemical Terms function in a reaction context (including cases when a Chemical Terms function is used to convert reactant or product atom maps to atom indices), then a (reactant or product) molecule must be specified and must contain all the referred atoms (e.g. in the shortestPath(reactant(0), pair(ratom(1), ratom(2))) function ratom(1) and ratom(2) must be atoms of the first reactant).

  2. Although function names are case-sensitive, lowercase names are always accepted, e.g. aromaticAtomCount() is equivalent to aromaticatomcount(), but AromaticAtomCount() and AROMATICATOMCOUNT() names are not recognised by the parser.

  3. match, matchCount, disjointMatchCount and the dissimilarity functions are not available in Marvin. They can be used only if the JChem software package is installed.

  4. Structure-based calculations are performed using the Calculator Plugins (those calculations are also referred as "plugin calculations"). Since Marvin 5.2 all those functions can have an additional string argument that specifies plugin parameters, specified using the format "key1:value1 key2:value2 key3:value3...". Some examples are: charge(8, "type:pi pH:3.5") computes the pi charge of atom 8 of the major microspecies at pH=3.5 of the input molecule; markushEnumerations("code:true max:4","1,2") enumerates maximum 4 structures with enumeration ID, enumerating only atoms 1 and 2 of the input Markush structure. Note that this feature cannot be combined with the former possibility of specifying the pH in a string argument, e.g. charge(8, "type:pi pH:3.5") cannot be specified as charge(8, "type:pi", "3.5"), while charge("pi", 8, "3.5") is accepted (because of backward compatibility).